wasm: take canvas offset into account
This fixes issue with dialogs when the canvas is not at 0,0 in the browser window Change-Id: I14f6754746e064921635d6b3af3353bf3620ac44 Fixes: QTBUG-79160 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
This commit is contained in:
parent
a62a6b9b17
commit
26f9cb7ce5
@ -186,8 +186,12 @@ void QWasmScreen::updateQScreenAndCanvasRenderSize()
|
||||
canvas.set("width", canvasSize.width());
|
||||
canvas.set("height", canvasSize.height());
|
||||
|
||||
QPoint offset;
|
||||
offset.setX(emscripten::val::global(canvasId.constData())["offsetTop"].as<int>());
|
||||
offset.setY(emscripten::val::global(canvasId.constData())["offsetLeft"].as<int>());
|
||||
|
||||
emscripten::val rect = canvas.call<emscripten::val>("getBoundingClientRect");
|
||||
QPoint position(rect["left"].as<int>(), rect["top"].as<int>());
|
||||
QPoint position(rect["left"].as<int>() - offset.x(), rect["top"].as<int>() - offset.y());
|
||||
|
||||
setGeometry(QRect(position, cssSize.toSize()));
|
||||
m_compositor->redrawWindowContent();
|
||||
|
Loading…
Reference in New Issue
Block a user