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