IME: Fixup IME popup candidate windows position when scale is not 1.0 (#8117)

This commit is contained in:
fanlumaster(Fany Full) 2024-10-15 01:03:16 +08:00 committed by GitHub
parent f309681d4a
commit 22b1370ae5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -100,14 +100,14 @@ void CInputPopup::updateBox() {
cursorBoxParent = {0, 0, (int)parentBox.w, (int)parentBox.h};
}
Vector2D currentPopupSize = surface->getViewporterCorrectedSize();
Vector2D currentPopupSize = surface->getViewporterCorrectedSize() / surface->resource()->current.scale;
CMonitor* pMonitor = g_pCompositor->getMonitorFromVector(parentBox.middle());
Vector2D popupOffset(0, 0);
if (parentBox.y + cursorBoxParent.y + cursorBoxParent.height + currentPopupSize.y > pMonitor->vecPosition.y + pMonitor->vecSize.y)
popupOffset.y = -currentPopupSize.y;
popupOffset.y -= currentPopupSize.y;
else
popupOffset.y = cursorBoxParent.height;