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: [ CreateCursor: [
function(cid, source, mask, foreRGB, backRGB, x, y) { function(cid, source, mask, foreRGB, backRGB, x, y) {
foreR = foreRGB.R foreR = foreRGB.R

View file

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