diff options
author | Akash Jain <akash96j@gmail.com> | 2016-08-17 21:31:22 +0530 |
---|---|---|
committer | Khaled Hosny <khaledhosny@eglug.org> | 2016-10-18 20:41:30 +0200 |
commit | 5e65efcaa38ea5fbe655a18082a3ba7c8cf7d5fe (patch) | |
tree | f4d343cd38c51bf3ed86561aef951b3abf91db0f /vcl/inc/quartz/salgdi.h | |
parent | 3eda74cf7e9d23cc08f07c38f3bee04b565ff9db (diff) |
GSoC: Speed up CommonSalLayout by caching hb_face
Cache hb_face so it is not created again and again.
Switch from GDI to DirectWrite on Windows to obtain SFNT table data.
Change-Id: I9c532cd72e1f6b57313f3b7d42a6b9b0633eb0ef
Diffstat (limited to 'vcl/inc/quartz/salgdi.h')
-rw-r--r-- | vcl/inc/quartz/salgdi.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/vcl/inc/quartz/salgdi.h b/vcl/inc/quartz/salgdi.h index 104699bc1d89..00b2d8e76409 100644 --- a/vcl/inc/quartz/salgdi.h +++ b/vcl/inc/quartz/salgdi.h @@ -45,6 +45,7 @@ #include "quartz/salgdicommon.hxx" #include <unordered_map> +#include <hb-ot.h> class AquaSalFrame; class FontAttributes; @@ -98,6 +99,8 @@ public: void GetFontMetric( ImplFontMetricDataRef& ) const; bool GetGlyphBoundRect( sal_GlyphId, Rectangle& ) const; bool GetGlyphOutline( sal_GlyphId, basegfx::B2DPolyPolygon& ) const; + hb_face_t* GetHbFace() const { return mpHbFace; } + void SetHbFace(hb_face_t* pHbFace) const { mpHbFace = pHbFace; } const CoreTextFontFace* mpFontData; /// <1.0: font is squeezed, >1.0 font is stretched, else 1.0 @@ -109,6 +112,7 @@ public: private: /// CoreText text style object CFMutableDictionaryRef mpStyleDict; + mutable hb_face_t* mpHbFace; friend class CTLayout; friend class AquaSalGraphics; |