summaryrefslogtreecommitdiff
path: root/vcl/inc/sallayout.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'vcl/inc/sallayout.hxx')
-rw-r--r--vcl/inc/sallayout.hxx55
1 files changed, 2 insertions, 53 deletions
diff --git a/vcl/inc/sallayout.hxx b/vcl/inc/sallayout.hxx
index 123c339b525a..2aa650a1c75a 100644
--- a/vcl/inc/sallayout.hxx
+++ b/vcl/inc/sallayout.hxx
@@ -165,58 +165,6 @@ private:
bool mbIncomplete;
};
-typedef sal_uInt16 sal_GlyphId;
-
-struct GlyphItem
-{
- int mnFlags;
- int mnCharPos; // index in string
- int mnCharCount; // number of characters making up this glyph
-
- int mnOrigWidth; // original glyph width
- int mnNewWidth; // width after adjustments
- int mnXOffset;
-
- sal_GlyphId maGlyphId;
- Point maLinearPos; // absolute position of non rotated string
-
- int mnFallbackLevel;
-
-public:
- GlyphItem(int nCharPos, int nCharCount, sal_GlyphId aGlyphId, const Point& rLinearPos,
- long nFlags, int nOrigWidth, int nXOffset )
- : mnFlags(nFlags)
- , mnCharPos(nCharPos)
- , mnCharCount(nCharCount)
- , mnOrigWidth(nOrigWidth)
- , mnNewWidth(nOrigWidth)
- , mnXOffset(nXOffset)
- , maGlyphId(aGlyphId)
- , maLinearPos(rLinearPos)
- , mnFallbackLevel(0)
- { }
-
- enum {
- IS_IN_CLUSTER = 0x001,
- IS_RTL_GLYPH = 0x002,
- IS_DIACRITIC = 0x004,
- IS_VERTICAL = 0x008,
- IS_SPACING = 0x010,
- ALLOW_KASHIDA = 0x020,
- IS_DROPPED = 0x040,
- IS_CLUSTER_START = 0x080
- };
-
- bool IsInCluster() const { return ((mnFlags & IS_IN_CLUSTER) != 0); }
- bool IsRTLGlyph() const { return ((mnFlags & IS_RTL_GLYPH) != 0); }
- bool IsDiacritic() const { return ((mnFlags & IS_DIACRITIC) != 0); }
- bool IsVertical() const { return ((mnFlags & IS_VERTICAL) != 0); }
- bool IsSpacing() const { return ((mnFlags & IS_SPACING) != 0); }
- bool AllowKashida() const { return ((mnFlags & ALLOW_KASHIDA) != 0); }
- bool IsDropped() const { return ((mnFlags & IS_DROPPED) != 0); }
- bool IsClusterStart() const { return ((mnFlags & IS_CLUSTER_START) != 0); }
-};
-
class VCL_PLUGIN_PUBLIC GenericSalLayout : public SalLayout
{
public:
@@ -227,6 +175,7 @@ public:
bool LayoutText(ImplLayoutArgs&) final override;
void DrawText(SalGraphics&) const final override;
std::shared_ptr<vcl::TextLayoutCache> CreateTextLayoutCache(OUString const&) const final override;
+ SalLayoutGlyphs GetGlyphs() const final override;
bool IsKashidaPosValid(int nCharPos) const final override;
@@ -267,7 +216,7 @@ private:
rtl::Reference<LogicalFontInstance> const mpFont;
css::uno::Reference<css::i18n::XBreakIterator> mxBreak;
- std::vector<GlyphItem> m_GlyphItems;
+ SalLayoutGlyphs m_GlyphItems;
OString msLanguage;
std::vector<hb_feature_t> maFeatures;