# QwtPlotRenderer Class Reference

Renderer for exporting a plot to a document, a printer or anything else, that is supported by QPainter/QPaintDevice. More...

`#include <qwt_plot_renderer.h>`

List of all members.

## Public Types

enum | DiscardFlag { DiscardNone = 0x00, DiscardBackground = 0x01, DiscardTitle = 0x02, DiscardLegend = 0x04, DiscardCanvasBackground = 0x08 }
typedef QFlags< DiscardFlag > | DiscardFlags
enum | LayoutFlag { DefaultLayout = 0x00, KeepFrames = 0x01, FrameWithScales = 0x02 }
typedef QFlags< LayoutFlag > | LayoutFlags

## Public Member Functions

DiscardFlags | discardFlags () const
LayoutFlags | layoutFlags () const
| QwtPlotRenderer (QObject *=NULL)
virtual void | render (QwtPlot *, QPainter *, const QRectF &rect) const
virtual void | renderCanvas (const QwtPlot *, QPainter *, const QRectF &canvasRect, const QwtScaleMap *maps) const
void | renderDocument (QwtPlot *, const QString &format, const QSizeF &sizeMM, int resolution=85)
void | renderDocument (QwtPlot *, const QString &title, const QString &format, const QSizeF &sizeMM, int resolution=85)
virtual void | renderLegend (const QwtPlot *, QPainter *, const QRectF &) const
virtual void | renderLegendItem (const QwtPlot *, QPainter *, const QWidget *, const QRectF &) const
virtual void | renderScale (const QwtPlot *, QPainter *, int axisId, int startDist, int endDist, int baseDist, const QRectF &) const
virtual void | renderTitle (const QwtPlot *, QPainter *, const QRectF &) const
void | renderTo (QwtPlot *, QPrinter &) const
void | renderTo (QwtPlot *, QPaintDevice &p) const
void | setDiscardFlag (DiscardFlag flag, bool on=true)
void | setDiscardFlags (DiscardFlags flags)
void | setLayoutFlag (LayoutFlag flag, bool on=true)
void | setLayoutFlags (LayoutFlags flags)
bool | testDiscardFlag (DiscardFlag flag) const
bool | testLayoutFlag (LayoutFlag flag) const
virtual | ~QwtPlotRenderer ()

## Protected Member Functions

void | buildCanvasMaps (const QwtPlot *, const QRectF &, QwtScaleMap maps[]) const

## Detailed Description

Renderer for exporting a plot to a document, a printer or anything else, that is supported by QPainter/QPaintDevice.

## Member Typedef Documentation

typedef QFlags<DiscardFlag> QwtPlotRenderer::DiscardFlags

Disard flags.

typedef QFlags<LayoutFlag> QwtPlotRenderer::LayoutFlags

Layout flags.

## Member Enumeration Documentation

enum QwtPlotRenderer::DiscardFlag

Disard flags.

Enumerator:

  DiscardNone | Render all components of the plot.
  DiscardBackground | Don't render the background of the plot.
  DiscardTitle | Don't render the title of the plot.
  DiscardLegend | Don't render the legend of the plot.
  DiscardCanvasBackground | Don't render the background of the canvas.

enum QwtPlotRenderer::LayoutFlag

Layout flags.

See also:
  setLayoutFlag(), testLayoutFlag()

Enumerator:

  DefaultLayout | Use the default layout without margins and frames.
  KeepFrames | Render all frames of the plot.
  FrameWithScales | Instead of the scales a box is painted around the plot canvas, where the scale ticks are aligned to.

## Constructor & Destructor Documentation

QwtPlotRenderer::QwtPlotRenderer | ( | QObject * | parent = `NULL` | ) | `[explicit]`

Constructor

Parameters:

  parent | Parent object

QwtPlotRenderer::~QwtPlotRenderer | ( |  | ) | `[virtual]`

Destructor.

## Member Function Documentation

void QwtPlotRenderer::buildCanvasMaps | ( | const QwtPlot * | plot,
|  | const QRectF & | canvasRect,
|  | QwtScaleMap | maps[]
| ) |  | const`[protected]`

Calculated the scale maps for rendering the canvas

Parameters:

  plot | Plot widget
  canvasRect | Target rectangle
  maps | Scale maps to be calculated

QwtPlotRenderer::DiscardFlags QwtPlotRenderer::discardFlags | ( |  | ) | const

Returns:
  Flags, indicating what to discard from rendering

See also:
  DiscardFlag, setDiscardFlags(), setDiscardFlag(), testDiscardFlag()

QwtPlotRenderer::LayoutFlags QwtPlotRenderer::layoutFlags | ( |  | ) | const

Returns:
  Layout flags

See also:
  LayoutFlag, setLayoutFlags(), setLayoutFlag(), testLayoutFlag()

void QwtPlotRenderer::render | ( | QwtPlot * | plot,
|  | QPainter * | painter,
|  | const QRectF & | plotRect
| ) |  | const`[virtual]`

Paint the contents of a QwtPlot instance into a given rectangle.

Parameters:

  plot | Plot to be rendered
  painter | Painter
  plotRect | Bounding rectangle

See also:
  renderDocument(), renderTo(), QwtPainter::setRoundingAlignment()

void QwtPlotRenderer::renderCanvas | ( | const QwtPlot * | plot,
|  | QPainter * | painter,
|  | const QRectF & | canvasRect,
|  | const QwtScaleMap * | map
| ) |  | const`[virtual]`

Render the canvas into a given rectangle.

Parameters:

  plot | Plot widget
  painter | Painter
  map | Maps mapping between plot and paint device coordinates
  canvasRect | Canvas rectangle

void QwtPlotRenderer::renderDocument | ( | QwtPlot * | plot,
|  | const QString & | fileName,
|  | const QSizeF & | sizeMM,
|  | int | resolution = `85`
| ) |  |

Render a plot to a file

The format of the document will be autodetected from the suffix of the filename.

Parameters:

  plot | Plot widget
  fileName | Path of the file, where the document will be stored
  sizeMM | Size for the document in millimeters.
  resolution | Resolution in dots per Inch (dpi)

void QwtPlotRenderer::renderDocument | ( | QwtPlot * | plot,
|  | const QString & | fileName,
|  | const QString & | format,
|  | const QSizeF & | sizeMM,
|  | int | resolution = `85`
| ) |  |

Render a plot to a file

Supported formats are:

- pdf
  Portable Document Format PDF
- ps
  Postcript
- svg
  Scalable Vector Graphics SVG
- all image formats supported by Qt
  see QImageWriter::supportedImageFormats()

Scalable vector graphic formats like PDF or SVG are superior to raster graphics formats.

Parameters:

  plot | Plot widget
  fileName | Path of the file, where the document will be stored
  format | Format for the document
  sizeMM | Size for the document in millimeters.
  resolution | Resolution in dots per Inch (dpi)

See also:
  renderTo(), render(), QwtPainter::setRoundingAlignment()

void QwtPlotRenderer::renderLegend | ( | const QwtPlot * | plot,
|  | QPainter * | painter,
|  | const QRectF & | rect
| ) |  | const`[virtual]`

Render the legend into a given rectangle.

Parameters:

  plot | Plot widget
  painter | Painter
  rect | Bounding rectangle

void QwtPlotRenderer::renderLegendItem | ( | const QwtPlot * | plot,
|  | QPainter * | painter,
|  | const QWidget * | widget,
|  | const QRectF & | rect
| ) |  | const`[virtual]`

Render the legend item into a given rectangle.

Parameters:

  plot | Plot widget
  painter | Painter
  widget | Widget representing a legend item
  rect | Bounding rectangle

Note:
  When widget is not derived from QwtLegendItem renderLegendItem does nothing and needs to be overloaded

void QwtPlotRenderer::renderScale | ( | const QwtPlot * | plot,
|  | QPainter * | painter,
|  | int | axisId,
|  | int | startDist,
|  | int | endDist,
|  | int | baseDist,
|  | const QRectF & | rect
| ) |  | const`[virtual]`

Paint a scale into a given rectangle. Paint the scale into a given rectangle.

Parameters:

  plot | Plot widget
  painter | Painter
  axisId | Axis
  startDist | Start border distance
  endDist | End border distance
  baseDist | Base distance
  rect | Bounding rectangle

void QwtPlotRenderer::renderTitle | ( | const QwtPlot * | plot,
|  | QPainter * | painter,
|  | const QRectF & | rect
| ) |  | const`[virtual]`

Render the title into a given rectangle.

Parameters:

  plot | Plot widget
  painter | Painter
  rect | Bounding rectangle

void QwtPlotRenderer::renderTo | ( | QwtPlot * | plot,
|  | QPrinter & | printer
| ) |  | const

Render the plot to a QPrinter.

This function renders the contents of a QwtPlot instance to `QPaintDevice` object. The size is derived from the printer metrics.

Parameters:

  plot | Plot to be rendered
  printer | Printer to paint on

See also:
  renderDocument(), render(), QwtPainter::setRoundingAlignment()

void QwtPlotRenderer::renderTo | ( | QwtPlot * | plot,
|  | QPaintDevice & | paintDevice
| ) |  | const

Render the plot to a `QPaintDevice`.

This function renders the contents of a QwtPlot instance to `QPaintDevice` object. The target rectangle is derived from its device metrics.

Parameters:

  plot | Plot to be rendered
  paintDevice | device to paint on, f.e a QImage

See also:
  renderDocument(), render(), QwtPainter::setRoundingAlignment()

void QwtPlotRenderer::setDiscardFlag | ( | DiscardFlag | flag,
|  | bool | on = `true`
| ) |  |

Change a flag, indicating what to discard from rendering

Parameters:

  flag | Flag to change
  on | On/Off

See also:
  DiscardFlag, testDiscardFlag(), setDiscardFlags(), discardFlags()

void QwtPlotRenderer::setDiscardFlags | ( | DiscardFlags | flags | ) |

Set the flags, indicating what to discard from rendering

Parameters:

  flags | Flags

See also:
  DiscardFlag, setDiscardFlag(), testDiscardFlag(), discardFlags()

void QwtPlotRenderer::setLayoutFlag | ( | LayoutFlag | flag,
|  | bool | on = `true`
| ) |  |

Change a layout flag

Parameters:

  flag | Flag to change
  on | On/Off

See also:
  LayoutFlag, testLayoutFlag(), setLayoutFlags(), layoutFlags()

void QwtPlotRenderer::setLayoutFlags | ( | LayoutFlags | flags | ) |

Set the layout flags

Parameters:

  flags | Flags

See also:
  LayoutFlag, setLayoutFlag(), testLayoutFlag(), layoutFlags()

bool QwtPlotRenderer::testDiscardFlag | ( | DiscardFlag | flag | ) | const

Check if a flag is set.

Parameters:

  flag | Flag to be tested

See also:
  DiscardFlag, setDiscardFlag(), setDiscardFlags(), discardFlags()

bool QwtPlotRenderer::testLayoutFlag | ( | LayoutFlag | flag | ) | const

Check if a flag is set.

Parameters:

  flag | Flag to be tested

See also:
  LayoutFlag, setLayoutFlag(), setLayoutFlags(), layoutFlags()