progs/xdemos: add z/Z keys for scaling the rendering
This commit is contained in:
@@ -94,6 +94,9 @@ static int attributeList[] = { GLX_RGBA, GLX_RED_SIZE, 1, GLX_GREEN_SIZE, 1,
|
||||
|
||||
static int dimension = 3;
|
||||
|
||||
static float Scale = 1.0;
|
||||
|
||||
|
||||
int main(int argc, char** argv) {
|
||||
Display *dpy;
|
||||
XVisualInfo *vi;
|
||||
@@ -182,6 +185,7 @@ draw_scene(int mx, int my) {
|
||||
#else
|
||||
glEnable(GL_POLYGON_OFFSET_FILL);
|
||||
#endif
|
||||
glScalef(Scale, Scale, Scale);
|
||||
cubes(mx, my, HIDDEN_LINE);
|
||||
#ifdef GL_EXT_polygon_offset
|
||||
glDisable(GL_POLYGON_OFFSET_EXT);
|
||||
@@ -289,6 +293,12 @@ process_input(Display *dpy, Window win) {
|
||||
case KeyPress:
|
||||
(void) XLookupString(&event.xkey, buf, sizeof(buf), &keysym, NULL);
|
||||
switch (keysym) {
|
||||
case 'Z':
|
||||
Scale *= 1.1;
|
||||
break;
|
||||
case 'z':
|
||||
Scale *= 0.9;
|
||||
break;
|
||||
case XK_Escape:
|
||||
exit(EXIT_SUCCESS);
|
||||
default:
|
||||
|
||||
Reference in New Issue
Block a user