From 54bd06c136ba65373dfbbd9ce47b85d8441d6da4 Mon Sep 17 00:00:00 2001 From: Andrey Sidorov Date: Wed, 26 Mar 2014 11:20:34 +1100 Subject: [PATCH] fix: add length to AddGlyph --- lib/ext/render.js | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/lib/ext/render.js b/lib/ext/render.js index e5828c0..71bcfbf 100644 --- a/lib/ext/render.js +++ b/lib/ext/render.js @@ -1,4 +1,4 @@ -// this will be eventually moved to lib/node-x11/extensions + var x11 = require('..'); @@ -375,7 +375,8 @@ exports.requireExt = function(display, callback) var paddedLength = xutil.padded_length(imageBytes); var len = numGlyphs * 4 + paddedLength / 4 + 3; // TODO: check length, use bigReq - X.pack_stream.pack('CCSL', [ext.majorOpcode, 20, len, gsid]); + X.pack_stream.pack('CCSLL', [ext.majorOpcode, 20, len, gsid, glyps.length]); + for (i = 0; i < numGlyphs; i++) X.pack_stream.pack('L', glyph[i].id); for (i = 0; i < numGlyphs; i++) @@ -388,6 +389,18 @@ exports.requireExt = function(display, callback) } //AddGlyphsFromPicture, opcode=21 (not in spec) + // FreeGlyps - 22 + + ext.CompositeGlyphs8 = function(op, src, dst, pictformat, gsid, srcX, srcY, dstX, dstY, glyphs) + { + X.seq_num++; + X.pack_stream.pack( + 'CCSCxxxLLLssssssSS', + [ext.majorOpcode, 8, 9, op, src, mask, dst, srcX, srcY, maskX, maskY, dstX, dstY, width, height] + ) + .flush(); + } + // TODO: implement xutil-like code https://github.com/alexer/python-xlib-render/blob/master/xutil.py