QWindow: Use scaling when calling QPlatformWindow::mapTo/FromGlobal().
The platform window API uses native pixels. Task-number: QTBUG-50206 Change-Id: I1385d34bb0eacd61d77cad483e2a863d129ed129 Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
This commit is contained in:
parent
1db9962cef
commit
e695b92464
@ -2298,7 +2298,7 @@ QPoint QWindow::mapToGlobal(const QPoint &pos) const
|
|||||||
// QTBUG-43252, prefer platform implementation for foreign windows.
|
// QTBUG-43252, prefer platform implementation for foreign windows.
|
||||||
if (d->platformWindow
|
if (d->platformWindow
|
||||||
&& (type() == Qt::ForeignWindow || d->platformWindow->isEmbedded())) {
|
&& (type() == Qt::ForeignWindow || d->platformWindow->isEmbedded())) {
|
||||||
return d->platformWindow->mapToGlobal(pos);
|
return QHighDpi::fromNativeLocalPosition(d->platformWindow->mapToGlobal(QHighDpi::toNativeLocalPosition(pos, this)), this);
|
||||||
}
|
}
|
||||||
return pos + d->globalPosition();
|
return pos + d->globalPosition();
|
||||||
}
|
}
|
||||||
@ -2318,7 +2318,7 @@ QPoint QWindow::mapFromGlobal(const QPoint &pos) const
|
|||||||
// QTBUG-43252, prefer platform implementation for foreign windows.
|
// QTBUG-43252, prefer platform implementation for foreign windows.
|
||||||
if (d->platformWindow
|
if (d->platformWindow
|
||||||
&& (type() == Qt::ForeignWindow || d->platformWindow->isEmbedded())) {
|
&& (type() == Qt::ForeignWindow || d->platformWindow->isEmbedded())) {
|
||||||
return d->platformWindow->mapFromGlobal(pos);
|
return QHighDpi::fromNativeLocalPosition(d->platformWindow->mapFromGlobal(QHighDpi::toNativeLocalPosition(pos, this)), this);
|
||||||
}
|
}
|
||||||
return pos - d->globalPosition();
|
return pos - d->globalPosition();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user