summaryrefslogtreecommitdiff
path: root/vcl/inc/quartz/salgdi.h
diff options
context:
space:
mode:
authorAkash Jain <akash96j@gmail.com>2016-08-17 21:31:22 +0530
committerKhaled Hosny <khaledhosny@eglug.org>2016-10-18 20:41:30 +0200
commit5e65efcaa38ea5fbe655a18082a3ba7c8cf7d5fe (patch)
treef4d343cd38c51bf3ed86561aef951b3abf91db0f /vcl/inc/quartz/salgdi.h
parent3eda74cf7e9d23cc08f07c38f3bee04b565ff9db (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.h4
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;