mirror of
https://github.com/MeexReay/poshlostios.git
synced 2025-06-24 10:32:59 +03:00
mxwm zcom implementation
This commit is contained in:
parent
6c6cc99013
commit
1479a4dfbb
8
app/mxwm/package.json
Normal file
8
app/mxwm/package.json
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"name": "mxwm",
|
||||||
|
"version": "0.1.0",
|
||||||
|
"description": "Mega eXtreme Window Manager",
|
||||||
|
"author": "MeexReay",
|
||||||
|
"apps": [ "zcom.js", "startz.js" ],
|
||||||
|
"configs": []
|
||||||
|
}
|
20
app/mxwm/startz.js
Normal file
20
app/mxwm/startz.js
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
eval(readFile("/app/zcom.js"))
|
||||||
|
|
||||||
|
async function main(args) {
|
||||||
|
enableGraphics()
|
||||||
|
|
||||||
|
window.mxwm_windows = []
|
||||||
|
|
||||||
|
let ctx = getGraphics()
|
||||||
|
|
||||||
|
while (true) {
|
||||||
|
ctx.fillStyle = "black"
|
||||||
|
ctx.fillRect(0, 0, ctx.canvas.width, ctx.canvas.height)
|
||||||
|
|
||||||
|
for (const win of window.mxwm_windows) {
|
||||||
|
ctx.drawImage(win.canvas, win.x, win.y);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
disableGraphics()
|
||||||
|
}
|
88
app/mxwm/zcom.js
Normal file
88
app/mxwm/zcom.js
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
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
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user