Skip to content

Commit c59caf8

Browse files
committed
Added setup of builtin display-server layer, with a message channel based on a virtual device in /dev
1 parent 4dcde4c commit c59caf8

File tree

7 files changed

+710
-0
lines changed

7 files changed

+710
-0
lines changed

sys/arch/wasm/bindings/bootstrap.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -820,6 +820,12 @@ function setupDisplayServer() {
820820
return false;
821821
});
822822

823+
// disable context menu for canvas..
824+
canvas.addEventListener("contextmenu", function(evt) {
825+
evt.preventDefault();
826+
return false;
827+
});
828+
823829
// Drag and Drop
824830

825831
canvas.addEventListener("drag", function(evt) {

sys/arch/wasm/bindings/lwp0.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -844,6 +844,19 @@ function kexec_ioctl(cmd, argp) {
844844

845845
kmem.setBigInt64(argp, BigInt((__mclk_uptime / 1000) | 0), true); // seconds
846846
kmem.setInt32(argp + 8, ((__mclk_uptime % 1000) * 1000 * 1000) | 0, true); // nanoseconds
847+
return 0;
848+
}
849+
case 754: { // WASM_HYPER_DISP_PORT_INIT
850+
if (argp == 0)
851+
return EINVAL;
852+
853+
self.postMessage({
854+
cmd: "__dsrpc_server_head",
855+
ptr: argp,
856+
mem: kmemory
857+
});
858+
859+
return 0;
847860
}
848861
}
849862

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
2+
3+
/**
4+
*
5+
* @param {Uint8Array} src
6+
* @param {number} sidx
7+
* @param {number} slen
8+
* @param {Uint8Array} dst
9+
* @param {number} didx
10+
*/
11+
export function u8_memcpy(src, sidx, slen, dst, didx) {
12+
// TODO: remove this assert at later time. (should be a debug)
13+
if (!(src instanceof Uint8Array) && (dst instanceof Uint8Array)) {
14+
throw TypeError("src and dst Must be Uint8Array");
15+
}
16+
//console.log(src, dst);
17+
let idx = sidx;
18+
let end = idx + slen;
19+
/*if (slen > 512) {
20+
let subarr = src.subarray(idx, end);
21+
dst.set(subarr, didx);
22+
return;
23+
}*/
24+
25+
while(idx < end) {
26+
dst[didx++] = src[idx++];
27+
}
28+
}

0 commit comments

Comments
 (0)