diff options
author | Andrew Knight <andrew.knight@digia.com> | 2014-09-03 10:34:28 +0300 |
---|---|---|
committer | Andrew Knight <andrew.knight@digia.com> | 2014-09-03 17:50:11 +0200 |
commit | 20ea0cbaba8fe38e1ab8c8240c3917af85f929f5 (patch) | |
tree | c5668798cb6ec7420d540be14d0472dc90658304 /src/plugins/platforms/direct2d/qwindowsdirect2dwindow.cpp | |
parent | bdb30abcd274d4fb1958e17ba8790e415a2ffe85 (diff) |
direct2d: Work around ClearType rendering bug in translucent mode
This switches the font rendering to use gray scale antialiasing when in
translucent rendering mode. It does so by adding a flags argument to the
paint engine, allowing for future expansion in communicating render hints
from the device to the engine.
Task-number: QTBUG-41002
Change-Id: I0265154716a12060e851b603a109e9c693f5e843
Reviewed-by: Louai Al-Khanji <louai.al-khanji@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Diffstat (limited to 'src/plugins/platforms/direct2d/qwindowsdirect2dwindow.cpp')
-rw-r--r-- | src/plugins/platforms/direct2d/qwindowsdirect2dwindow.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/plugins/platforms/direct2d/qwindowsdirect2dwindow.cpp b/src/plugins/platforms/direct2d/qwindowsdirect2dwindow.cpp index 37987931b3..f739493c1a 100644 --- a/src/plugins/platforms/direct2d/qwindowsdirect2dwindow.cpp +++ b/src/plugins/platforms/direct2d/qwindowsdirect2dwindow.cpp @@ -308,7 +308,11 @@ void QWindowsDirect2DWindow::setupBitmap() m_bitmap.reset(new QWindowsDirect2DBitmap(backBufferBitmap.Get(), m_deviceContext.Get())); + QWindowsDirect2DPaintEngine::Flags flags = QWindowsDirect2DPaintEngine::NoFlag; + if (!m_directRendering) + flags |= QWindowsDirect2DPaintEngine::UseGrayscaleAntialiasing; QWindowsDirect2DPlatformPixmap *pp = new QWindowsDirect2DPlatformPixmap(QPlatformPixmap::PixmapType, + flags, m_bitmap.data()); m_pixmap.reset(new QPixmap(pp)); } |