window selection + event redirect

This commit is contained in:
MeexReay 2025-05-23 21:59:40 +03:00
parent 0dc50c06f4
commit 3a1b74a55c

View File

@ -50,9 +50,11 @@ async function onKeyDown(ctx, key) {
if (key == "Escape") { if (key == "Escape") {
disableGraphics() disableGraphics()
} }
getWindow(selected_window).onkeydown(key)
} }
async function onKeyUp(ctx, key) { async function onKeyUp(ctx, key) {
getWindow(selected_window).onkeyup(key)
} }
let dragging_window = null let dragging_window = null
@ -67,6 +69,13 @@ async function onMouseDown(ctx, button) {
if (isMouseOnHeader(window)) { if (isMouseOnHeader(window)) {
dragging_window = window["wid"] dragging_window = window["wid"]
} }
if (mouse_position[0] >= window.x &&
mouse_position[1] >= window.y &&
mouse_position[0] + window.width <= window.x &&
mouse_position[1] + window.height <= window.y) {
selected_window = window["wid"]
window.onmousedown(button)
}
} }
} }
@ -76,6 +85,13 @@ async function onMouseUp(ctx, button) {
if (isMouseOnHeader(window)) { if (isMouseOnHeader(window)) {
dragging_window = null dragging_window = null
} }
if (mouse_position[0] >= window.x &&
mouse_position[1] >= window.y &&
mouse_position[0] + window.width <= window.x &&
mouse_position[1] + window.height <= window.y) {
window.onmouseup(button)
}
} }
let mouse_position = [0, 0] let mouse_position = [0, 0]
@ -90,6 +106,13 @@ async function onMouseMove(ctx, x, y) {
} }
mouse_position = [x, y] mouse_position = [x, y]
if (mouse_position[0] >= window.x &&
mouse_position[1] >= window.y &&
mouse_position[0] + window.width <= window.x &&
mouse_position[1] + window.height <= window.y) {
window.onmousemove(mouse_position[0] - window.x, mouse_position[1] - window.y)
}
} }
async function main(args) { async function main(args) {