mirror of
https://github.com/MeexReay/poshlostios.git
synced 2025-06-24 02:22:58 +03:00
88 lines
1.8 KiB
JavaScript
88 lines
1.8 KiB
JavaScript
function hasGraphicsImplementation() {
|
|
return true
|
|
}
|
|
|
|
/** returns wid and context */
|
|
function createWindow(options) {
|
|
let canvas = document.createElement("canvas")
|
|
|
|
let win = {
|
|
"title": options["title"],
|
|
"x": options["x"] || 0,
|
|
"y": options["y"] || 0,
|
|
"width": options["width"] || options["w"] || 200,
|
|
"height": options["height"] || options["h"] || 200,
|
|
"wid": Date.now().toString() + Math.round(Math.random() * 100).toString(),
|
|
"on_signal": options["on_signal"] || options["callback"] || (o => {})
|
|
}
|
|
|
|
canvas.width = win["width"].toString()
|
|
canvas.height = win["height"].toString()
|
|
|
|
let context = canvas.getContext("2d")
|
|
|
|
win["canvas"] = canvas
|
|
win["context"] = context
|
|
|
|
if ("mxwm_windows" in window) {
|
|
window.mxwm_windows.push(win)
|
|
} else {
|
|
window.mxwm_windows = [ win ]
|
|
}
|
|
}
|
|
|
|
function moveWindow(wid, x, y, w, h) {
|
|
if (!("mxwm_windows" in window)) {
|
|
window.mxwm_windows = [ ]
|
|
}
|
|
|
|
for (const win of window.mxwm_windows) {
|
|
if (win["wid"] == wid) {
|
|
win.x = x
|
|
win.y = y
|
|
win.width = w
|
|
win.height = h
|
|
}
|
|
}
|
|
}
|
|
|
|
function signalWindow(wid, signal) {
|
|
if (!("mxwm_windows" in window)) {
|
|
window.mxwm_windows = [ ]
|
|
}
|
|
|
|
for (const win of window.mxwm_windows) {
|
|
if (win["wid"] == wid) {
|
|
win.on_signal(signal)
|
|
}
|
|
}
|
|
}
|
|
|
|
function closeWindow(wid) {
|
|
if (!("mxwm_windows" in window)) {
|
|
window.mxwm_windows = [ ]
|
|
}
|
|
|
|
window.mxwm_windows = window.mxwm_windows.filter(o => o.wid != wid)
|
|
}
|
|
|
|
function getWindow(wid) {
|
|
if (!("mxwm_windows" in window)) {
|
|
window.mxwm_windows = [ ]
|
|
}
|
|
|
|
for (const win of window.mxwm_windows) {
|
|
if (win["wid"] == wid) {
|
|
return win
|
|
}
|
|
}
|
|
return null
|
|
}
|
|
|
|
function listWindows() {
|
|
if (!("mxwm_windows" in window)) {
|
|
window.mxwm_windows = [ ]
|
|
}
|
|
|
|
return window.mxwm_windows
|
|
} |