mirror of
https://github.com/danbulant/node-x11
synced 2026-05-23 06:19:01 +00:00
capture stack trace for Render functions)
This commit is contained in:
parent
d24332c90f
commit
564f4f0126
1 changed files with 21 additions and 0 deletions
|
|
@ -8,6 +8,15 @@ var x11 = require('..');
|
|||
// TODO: move to templates
|
||||
exports.requireExt = function(display, callback)
|
||||
{
|
||||
|
||||
function captureStack()
|
||||
{
|
||||
var err = new Error;
|
||||
//err.name = reqName;
|
||||
Error.captureStackTrace(err, arguments.callee);
|
||||
display.client.seq2stack[display.client.seq_num] = err.stack;
|
||||
}
|
||||
|
||||
var X = display.client;
|
||||
X.QueryExtension('RENDER', function(ext) {
|
||||
|
||||
|
|
@ -19,6 +28,7 @@ exports.requireExt = function(display, callback)
|
|||
ext.QueryVersion = function(clientMaj, clientMin, callback)
|
||||
{
|
||||
X.seq_num++;
|
||||
captureStack();
|
||||
X.pack_stream.pack('CCSLL', [ext.majorOpcode, 0, 3, clientMaj, clientMin]);
|
||||
X.replies[X.seq_num] = [
|
||||
function(buf, opt) {
|
||||
|
|
@ -33,6 +43,7 @@ exports.requireExt = function(display, callback)
|
|||
ext.QueryPictFormat = function(callback)
|
||||
{
|
||||
X.seq_num++;
|
||||
captureStack();
|
||||
X.pack_stream.pack('CCS', [ext.majorOpcode, 1, 1]);
|
||||
X.replies[X.seq_num] = [
|
||||
function (buf, opt) {
|
||||
|
|
@ -63,6 +74,7 @@ exports.requireExt = function(display, callback)
|
|||
ext.QueryFilters = function(callback)
|
||||
{
|
||||
X.seq_num++;
|
||||
captureStack();
|
||||
X.pack_stream.pack('CCSL', [ext.majorOpcode, 29, 2, display.screen[0].root]);
|
||||
X.replies[X.seq_num] = [
|
||||
function(buf, opt) {
|
||||
|
|
@ -119,6 +131,7 @@ exports.requireExt = function(display, callback)
|
|||
ext.CreatePicture = function(pid, drawable, pictformat, values)
|
||||
{
|
||||
X.seq_num++;
|
||||
captureStack();
|
||||
var mask = 0;
|
||||
var reqLen = 5; // + (values + pad)/4
|
||||
var format = 'CCSLLLL';
|
||||
|
|
@ -160,6 +173,7 @@ exports.requireExt = function(display, callback)
|
|||
ext.SetPictureFilter = function(pid, name, filterParams)
|
||||
{
|
||||
X.seq_num++;
|
||||
captureStack();
|
||||
var reqLen = 2; //header + params + 1xStopfix+2xColors
|
||||
var format = 'CCSLa';
|
||||
var params = [ext.majorOpcode, 30, reqLen, pid];
|
||||
|
|
@ -183,6 +197,7 @@ exports.requireExt = function(display, callback)
|
|||
{
|
||||
// TODO: merge with linear gradient
|
||||
X.seq_num++;
|
||||
captureStack();
|
||||
var reqLen = 9+stops.length*3; //header + params + 1xStopfix+2xColors
|
||||
var format = 'CCSLLLLLLLL';
|
||||
var params = [ext.majorOpcode, 35, reqLen, pid];
|
||||
|
|
@ -217,6 +232,7 @@ exports.requireExt = function(display, callback)
|
|||
ext.LinearGradient = function(pid, p1, p2, stops)
|
||||
{
|
||||
X.seq_num++;
|
||||
captureStack();
|
||||
var reqLen = 7+stops.length*3; //header + params + 1xStopfix+2xColors
|
||||
var format = 'CCSLLLLLL';
|
||||
var params = [ext.majorOpcode, 34, reqLen, pid];
|
||||
|
|
@ -250,6 +266,7 @@ exports.requireExt = function(display, callback)
|
|||
ext.ConicalGradient = function(pid, center, angle, stops)
|
||||
{
|
||||
X.seq_num++;
|
||||
captureStack();
|
||||
var reqLen = 6+stops.length*3; //header + params + 1xStopfix+2xColors
|
||||
var format = 'CCSLLLLL';
|
||||
var params = [ext.majorOpcode, 36, reqLen, pid];
|
||||
|
|
@ -282,6 +299,7 @@ exports.requireExt = function(display, callback)
|
|||
ext.FillRectangles = function(op, pid, color, rects)
|
||||
{
|
||||
X.seq_num++;
|
||||
captureStack();
|
||||
var reqLen = 5+rects.length/2;
|
||||
var format = 'CCSCxxxLSSSS';
|
||||
var params = [ext.majorOpcode, 26, reqLen, op, pid];
|
||||
|
|
@ -302,6 +320,7 @@ exports.requireExt = function(display, callback)
|
|||
ext.Composite = function(op, src, mask, dst, srcX, srcY, maskX, maskY, dstX, dstY, width, height)
|
||||
{
|
||||
X.seq_num++;
|
||||
captureStack();
|
||||
X.pack_stream.pack(
|
||||
'CCSCxxxLLLssssssSS',
|
||||
[ext.majorOpcode, 8, 9, op, src, mask, dst, srcX, srcY, maskX, maskY, dstX, dstY, width, height]
|
||||
|
|
@ -312,6 +331,7 @@ exports.requireExt = function(display, callback)
|
|||
ext.Trapezoids = function(op, src, srcX, srcY, dst, maskFormat, trapz)
|
||||
{
|
||||
X.seq_num++;
|
||||
captureStack();
|
||||
var format = 'CCSCxxxLLLss';
|
||||
var params = [ext.majorOpcode, 10, 6+trapz.length, op, src, dst, maskFormat, srcX, srcY];
|
||||
for (var i=0; i < trapz.length; i+=10)
|
||||
|
|
@ -328,6 +348,7 @@ exports.requireExt = function(display, callback)
|
|||
ext.Triangles = function(op, src, srcX, srcY, dst, maskFormat, tris)
|
||||
{
|
||||
X.seq_num++;
|
||||
captureStack();
|
||||
var format = 'CCSCxxxLLLss';
|
||||
var params = [ext.majorOpcode, 11, 6+tris.length, op, src, dst, maskFormat, srcX, srcY];
|
||||
for (var i=0; i < tris.length; i+=6)
|
||||
|
|
|
|||
Loading…
Reference in a new issue