From 495dff77ca691215ef95499e998e5fa24342965d Mon Sep 17 00:00:00 2001 From: Mark Liversedge Date: Mon, 9 Mar 2020 21:03:56 +0000 Subject: [PATCH] Generic Chart Slope Paint .. full for scatter, in selection rect for line. Seems a compromise between providing useful context on a scatter and avoiding lots of noise on a line chart. --- src/Charts/GenericSelectTool.cpp | 7 +++++-- src/R/RTool.cpp | 2 -- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/Charts/GenericSelectTool.cpp b/src/Charts/GenericSelectTool.cpp index 34d25ab58..710cd6706 100644 --- a/src/Charts/GenericSelectTool.cpp +++ b/src/Charts/GenericSelectTool.cpp @@ -237,11 +237,14 @@ void GenericSelectTool::paint(QPainter*painter, const QStyleOptionGraphicsItem * line.setStyle(Qt::SolidLine); line.setWidthF(0.5 * dpiXFactor); painter->setPen(line); - //painter->setClipRect(r); - painter->setClipRect(mapRectFromScene(host->qchart->plotArea())); + if (host->charttype == GC_CHART_LINE) painter->setClipRect(r); // too jarring on a line plot + else painter->setClipRect(mapRectFromScene(host->qchart->plotArea())); // need context for a scatter plot painter->drawLine(startp, stopp); } + // reset clip to the plot area + painter->setClipRect(mapRectFromScene(host->qchart->plotArea())); + // scene coordinate for min/max (remember we get clipped) QPointF minxp = mapFromScene(host->qchart->mapToPosition(QPointF(calc.x.min,0),calc.series)); QPointF maxxp = mapFromScene(host->qchart->mapToPosition(QPointF(calc.x.max,0),calc.series)); diff --git a/src/R/RTool.cpp b/src/R/RTool.cpp index 9adc09c98..4158b0a96 100644 --- a/src/R/RTool.cpp +++ b/src/R/RTool.cpp @@ -4119,8 +4119,6 @@ RTool::configureAxis(SEXP name, SEXP visible, SEXP align, SEXP min, SEXP max, Q_UNUSED(align) // we always pass -1 for now Q_UNUSED(categories) // XXX TODO - fprintf(stderr, "configure axis...\n"); fflush(stderr); - if (rtool == NULL || rtool->context == NULL || rtool->chart == NULL) return Rf_allocVector(INTSXP, 0); GenericAxisInfo info;