diff --git a/js/x11/core/examples/smoketest/polyline.js b/js/x11/core/examples/smoketest/polyline.js new file mode 100644 index 0000000..4ba91ee --- /dev/null +++ b/js/x11/core/examples/smoketest/polyline.js @@ -0,0 +1,45 @@ +var x11 = require('../../lib'); + +var Exposure = x11.eventMask.Exposure; +var PointerMotion = x11.eventMask.PointerMotion; +var pts = []; + +var prevPoint; + +x11.createClient(function(err, display) { + var X = display.client; + var root = display.screen[0].root; + var white = display.screen[0].white_pixel; + var black = display.screen[0].black_pixel; + + var wid = X.AllocID(); + X.CreateWindow( + wid, root, + 0, 0, 400, 300, + 0, 0, 0, 0, + { + backgroundPixel: white, eventMask: Exposure|PointerMotion + } + ); + X.MapWindow(wid); + + var gc = X.AllocID(); + X.CreateGC(gc, wid, { foreground: black, background: white } ); + + X.on('event', function(ev) { + if (ev.type == 12) + { + if (pts.length > 4) + X.PolyLine(0, wid, gc, pts); + } else if (ev.type == 6) { + pts.push(ev.x); + pts.push(ev.y); + if (pts.length > 4) + X.PolyLine(0, wid, gc, pts.slice(-4)); + } + }); + + X.on('error', function(e) { + console.log(e); + }); +});