diff options
Diffstat (limited to 'progs/redbook/plane.c')
-rw-r--r-- | progs/redbook/plane.c | 38 |
1 files changed, 26 insertions, 12 deletions
diff --git a/progs/redbook/plane.c b/progs/redbook/plane.c index 2b0cca06faf..dc17f7b2386 100644 --- a/progs/redbook/plane.c +++ b/progs/redbook/plane.c @@ -3,14 +3,14 @@ /* * (c) Copyright 1993, Silicon Graphics, Inc. - * ALL RIGHTS RESERVED - * Permission to use, copy, modify, and distribute this software for + * ALL RIGHTS RESERVED + * Permission to use, copy, modify, and distribute this software for * any purpose and without fee is hereby granted, provided that the above * copyright notice appear in all copies and that both the copyright notice - * and this permission notice appear in supporting documentation, and that + * and this permission notice appear in supporting documentation, and that * the name of Silicon Graphics, Inc. not be used in advertising * or publicity pertaining to distribution of the software without specific, - * written prior permission. + * written prior permission. * * THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS" * AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE, @@ -24,8 +24,8 @@ * ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON * ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE * POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE. - * - * US Government Users Restricted Rights + * + * US Government Users Restricted Rights * Use, duplication, or disclosure by the Government is subject to * restrictions set forth in FAR 52.227.19(c)(2) or subparagraph * (c)(1)(ii) of the Rights in Technical Data and Computer Software @@ -39,7 +39,7 @@ */ /* * plane.c - * This program demonstrates the use of local versus + * This program demonstrates the use of local versus * infinite lighting on a flat plane. */ #include <stdlib.h> @@ -130,17 +130,30 @@ void myReshape(int w, int h) glViewport (0, 0, w, h); glMatrixMode (GL_PROJECTION); glLoadIdentity (); - if (w <= h) - glOrtho (-1.5, 1.5, -1.5*(GLdouble)h/(GLdouble)w, + if (w <= h) + glOrtho (-1.5, 1.5, -1.5*(GLdouble)h/(GLdouble)w, 1.5*(GLdouble)h/(GLdouble)w, -10.0, 10.0); - else - glOrtho (-1.5*(GLdouble)w/(GLdouble)h, + else + glOrtho (-1.5*(GLdouble)w/(GLdouble)h, 1.5*(GLdouble)w/(GLdouble)h, -1.5, 1.5, -10.0, 10.0); glMatrixMode (GL_MODELVIEW); } +static void +key(unsigned char k, int x, int y) +{ + switch (k) { + case 27: /* Escape */ + exit(0); + break; + default: + return; + } + glutPostRedisplay(); +} + /* Main Loop - * Open window with initial window size, title bar, + * Open window with initial window size, title bar, * RGBA display mode, and handle input events. */ int main(int argc, char** argv) @@ -152,6 +165,7 @@ int main(int argc, char** argv) myinit(); glutReshapeFunc (myReshape); glutDisplayFunc(display); + glutKeyboardFunc(key); glutMainLoop(); return 0; /* ANSI C requires main to return int. */ } |