This commit is contained in:
MeexReay 2025-05-23 23:18:28 +03:00
parent a8843c453c
commit fbdab12d4d
3 changed files with 20 additions and 3 deletions

View File

@ -84,6 +84,7 @@ async function onMouseDown(ctx, button) {
if (isMouseOnHeader(window)) { if (isMouseOnHeader(window)) {
dragging_window = window["wid"] dragging_window = window["wid"]
selected_window = window["wid"] selected_window = window["wid"]
setGraphicsCursor("grabbing")
} }
if (isMouseInside(window)) { if (isMouseInside(window)) {
selected_window = window["wid"] selected_window = window["wid"]
@ -96,6 +97,7 @@ async function onMouseUp(ctx, button) {
for (let window of listWindows()) { for (let window of listWindows()) {
if (isMouseOnHeader(window)) { if (isMouseOnHeader(window)) {
dragging_window = null dragging_window = null
setGraphicsCursor("grab")
} }
if (isMouseInside(window)) { if (isMouseInside(window)) {
window.onmouseup(button) window.onmouseup(button)
@ -106,11 +108,14 @@ async function onMouseUp(ctx, button) {
let mouse_position = [0, 0] let mouse_position = [0, 0]
async function onMouseMove(ctx, x, y) { async function onMouseMove(ctx, x, y) {
let cursor = "default"
if (dragging_window != null) { if (dragging_window != null) {
let window = getWindow(dragging_window) let window = getWindow(dragging_window)
if (isMouseOnHeader(window)) { if (isMouseOnHeader(window)) {
window.x += x - mouse_position[0] window.x += x - mouse_position[0]
window.y += y - mouse_position[1] window.y += y - mouse_position[1]
cursor = "grabbing"
} }
} }
@ -120,9 +125,14 @@ async function onMouseMove(ctx, x, y) {
if (isMouseInside(window)) { if (isMouseInside(window)) {
window.onmousemove(mouse_position[0] - window.x, mouse_position[1] - window.y) window.onmousemove(mouse_position[0] - window.x, mouse_position[1] - window.y)
} }
if (dragging_window == null && isMouseOnHeader(window)) {
cursor = "grab"
} }
} }
setGraphicsCursor(cursor)
}
async function main(args) { async function main(args) {
let ctx = null let ctx = null

View File

@ -1,6 +1,11 @@
var graphics_canvas = null var graphics_canvas = null
var graphics_context = null var graphics_context = null
function setGraphicsCursor(name) {
if (graphics_canvas != null) {
graphics_canvas.style.cursor = name
}
}
function enableGraphics(options={}) { function enableGraphics(options={}) {
document.body.style.overflow = "hidden" document.body.style.overflow = "hidden"

View File

@ -177,9 +177,11 @@ document.onkeydown = (e) => {
} }
setInterval(() => { setInterval(() => {
try {
if (graphics_canvas == null) { if (graphics_canvas == null) {
clipboard_collect.focus() clipboard_collect.focus()
} }
} catch (e) {}
}); });
clipboard_collect.onpaste = (e) => { clipboard_collect.onpaste = (e) => {