diff --git a/js/x11/examples/smoketest/transpwindow.js b/js/x11/examples/smoketest/transpwindow.js new file mode 100644 index 0000000..32da418 --- /dev/null +++ b/js/x11/examples/smoketest/transpwindow.js @@ -0,0 +1,77 @@ +var x11 = require('../../lib'); + +x11.createClient(function(err, display) { + var visual; + var rgbaVisuals = Object.keys(display.screen[0].depths[32]); + for (v in rgbaVisuals) + { + var vid = rgbaVisuals[v]; + if (display.screen[0].depths[32][vid].class === 4) + { + visual = vid; + break; + } + } + if (visual === undefined) + { + console.log('No RGBA visual found'); + return; + } + var X = display.client; + var root = display.screen[0].root; + var wid = X.AllocID(); + var white = display.screen[0].white_pixel; + var black = display.screen[0].black_pixel; + + var cmid = X.AllocID(); + var depth = 32; + X.CreateColormap(cmid, root, visual, 0); // 0=AllocNone, 1 AllocAll + + X.CreateWindow(wid, root, 10, 10, 168, 195, 1, depth, 1, visual, { eventMask: x11.eventMask.Exposure, colormap: cmid, backgroundPixel: 0, borderPixel: 0 }); + X.MapWindow(wid); + + var gc = X.AllocID(); + X.require('render', function(err, Render) { + + var pict = X.AllocID(); + Render.CreatePicture(pict, wid, Render.rgba32); + var gradients = []; + + function randomLinear() { + var stops = []; + for (var i=0; i<3; ++i) + stops.push(Math.random()); + stops.sort(); + var colors = []; + for (var i=0; i