event mask symbolic names; PolyFillRectangle request

This commit is contained in:
sidorares 2011-07-18 17:16:54 +10:00
parent fa75b91599
commit ebb8dfaabf
7 changed files with 42 additions and 14 deletions

View file

@ -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];
}
]
}

View file

@ -1,4 +1,4 @@
module.exports.eventMask {
module.exports.eventMask = {
KeyPress: 0x00000001,
KeyRelease: 0x00000002,
ButtonPress: 0x00000004,

View file

@ -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;

View file

@ -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;
}

View file

@ -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);
});

View file

@ -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);
});

View file

@ -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) {