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/printsupport/kernel/qprintengine_win.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/printsupport/kernel/qprintengine_win.cpp')
-rw-r--r-- | src/printsupport/kernel/qprintengine_win.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/printsupport/kernel/qprintengine_win.cpp b/src/printsupport/kernel/qprintengine_win.cpp index 36dd7ecb0c..acaa32304e 100644 --- a/src/printsupport/kernel/qprintengine_win.cpp +++ b/src/printsupport/kernel/qprintengine_win.cpp @@ -364,8 +364,9 @@ void QWin32PrintEngine::drawTextItem(const QPointF &p, const QTextItem &textItem || ti.fontEngine->type() != QFontEngine::Win; if (!fallBack) { - const QVariant hFontV = ti.fontEngine->property("hFont"); - const QVariant logFontV = ti.fontEngine->property("logFont"); + const QVariantMap userData = ti.fontEngine->userData().toMap(); + const QVariant hFontV = userData.value(QStringLiteral("hFont")); + const QVariant logFontV = userData.value(QStringLiteral("logFont")); if (hFontV.canConvert<HFONT>() && logFontV.canConvert<LOGFONT>()) { const HFONT hfont = hFontV.value<HFONT>(); const LOGFONT logFont = logFontV.value<LOGFONT>(); @@ -1806,8 +1807,9 @@ static void draw_text_item_win(const QPointF &pos, const QTextItemInt &ti, HDC h bool ttf = false; if (ti.fontEngine->type() == QFontEngine::Win) { - const QVariant hfontV = ti.fontEngine->property("hFont"); - const QVariant ttfV = ti.fontEngine->property("trueType"); + const QVariantMap userData = ti.fontEngine->userData().toMap(); + const QVariant hfontV = userData.value(QStringLiteral("hFont")); + const QVariant ttfV = userData.value(QStringLiteral("trueType")); if (ttfV.type() == QVariant::Bool && hfontV.canConvert<HFONT>()) { hfont = hfontV.value<HFONT>(); ttf = ttfV.toBool(); |