mirror of
https://github.com/danbulant/node-x11
synced 2026-05-20 21:09:10 +00:00
event mask symbolic names; PolyFillRectangle request
This commit is contained in:
parent
fa75b91599
commit
ebb8dfaabf
7 changed files with 42 additions and 14 deletions
|
|
@ -204,6 +204,17 @@ module.exports = {
|
|||
}
|
||||
],
|
||||
|
||||
//TODO: remove when finished
|
||||
DummyLast: []
|
||||
PolyFillRectangle: [
|
||||
function(drawable, gc, rects) { // x1, y1, w1, h1, x2, y2, w2, h2...
|
||||
var format = 'CxSL';
|
||||
var numrects4bytes = rects.len*2;
|
||||
var args = [60, 3+numrects4bytes, drawable, gc];
|
||||
for (var i=0; i < rects.length; ++i)
|
||||
{
|
||||
format += 'S';
|
||||
args.push(rects[i]);
|
||||
}
|
||||
return [format, args];
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
module.exports.eventMask {
|
||||
module.exports.eventMask = {
|
||||
KeyPress: 0x00000001,
|
||||
KeyRelease: 0x00000002,
|
||||
ButtonPress: 0x00000004,
|
||||
|
|
|
|||
|
|
@ -1,2 +1,4 @@
|
|||
var core = require('./xcore');
|
||||
module.exports.createClient = core.createClient;
|
||||
var em = require('./eventmask').eventMask;
|
||||
module.exports.createClient = core.createClient;
|
||||
module.exports.eventMask = em;
|
||||
|
|
@ -163,6 +163,14 @@ XClient.prototype.unpackEvent = function(type, seq, extra, raw)
|
|||
event.y = values[6];
|
||||
event.buttons = values[7];
|
||||
event.sameScreen = values[8];
|
||||
} else if (type == 12) { // Expose
|
||||
var values = raw.unpack('LSSSSS');
|
||||
event.wid = values[0];
|
||||
event.x = values[1];
|
||||
event.y = values[2];
|
||||
event.width = values[3];
|
||||
event.height = values[4];
|
||||
event.count = values[5]; // TODO: ???
|
||||
}
|
||||
return event;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,16 +1,17 @@
|
|||
var x11 = require('../lib/x11');
|
||||
|
||||
var xclient = x11.createClient();
|
||||
var PointerMotion = x11.eventMask.PointerMotion;
|
||||
var mapped = true;
|
||||
|
||||
xclient.on('connect', function(display) {
|
||||
var X = this;
|
||||
var root = display.screen[0].root;
|
||||
var wid = X.AllocID();
|
||||
var white = display.screen[0].white_pixel;
|
||||
var black = display.screen[0].black_pixel;
|
||||
|
||||
X.CreateWindow(wid, root, 10, 10, 400, 300, 1, 1, 0, { backgroundPixel: 0, eventMask: 0x00000040 });
|
||||
X.MapWindow(wid);
|
||||
|
||||
var wid = X.AllocID();
|
||||
X.CreateWindow(wid, root, 10, 10, 400, 300, 1, 1, 0, { backgroundPixel: white, eventMask: PointerMotion });
|
||||
var cid = X.AllocID();
|
||||
X.CreateGC(cid, wid);
|
||||
|
||||
X.CreateGC(cid, wid);
|
||||
});
|
||||
|
|
@ -1,17 +1,19 @@
|
|||
var x11 = require('../lib/x11');
|
||||
|
||||
var xclient = x11.createClient();
|
||||
var PointerMotion = x11.eventMask.PointerMotion;
|
||||
|
||||
xclient.on('connect', function(display) {
|
||||
var X = this;
|
||||
var root = display.screen[0].root;
|
||||
var wid = X.AllocID();
|
||||
var white = display.screen[0].white_pixel;
|
||||
var black = display.screen[0].black_pixel;
|
||||
|
||||
X.CreateWindow(wid, root, 10, 10, 400, 300, 1, 1, 0, { backgroundPixel: 0, eventMask: 0x00000040 });
|
||||
X.CreateWindow(wid, root, 10, 10, 400, 300, 1, 1, 0, { backgroundPixel: white, eventMask: PointerMotion });
|
||||
X.MapWindow(wid);
|
||||
|
||||
var wid1 = X.AllocID();
|
||||
X.CreateWindow(wid1, root, 10, 10, 40, 30, 1, 1, 0, { backgroundPixel: xclient.display.screen[0].white_pixel, eventMask: 0x00000040 });
|
||||
X.CreateWindow(wid1, root, 10, 10, 40, 30, 1, 1, 0, { backgroundPixel: black, eventMask: PointerMotion });
|
||||
X.MapWindow(wid1);
|
||||
|
||||
});
|
||||
|
|
@ -1,13 +1,17 @@
|
|||
var x11 = require('../lib/x11');
|
||||
|
||||
var xclient = x11.createClient();
|
||||
var PointerMotion = x11.eventMask.PointerMotion;
|
||||
var mapped = true;
|
||||
|
||||
xclient.on('connect', function(display) {
|
||||
var X = this;
|
||||
var root = display.screen[0].root;
|
||||
var wid = X.AllocID();
|
||||
var white = display.screen[0].white_pixel;
|
||||
var black = display.screen[0].black_pixel;
|
||||
|
||||
X.CreateWindow(wid, root, 10, 10, 400, 300, 1, 1, 0, { backgroundPixel: 0, eventMask: 0x00000040 });
|
||||
X.CreateWindow(wid, root, 10, 10, 400, 300, 1, 1, 0, { backgroundPixel: white, eventMask: PointerMotion });
|
||||
X.MapWindow(wid);
|
||||
setInterval(function() {
|
||||
if (!mapped) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue