Nakuja Flight Computer Testing and Simulation Engine (NaFCTSE) 1.0
A testing and verification tool for the Nakuja Rocket Project flight computers
Loading...
Searching...
No Matches
QCPLabelPainterPrivate Class Reference

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
 
CachedLabelcreateCachedLabel (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
 
QCustomPlotmParentPlot
 
QByteArray mLabelParameterHash
 
QCache< QString, CachedLabelmLabelCache
 
QRect mAxisSelectionBox
 
QRect mTickLabelsSelectionBox
 
QRect mLabelSelectionBox
 
int mLetterCapHeight
 
int mLetterDescent
 

Member Enumeration Documentation

◆ AnchorMode

◆ AnchorReferenceType

◆ AnchorSide

Constructor & Destructor Documentation

◆ QCPLabelPainterPrivate()

QCPLabelPainterPrivate::QCPLabelPainterPrivate ( QCustomPlot * parentPlot)
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.


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