bool QRasterWindowSurface::scroll(const QRegion &area, int dx, int dy) { #ifdef Q_WS_WIN Q_D(QRasterWindowSurface); if (!d->image || !d->image->hdc) return false; QRect rect = area.boundingRect(); BitBlt(d->image->hdc, rect.x()+dx, rect.y()+dy, rect.width(), rect.height(), d->image->hdc, rect.x(), rect.y(), SRCCOPY); return true; #else Q_D(QRasterWindowSurface); if (!d->image || d->image->image.isNull()) return false; #if defined(Q_WS_X11) && !defined(QT_NO_MITSHM) syncX(); #endif const QVector<QRect> rects = area.rects(); for (int i = 0; i < rects.size(); ++i) qt_scrollRectInImage(d->image->image, rects.at(i), QPoint(dx, dy)); return true; #endif }
bool QWSMemorySurface::scroll(const QRegion &area, int dx, int dy) { const QVector<QRect> rects = area.rects(); for (int i = 0; i < rects.size(); ++i) qt_scrollRectInImage(img, rects.at(i), QPoint(dx, dy)); return true; }
bool QMeeGoLivePixmapData::scroll(int dx, int dy, const QRect &rect) { lock(NULL); if (!lockedImage.isNull()) qt_scrollRectInImage(lockedImage, rect, QPoint(dx, dy)); release(&lockedImage); return true; }
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; }
bool QXlibWindowSurface::scroll(const QRegion &area, int dx, int dy) { if (shm_img.isNull()) return false; const QVector<QRect> rects = area.rects(); for (int i = 0; i < rects.size(); ++i) qt_scrollRectInImage(shm_img, rects.at(i), QPoint(dx, dy)); return true; }
bool QWindowsBackingStore::scroll(const QRegion &areaDip, int dxDip, int dyDip) { if (m_image.isNull() || m_image->image().isNull()) return false; const QPoint dp = QPoint(dxDip, dyDip) * QWindowsScaling::factor(); const QVector<QRect> rects = areaDip.rects(); for (int i = 0; i < rects.size(); ++i) qt_scrollRectInImage(m_image->image(), QWindowsScaling::mapToNative(rects.at(i)), dp); return true; }
bool QXcbWindowSurface::scroll(const QRegion &area, int dx, int dy) { if (m_image->image()->isNull()) return false; m_image->preparePaint(area); 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; }
bool QRasterPlatformPixmap::scroll(int dx, int dy, const QRect &rect) { if (!image.isNull()) qt_scrollRectInImage(image, rect, QPoint(dx, dy)); return true; }