mirror of
https://github.com/danbulant/node-x11
synced 2026-06-24 17:21:47 +00:00
use new createClient signature
This commit is contained in:
parent
bc84ca9c59
commit
d13d083b89
1 changed files with 37 additions and 8 deletions
|
|
@ -182,7 +182,6 @@ function gear(gl, inner_radius, outer_radius, width, teeth, tooth_depth)
|
||||||
gl.Vertex3f(r0 * cos(angle), r0 * sin(angle), width * 0.5);
|
gl.Vertex3f(r0 * cos(angle), r0 * sin(angle), width * 0.5);
|
||||||
}
|
}
|
||||||
gl.End();
|
gl.End();
|
||||||
gl.render();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -228,7 +227,6 @@ function reshape(gl, width, height)
|
||||||
gl.LoadIdentity();
|
gl.LoadIdentity();
|
||||||
gl.Translatef(0.0, 0.0, -40.0);
|
gl.Translatef(0.0, 0.0, -40.0);
|
||||||
gl.Scalef(0.1, 0.1, 0.1);
|
gl.Scalef(0.1, 0.1, 0.1);
|
||||||
gl.render();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -275,15 +273,32 @@ function init(gl, done)
|
||||||
}
|
}
|
||||||
|
|
||||||
var x11 = require('../../lib/x11');
|
var x11 = require('../../lib/x11');
|
||||||
var eventmask = x11.eventMask.PointerMotion|x11.eventMask.ButtonPress|x11.eventMask.ButtonRelease|x11.eventMask.StructureNotify|x11.eventMask.Exposure;
|
//var eventmask = x11.eventMask.PointerMotion|x11.eventMask.PointerMotionHint|x11.eventMask.ButtonPress|x11.eventMask.ButtonRelease|x11.eventMask.StructureNotify|x11.eventMask.Exposure;
|
||||||
|
var eventmask = x11.eventMask.PointerMotion;
|
||||||
|
//var eventmask = x11.eventMask.PointerMotion|x11.eventMask.ButtonPress|x11.eventMask.ButtonRelease|x11.eventMask.StructureNotify|x11.eventMask.Exposure;
|
||||||
|
var exec = require('child_process').exec;
|
||||||
|
|
||||||
x11.createClient(function(display) {
|
function findBestVisual(display, done) {
|
||||||
|
exec('glxinfo -i -b', function(error, stdout, stderr) {
|
||||||
|
console.log(stdout);
|
||||||
|
if (error)
|
||||||
|
return done(error);
|
||||||
|
done(null, parseInt(stdout)+1);
|
||||||
|
//done(null, 0xb1);
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
x11.createClient(function(error, display) {
|
||||||
var X = display.client;
|
var X = display.client;
|
||||||
var root = display.screen[0].root;
|
var root = display.screen[0].root;
|
||||||
var width = 300;
|
var width = 500;
|
||||||
var height = 300;
|
var height = 500;
|
||||||
X.require('glx', function(GLX) {
|
X.require('glx', function(GLX) {
|
||||||
var depth = 24;
|
var depth = 24;
|
||||||
|
findBestVisual(display, function(err, visual) {
|
||||||
|
|
||||||
|
/*
|
||||||
var visual = 147;
|
var visual = 147;
|
||||||
var rgbaVisuals = Object.keys(display.screen[0].depths[depth]);
|
var rgbaVisuals = Object.keys(display.screen[0].depths[depth]);
|
||||||
for (v in rgbaVisuals)
|
for (v in rgbaVisuals)
|
||||||
|
|
@ -296,10 +311,12 @@ x11.createClient(function(display) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
var cmid = X.AllocID();
|
var cmid = X.AllocID();
|
||||||
X.CreateColormap(cmid, root, visual, 0);
|
X.CreateColormap(cmid, root, visual, 0);
|
||||||
var win = X.AllocID();
|
var win = X.AllocID();
|
||||||
|
console.log(eventmask);
|
||||||
X.CreateWindow(win, root, 0, 0, width, height, 0, depth, 0, visual, { eventMask: eventmask, colormap: cmid, backgroundPixel: 0, borderPixel: 0 });
|
X.CreateWindow(win, root, 0, 0, width, height, 0, depth, 0, visual, { eventMask: eventmask, colormap: cmid, backgroundPixel: 0, borderPixel: 0 });
|
||||||
X.MapWindow(win);
|
X.MapWindow(win);
|
||||||
|
|
||||||
|
|
@ -310,23 +327,33 @@ x11.createClient(function(display) {
|
||||||
|
|
||||||
var initialized = false;
|
var initialized = false;
|
||||||
init(gl, function() {
|
init(gl, function() {
|
||||||
gl.render();
|
|
||||||
initialized = true;
|
initialized = true;
|
||||||
setInterval(function() {
|
setInterval(function() {
|
||||||
angle += 2;
|
angle += 2;
|
||||||
reshape(gl, width, height);
|
reshape(gl, width, height);
|
||||||
draw(gl);
|
draw(gl);
|
||||||
gl.SwapBuffers(win);
|
gl.SwapBuffers(win);
|
||||||
}, 20);
|
}, 50);
|
||||||
});
|
});
|
||||||
|
|
||||||
X.on('event', function(ev) {
|
X.on('event', function(ev) {
|
||||||
|
console.log(ev);
|
||||||
switch(ev.type) {
|
switch(ev.type) {
|
||||||
case 22:
|
case 22:
|
||||||
reshape(gl, ev.width, ev.height);
|
reshape(gl, ev.width, ev.height);
|
||||||
width = ev.width;
|
width = ev.width;
|
||||||
height = ev.height;
|
height = ev.height;
|
||||||
break;
|
break;
|
||||||
|
case 6:
|
||||||
|
X.QueryPointer(win, function(err, pointer) {
|
||||||
|
view_rotx = pointer.childX;
|
||||||
|
view_roty = pointer.childY;
|
||||||
|
reshape(gl, width, height);
|
||||||
|
if (initialized)
|
||||||
|
draw(gl);
|
||||||
|
gl.SwapBuffers(win);
|
||||||
|
});
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
reshape(gl, width, height);
|
reshape(gl, width, height);
|
||||||
if (initialized)
|
if (initialized)
|
||||||
|
|
@ -334,6 +361,8 @@ x11.createClient(function(display) {
|
||||||
gl.SwapBuffers(win);
|
gl.SwapBuffers(win);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
}); // findBestVisual
|
||||||
|
|
||||||
});
|
});
|
||||||
X.on('error', function(err) { console.log(err); });
|
X.on('error', function(err) { console.log(err); });
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue