mirror of
https://github.com/danbulant/node-x11
synced 2026-07-06 03:31:16 +00:00
added FreeCursor call
This commit is contained in:
parent
d46d43a22e
commit
b69f67222b
2 changed files with 22 additions and 16 deletions
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue