summaryrefslogtreecommitdiffstats
path: root/src/platformsupport
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@qt.io>2018-11-24 23:42:32 +0100
committerTor Arne Vestbø <tor.arne.vestbo@qt.io>2018-11-28 23:59:16 +0000
commit61a94d2d046c1448ba4c66dfc8e0246286bab14c (patch)
tree130ab4bc7f3ada3556c55574cc34d0397033693c /src/platformsupport
parent9dd2048c1a11b29f0e16a7906e216133201d24db (diff)
CoreText: Share code by using delegate constructor
Change-Id: If3d5d533f98552335517ef61cb748d0117fe3053 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/platformsupport')
-rw-r--r--src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm15
-rw-r--r--src/platformsupport/fontdatabases/mac/qfontengine_coretext_p.h1
2 files changed, 10 insertions, 6 deletions
diff --git a/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm b/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm
index a58ea71b19..b5e4359caf 100644
--- a/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm
+++ b/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm
@@ -190,10 +190,8 @@ QCoreTextFontEngine *QCoreTextFontEngine::create(const QByteArray &fontData, qre
}
QCoreTextFontEngine::QCoreTextFontEngine(CTFontRef font, const QFontDef &def)
- : QFontEngine(Mac)
+ : QCoreTextFontEngine(def)
{
- fontDef = def;
- transform = qt_transform_from_fontdef(fontDef);
ctfont = font;
CFRetain(ctfont);
cgFont = CTFontCopyGraphicsFont(font, NULL);
@@ -201,10 +199,8 @@ QCoreTextFontEngine::QCoreTextFontEngine(CTFontRef font, const QFontDef &def)
}
QCoreTextFontEngine::QCoreTextFontEngine(CGFontRef font, const QFontDef &def)
- : QFontEngine(Mac)
+ : QCoreTextFontEngine(def)
{
- fontDef = def;
- transform = qt_transform_from_fontdef(fontDef);
cgFont = font;
// Keep reference count balanced
CFRetain(cgFont);
@@ -212,6 +208,13 @@ QCoreTextFontEngine::QCoreTextFontEngine(CGFontRef font, const QFontDef &def)
init();
}
+QCoreTextFontEngine::QCoreTextFontEngine(const QFontDef &def)
+ : QFontEngine(Mac)
+{
+ fontDef = def;
+ transform = qt_transform_from_fontdef(fontDef);
+}
+
QCoreTextFontEngine::~QCoreTextFontEngine()
{
CFRelease(cgFont);
diff --git a/src/platformsupport/fontdatabases/mac/qfontengine_coretext_p.h b/src/platformsupport/fontdatabases/mac/qfontengine_coretext_p.h
index f4213a2ffa..33c3c0cd40 100644
--- a/src/platformsupport/fontdatabases/mac/qfontengine_coretext_p.h
+++ b/src/platformsupport/fontdatabases/mac/qfontengine_coretext_p.h
@@ -126,6 +126,7 @@ public:
static QCoreTextFontEngine *create(const QByteArray &fontData, qreal pixelSize, QFont::HintingPreference hintingPreference);
protected:
+ QCoreTextFontEngine(const QFontDef &def);
void init();
QImage imageForGlyph(glyph_t glyph, QFixed subPixelPosition, bool colorful, const QTransform &m);
void loadAdvancesForGlyphs(QVarLengthArray<CGGlyph> &cgGlyphs, QGlyphLayout *glyphs) const;