progs/xdemos: add z/Z keys for scaling the rendering
authorBrian Paul <brianp@vmware.com>
Thu, 21 Jan 2010 20:46:53 +0000 (13:46 -0700)
committerBrian Paul <brianp@vmware.com>
Fri, 22 Jan 2010 15:08:45 +0000 (08:08 -0700)
progs/xdemos/offset.c

index 314a4fcdd179d7cb6b113dac8ec94692ccbe1171..3858a5b8020e8fd93e0814c4dff166df17c72e63 100644 (file)
@@ -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: