Classes | Public Types | Public Slots | Public Member Functions | Protected Member Functions | Properties | Private Member Functions | Private Attributes
QwtPlotCanvas Class Reference

Canvas of a QwtPlot. More...

#include <qwt_plot_canvas.h>

List of all members.

Classes

class  PrivateData

Public Types

enum  FocusIndicator { NoFocusIndicator, CanvasFocusIndicator, ItemFocusIndicator }
 Focus indicator The default setting is NoFocusIndicator. More...
enum  PaintAttribute { BackingStore = 1, Opaque = 2, HackStyledBackground = 4, ImmediatePaint = 8 }
 Paint attributes. More...
typedef QFlags< PaintAttributePaintAttributes
 Paint attributes.

Public Slots

void replot ()

Public Member Functions

const QPixmap * backingStore () const
Q_INVOKABLE QPainterPath borderPath (const QRect &) const
double borderRadius () const
virtual bool event (QEvent *)
FocusIndicator focusIndicator () const
void invalidateBackingStore ()
 Invalidate the internal backing store.
QwtPlotplot ()
 Return parent plot widget.
const QwtPlotplot () const
 Return parent plot widget.
 QwtPlotCanvas (QwtPlot *=NULL)
 Constructor.
void setBorderRadius (double)
void setFocusIndicator (FocusIndicator)
void setPaintAttribute (PaintAttribute, bool on=true)
 Changing the paint attributes.
bool testPaintAttribute (PaintAttribute) const
virtual ~QwtPlotCanvas ()
 Destructor.

Protected Member Functions

virtual void drawBorder (QPainter *)
virtual void drawFocusIndicator (QPainter *)
virtual void paintEvent (QPaintEvent *)
virtual void resizeEvent (QResizeEvent *)
void updateStyleSheetInfo ()
 Update the cached information about the current style sheet.

Properties

double borderRadius

Private Member Functions

void drawCanvas (QPainter *, bool withBackground)

Private Attributes

PrivateDatad_data

Detailed Description

Canvas of a QwtPlot.

Canvas is the widget where all plot items are displayed

See also:
QwtPlot::setCanvas(), QwtPlotGLCanvas

Definition at line 27 of file qwt_plot_canvas.h.


Member Typedef Documentation

Paint attributes.

Definition at line 101 of file qwt_plot_canvas.h.


Member Enumeration Documentation

Focus indicator The default setting is NoFocusIndicator.

See also:
setFocusIndicator(), focusIndicator(), drawFocusIndicator()
Enumerator:
NoFocusIndicator 

Don't paint a focus indicator.

CanvasFocusIndicator 

The focus is related to the complete canvas. Paint the focus indicator using drawFocusIndicator()

ItemFocusIndicator 

The focus is related to an item (curve, point, ...) on the canvas. It is up to the application to display a focus indication using f.e. highlighting.

Definition at line 109 of file qwt_plot_canvas.h.

Paint attributes.

The default setting enables BackingStore and Opaque.

See also:
setPaintAttribute(), testPaintAttribute()
Enumerator:
BackingStore 

Paint double buffered reusing the content of the pixmap buffer when possible.

Using a backing store might improve the performance significantly, when working with widget overlays ( like rubber bands ). Disabling the cache might improve the performance for incremental paints (using QwtPlotDirectPainter ).

See also:
backingStore(), invalidateBackingStore()
Opaque 

Try to fill the complete contents rectangle of the plot canvas.

When using styled backgrounds Qt assumes, that the canvas doesn't fill its area completely ( f.e because of rounded borders ) and fills the area below the canvas. When this is done with gradients it might result in a serious performance bottleneck - depending on the size.

When the Opaque attribute is enabled the canvas tries to identify the gaps with some heuristics and to fill those only.

Warning:
Will not work for semitransparent backgrounds
HackStyledBackground 

Try to improve painting of styled backgrounds.

QwtPlotCanvas supports the box model attributes for customizing the layout with style sheets. Unfortunately the design of Qt style sheets has no concept how to handle backgrounds with rounded corners - beside of padding.

When HackStyledBackground is enabled the plot canvas tries to separate the background from the background border by reverse engineering to paint the background before and the border after the plot items. In this order the border gets perfectly antialiased and you can avoid some pixel artifacts in the corners.

ImmediatePaint 

When ImmediatePaint is set replot() calls repaint() instead of update().

See also:
replot(), QWidget::repaint(), QWidget::update()

Definition at line 42 of file qwt_plot_canvas.h.


Constructor & Destructor Documentation

QwtPlotCanvas::QwtPlotCanvas ( QwtPlot plot = NULL) [explicit]

Constructor.

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

Definition at line 529 of file qwt_plot_canvas.cpp.

Destructor.

Definition at line 548 of file qwt_plot_canvas.cpp.


Member Function Documentation

const QPixmap * QwtPlotCanvas::backingStore ( ) const
Returns:
Backing store, might be null

Definition at line 637 of file qwt_plot_canvas.cpp.

QPainterPath QwtPlotCanvas::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 1069 of file qwt_plot_canvas.cpp.

double QwtPlotCanvas::borderRadius ( ) const
void QwtPlotCanvas::drawBorder ( QPainter *  painter) [protected, virtual]

Draw the border of the plot canvas

Parameters:
painterPainter
See also:
setBorderRadius()

Definition at line 926 of file qwt_plot_canvas.cpp.

void QwtPlotCanvas::drawCanvas ( QPainter *  painter,
bool  withBackground 
) [private]

Definition at line 817 of file qwt_plot_canvas.cpp.

void QwtPlotCanvas::drawFocusIndicator ( QPainter *  painter) [protected, virtual]

Draw the focus indication

Parameters:
painterPainter

Definition at line 1000 of file qwt_plot_canvas.cpp.

bool QwtPlotCanvas::event ( QEvent *  event) [virtual]

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

Parameters:
eventQt Event
Returns:
See QFrame::event()

Definition at line 695 of file qwt_plot_canvas.cpp.

Returns:
Focus indicator
See also:
FocusIndicator, setFocusIndicator()

Definition at line 664 of file qwt_plot_canvas.cpp.

Invalidate the internal backing store.

Definition at line 643 of file qwt_plot_canvas.cpp.

void QwtPlotCanvas::paintEvent ( QPaintEvent *  event) [protected, virtual]

Paint event

Parameters:
eventPaint event

Definition at line 722 of file qwt_plot_canvas.cpp.

Return parent plot widget.

Definition at line 554 of file qwt_plot_canvas.cpp.

const QwtPlot * QwtPlotCanvas::plot ( ) const

Return parent plot widget.

Definition at line 560 of file qwt_plot_canvas.cpp.

void QwtPlotCanvas::replot ( ) [slot]

Invalidate the paint cache and repaint the canvas

See also:
invalidatePaintCache()

Definition at line 1015 of file qwt_plot_canvas.cpp.

void QwtPlotCanvas::resizeEvent ( QResizeEvent *  event) [protected, virtual]

Resize event

Parameters:
eventResize event

Definition at line 990 of file qwt_plot_canvas.cpp.

void QwtPlotCanvas::setBorderRadius ( double  radius)

Set the radius for the corners of the border frame

Parameters:
radiusRadius of a rounded corner
See also:
borderRadius()

Definition at line 675 of file qwt_plot_canvas.cpp.

Set the focus indicator

See also:
FocusIndicator, focusIndicator()

Definition at line 654 of file qwt_plot_canvas.cpp.

void QwtPlotCanvas::setPaintAttribute ( PaintAttribute  attribute,
bool  on = true 
)

Changing the paint attributes.

Parameters:
attributePaint attribute
onOn/Off
See also:
testPaintAttribute(), backingStore()

Definition at line 573 of file qwt_plot_canvas.cpp.

Test whether a paint attribute is enabled

Parameters:
attributePaint attribute
Returns:
true, when attribute is enabled
See also:
setPaintAttribute()

Definition at line 631 of file qwt_plot_canvas.cpp.

Update the cached information about the current style sheet.

Definition at line 1026 of file qwt_plot_canvas.cpp.


Member Data Documentation

Definition at line 165 of file qwt_plot_canvas.h.


Property Documentation

double QwtPlotCanvas::borderRadius [read, write]
Returns:
Radius for the corners of the border frame
See also:
setBorderRadius()

Definition at line 31 of file qwt_plot_canvas.h.


The documentation for this class was generated from the following files:


plotjuggler
Author(s): Davide Faconti
autogenerated on Fri Sep 1 2017 02:41:57