simple pngs are displayed now

This commit is contained in:
Andrey Sidorov 2011-12-16 09:37:15 +11:00
parent 50a46f10a6
commit ac65378885

View file

@ -1,4 +1,5 @@
var logo = require('./node-png').readPng('./node-logo.png'); //var logo = require('./node-png').readPng('./node-logo.png');
var logo = require('./node-png').readPng(process.argv[2]);
var x11 = require('../../lib/x11'); var x11 = require('../../lib/x11');
var Exposure = x11.eventMask.Exposure; var Exposure = x11.eventMask.Exposure;
@ -6,6 +7,7 @@ var KeyPress = x11.eventMask.KeyPress;
var KeyRelease = x11.eventMask.KeyRelease; var KeyRelease = x11.eventMask.KeyRelease;
var ButtonPress = x11.eventMask.ButtonPress; var ButtonPress = x11.eventMask.ButtonPress;
var ButtonRelease = x11.eventMask.ButtonRelease; var ButtonRelease = x11.eventMask.ButtonRelease;
var PointerMotion = x11.eventMask.PointerMotion;
x11.createClient(function(display) x11.createClient(function(display)
{ {
@ -27,7 +29,7 @@ x11.createClient(function(display)
0, 0, logo.width, logo.height, 0, 0, logo.width, logo.height,
1, 1, 0, 1, 1, 0,
{ {
backgroundPixel: white, eventMask: Exposure|KeyPress|ButtonPress backgroundPixel: white, eventMask: Exposure|KeyPress|ButtonPress|PointerMotion
} }
); );
X.MapWindow(win); X.MapWindow(win);
@ -37,19 +39,24 @@ x11.createClient(function(display)
var pixmaplogo = X.AllocID(); var pixmaplogo = X.AllocID();
X.CreatePixmap(pixmaplogo, win, 24, logo.width, logo.height); X.CreatePixmap(pixmaplogo, win, 24, logo.width, logo.height);
var piclogo = X.AllocID(); X.PolyFillRectangle(pixmaplogo, gc, [0, 0, 1000, 1000]);
X.PutImage(2, pixmaplogo, gc, logo.width, logo.height, 0, 0, 0, 24, logo.data); X.PutImage(2, pixmaplogo, gc, logo.width, logo.height, 0, 0, 0, 24, logo.data);
var piclogo = X.AllocID();
Render.CreatePicture(piclogo, pixmaplogo, Render.rgb24); Render.CreatePicture(piclogo, pixmaplogo, Render.rgb24);
var picWin = X.AllocID();
Render.CreatePicture(picWin, win, Render.rgb24);
X.on('event', function(ev) { X.on('event', function(ev) {
if (ev.type == 12) // expose if (ev.type == 12) // expose
{ {
Render.Composite(3, piclogo, 0, win, 0, 0, 0, 0, 0, 0, logo.width, logo.height); Render.Composite(3, piclogo, 0, picWin, 0, 0, 0, 0, 0, 0, logo.width, logo.height);
} }
}); });
X.on('error', function(err) { X.on('error', function(err) {
console.log(err.stack); console.log(err);
}); });
}); });