diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2020-07-16 10:28:53 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2020-07-24 15:05:46 +0200 |
commit | d5dcc15006f7bfb580c3a0f491ff923f8ac2b103 (patch) | |
tree | a374145bedcd384e33e4d3e1fbb21728c86445b7 /src | |
parent | 2a0626a9cd544f66c8023881b4d534f5199d4e74 (diff) |
Fix compilation after moving the QRegion conversion functions
Temporarily remove Multimedia.
Task-number: QTBUG-81876
Change-Id: Ic701110cae007fc87dd00ce7bb6dfff7dd8ab057
Reviewed-by: André de la Rocha <andre.rocha@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/winextras/qwinfunctions.cpp | 46 |
1 files changed, 10 insertions, 36 deletions
diff --git a/src/winextras/qwinfunctions.cpp b/src/winextras/qwinfunctions.cpp index 68f2c99..b0e0ff4 100644 --- a/src/winextras/qwinfunctions.cpp +++ b/src/winextras/qwinfunctions.cpp @@ -202,54 +202,28 @@ HRGN qt_RectToHRGN(const QRect &rc) /*! \since 5.2 + \obsolete - Returns a HRGN that is equivalent to the given \a region. + This function is equivalent to QRegion::toHRGN() + + \sa QRegion::toHRGN() */ HRGN QtWin::toHRGN(const QRegion ®ion) { - const int size = region.rectCount(); - if (size == 0) - return nullptr; - - HRGN resultRgn = nullptr; - const auto rects = region.begin(); - resultRgn = qt_RectToHRGN(rects[0]); - for (int i = 1; i < size; i++) { - HRGN tmpRgn = qt_RectToHRGN(rects[i]); - int err = CombineRgn(resultRgn, resultRgn, tmpRgn, RGN_OR); - if (err == ERROR) - qWarning("Error combining HRGNs."); - DeleteObject(tmpRgn); - } - return resultRgn; + return region.toHRGN(); } /*! \since 5.2 + \obsolete + + This function is equivalent to QRegion::fromHRGN(). - Returns a QRegion that is equivalent to the given \a hrgn. + \sa QRegion::fromHRGN() */ QRegion QtWin::fromHRGN(HRGN hrgn) { - DWORD regionDataSize = GetRegionData(hrgn, 0, nullptr); - if (regionDataSize == 0) - return QRegion(); - - auto regionData = reinterpret_cast<LPRGNDATA>(malloc(regionDataSize)); - if (!regionData) - return QRegion(); - - QRegion region; - if (GetRegionData(hrgn, regionDataSize, regionData) == regionDataSize) { - auto pRect = reinterpret_cast<LPRECT>(regionData->Buffer); - for (DWORD i = 0; i < regionData->rdh.nCount; ++i) - region += QRect(pRect[i].left, pRect[i].top, - pRect[i].right - pRect[i].left, - pRect[i].bottom - pRect[i].top); - } - - free(regionData); - return region; + return QRegion::fromHRGN(hrgn); } /*! |