diff options
author | Konstantin Ritt <ritt.ks@gmail.com> | 2013-09-09 11:46:50 +0300 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-09-10 01:56:20 +0200 |
commit | 106843ad1afa2f5c0aedaa748088d4ebacd6d73d (patch) | |
tree | 4d6059989e0177d71ca8962b86de9dc255c46dea /src/plugins/platforms/windows/qwindowsfontengine.cpp | |
parent | 8b124a7ddefbacea60d2e5d44e39eed4aa83bec5 (diff) |
Make QFontEngine not derive from QObject
Whilst having the objectName set for each engine is
somewhat handy when debugging, deriving from QObject just for that
is a wasting of memory in all other cases.
This also broke the font engine abstraction by allowing qobject_cast()
to access some private data; the only sane way to distinguish
engines is querying their Type value.
Change-Id: Ib1d195692859eb39089f6d8d9016cb8f9dcc0400
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src/plugins/platforms/windows/qwindowsfontengine.cpp')
-rw-r--r-- | src/plugins/platforms/windows/qwindowsfontengine.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/plugins/platforms/windows/qwindowsfontengine.cpp b/src/plugins/platforms/windows/qwindowsfontengine.cpp index 64457f4b67..ac57a1b396 100644 --- a/src/plugins/platforms/windows/qwindowsfontengine.cpp +++ b/src/plugins/platforms/windows/qwindowsfontengine.cpp @@ -336,6 +336,13 @@ QWindowsFontEngine::QWindowsFontEngine(const QString &name, if (!resolvedGetCharWidthI) resolveGetCharWidthI(); + + // ### Properties accessed by QWin32PrintEngine (QtPrintSupport) + QVariantMap userData; + userData.insert(QStringLiteral("logFont"), QVariant::fromValue(m_logfont)); + userData.insert(QStringLiteral("hFont"), QVariant::fromValue(hfont)); + userData.insert(QStringLiteral("trueType"), QVariant(bool(ttf))); + setUserData(userData); } QWindowsFontEngine::~QWindowsFontEngine() @@ -1366,7 +1373,7 @@ void QWindowsMultiFontEngine::loadEngine(int at) #endif { QWindowsFontEngine *fe = static_cast<QWindowsFontEngine*>(fontEngine); - lf = fe->logFont(); + lf = fe->m_logfont; data = fe->fontEngineData(); } @@ -1391,8 +1398,6 @@ void QWindowsMultiFontEngine::loadEngine(int at) QWindowsFontEngineDirectWrite *fedw = new QWindowsFontEngineDirectWrite(directWriteFontFace, fontEngine->fontDef.pixelSize, data); - fedw->setObjectName(QStringLiteral("QWindowsFontEngineDirectWrite_") + fontEngine->fontDef.family); - fedw->fontDef = fontDef; fedw->ref.ref(); engines[at] = fedw; |