From 634344411e9a3204b6d20595ad94005ca6a393d2 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Thu, 30 Nov 2017 21:34:13 +0100 Subject: platform plugins: port away from QRegion::rects() Use begin()/end()/rectCount() instead. Change-Id: I5c642c4a2c64da65d3f37159396c86073818ca95 Reviewed-by: Giuseppe D'Angelo --- src/plugins/platforms/bsdfb/qbsdfbscreen.cpp | 3 +-- src/plugins/platforms/integrity/qintegrityfbscreen.cpp | 13 ++++++------- src/plugins/platforms/vnc/qvnc.cpp | 9 +++++---- .../platforms/xcb/nativepainting/qxcbnativepainting.cpp | 2 +- 4 files changed, 13 insertions(+), 14 deletions(-) (limited to 'src/plugins/platforms') diff --git a/src/plugins/platforms/bsdfb/qbsdfbscreen.cpp b/src/plugins/platforms/bsdfb/qbsdfbscreen.cpp index 067a26a7b1..d752b539a0 100644 --- a/src/plugins/platforms/bsdfb/qbsdfbscreen.cpp +++ b/src/plugins/platforms/bsdfb/qbsdfbscreen.cpp @@ -247,8 +247,7 @@ QRegion QBsdFbScreen::doRedraw() if (!m_blitter) m_blitter.reset(new QPainter(&m_onscreenImage)); - const auto rects = touched.rects(); - for (const QRect &rect : rects) + for (const QRect &rect : touched) m_blitter->drawImage(rect, mScreenImage, rect); return touched; } diff --git a/src/plugins/platforms/integrity/qintegrityfbscreen.cpp b/src/plugins/platforms/integrity/qintegrityfbscreen.cpp index 3979937955..d64b96ca4c 100644 --- a/src/plugins/platforms/integrity/qintegrityfbscreen.cpp +++ b/src/plugins/platforms/integrity/qintegrityfbscreen.cpp @@ -204,15 +204,14 @@ QRegion QIntegrityFbScreen::doRedraw() if (!mBlitter) mBlitter = new QPainter(&mFbScreenImage); - QVector rects = touched.rects(); - for (int i = 0; i < rects.size(); i++) { + for (QRect rect : touched) { FBRect fbrect = { - (uint32_t)rects[i].left(), - (uint32_t)rects[i].top(), - (uint32_t)rects[i].width(), - (uint32_t)rects[i].height() + (uint32_t)rect.left(), + (uint32_t)rect.top(), + (uint32_t)rect.width(), + (uint32_t)rect.height() }; - mBlitter->drawImage(rects[i], mScreenImage, rects[i]); + mBlitter->drawImage(rect, mScreenImage, rect); gh_FB_expose(mFbh, &fbrect, NULL); } return touched; diff --git a/src/plugins/platforms/vnc/qvnc.cpp b/src/plugins/platforms/vnc/qvnc.cpp index fa65e8c9a4..44fc1c6101 100644 --- a/src/plugins/platforms/vnc/qvnc.cpp +++ b/src/plugins/platforms/vnc/qvnc.cpp @@ -476,7 +476,8 @@ void QRfbRawEncoder::write() // rgn &= QRect(0, 0, server->screen()->geometry().width(), // server->screen()->geometry().height()); // } - const QVector rects = rgn.rects(); + + const auto rectsInRegion = rgn.rectCount(); { const char tmp[2] = { 0, 0 }; // msg type, padding @@ -484,16 +485,16 @@ void QRfbRawEncoder::write() } { - const quint16 count = htons(rects.size()); + const quint16 count = htons(rectsInRegion); socket->write((char *)&count, sizeof(count)); } - if (rects.size() <= 0) + if (rectsInRegion <= 0) return; const QImage screenImage = client->server()->screenImage(); - for (const QRect &tileRect: rects) { + for (const QRect &tileRect: rgn) { const QRfbRect rect(tileRect.x(), tileRect.y(), tileRect.width(), tileRect.height()); rect.write(socket); diff --git a/src/plugins/platforms/xcb/nativepainting/qxcbnativepainting.cpp b/src/plugins/platforms/xcb/nativepainting/qxcbnativepainting.cpp index 7731f6c806..5ff45ec183 100644 --- a/src/plugins/platforms/xcb/nativepainting/qxcbnativepainting.cpp +++ b/src/plugins/platforms/xcb/nativepainting/qxcbnativepainting.cpp @@ -105,7 +105,7 @@ void qt_xcb_native_x11_info_init(QXcbConnection *conn) QVector qt_region_to_xrectangles(const QRegion &r) { const int numRects = r.rectCount(); - const QVector input = r.rects(); + const auto input = r.begin(); QVector output(numRects); for (int i = 0; i < numRects; ++i) { const QRect &in = input[i]; -- cgit v1.2.3