Mon 21 Jul 22:43:21 CEST 2025
This commit is contained in:
parent
d52c2862d2
commit
f0a5323b7c
55
js/x11/examples/hello.js
Normal file
55
js/x11/examples/hello.js
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
var x11 = require('../core/x11');
|
||||||
|
|
||||||
|
var Exposure = x11.eventMask.Exposure;
|
||||||
|
var PointerMotion = x11.eventMask.PointerMotion;
|
||||||
|
var KeyPress = x11.eventMask.KeyPress;
|
||||||
|
var ButtonPress = x11.eventMask.ButtonPress;
|
||||||
|
var ButtonRelease= x11.eventMask.ButtonRelease;
|
||||||
|
|
||||||
|
x11.createClient(function(err, display) {
|
||||||
|
if (!err) {
|
||||||
|
var X = display.client;
|
||||||
|
var root = display.screen[0].root;
|
||||||
|
var wid = X.AllocID();
|
||||||
|
X.CreateWindow(
|
||||||
|
wid,
|
||||||
|
root, // new window id, parent
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
400,
|
||||||
|
500, // x, y, w, h
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0, // border, depth, class, visual
|
||||||
|
{ eventMask: Exposure | PointerMotion | KeyPress | ButtonPress | ButtonRelease} // other parameters
|
||||||
|
);
|
||||||
|
X.MapWindow(wid);
|
||||||
|
var gc = X.AllocID();
|
||||||
|
X.CreateGC(gc, wid);
|
||||||
|
var white = display.screen[0].white_pixel;
|
||||||
|
var black = display.screen[0].black_pixel;
|
||||||
|
cidBlack = X.AllocID();
|
||||||
|
cidWhite = X.AllocID();
|
||||||
|
X.CreateGC(cidBlack, wid, { foreground: black, background: white });
|
||||||
|
X.CreateGC(cidWhite, wid, { foreground: white, background: black });
|
||||||
|
X.on('event', function(ev) {
|
||||||
|
// print(ev)
|
||||||
|
switch (ev.type) {
|
||||||
|
case x11.eventType.Expose:
|
||||||
|
X.PolyFillRectangle(wid, cidWhite, [0, 0, 500, 500]);
|
||||||
|
X.PolyText8(wid, cidBlack, 50, 50, ['Hello World, Node.JS!']);
|
||||||
|
X.PolyText8(wid, cidBlack, 50, 70, ['New line']);
|
||||||
|
break;
|
||||||
|
case x11.eventType.KeyPress:
|
||||||
|
if (ev.keycode == 24 /*q*/) process.exit()
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
X.on('error', function(e) {
|
||||||
|
console.log(e);
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
console.log(err);
|
||||||
|
}
|
||||||
|
});
|
Loading…
Reference in New Issue
Block a user