QWindow::setMask(): Apply High DPI scaling.

Move code from QWidget::setMask() and reimplement QWidget::setMask()
using QWindow::setMask().

Task-number: QTBUG-50938
Change-Id: I040688d6b18df91368fa6ab6392a3b4cd80f2683
Reviewed-by: Błażej Szczygieł <spaz16@wp.pl>
Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
bb10
Friedemann Kleint 2016-02-09 13:36:17 +01:00
parent ab3e2f66e9
commit 42f788ffe2
2 changed files with 3 additions and 4 deletions

View File

@ -951,7 +951,7 @@ void QWindow::setMask(const QRegion &region)
Q_D(QWindow);
if (!d->platformWindow)
return;
d->platformWindow->setMask(region);
d->platformWindow->setMask(QHighDpi::toNativeLocalRegion(region, this));
d->mask = region;
}

View File

@ -12848,9 +12848,8 @@ void QWidget::setMask(const QRegion &newMask)
void QWidgetPrivate::setMask_sys(const QRegion &region)
{
Q_Q(QWidget);
if (const QWindow *window = q->windowHandle())
if (QPlatformWindow *platformWindow = window->handle())
platformWindow->setMask(QHighDpi::toNativeLocalRegion(region, window));
if (QWindow *window = q->windowHandle())
window->setMask(region);
}
/*!