From 10b68eecad20d528b9a23071f48fff1931f32dda Mon Sep 17 00:00:00 2001 From: Andrey Sidorov Date: Thu, 6 Mar 2014 10:51:19 +1100 Subject: [PATCH] add VendorPrivate and CreatePixmap --- lib/ext/glx.js | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/lib/ext/glx.js b/lib/ext/glx.js index 57a4863..102f46d 100644 --- a/lib/ext/glx.js +++ b/lib/ext/glx.js @@ -49,6 +49,12 @@ exports.requireExt = function(display, callback) X.pack_stream.flush(); } + ext.CreatePixmap = function(screen, visual, pixmap, glxpixmap) { + X.seq_num++; + X.pack_stream.pack('CCSLLLL', [ext.majorOpcode, 22, 5, screen, pixmap, glxpixmap]); + X.pack_stream.flush(); + } + ext.QueryExtensionsString = function(screen, callback) { X.seq_num++; X.pack_stream.pack('CCSL', [ext.majorOpcode, 18, 2, screen]); @@ -231,13 +237,23 @@ exports.requireExt = function(display, callback) X.pack_stream.flush(); } + ext.VendorPrivate = function(ctx, code, data) { + X.seq_num++; + X.pack_stream.pack('CCSLL', [ext.majorOpcode, 16, 3+data.length, code, ctx]); + X.pack_stream.write_queue.push(data); + X.pack_stream.flush(); + } + + // VendorPrivateWithReply - opcode 17 + ext.RenderLarge = function(ctx, requestNum, requestTotal, data) { X.seq_num++; //var data = Buffer.concat(data); - var padLength = data.length % 4; + var padLength = 4 - data.length % 4; + if (padLength == 4) + padLength = 0; var length = 4 + (data.length+padLength) / 4; - X.pack_stream.pack('CCSLSSL', [ext.majorOpcode, 2, length, ctx, requestNum, requestTotal, data.length]); X.pack_stream.write_queue.push(data);