Пример #1
0
//Called whenever a key on the keyboard was pressed.
//The key is given by the ''key'' parameter, which is in ASCII.
//It's often a good idea to have the escape key (ASCII value 27) call glutLeaveMainLoop() to
//exit the program.
void myKeyboard(unsigned char key, int x, int y)
{
    switch (key)
    {
        case 27:
            exit(0);
            break;
        case ' ':
            currentTaskNumber = (currentTaskNumber + 1) % tasks.size();
            ITask* currentTask = tasks[currentTaskNumber];
            if (currentTask != NULL)
            {
                currentTask->InitializeProgram();
                printf("Current Task = %s\n", currentTask->ToString());
            }
            break;
    }
    glutPostRedisplay();  // Nutno, kdybychom nevolali prekresleni casovacem ci Idle
}
Пример #2
0
void myMenu(int item)
{
    switch (item) {
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
        {
            currentTaskNumber = item - 1;
            ITask* currentTask = tasks[currentTaskNumber];
            if (currentTask != NULL)
            {
                currentTask->InitializeProgram();
                printf("Current Task = %s\n", currentTask->ToString());
            }
        }
        break;
    case 10: 
        spinFlag = !spinFlag;
        if (spinFlag)
        {
            glutTimerFunc(TIMER_STEP, FuncTimerCallback, 0);  
        }
        break;
    case 11:
        cullFlag = !cullFlag;  
        glutPostRedisplay();
        break;
    case 12:
        lineModeFlag = !lineModeFlag;  
        glutPostRedisplay();
        break;
    case 99:
        exit(0);
        break;    // never reached
    }

    glutPostRedisplay();  // Nutno, kdybychom nevolali prekresleni casovacem ci Idle
}