Qwt User's Guide 6.3.0
Loading...
Searching...
No Matches
QwtPlotOpenGLCanvas Class Reference

An alternative canvas for a QwtPlot derived from QOpenGLWidget. More...

#include <qwt_plot_opengl_canvas.h>

Inheritance diagram for QwtPlotOpenGLCanvas:

Public Slots

void replot ()
 

Public Member Functions

 QwtPlotOpenGLCanvas (QwtPlot *=NULL)
 Constructor.
 
 QwtPlotOpenGLCanvas (int samples, QwtPlot *=NULL)
 Constructor.
 
virtual ~QwtPlotOpenGLCanvas ()
 Destructor.
 
virtual Q_INVOKABLE void invalidateBackingStore () override
 Invalidate the internal backing store.
 
Q_INVOKABLE QPainterPath borderPath (const QRect &) const
 
virtual bool event (QEvent *) override
 
- Public Member Functions inherited from QwtPlotAbstractGLCanvas
 QwtPlotAbstractGLCanvas (QWidget *canvasWidget)
 Constructor.
 
virtual ~QwtPlotAbstractGLCanvas ()
 Destructor.
 
void setPaintAttribute (PaintAttribute, bool on=true)
 Changing the paint attributes.
 
bool testPaintAttribute (PaintAttribute) const
 
void setFrameStyle (int style)
 
int frameStyle () const
 
void setFrameShadow (QFrame::Shadow)
 
QFrame::Shadow frameShadow () const
 
void setFrameShape (QFrame::Shape)
 
QFrame::Shape frameShape () const
 
void setLineWidth (int)
 
int lineWidth () const
 
void setMidLineWidth (int)
 
int midLineWidth () const
 
int frameWidth () const
 
QRect frameRect () const
 
- Public Member Functions inherited from QwtPlotAbstractCanvas
 QwtPlotAbstractCanvas (QWidget *canvasWidget)
 Constructor.
 
virtual ~QwtPlotAbstractCanvas ()
 Destructor.
 
QwtPlotplot ()
 Return parent plot widget.
 
const QwtPlotplot () const
 Return parent plot widget.
 
void setFocusIndicator (FocusIndicator)
 
FocusIndicator focusIndicator () const
 
void setBorderRadius (double)
 
double borderRadius () const
 

Protected Member Functions

virtual void paintEvent (QPaintEvent *) override
 
virtual void initializeGL () override
 No operation - reserved for some potential use in the future.
 
virtual void paintGL () override
 Paint the plot.
 
virtual void resizeGL (int width, int height) override
 No operation - reserved for some potential use in the future.
 
- Protected Member Functions inherited from QwtPlotAbstractGLCanvas
void replot ()
 
void draw (QPainter *)
 Helper function for the derived plot canvas.
 
- Protected Member Functions inherited from QwtPlotAbstractCanvas
QWidget * canvasWidget ()
 
const QWidget * canvasWidget () const
 
virtual void drawFocusIndicator (QPainter *)
 
virtual void drawBorder (QPainter *)
 
virtual void drawBackground (QPainter *)
 Helper function for the derived plot canvas.
 
void fillBackground (QPainter *)
 Helper function for the derived plot canvas.
 
void drawCanvas (QPainter *)
 Draw the plot to the canvas.
 
void drawStyled (QPainter *, bool)
 Helper function for the derived plot canvas.
 
void drawUnstyled (QPainter *)
 Helper function for the derived plot canvas.
 
QPainterPath canvasBorderPath (const QRect &rect) const
 
void updateStyleSheetInfo ()
 Update the cached information about the current style sheet.
 

Additional Inherited Members

- Public Types inherited from QwtPlotAbstractGLCanvas
enum  PaintAttribute { BackingStore = 1 , ImmediatePaint = 8 }
 Paint attributes. More...
 
typedef QFlags< PaintAttributePaintAttributes
 Paint attributes.
 
- Public Types inherited from QwtPlotAbstractCanvas
enum  FocusIndicator { NoFocusIndicator , CanvasFocusIndicator , ItemFocusIndicator }
 Focus indicator The default setting is NoFocusIndicator. More...
 

Detailed Description

An alternative canvas for a QwtPlot derived from QOpenGLWidget.

Even if QwtPlotOpenGLCanvas is not derived from QFrame it imitates its API. When using style sheets it supports the box model - beside backgrounds with rounded borders.

See also
QwtPlot::setCanvas(), QwtPlotCanvas, QwtPlotCanvas::OpenGLBuffer
Note
Another way for getting hardware accelerated graphics is using an OpenGL offscreen buffer ( QwtPlotCanvas::OpenGLBuffer ) with QwtPlotCanvas. Performance is worse, than rendering straight to a QOpenGLWidget, but is usually better integrated into a desktop application.

Definition at line 34 of file qwt_plot_opengl_canvas.h.

Constructor & Destructor Documentation

◆ QwtPlotOpenGLCanvas() [1/2]

QwtPlotOpenGLCanvas::QwtPlotOpenGLCanvas ( QwtPlot * plot = NULL)
explicit

Constructor.

Parameters
plotParent plot widget
See also
QwtPlot::setCanvas()

Definition at line 49 of file qwt_plot_opengl_canvas.cpp.

◆ QwtPlotOpenGLCanvas() [2/2]

QwtPlotOpenGLCanvas::QwtPlotOpenGLCanvas ( int numSamples,
QwtPlot * plot = NULL )
explicit

Constructor.

Parameters
numSamplesNumber of samples, see QSurfaceFormat::samples()
plotParent plot widget
See also
QwtPlot::setCanvas()

Definition at line 63 of file qwt_plot_opengl_canvas.cpp.

◆ ~QwtPlotOpenGLCanvas()

QwtPlotOpenGLCanvas::~QwtPlotOpenGLCanvas ( )
virtual

Destructor.

Definition at line 94 of file qwt_plot_opengl_canvas.cpp.

Member Function Documentation

◆ borderPath()

QPainterPath QwtPlotOpenGLCanvas::borderPath ( const QRect & rect) const

Calculate the painter path for a styled or rounded border

When the canvas has no styled background or rounded borders the painter path is empty.

Parameters
rectBounding rectangle of the canvas
Returns
Painter path, that can be used for clipping

Definition at line 185 of file qwt_plot_opengl_canvas.cpp.

◆ clearBackingStore()

void QwtPlotOpenGLCanvas::clearBackingStore ( )
overrideprivatevirtual

Implements QwtPlotAbstractGLCanvas.

Definition at line 170 of file qwt_plot_opengl_canvas.cpp.

◆ event()

bool QwtPlotOpenGLCanvas::event ( QEvent * event)
overridevirtual

Qt event handler for QEvent::PolishRequest and QEvent::StyleChange

Parameters
eventQt Event
Returns
See QGLWidget::event()

Definition at line 116 of file qwt_plot_opengl_canvas.cpp.

◆ initializeGL()

void QwtPlotOpenGLCanvas::initializeGL ( )
overrideprotectedvirtual

No operation - reserved for some potential use in the future.

Definition at line 191 of file qwt_plot_opengl_canvas.cpp.

◆ invalidateBackingStore()

void QwtPlotOpenGLCanvas::invalidateBackingStore ( )
overridevirtual

Invalidate the internal backing store.

Implements QwtPlotAbstractGLCanvas.

Definition at line 165 of file qwt_plot_opengl_canvas.cpp.

◆ paintEvent()

void QwtPlotOpenGLCanvas::paintEvent ( QPaintEvent * event)
overrideprotectedvirtual

Paint event

Parameters
eventPaint event
See also
QwtPlot::drawCanvas()

Definition at line 105 of file qwt_plot_opengl_canvas.cpp.

◆ paintGL()

void QwtPlotOpenGLCanvas::paintGL ( )
overrideprotectedvirtual

Paint the plot.

Definition at line 196 of file qwt_plot_opengl_canvas.cpp.

◆ replot

void QwtPlotOpenGLCanvas::replot ( )
slot

Invalidate the paint cache and repaint the canvas

See also
invalidatePaintCache()

Definition at line 159 of file qwt_plot_opengl_canvas.cpp.

◆ resizeGL()

void QwtPlotOpenGLCanvas::resizeGL ( int width,
int height )
overrideprotectedvirtual

No operation - reserved for some potential use in the future.

Definition at line 270 of file qwt_plot_opengl_canvas.cpp.