diff options
author | Jan-Marek Glogowski <glogow@fbihome.de> | 2018-10-28 13:41:10 +0100 |
---|---|---|
committer | Jan-Marek Glogowski <glogow@fbihome.de> | 2018-10-30 20:42:19 +0100 |
commit | 996d7f36ddcd6d518f4b44d132b3c5e3300f0c24 (patch) | |
tree | 5fb211f185c06dac6c2ff620b4c5982dca25dc86 /vcl/inc/fontinstance.hxx | |
parent | 0ea92ad5332ddb6583c82275071c3be3939ebf28 (diff) |
Move SalGraphics glyph functions into FontInstance
As we already rely on the GlyphItem's font instance, consequently
this removes the SalGraphics GlyphItem based functions. Also
unifies the glyph bound rect cache handling.
An interesting aspect is the rotated glyph bounding box handling
moved from CairoTextRender to FreetypeFont. It doesn't look like
an implementation detail for Cairo, so it may have been a bug.
Change-Id: I81bbb5d8ee98fb77a1eee05568c456f9e4553023
Reviewed-on: https://gerrit.libreoffice.org/62503
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
Diffstat (limited to 'vcl/inc/fontinstance.hxx')
-rw-r--r-- | vcl/inc/fontinstance.hxx | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/vcl/inc/fontinstance.hxx b/vcl/inc/fontinstance.hxx index 6f171ce72e49..5e1d70ad9600 100644 --- a/vcl/inc/fontinstance.hxx +++ b/vcl/inc/fontinstance.hxx @@ -70,8 +70,8 @@ public: // TODO: make data members private const PhysicalFontFace* GetFontFace() const { return m_pFontFace.get(); } const ImplFontCache* GetFontCache() const { return mpFontCache; } - bool GetCachedGlyphBoundRect(sal_GlyphId, tools::Rectangle &) const; - void CacheGlyphBoundRect(sal_GlyphId nID, tools::Rectangle &) const; + bool GetGlyphBoundRect(sal_GlyphId, tools::Rectangle&, bool) const; + virtual bool GetGlyphOutline(sal_GlyphId, basegfx::B2DPolyPolygon&, bool) const = 0; int GetKashidaWidth(); @@ -81,6 +81,8 @@ public: // TODO: make data members private protected: explicit LogicalFontInstance(const PhysicalFontFace&, const FontSelectPattern&); + virtual bool ImplGetGlyphBoundRect(sal_GlyphId, tools::Rectangle&, bool) const = 0; + // Takes ownership of pHbFace. hb_font_t* InitHbFont(hb_face_t* pHbFace) const; virtual hb_font_t* ImplInitHbFont() { assert(false); return nullptr; } |