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/win | |
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/win')
-rw-r--r-- | vcl/inc/win/salgdi.h | 3 | ||||
-rw-r--r-- | vcl/inc/win/winlayout.hxx | 7 |
2 files changed, 5 insertions, 5 deletions
diff --git a/vcl/inc/win/salgdi.h b/vcl/inc/win/salgdi.h index e8fe72cc4ca7..4b829f36d886 100644 --- a/vcl/inc/win/salgdi.h +++ b/vcl/inc/win/salgdi.h @@ -373,9 +373,6 @@ public: std::vector< sal_Int32 >& rWidths, Ucs2UIntMap& rUnicodeEnc ) override; - virtual bool GetGlyphBoundRect(const GlyphItem&, tools::Rectangle&) override; - virtual bool GetGlyphOutline(const GlyphItem&, basegfx::B2DPolyPolygon&) override; - virtual std::unique_ptr<SalLayout> GetTextLayout( ImplLayoutArgs&, int nFallbackLevel ) override; virtual void DrawTextLayout( const GenericSalLayout& ) override; diff --git a/vcl/inc/win/winlayout.hxx b/vcl/inc/win/winlayout.hxx index 036c1d3bcbbd..042e30e9f299 100644 --- a/vcl/inc/win/winlayout.hxx +++ b/vcl/inc/win/winlayout.hxx @@ -148,7 +148,7 @@ class WinFontInstance : public LogicalFontInstance friend rtl::Reference<LogicalFontInstance> WinFontFace::CreateFontInstance(const FontSelectPattern&) const; public: - virtual ~WinFontInstance() override; + ~WinFontInstance() override; bool hasHScale() const; @@ -167,10 +167,13 @@ public: bool CacheGlyphToAtlas(HDC hDC, HFONT hFont, int nGlyphIndex, SalGraphics& rGraphics); OpenGLGlyphCache& GetOpenGLGlyphCache() { return maOpenGLGlyphCache; } + bool GetGlyphOutline(sal_GlyphId, basegfx::B2DPolyPolygon&, bool) const override; + private: explicit WinFontInstance(const WinFontFace&, const FontSelectPattern&); - virtual hb_font_t* ImplInitHbFont() override; + hb_font_t* ImplInitHbFont() override; + bool ImplGetGlyphBoundRect(sal_GlyphId, tools::Rectangle&, bool) const override; WinSalGraphics *m_pGraphics; HFONT m_hFont; |