21 QPainter* painter,
const QRect& canvasRect,
31 painter->setRenderHint( QPainter::Antialiasing,
33 seriesItem->
drawSeries( painter, xMap, yMap, canvasRect, from, to );
175 if ( seriesItem == NULL || seriesItem->
plot() == NULL )
178 QWidget* canvas = seriesItem->
plot()->
canvas();
179 const QRect canvasRect = canvas->contentsRect();
185 QPainter painter( const_cast< QPixmap* >( plotCanvas->
backingStore() ) );
196 plotCanvas->repaint();
201 bool immediatePaint =
true;
202 if ( !canvas->testAttribute( Qt::WA_WState_InPaintEvent ) )
204 #if QT_VERSION < 0x050000 205 if ( !canvas->testAttribute( Qt::WA_PaintOutsidePaintEvent ) )
207 immediatePaint =
false;
210 if ( immediatePaint )
217 canvas->installEventFilter(
this );
255 canvas->installEventFilter(
this );
256 canvas->repaint(clipRegion);
257 canvas->removeEventFilter(
this );
268 QWidget* w =
static_cast< QWidget*
>(
m_data->
painter.device() );
270 w->removeEventFilter(
this );
279 if ( event->type() == QEvent::Paint )
285 const QPaintEvent* pe =
static_cast< QPaintEvent*
>( event );
289 QPainter painter( canvas );
290 painter.setClipRegion( pe->region() );
303 painter.drawPixmap( plotCanvas->rect().topLeft(),
virtual bool eventFilter(QObject *, QEvent *) QWT_OVERRIDE
Event filter.
bool testPaintAttribute(PaintAttribute) const
static void qwtRenderItem(QPainter *painter, const QRect &canvasRect, QwtPlotSeriesItem *seriesItem, int from, int to)
Attribute
Paint attributes.
bool testAttribute(Attribute) const
void drawSeries(QwtPlotSeriesItem *, int from, int to)
Draw a set of points of a seriesItem.
QwtPlotDirectPainter::Attributes attributes
virtual ~QwtPlotDirectPainter()
Destructor.
QwtAxisId xAxis() const
Return xAxis.
void setAttribute(Attribute, bool on)
QwtPlotSeriesItem * seriesItem
QwtPlot * plot() const
Return attached plot.
void reset()
Close the internal QPainter.
virtual void drawSeries(QPainter *painter, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, int from, int to) const =0
const QPixmap * backingStore() const
QRegion clipRegion() const
void setClipRegion(const QRegion &)
Assign a clip region and enable clipping.
bool testRenderHint(RenderHint) const
QwtPlotDirectPainter(QObject *parent=NULL)
Constructor.
virtual QwtScaleMap canvasMap(QwtAxisId) const
static bool qwtHasBackingStore(const QwtPlotCanvas *canvas)
Base class for plot items representing a series of samples.
std::unordered_map< PlotAttribute, QVariant > Attributes
QwtAxisId yAxis() const
Return yAxis.
Paint double buffered reusing the content of the pixmap buffer when possible.