diff options
author | Louai Al-Khanji <louai.al-khanji@digia.com> | 2014-09-19 13:42:17 +0300 |
---|---|---|
committer | Louai Al-Khanji <louai.al-khanji@digia.com> | 2014-09-26 07:32:29 +0200 |
commit | 3bcbff57e127af37ecf00ed1ab4682b1a9a21bd1 (patch) | |
tree | e9bf080f6a77705115a5e0f0afff64c2b3a32d95 /src/plugins/platforms/direct2d/qwindowsdirect2dplatformpixmap.cpp | |
parent | 095f76046306f205227274eb16d5aad059460496 (diff) |
direct2d: Fix composition mode support
When the composition mode changes to a mode which is not supported by
Direct2D's primitive blending, the rendering follows the emulated (slow)
code path using rasterFill(). This allows the direct2d paint engine to
handle all composition modes supported by QImage.
Task-number: QTBUG-40602
Change-Id: I0ac0b5c89aab2483cb2ef7768d6dec8e16913249
Done-with: Andrew Knight <andrew.knight@digia.com>
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Diffstat (limited to 'src/plugins/platforms/direct2d/qwindowsdirect2dplatformpixmap.cpp')
-rw-r--r-- | src/plugins/platforms/direct2d/qwindowsdirect2dplatformpixmap.cpp | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/src/plugins/platforms/direct2d/qwindowsdirect2dplatformpixmap.cpp b/src/plugins/platforms/direct2d/qwindowsdirect2dplatformpixmap.cpp index ac0676a2b0..d3dad1cbb9 100644 --- a/src/plugins/platforms/direct2d/qwindowsdirect2dplatformpixmap.cpp +++ b/src/plugins/platforms/direct2d/qwindowsdirect2dplatformpixmap.cpp @@ -161,17 +161,8 @@ QImage QWindowsDirect2DPlatformPixmap::toImage(const QRect &rect) const { Q_D(const QWindowsDirect2DPlatformPixmap); - bool active = d->device->paintEngine()->isActive(); - - if (active) - d->device->paintEngine()->end(); - - QImage result = d->bitmap->toImage(rect); - - if (active) - d->device->paintEngine()->begin(d->device.data()); - - return result; + QWindowsDirect2DPaintEngineSuspender suspender(static_cast<QWindowsDirect2DPaintEngine *>(d->device->paintEngine())); + return d->bitmap->toImage(rect); } QPaintEngine* QWindowsDirect2DPlatformPixmap::paintEngine() const |