mirror of
https://github.com/danbulant/node-x11
synced 2026-05-24 12:35:39 +00:00
commit
18cbbdf6ee
2 changed files with 57 additions and 7 deletions
|
|
@ -765,13 +765,9 @@ var templates = {
|
||||||
var vals = packValueMask('CreateGC', values);
|
var vals = packValueMask('CreateGC', values);
|
||||||
var packetLength = 3 + (values ? vals[2].length : 0);
|
var packetLength = 3 + (values ? vals[2].length : 0);
|
||||||
var args = [56, packetLength, cid];
|
var args = [56, packetLength, cid];
|
||||||
args.push(vals[0]); // values bitmask
|
format += vals[0]
|
||||||
var valArr = vals[1];
|
args.push(vals[1]); // values bitmask
|
||||||
for (var v in valArr)
|
args = args.concat(vals[2])
|
||||||
{
|
|
||||||
format += 'L'; // TODO: we know format string length in advance and += inefficient for string
|
|
||||||
args.push(valArr[v]);
|
|
||||||
}
|
|
||||||
return [format, args];
|
return [format, args];
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
|
||||||
54
test/changeGC.js
Normal file
54
test/changeGC.js
Normal file
|
|
@ -0,0 +1,54 @@
|
||||||
|
var x11 = require('../lib');
|
||||||
|
var should = require('should');
|
||||||
|
|
||||||
|
describe('CreateGC', function() {
|
||||||
|
before(function(done) {
|
||||||
|
var self = this;
|
||||||
|
this.client = x11.createClient(function(err, dpy) {
|
||||||
|
should.not.exist(err);
|
||||||
|
self.X = dpy.client;
|
||||||
|
self.root = dpy.screen[0].root;
|
||||||
|
self.white = dpy.screen[0].white_pixel;
|
||||||
|
self.black = dpy.screen[0].black_pixel;
|
||||||
|
self.wid = self.X.AllocID();
|
||||||
|
self.X.CreateWindow(self.wid, self.root, 0, 0, 1, 1); // 1x1 pixel window
|
||||||
|
self.X.MapWindow(self.wid);
|
||||||
|
self.X.QueryTree(self.root, function(err, list) {
|
||||||
|
should.not.exist(err);
|
||||||
|
list.children.indexOf(self.wid).should.not.equal(-1);
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should create a Graphic Context correctly', function() {
|
||||||
|
var self = this;
|
||||||
|
this.client.on('error', function(err) {
|
||||||
|
should.not.exist(err);
|
||||||
|
});
|
||||||
|
|
||||||
|
this.gc = this.X.AllocID();
|
||||||
|
this.X.CreateGC(this.gc,
|
||||||
|
this.wid,
|
||||||
|
{
|
||||||
|
foreground: this.black,
|
||||||
|
background: this.white,
|
||||||
|
lineStyle : 0
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
this.X.ChangeGC(this.gc,
|
||||||
|
{
|
||||||
|
foreground: 0xffff00,
|
||||||
|
background: 0x0000ff,
|
||||||
|
lineStyle : 2
|
||||||
|
}
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
after(function(done) {
|
||||||
|
this.X.DestroyWindow(this.wid);
|
||||||
|
this.X.on('end', done);
|
||||||
|
this.X.terminate();
|
||||||
|
});
|
||||||
|
});
|
||||||
Loading…
Reference in a new issue