home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Magazin: Amiga-CD 2000 April & May
/
AMIGA_2000_04.iso
/
patches
/
mesa3.1
/
test
/
glut
/
test14.c
< prev
next >
Wrap
C/C++ Source or Header
|
1998-10-08
|
4KB
|
152 lines
/* Copyright (c) Mark J. Kilgard, 1994. */
/* This program is freely distributable without licensing fees
and is provided without guarantee or warrantee expressed or
implied. This program is -not- in the public domain. */
/* Try testing menu item removal and menu destruction. */
#include <stdio.h>
#include <stdlib.h>
#include <GL/glut.h>
void
displayFunc(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glFlush();
}
void
menuFunc(int choice)
{
printf("choice = %d\n", choice);
}
void
timefunc(int value)
{
if (value != 1) {
printf("FAIL: test14\n");
exit(1);
}
printf("PASS: test14\n");
exit(0);
}
int
main(int argc, char **argv)
{
int i, menu, submenu;
glutInit(&argc, argv);
glutCreateWindow("test14");
glutDisplayFunc(displayFunc);
submenu = glutCreateMenu(menuFunc);
glutAddMenuEntry("First", 10101);
glutAddMenuEntry("Second", 20202);
menu = glutCreateMenu(menuFunc);
glutAddMenuEntry("Entry1", 101);
glutAddMenuEntry("Entry2----------", 102);
glutRemoveMenuItem(2);
glutRemoveMenuItem(1);
glutAddMenuEntry("oEntry1", 201);
glutAddMenuEntry("o----------", 200);
glutAddMenuEntry("oEntry2----------", 202);
glutAddMenuEntry("oEntry3", 203);
glutRemoveMenuItem(2);
glutDestroyMenu(menu);
menu = glutCreateMenu(menuFunc);
glutAddMenuEntry("Entry1", 101);
glutAddMenuEntry("Entry2----------", 102);
glutRemoveMenuItem(2);
glutRemoveMenuItem(1);
glutAddMenuEntry("oEntry1", 201);
glutAddMenuEntry("o----------", 200);
glutAddMenuEntry("oEntry2----------", 202);
glutAddMenuEntry("oEntry3", 203);
glutRemoveMenuItem(2);
glutAttachMenu(GLUT_RIGHT_BUTTON);
menu = glutCreateMenu(menuFunc);
for (i = 0; i < 10; i++) {
glutAddMenuEntry("YES", i);
}
for (i = 0; i < 10; i++) {
glutRemoveMenuItem(1);
}
glutAddMenuEntry("Entry1", 101);
glutAddMenuEntry("Entry2", 102);
glutAddMenuEntry("Entry3", 103);
glutRemoveMenuItem(2);
glutRemoveMenuItem(1);
glutAddMenuEntry("----------", 303);
for (i = 0; i < 10; i++) {
glutAddMenuEntry("YES**************************", i);
}
for (i = 0; i < 9; i++) {
glutRemoveMenuItem(3);
}
glutDestroyMenu(menu);
menu = glutCreateMenu(menuFunc);
for (i = 0; i < 10; i++) {
glutAddMenuEntry("YES", i);
}
for (i = 0; i < 10; i++) {
glutRemoveMenuItem(1);
}
glutAddMenuEntry("Entry1", 101);
glutAddMenuEntry("Entry2", 102);
glutAddMenuEntry("Entry3", 103);
glutRemoveMenuItem(2);
glutRemoveMenuItem(1);
glutAddMenuEntry("----------", 303);
for (i = 0; i < 10; i++) {
glutAddMenuEntry("YES**************************", i);
}
for (i = 0; i < 9; i++) {
glutRemoveMenuItem(3);
}
glutAttachMenu(GLUT_MIDDLE_BUTTON);
menu = glutCreateMenu(menuFunc);
glutAddMenuEntry("Entry1", 101);
glutAddMenuEntry("Entry2", 102);
glutAddMenuEntry("Entry3", 103);
glutRemoveMenuItem(2);
glutRemoveMenuItem(1);
glutAddMenuEntry("nEntry1", 201);
glutAddMenuEntry("nEntry2----------", 202);
glutAddMenuEntry("nEntry3", 203);
glutRemoveMenuItem(2);
glutRemoveMenuItem(1);
glutAddMenuEntry("n----------", 303);
glutChangeToMenuEntry(1, "HELLO", 34);
glutChangeToSubMenu(2, "HELLO menu", submenu);
glutDestroyMenu(menu);
menu = glutCreateMenu(menuFunc);
glutAddMenuEntry("Entry1", 101);
glutAddMenuEntry("Entry2", 102);
glutAddMenuEntry("Entry3", 103);
glutRemoveMenuItem(2);
glutRemoveMenuItem(1);
glutAddMenuEntry("nEntry1", 201);
glutAddMenuEntry("nEntry2----------", 202);
glutAddMenuEntry("nEntry3", 203);
glutRemoveMenuItem(2);
glutRemoveMenuItem(1);
glutAddMenuEntry("n----------", 303);
glutAttachMenu(GLUT_LEFT_BUTTON);
glutTimerFunc(2000, timefunc, 1);
glutMainLoop();
return 0; /* ANSI C requires main to return int. */
}