54 bool IsStroke()
const override {
return true; }
62 static STROKE_FONT* LoadFont(
const wxString& aFontName );
69 double GetInterline(
double aGlyphHeight,
const METRICS& aFontMetrics )
const override;
83 VECTOR2I GetTextAsGlyphs(
BOX2I* aBoundingBox, std::vector<std::unique_ptr<GLYPH>>* aGlyphs,
84 const wxString& aText,
const VECTOR2I& aSize,
88 unsigned GetGlyphCount()
const;
92 const BOX2D& GetGlyphBoundingBox(
unsigned aIndex )
const;
101 void loadNewStrokeFont(
const char*
const aNewStrokeFont[],
int aNewStrokeFontSize );
108 const std::vector<std::shared_ptr<GLYPH>>*
m_glyphs;
Implement a stroke font drawing.
bool IsStroke() const override
double GetSuperSubBaselineOffset(TEXT_STYLE_FLAGS aTextStyle) const override
Return the baseline shift of a superscript or subscript run, as a downwards fraction of the reduced g...
double GetSuperSubSizeMultiplier() const override
Return the factor the text size is multiplied by for a superscript or subscript run.
static constexpr double m_superSubSize
const std::vector< BOX2D > * m_glyphBoundingBoxes
const std::vector< std::shared_ptr< GLYPH > > * m_glyphs
static constexpr double m_superscriptBaselineOffset
static constexpr double m_subscriptBaselineOffset
Abstract interface for drawing on a 2D-surface.
unsigned int TEXT_STYLE_FLAGS
bool IsSuperscript(TEXT_STYLE_FLAGS aFlags)
bool IsSubscript(TEXT_STYLE_FLAGS aFlags)
The Cairo implementation of the graphics abstraction layer.
VECTOR2< int32_t > VECTOR2I