|
QWT 7.0.1
|
A class, which displays raster data. More...
#include <qwt_plot_rasteritem.h>
Classes | |
| class | PrivateData |
Public Types | |
| enum | CachePolicy { NoCache , PaintCache } |
| Cache policy The default policy is NoCache. More... | |
| enum | PaintAttribute { PaintInDeviceResolution = 1 } |
| Attributes to modify the drawing algorithm. More... | |
Public Types inherited from QwtPlotItem | |
| enum | RttiValues { Rtti_PlotItem = 0 , Rtti_PlotGrid , Rtti_PlotScale , Rtti_PlotLegend , Rtti_PlotMarker , Rtti_PlotCurve , Rtti_PlotSpectroCurve , Rtti_PlotIntervalCurve , Rtti_PlotHistogram , Rtti_PlotSpectrogram , Rtti_PlotGraphic , Rtti_PlotTradingCurve , Rtti_PlotBarChart , Rtti_PlotMultiBarChart , Rtti_PlotShape , Rtti_PlotTextLabel , Rtti_PlotZone , Rtti_PlotVectorField , Rtti_PlotUserItem = 1000 } |
| Runtime type information. More... | |
| enum | ItemAttribute { Legend = 0x01 , AutoScale = 0x02 , Margins = 0x04 } |
| Plot Item Attributes. More... | |
| enum | ItemInterest { ScaleInterest = 0x01 , LegendInterest = 0x02 } |
| Plot Item Interests/绘图项关注的事件类型 More... | |
| enum | RenderHint { RenderAntialiased = 0x1 } |
| Render hints. More... | |
Public Member Functions | |
| QwtPlotRasterItem (const QString &title=QString()) | |
| Constructor. | |
| QwtPlotRasterItem (const QwtText &title) | |
| Constructor. | |
| virtual | ~QwtPlotRasterItem () |
| Destructor. | |
| void | setPaintAttribute (PaintAttribute, bool on=true) |
| Specify an attribute how to draw the raster item. | |
| bool | testPaintAttribute (PaintAttribute) const |
| void | setAlpha (int alpha) |
| Set an alpha value for the raster data. | |
| int | alpha () const |
| void | setCachePolicy (CachePolicy) |
| Change the cache policy. | |
| CachePolicy | cachePolicy () const |
| void | invalidateCache () |
| Invalidate the paint cache. | |
| virtual void | draw (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect) const QWT_OVERRIDE |
| Draw the raster data. | |
| virtual QRectF | pixelHint (const QRectF &) const |
| Pixel hint. | |
| virtual QwtInterval | interval (Qt::Axis) const |
| virtual QRectF | boundingRect () const QWT_OVERRIDE |
Public Member Functions inherited from QwtPlotItem | |
| QwtPlotItem () | |
| Constructor. | |
| QwtPlotItem (const QString &title) | |
| Constructor. | |
| QwtPlotItem (const QwtText &title) | |
| Constructor. | |
| virtual | ~QwtPlotItem () |
| Destroy the QwtPlotItem. | |
| void | attach (QwtPlot *plot) |
| Attach the item to a plot. | |
| void | detach () |
| This method detaches a QwtPlotItem from any QwtPlot it has been associated with. | |
| QwtPlot * | plot () const |
| Return attached plot. | |
| void | setTitle (const QString &title) |
| Set a new title. | |
| void | setTitle (const QwtText &title) |
| Set a new title. | |
| const QwtText & | title () const |
| virtual int | rtti () const |
| Return rtti for the specific class represented. | |
| void | setItemAttribute (ItemAttribute, bool on=true) |
| Toggle an item attribute. | |
| bool | testItemAttribute (ItemAttribute) const |
| Test an item attribute. | |
| void | setItemInterest (ItemInterest, bool on=true) |
| Toggle an item interest. | |
| bool | testItemInterest (ItemInterest) const |
| Test an item interest. | |
| void | setRenderHint (RenderHint, bool on=true) |
| Toggle an render hint. | |
| bool | testRenderHint (RenderHint) const |
| Test a render hint. | |
| void | setRenderThreadCount (uint numThreads) |
| On multi core systems rendering of certain plot item ( f.e QwtPlotRasterItem ) can be done in parallel in several threads. | |
| uint | renderThreadCount () const |
| void | setLegendIconSize (const QSize &) |
| Set the size of the legend icon. | |
| QSize | legendIconSize () const |
| double | z () const |
| Plot items are painted in increasing z-order. | |
| void | setZ (double z) |
| Set the z value. | |
| void | show () |
| Show the item. | |
| void | hide () |
| Hide the item. | |
| virtual void | setVisible (bool) |
| Show/Hide the item. | |
| bool | isVisible () const |
| void | setAxes (QwtAxisId xAxis, QwtAxisId yAxis) |
| Set X and Y axis. | |
| void | setXAxis (QwtAxisId) |
| Set the X axis. | |
| QwtAxisId | xAxis () const |
| Return xAxis. | |
| void | setYAxis (QwtAxisId) |
| Set the Y axis. | |
| QwtAxisId | yAxis () const |
| Return yAxis. | |
| virtual void | itemChanged () |
| Update the legend and call QwtPlot::autoRefresh() for the parent plot. | |
| virtual void | legendChanged () |
| Update the legend of the parent plot. | |
| virtual void | getCanvasMarginHint (const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, double &left, double &top, double &right, double &bottom) const |
| Calculate a hint for the canvas margin. | |
| virtual void | updateScaleDiv (const QwtScaleDiv &, const QwtScaleDiv &) |
| Update the item to changes of the axes scale division. | |
| virtual void | updateLegend (const QwtPlotItem *, const QList< QwtLegendData > &) |
| Update the item to changes of the legend info. | |
| QRectF | scaleRect (const QwtScaleMap &, const QwtScaleMap &) const |
| Calculate the bounding scale rectangle of 2 maps. | |
| QRectF | paintRect (const QwtScaleMap &, const QwtScaleMap &) const |
| Calculate the bounding paint rectangle of 2 maps. | |
| virtual QList< QwtLegendData > | legendData () const |
| Return all information, that is needed to represent the item on the legend. | |
| virtual QwtGraphic | legendIcon (int index, const QSizeF &) const |
Protected Member Functions | |
| virtual QImage | renderImage (const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &area, const QSize &imageSize) const =0 |
| Render an image. | |
| virtual QwtScaleMap | imageMap (Qt::Orientation, const QwtScaleMap &map, const QRectF &area, const QSize &imageSize, double pixelSize) const |
| Calculate a scale map for painting to an image. | |
Protected Member Functions inherited from QwtPlotItem | |
| QwtGraphic | defaultIcon (const QBrush &, const QSizeF &) const |
| Return a default icon from a brush. | |
A class, which displays raster data.
Raster data is a grid of pixel values, that can be represented as a QImage. It is used for many types of information like spectrograms, cartograms, geographical maps ...
Often a plot has several types of raster data organized in layers. ( f.e a geographical map, with weather statistics ). Using setAlpha() raster items can be stacked easily.
QwtPlotRasterItem is only implemented for images of the following formats: QImage::Format_Indexed8, QImage::Format_ARGB32.
Cache policy The default policy is NoCache.
| Enumerator | |
|---|---|
| NoCache | renderImage() is called each time the item has to be repainted |
| PaintCache | renderImage() is called, whenever the image cache is not valid, or the scales, or the size of the canvas has changed. This type of cache is useful for improving the performance of hide/show operations or manipulations of the alpha value. All other situations are handled by the canvas backing store. |
Attributes to modify the drawing algorithm.
| Enumerator | |
|---|---|
| PaintInDeviceResolution | When the image is rendered according to the data pixels ( QwtRasterData::pixelHint() ) it can be expanded to paint device resolution before it is passed to QPainter. The expansion algorithm rounds the pixel borders in the same way as the axis ticks, what is usually better than the scaling algorithm implemented in Qt. Disabling this flag might make sense, to reduce the size of a document/file. If this is possible for a document format depends on the implementation of the specific QPaintEngine. |
| int QwtPlotRasterItem::alpha | ( | ) | const |
|
virtual |
Reimplemented from QwtPlotItem.
| QwtPlotRasterItem::CachePolicy QwtPlotRasterItem::cachePolicy | ( | ) | const |
|
virtual |
Draw the raster data.
| painter | Painter |
| xMap | X-Scale Map |
| yMap | Y-Scale Map |
| canvasRect | Contents rectangle of the plot canvas |
Implements QwtPlotItem.
Reimplemented in QwtPlotSpectrogram.
|
protectedvirtual |
Calculate a scale map for painting to an image.
| orientation | Orientation, Qt::Horizontal means a X axis |
| map | Scale map for rendering the plot item |
| area | Area to be painted on the image |
| imageSize | Image size |
| pixelSize | Width/Height of a data pixel |
|
virtual |
This method is intended to be reimplemented by derived classes. The default implementation returns an invalid interval.
| axis | X, Y, or Z axis |
Reimplemented in QwtPlotSpectrogram.
| void QwtPlotRasterItem::invalidateCache | ( | ) |
Invalidate the paint cache.
|
virtual |
Pixel hint.
The geometry of a pixel is used to calculated the resolution and alignment of the rendered image.
Width and height of the hint need to be the horizontal and vertical distances between 2 neighbored points. The center of the hint has to be the position of any point ( it doesn't matter which one ).
Limiting the resolution of the image might significantly improve the performance and heavily reduce the amount of memory when rendering a QImage from the raster data.
The default implementation returns an empty rectangle (QRectF()), meaning, that the image will be rendered in target device ( f.e screen ) resolution.
| area | In most implementations the resolution of the data doesn't depend on the requested area. |
Reimplemented in QwtPlotSpectrogram.
|
protectedpure virtual |
Render an image.
An implementation of render() might iterate over all pixels of imageRect. Each pixel has to be translated into the corresponding position in scale coordinates using the maps. This position can be used to look up a value in a implementation specific way and to map it into a color.
| xMap | X-Scale Map |
| yMap | Y-Scale Map |
| area | Requested area for the image in scale coordinates |
| imageSize | Requested size of the image |
Implemented in QwtPlotSpectrogram.
| void QwtPlotRasterItem::setAlpha | ( | int | alpha | ) |
Set an alpha value for the raster data.
Often a plot has several types of raster data organized in layers. ( f.e a geographical map, with weather statistics ). Using setAlpha() raster items can be stacked easily.
The alpha value is a value [0, 255] to control the transparency of the image. 0 represents a fully transparent color, while 255 represents a fully opaque color.
| alpha | Alpha value |
The default alpha value is -1.
| void QwtPlotRasterItem::setCachePolicy | ( | QwtPlotRasterItem::CachePolicy | policy | ) |
Change the cache policy.
The default policy is NoCache
| policy | Cache policy |
| void QwtPlotRasterItem::setPaintAttribute | ( | PaintAttribute | attribute, |
| bool | on = true |
||
| ) |
Specify an attribute how to draw the raster item.
| attribute | Paint attribute |
| on | On/Off /sa PaintAttribute, testPaintAttribute() |
| bool QwtPlotRasterItem::testPaintAttribute | ( | PaintAttribute | attribute | ) | const |