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. More...
| QwtPlotOpenGLCanvas (const QSurfaceFormat &, QwtPlot *=NULL)
| Constructor. More...
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. More...
virtual | ~QwtPlotAbstractGLCanvas ()
| Destructor.
void | setPaintAttribute (PaintAttribute, bool on=true)
| Changing the paint attributes. More...
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. More...
virtual | ~QwtPlotAbstractCanvas ()
| Destructor.
QwtPlot * | plot ()
| Return parent plot widget.
const QwtPlot * | plot () 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< PaintAttribute > | PaintAttributes
| Paint attributes. More...
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

  plot | Parent plot widget

See also
  QwtPlot::setCanvas()

Definition at line 48 of file qwt_plot_opengl_canvas.cpp.

## QwtPlotOpenGLCanvas() [2/2]

QwtPlotOpenGLCanvas::QwtPlotOpenGLCanvas | ( | const QSurfaceFormat & | format,
|  | QwtPlot * | plot = `NULL`
| ) |  |

explicit

Constructor.

Parameters

  format | OpenGL surface format
  plot | Parent plot widget

See also
  QwtPlot::setCanvas()

Definition at line 65 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

  rect | Bounding rectangle of the canvas

Returns
  Painter path, that can be used for clipping

Definition at line 168 of file qwt_plot_opengl_canvas.cpp.

## event()

bool QwtPlotOpenGLCanvas::event | ( | QEvent * | event | ) |

overridevirtual

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

Parameters

  event | Qt Event

Returns
  See QGLWidget::event()

Definition at line 112 of file qwt_plot_opengl_canvas.cpp.

## paintEvent()

void QwtPlotOpenGLCanvas::paintEvent | ( | QPaintEvent * | event | ) |

overrideprotectedvirtual

Paint event

Parameters

  event | Paint event

See also
  QwtPlot::drawCanvas()

Definition at line 101 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 142 of file qwt_plot_opengl_canvas.cpp.