Nakuja Flight Computer Testing and Simulation Engine (NaFCTSE) 1.0
A testing and verification tool for the Nakuja Rocket Project flight computers
|
Classes | |
struct | CachedLabel |
struct | LabelData |
Public Types | |
enum | AnchorMode { amRectangular , amSkewedUpright , amSkewedRotated } |
enum | AnchorReferenceType { artNormal , artTangent } |
enum | AnchorSide { asLeft , asRight , asTop , asBottom , asTopLeft , asTopRight , asBottomRight , asBottomLeft } |
Public Member Functions | |
QCPLabelPainterPrivate (QCustomPlot *parentPlot) | |
void | setAnchorSide (AnchorSide side) |
void | setAnchorMode (AnchorMode mode) |
void | setAnchorReference (const QPointF &pixelPoint) |
void | setAnchorReferenceType (AnchorReferenceType type) |
void | setFont (const QFont &font) |
void | setColor (const QColor &color) |
void | setPadding (int padding) |
void | setRotation (double rotation) |
void | setSubstituteExponent (bool enabled) |
void | setMultiplicationSymbol (QChar symbol) |
void | setAbbreviateDecimalPowers (bool enabled) |
void | setCacheSize (int labelCount) |
AnchorMode | anchorMode () const |
AnchorSide | anchorSide () const |
QPointF | anchorReference () const |
AnchorReferenceType | anchorReferenceType () const |
QFont | font () const |
QColor | color () const |
int | padding () const |
double | rotation () const |
bool | substituteExponent () const |
QChar | multiplicationSymbol () const |
bool | abbreviateDecimalPowers () const |
int | cacheSize () const |
void | drawTickLabel (QCPPainter *painter, const QPointF &tickPos, const QString &text) |
void | clearCache () |
Static Public Attributes | |
static const QChar | SymbolDot |
static const QChar | SymbolCross |
Protected Member Functions | |
virtual void | drawLabelMaybeCached (QCPPainter *painter, const QFont &font, const QColor &color, const QPointF &pos, AnchorSide side, double rotation, const QString &text) |
virtual QByteArray | generateLabelParameterHash () const |
QPointF | getAnchorPos (const QPointF &tickPos) |
void | drawText (QCPPainter *painter, const QPointF &pos, const LabelData &labelData) const |
LabelData | getTickLabelData (const QFont &font, const QColor &color, double rotation, AnchorSide side, const QString &text) const |
void | applyAnchorTransform (LabelData &labelData) const |
CachedLabel * | createCachedLabel (const LabelData &labelData) const |
QByteArray | cacheKey (const QString &text, const QColor &color, double rotation, AnchorSide side) const |
AnchorSide | skewedAnchorSide (const QPointF &tickPos, double sideExpandHorz, double sideExpandVert) const |
AnchorSide | rotationCorrectedSide (AnchorSide side, double rotation) const |
void | analyzeFontMetrics () |
Protected Attributes | |
AnchorMode | mAnchorMode |
AnchorSide | mAnchorSide |
QPointF | mAnchorReference |
AnchorReferenceType | mAnchorReferenceType |
QFont | mFont |
QColor | mColor |
int | mPadding |
double | mRotation |
bool | mSubstituteExponent |
QChar | mMultiplicationSymbol |
bool | mAbbreviateDecimalPowers |
QCustomPlot * | mParentPlot |
QByteArray | mLabelParameterHash |
QCache< QString, CachedLabel > | mLabelCache |
QRect | mAxisSelectionBox |
QRect | mTickLabelsSelectionBox |
QRect | mLabelSelectionBox |
int | mLetterCapHeight |
int | mLetterDescent |
TODO
TODO
|
explicit |
Constructs a QCPLabelPainterPrivate instance. Make sure to not create a new instance on every redraw, to utilize the caching mechanisms.
the parentPlot does not take ownership of the label painter. Make sure to delete it appropriately.