diff options
Diffstat (limited to 'src/plugins/platforms/windows/qwindowsbackingstore.cpp')
-rw-r--r-- | src/plugins/platforms/windows/qwindowsbackingstore.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/plugins/platforms/windows/qwindowsbackingstore.cpp b/src/plugins/platforms/windows/qwindowsbackingstore.cpp index e86b41a48a..aad115a30b 100644 --- a/src/plugins/platforms/windows/qwindowsbackingstore.cpp +++ b/src/plugins/platforms/windows/qwindowsbackingstore.cpp @@ -121,6 +121,20 @@ void QWindowsBackingStore::resize(const QSize &size, const QRegion ®ion) } } +Q_GUI_EXPORT void qt_scrollRectInImage(QImage &img, const QRect &rect, const QPoint &offset); + +bool QWindowsBackingStore::scroll(const QRegion &area, int dx, int dy) +{ + if (m_image.isNull() || m_image->image().isNull()) + return false; + + const QVector<QRect> rects = area.rects(); + for (int i = 0; i < rects.size(); ++i) + qt_scrollRectInImage(m_image->image(), rects.at(i), QPoint(dx, dy)); + + return true; +} + void QWindowsBackingStore::beginPaint(const QRegion ®ion) { Q_UNUSED(region); |