QCP Namespace Reference
Author: Emanuel Eichhammer

· · · ·
Enumerations | Functions | Variables
QCP Namespace Reference

## Enumerations
enum | ResolutionUnit
enum | ExportPen
enum | SignDomain
enum | MarginSide
enum | AntialiasedElement
enum | PlottingHint
enum | Interaction
enum | SelectionRectMode
enum | SelectionType

## Functions
bool | isInvalidData (double value)
bool | isInvalidData (double value1, double value2)
void | setMarginValue (QMargins &margins, QCP::MarginSide side, int value)
int | getMarginValue (const QMargins &margins, QCP::MarginSide side)

## Variables
const QMetaObject | staticMetaObject

## Detailed Description

The QCP Namespace contains general enums, QFlags and functions used throughout the QCustomPlot library.

It provides QMetaObject-based reflection of its enums and flags via QCP::staticMetaObject.

## Enumeration Type Documentation

## § ResolutionUnit

enum QCP::ResolutionUnit

Defines the different units in which the image resolution can be specified in the export functions.

See also
  QCustomPlot::savePng, QCustomPlot::saveJpg, QCustomPlot::saveBmp, QCustomPlot::saveRastered

Enumerator
ruDotsPerMeter | Resolution is given in dots per meter (dpm)
ruDotsPerCentimeter | Resolution is given in dots per centimeter (dpcm)
ruDotsPerInch | Resolution is given in dots per inch (DPI/PPI)

## § ExportPen

enum QCP::ExportPen

Defines how cosmetic pens (pens with numerical width 0) are handled during export.

See also
  QCustomPlot::savePdf

Enumerator
epNoCosmetic | Cosmetic pens are converted to pens with pixel width 1 when exporting.
epAllowCosmetic | Cosmetic pens are exported normally (e.g. in PDF exports, cosmetic pens always appear as 1 pixel on screen, independent of viewer zoom level)

## § SignDomain

enum QCP::SignDomain

Represents negative and positive sign domain, e.g. for passing to QCPAbstractPlottable::getKeyRange and QCPAbstractPlottable::getValueRange.

This is primarily needed when working with logarithmic axis scales, since only one of the sign domains can be visible at a time.

Enumerator
sdNegative | The negative sign domain, i.e. numbers smaller than zero.
sdBoth | Both sign domains, including zero, i.e. all numbers.
sdPositive | The positive sign domain, i.e. numbers greater than zero.

## § MarginSide

enum QCP::MarginSide

Defines the sides of a rectangular entity to which margins can be applied.

See also
  QCPLayoutElement::setAutoMargins, QCPAxisRect::setAutoMargins

Enumerator
msLeft | `0x01` left margin
msRight | `0x02` right margin
msTop | `0x04` top margin
msBottom | `0x08` bottom margin
msAll | `0xFF` all margins
msNone | `0x00` no margin

## § AntialiasedElement

enum QCP::AntialiasedElement

Defines what objects of a plot can be forcibly drawn antialiased/not antialiased. If an object is neither forcibly drawn antialiased nor forcibly drawn not antialiased, it is up to the respective element how it is drawn. Typically it provides a setAntialiased function for this.

`AntialiasedElements` is a flag of or-combined elements of this enum type.

See also
  QCustomPlot::setAntialiasedElements, QCustomPlot::setNotAntialiasedElements

Enumerator
aeAxes | `0x0001` Axis base line and tick marks
aeGrid | `0x0002` Grid lines
aeSubGrid | `0x0004` Sub grid lines
aeLegend | `0x0008` Legend box
aeLegendItems | `0x0010` Legend items
aePlottables | `0x0020` Main lines of plottables
aeItems | `0x0040` Main lines of items
aeScatters | `0x0080` Scatter symbols of plottables (excluding scatter symbols of type ssPixmap)
aeFills | `0x0100` Borders of fills (e.g. under or between graphs)
aeZeroLine | `0x0200` Zero-lines, see QCPGrid::setZeroLinePen
aeOther | `0x8000` Other elements that don't fit into any of the existing categories
aeAll | `0xFFFF` All elements
aeNone | `0x0000` No elements

## § PlottingHint

enum QCP::PlottingHint

Defines plotting hints that control various aspects of the quality and speed of plotting.

See also
  QCustomPlot::setPlottingHints

Enumerator
phNone | `0x000` No hints are set
phFastPolylines | `0x001` Graph/Curve lines are drawn with a faster method. This reduces the quality especially of the line segment joins, thus is most effective for pen sizes larger than 1. It is only used for solid line pens.
phImmediateRefresh | `0x002` causes an immediate repaint() instead of a soft update() when QCustomPlot::replot() is called with parameter QCustomPlot::rpRefreshHint. This is set by default to prevent the plot from freezing on fast consecutive replots (e.g. user drags ranges with mouse).
phCacheLabels | `0x004` axis (tick) labels will be cached as pixmaps, increasing replot performance.

## § Interaction

enum QCP::Interaction

Defines the mouse interactions possible with QCustomPlot.

`Interactions` is a flag of or-combined elements of this enum type.

See also
  QCustomPlot::setInteractions

Enumerator
iNone | `0x000` None of the interactions are possible
iRangeDrag | `0x001` Axis ranges are draggable (see QCPAxisRect::setRangeDrag, QCPAxisRect::setRangeDragAxes)
iRangeZoom | `0x002` Axis ranges are zoomable with the mouse wheel (see QCPAxisRect::setRangeZoom, QCPAxisRect::setRangeZoomAxes)
iMultiSelect | `0x004` The user can select multiple objects by holding the modifier set by QCustomPlot::setMultiSelectModifier while clicking
iSelectPlottables | `0x008` Plottables are selectable (e.g. graphs, curves, bars,... see QCPAbstractPlottable)
iSelectAxes | `0x010` Axes are selectable (or parts of them, see QCPAxis::setSelectableParts)
iSelectLegend | `0x020` Legends are selectable (or their child items, see QCPLegend::setSelectableParts)
iSelectItems | `0x040` Items are selectable (Rectangles, Arrows, Textitems, etc. see QCPAbstractItem)
iSelectOther | `0x080` All other objects are selectable (e.g. your own derived layerables, other layout elements,...)
iSelectPlottablesBeyondAxisRect | `0x100` When performing plottable selection/hit tests, this flag extends the sensitive area beyond the axis rect

## § SelectionRectMode

enum QCP::SelectionRectMode

Defines the behaviour of the selection rect.

See also
  QCustomPlot::setSelectionRectMode, QCustomPlot::selectionRect, QCPSelectionRect

Enumerator
srmNone | The selection rect is disabled, and all mouse events are forwarded to the underlying objects, e.g. for axis range dragging.
srmZoom | When dragging the mouse, a selection rect becomes active. Upon releasing, the axes that are currently set as range zoom axes (QCPAxisRect::setRangeZoomAxes) will have their ranges zoomed accordingly.
srmSelect | When dragging the mouse, a selection rect becomes active. Upon releasing, plottable data points that were within the selection rect are selected, if the plottable's selectability setting permits. (See data selection mechanism for details.)
srmCustom | When dragging the mouse, a selection rect becomes active. It is the programmer's responsibility to connect according slots to the selection rect's signals (e.g. QCPSelectionRect::accepted) in order to process the user interaction.

## § SelectionType

enum QCP::SelectionType

Defines the different ways a plottable can be selected. These images show the effect of the different selection types, when the indicated selection rect was dragged:

stNone | stWhole | stSingleData | stDataRange | stMultipleDataRanges

See also
  QCPAbstractPlottable::setSelectable, QCPDataSelection::enforceType

Enumerator
stNone | The plottable is not selectable.
stWhole | Selection behaves like stMultipleDataRanges, but if there are any data points selected, the entire plottable is drawn as selected.
stSingleData | One individual data point can be selected at a time.
stDataRange | Multiple contiguous data points (a data range) can be selected.
stMultipleDataRanges | Any combination of data points/ranges can be selected.

## Function Documentation

## § isInvalidData() [1/2]

bool QCP::isInvalidData | ( | double | value | ) |
| inline

Returns whether the specified value is considered an invalid data value for plottables (i.e. is nan or +/-inf). This function is used to check data validity upon replots, when the compiler flag `QCUSTOMPLOT_CHECK_DATA` is set.

## § isInvalidData() [2/2]

bool QCP::isInvalidData | ( | double | value1,
|  | double | value2
| ) |  |
| inline

This is an overloaded function.

Checks two arguments instead of one.

## § setMarginValue()

void QCP::setMarginValue | ( | QMargins & | margins,
|  | QCP::MarginSide | side,
|  | int | value
| ) |  |
| inline

Sets the specified side of margins to value

See also
  getMarginValue

## § getMarginValue()

int QCP::getMarginValue | ( | const QMargins & | margins,
|  | QCP::MarginSide | side
| ) |  |
| inline

Returns the value of the specified side of margins. If side is QCP::msNone or QCP::msAll, returns 0.

See also
  setMarginValue