summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/windows/qwindowsfontengine.cpp
diff options
context:
space:
mode:
authorKonstantin Ritt <ritt.ks@gmail.com>2013-09-09 11:46:50 +0300
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-09-10 01:56:20 +0200
commit106843ad1afa2f5c0aedaa748088d4ebacd6d73d (patch)
tree4d6059989e0177d71ca8962b86de9dc255c46dea /src/plugins/platforms/windows/qwindowsfontengine.cpp
parent8b124a7ddefbacea60d2e5d44e39eed4aa83bec5 (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.cpp11
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;