static void asciiKey (unsigned char key, int x, int y) { key = toupper(key); if (key == 27) /* ESC */ exit(0); else if (key == 'F') menuChoice(cmdToggleFragment); else if (key == 'S') menuChoice(cmdSphere); else if (key == 'T') menuChoice(cmdTeapot); }
static void initGraphics (void) { /* Black background */ glClearColor(0, 0, 0, 0); /* Wireframe mode */ glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); /* Needed for vertex arrays */ glEnableClientState(GL_VERTEX_ARRAY); /* Popup menu attached to right mouse button */ AppMenu = glutCreateMenu(menuChoice); glutSetMenu(AppMenu); glutAddMenuEntry("Red", cmdRed); glutAddMenuEntry("Green", cmdGreen); glutAddMenuEntry("----", 0); glutAddMenuEntry("Reverse", cmdReverse); glutAddMenuEntry("----", 0); glutAddMenuEntry("Exit", cmdExit); glutAttachMenu(GLUT_RIGHT_BUTTON); /* Start values */ Spin = 0.0; ViewPoint[0] = 0.0; ViewPoint[1] = 0.5; ViewPoint[2] = 2.0; menuChoice(cmdGreen); }
static void asciiKey (unsigned char key, int x, int y) { if (key == ESC) { menuChoice(cmdExit); } else if (key == 'r' || key == 'R') { menuChoice(cmdReverse); } else { switch (key) { case 'a': ViewPoint[0] -= 0.1; break; case 's': ViewPoint[2] += 0.1; break; case 'd': ViewPoint[0] += 0.1; break; case 'w': ViewPoint[2] -= 0.1; break; } } }
int main() { enum choices{ OhmsLag = 1, Rtot = 2, EffektlagenEnkel= 3, SkenbarEffektEnfas= 4, AktivEffektEnfas= 5, SkenbarEffektTrefas= 6, AktivEffektTrefas= 7, KwattPris = 8, Exit= 0 }; bool exit = false; system("cls"); while (exit == false) { switch(menuChoice()){ case OhmsLag: ohmsLagIO(); break; case Rtot: RtorIO(); break; case EffektlagenEnkel: effektLagenEnkelIO(); break; case SkenbarEffektEnfas: skenbarEffektEnfasIO(); break; case AktivEffektEnfas: aktivEffektEnfasIO(); break; case SkenbarEffektTrefas: skenbarEffektTrefasIO(); break; case AktivEffektTrefas: aktivEffektTrefasIO(); break; case KwattPris: kwattPrisIO(); break; case Exit: exit = true; break; default: printf("Fel alternativ f\x94rs\x94k igen!:\n"); } } return 0; }