mirror of
https://github.com/danbulant/node-x11
synced 2026-06-22 08:12:10 +00:00
cleanup tabs
This commit is contained in:
parent
66e94be8de
commit
942f48a5e9
1 changed files with 27 additions and 29 deletions
|
|
@ -6,7 +6,7 @@ var x11 = require('..');
|
||||||
// http://cgit.freedesktop.org/xcb/proto/tree/src/render.xml?id=HEAD
|
// http://cgit.freedesktop.org/xcb/proto/tree/src/render.xml?id=HEAD
|
||||||
// and http://www.x.org/releases/X11R7.6/doc/renderproto/renderproto.txt
|
// and http://www.x.org/releases/X11R7.6/doc/renderproto/renderproto.txt
|
||||||
// TODO: move to templates
|
// TODO: move to templates
|
||||||
exports.requireExt = function(display, callback)
|
exports.requireExt = function(display, callback)
|
||||||
{
|
{
|
||||||
|
|
||||||
function captureStack()
|
function captureStack()
|
||||||
|
|
@ -18,13 +18,13 @@ exports.requireExt = function(display, callback)
|
||||||
}
|
}
|
||||||
|
|
||||||
var X = display.client;
|
var X = display.client;
|
||||||
X.QueryExtension('RENDER', function(err, ext) {
|
X.QueryExtension('RENDER', function(err, ext) {
|
||||||
|
|
||||||
if (!ext.present)
|
if (!ext.present)
|
||||||
{
|
{
|
||||||
return callback(new Error('extension not available'));
|
return callback(new Error('extension not available'));
|
||||||
}
|
}
|
||||||
|
|
||||||
ext.QueryVersion = function(clientMaj, clientMin, callback)
|
ext.QueryVersion = function(clientMaj, clientMin, callback)
|
||||||
{
|
{
|
||||||
X.seq_num++;
|
X.seq_num++;
|
||||||
|
|
@ -32,7 +32,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
|
||||||
|
|
@ -56,11 +56,11 @@ exports.requireExt = function(display, callback)
|
||||||
var num_subpixel = res1[4];
|
var num_subpixel = res1[4];
|
||||||
// formats list:
|
// formats list:
|
||||||
var offset = 24;
|
var offset = 24;
|
||||||
res.formats = [];
|
res.formats = [];
|
||||||
for (var i=0; i < num_formats; ++i)
|
for (var i=0; i < num_formats; ++i)
|
||||||
{
|
{
|
||||||
var format = {};
|
var format = {};
|
||||||
var f = buf.unpack('LCCxxSSSSSSSSL', offset);
|
var f = buf.unpack('LCCxxSSSSSSSSL', offset);
|
||||||
res.formats.push(f);
|
res.formats.push(f);
|
||||||
offset += 28;
|
offset += 28;
|
||||||
}
|
}
|
||||||
|
|
@ -70,7 +70,7 @@ exports.requireExt = function(display, callback)
|
||||||
];
|
];
|
||||||
X.pack_stream.flush();
|
X.pack_stream.flush();
|
||||||
}
|
}
|
||||||
|
|
||||||
ext.QueryFilters = function(callback)
|
ext.QueryFilters = function(callback)
|
||||||
{
|
{
|
||||||
X.seq_num++;
|
X.seq_num++;
|
||||||
|
|
@ -78,7 +78,7 @@ exports.requireExt = function(display, callback)
|
||||||
X.pack_stream.pack('CCSL', [ext.majorOpcode, 29, 2, display.screen[0].root]);
|
X.pack_stream.pack('CCSL', [ext.majorOpcode, 29, 2, display.screen[0].root]);
|
||||||
X.replies[X.seq_num] = [
|
X.replies[X.seq_num] = [
|
||||||
function(buf, opt) {
|
function(buf, opt) {
|
||||||
var h = buf.unpack('LL');
|
var h = buf.unpack('LL');
|
||||||
var num_aliases = h[0];
|
var num_aliases = h[0];
|
||||||
var num_filters = h[1];
|
var num_filters = h[1];
|
||||||
var aliases = [];
|
var aliases = [];
|
||||||
|
|
@ -103,8 +103,8 @@ exports.requireExt = function(display, callback)
|
||||||
];
|
];
|
||||||
X.pack_stream.flush();
|
X.pack_stream.flush();
|
||||||
}
|
}
|
||||||
|
|
||||||
var valueList = [
|
var valueList = [
|
||||||
['repeat', 'Cxxx'],
|
['repeat', 'Cxxx'],
|
||||||
['alphaMap', 'L'],
|
['alphaMap', 'L'],
|
||||||
['alphaXOrigin', 'sxx'],
|
['alphaXOrigin', 'sxx'],
|
||||||
|
|
@ -133,7 +133,7 @@ exports.requireExt = function(display, callback)
|
||||||
console.log([pid, drawable, pictformat, values]);
|
console.log([pid, drawable, pictformat, values]);
|
||||||
X.seq_num++;
|
X.seq_num++;
|
||||||
captureStack();
|
captureStack();
|
||||||
var mask = 0;
|
var mask = 0;
|
||||||
var reqLen = 5; // + (values + pad)/4
|
var reqLen = 5; // + (values + pad)/4
|
||||||
var format = 'CCSLLLL';
|
var format = 'CCSLLLL';
|
||||||
var params = [ext.majorOpcode, 4, reqLen, pid, drawable, pictformat, mask];
|
var params = [ext.majorOpcode, 4, reqLen, pid, drawable, pictformat, mask];
|
||||||
|
|
@ -194,7 +194,7 @@ exports.requireExt = function(display, callback)
|
||||||
params[2] = reqLen;
|
params[2] = reqLen;
|
||||||
//console.log([format, params]);
|
//console.log([format, params]);
|
||||||
X.pack_stream.pack(format, params);
|
X.pack_stream.pack(format, params);
|
||||||
X.pack_stream.flush();
|
X.pack_stream.flush();
|
||||||
}
|
}
|
||||||
|
|
||||||
ext.RadialGradient = function(pid, p1, p2, r1, r2, stops)
|
ext.RadialGradient = function(pid, p1, p2, r1, r2, stops)
|
||||||
|
|
@ -218,7 +218,7 @@ exports.requireExt = function(display, callback)
|
||||||
for (var i=0; i < stops.length; ++i)
|
for (var i=0; i < stops.length; ++i)
|
||||||
{
|
{
|
||||||
format += 'L';
|
format += 'L';
|
||||||
// TODO: we know total params length in advance. ? params[index] =
|
// TODO: we know total params length in advance. ? params[index] =
|
||||||
params.push(floatToFix(stops[i][0]))
|
params.push(floatToFix(stops[i][0]))
|
||||||
}
|
}
|
||||||
// colors
|
// colors
|
||||||
|
|
@ -230,7 +230,7 @@ exports.requireExt = function(display, callback)
|
||||||
}
|
}
|
||||||
//console.log([format, params]);
|
//console.log([format, params]);
|
||||||
X.pack_stream.pack(format, params);
|
X.pack_stream.pack(format, params);
|
||||||
X.pack_stream.flush();
|
X.pack_stream.flush();
|
||||||
}
|
}
|
||||||
|
|
||||||
ext.LinearGradient = function(pid, p1, p2, stops)
|
ext.LinearGradient = function(pid, p1, p2, stops)
|
||||||
|
|
@ -252,7 +252,7 @@ exports.requireExt = function(display, callback)
|
||||||
for (var i=0; i < stops.length; ++i)
|
for (var i=0; i < stops.length; ++i)
|
||||||
{
|
{
|
||||||
format += 'L';
|
format += 'L';
|
||||||
// TODO: we know total params length in advance. ? params[index] =
|
// TODO: we know total params length in advance. ? params[index] =
|
||||||
params.push(floatToFix(stops[i][0]))
|
params.push(floatToFix(stops[i][0]))
|
||||||
}
|
}
|
||||||
// colors
|
// colors
|
||||||
|
|
@ -264,7 +264,7 @@ exports.requireExt = function(display, callback)
|
||||||
}
|
}
|
||||||
//console.log([format, params]);
|
//console.log([format, params]);
|
||||||
X.pack_stream.pack(format, params);
|
X.pack_stream.pack(format, params);
|
||||||
X.pack_stream.flush();
|
X.pack_stream.flush();
|
||||||
}
|
}
|
||||||
|
|
||||||
ext.ConicalGradient = function(pid, center, angle, stops)
|
ext.ConicalGradient = function(pid, center, angle, stops)
|
||||||
|
|
@ -285,7 +285,7 @@ exports.requireExt = function(display, callback)
|
||||||
for (var i=0; i < stops.length; ++i)
|
for (var i=0; i < stops.length; ++i)
|
||||||
{
|
{
|
||||||
format += 'L';
|
format += 'L';
|
||||||
// TODO: we know total params length in advance. ? params[index] =
|
// TODO: we know total params length in advance. ? params[index] =
|
||||||
params.push(floatToFix(stops[i][0]))
|
params.push(floatToFix(stops[i][0]))
|
||||||
}
|
}
|
||||||
// colors
|
// colors
|
||||||
|
|
@ -295,16 +295,15 @@ exports.requireExt = function(display, callback)
|
||||||
for (var j=0; j < 4; ++j)
|
for (var j=0; j < 4; ++j)
|
||||||
params.push(stops[i][1][j]);
|
params.push(stops[i][1][j]);
|
||||||
}
|
}
|
||||||
//console.log([format, params]);
|
|
||||||
X.pack_stream.pack(format, params);
|
X.pack_stream.pack(format, params);
|
||||||
X.pack_stream.flush();
|
X.pack_stream.flush();
|
||||||
}
|
}
|
||||||
|
|
||||||
ext.FillRectangles = function(op, pid, color, rects)
|
ext.FillRectangles = function(op, pid, color, rects)
|
||||||
{
|
{
|
||||||
X.seq_num++;
|
X.seq_num++;
|
||||||
captureStack();
|
captureStack();
|
||||||
var reqLen = 5+rects.length/2;
|
var reqLen = 5+rects.length/2;
|
||||||
var format = 'CCSCxxxLSSSS';
|
var format = 'CCSCxxxLSSSS';
|
||||||
var params = [ext.majorOpcode, 26, reqLen, op, pid];
|
var params = [ext.majorOpcode, 26, reqLen, op, pid];
|
||||||
for (var j=0; j < 4; ++j)
|
for (var j=0; j < 4; ++j)
|
||||||
|
|
@ -318,7 +317,7 @@ exports.requireExt = function(display, callback)
|
||||||
params.push(rects[i*4 + 3]);
|
params.push(rects[i*4 + 3]);
|
||||||
}
|
}
|
||||||
X.pack_stream.pack(format, params);
|
X.pack_stream.pack(format, params);
|
||||||
X.pack_stream.flush();
|
X.pack_stream.flush();
|
||||||
}
|
}
|
||||||
|
|
||||||
ext.Composite = function(op, src, mask, dst, srcX, srcY, maskX, maskY, dstX, dstY, width, height)
|
ext.Composite = function(op, src, mask, dst, srcX, srcY, maskX, maskY, dstX, dstY, width, height)
|
||||||
|
|
@ -326,7 +325,7 @@ exports.requireExt = function(display, callback)
|
||||||
X.seq_num++;
|
X.seq_num++;
|
||||||
captureStack();
|
captureStack();
|
||||||
X.pack_stream.pack(
|
X.pack_stream.pack(
|
||||||
'CCSCxxxLLLssssssSS',
|
'CCSCxxxLLLssssssSS',
|
||||||
[ext.majorOpcode, 8, 9, op, src, mask, dst, srcX, srcY, maskX, maskY, dstX, dstY, width, height]
|
[ext.majorOpcode, 8, 9, op, src, mask, dst, srcX, srcY, maskX, maskY, dstX, dstY, width, height]
|
||||||
)
|
)
|
||||||
.flush();
|
.flush();
|
||||||
|
|
@ -338,24 +337,23 @@ exports.requireExt = function(display, callback)
|
||||||
captureStack();
|
captureStack();
|
||||||
var format = 'CCSCxxxLLLss';
|
var format = 'CCSCxxxLLLss';
|
||||||
var params = [ext.majorOpcode, 10, 6+trapz.length, op, src, dst, maskFormat, srcX, srcY];
|
var params = [ext.majorOpcode, 10, 6+trapz.length, op, src, dst, maskFormat, srcX, srcY];
|
||||||
for (var i=0; i < trapz.length; i+=10)
|
for (var i=0; i < trapz.length; i+=10)
|
||||||
{
|
{
|
||||||
format += 'llllllllll';
|
format += 'llllllllll';
|
||||||
for (var j=0; j < 10; ++j)
|
for (var j=0; j < 10; ++j)
|
||||||
params.push(floatToFix(trapz[i*10 + j]));
|
params.push(floatToFix(trapz[i*10 + j]));
|
||||||
}
|
}
|
||||||
//console.log([format, params]);
|
|
||||||
X.pack_stream.pack(format, params);
|
X.pack_stream.pack(format, params);
|
||||||
X.pack_stream.flush();
|
X.pack_stream.flush();
|
||||||
}
|
}
|
||||||
|
|
||||||
ext.Triangles = function(op, src, srcX, srcY, dst, maskFormat, tris)
|
ext.Triangles = function(op, src, srcX, srcY, dst, maskFormat, tris)
|
||||||
{
|
{
|
||||||
X.seq_num++;
|
X.seq_num++;
|
||||||
captureStack();
|
captureStack();
|
||||||
var format = 'CCSCxxxLLLss';
|
var format = 'CCSCxxxLLLss';
|
||||||
var params = [ext.majorOpcode, 11, 6+tris.length, op, src, dst, maskFormat, srcX, srcY];
|
var params = [ext.majorOpcode, 11, 6+tris.length, op, src, dst, maskFormat, srcX, srcY];
|
||||||
for (var i=0; i < tris.length; i+=6)
|
for (var i=0; i < tris.length; i+=6)
|
||||||
{
|
{
|
||||||
format += 'llllll';
|
format += 'llllll';
|
||||||
//TODO: Array.copy
|
//TODO: Array.copy
|
||||||
|
|
@ -367,7 +365,7 @@ exports.requireExt = function(display, callback)
|
||||||
params.push(floatToFix(tris[i*6 + 5])); // y3
|
params.push(floatToFix(tris[i*6 + 5])); // y3
|
||||||
}
|
}
|
||||||
X.pack_stream.pack(format, params);
|
X.pack_stream.pack(format, params);
|
||||||
X.pack_stream.flush();
|
X.pack_stream.flush();
|
||||||
}
|
}
|
||||||
|
|
||||||
ext.QueryPictFormat(function(err, formats) {
|
ext.QueryPictFormat(function(err, formats) {
|
||||||
|
|
@ -384,5 +382,5 @@ exports.requireExt = function(display, callback)
|
||||||
}
|
}
|
||||||
callback(ext);
|
callback(ext);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue