added FreeCursor call

This commit is contained in:
champii 2014-09-08 16:16:21 +02:00
parent d46d43a22e
commit b69f67222b
2 changed files with 22 additions and 16 deletions

View file

@ -718,6 +718,12 @@ var templates = {
}
],
FreePixmap: [
function (pixmap) {
return [ 'CxSL', [54, 2, pixmap] ];
}
],
CreateCursor: [
function(cid, source, mask, foreRGB, backRGB, x, y) {
foreR = foreRGB.R

View file

@ -3,19 +3,19 @@
var x11 = require('..');
// TODO: move to templates
exports.requireExt = function(display, callback)
exports.requireExt = function(display, callback)
{
var X = display.client;
X.QueryExtension('DAMAGE', function(err, ext) {
X.QueryExtension('DAMAGE', function(err, ext) {
if (!ext.present)
return callback(new Error('extension not available'));
ext.ReportLevel = {
ext.ReportLevel = {
RawRectangles: 0,
DeltaRectangles: 1,
BoundingBox: 2,
NonEmpty: 3
NonEmpty: 3
};
ext.QueryVersion = function(clientMaj, clientMin, callback)
@ -24,7 +24,7 @@ exports.requireExt = function(display, callback)
X.pack_stream.pack('CCSLL', [ext.majorOpcode, 0, 3, clientMaj, clientMin]);
X.replies[X.seq_num] = [
function(buf, opt) {
var res = buf.unpack('LL');
var res = buf.unpack('LL');
return res;
},
callback
@ -59,18 +59,18 @@ exports.requireExt = function(display, callback)
X.pack_stream.pack('CCSLL', [ext.majorOpcode, 4, 3, damage, region]);
X.pack_stream.flush();
}
ext.QueryVersion(1, 1, function(err, vers) {
ext.major = vers[0];
ext.minor = vers[1];
callback(ext);
callback(null, ext);
});
ext.events = {
DamageNotify: 0
}
X.eventParsers[ext.firstEvent + ext.events.DamageNotify] = function(type, seq, extra, code, raw)
X.eventParsers[ext.firstEvent + ext.events.DamageNotify] = function(type, seq, extra, code, raw)
{
var event = {};
event.level = code;
@ -80,16 +80,16 @@ exports.requireExt = function(display, callback)
event.damage = values[0];
event.time = values[1];
event.area = {
x: values[2],
y: values[3],
w: values[4],
h: values[5]
x: values[2],
y: values[3],
w: values[4],
h: values[5]
};
event.geometry = {
x: values[6],
y: values[7],
w: values[8],
h: values[9]
x: values[6],
y: values[7],
w: values[8],
h: values[9]
};
event.name = 'DamageNotify';
return event;