cleanup tabs

This commit is contained in:
Andrey Sidorov 2014-03-25 21:31:16 +11:00
parent 66e94be8de
commit 942f48a5e9

View file

@ -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);
}); });
}); });
} }