GrafitiDemo.Viewer.SpecialKeyPressed C# (CSharp) Méthode

SpecialKeyPressed() private méthode

private SpecialKeyPressed ( int key, int x, int y ) : void
key int
x int
y int
Résultat void
        private void SpecialKeyPressed(int key, int x, int y)
        {
            int mod = Glut.glutGetModifiers();

            if (m_displayCalibrationGrid)
            {
                switch (mod)
                {
                    case 0: // no modifiers
                        switch ((char)key)
                        {
                            case (char)Glut.GLUT_KEY_RIGHT:
                                m_projectionX += 0.01f;
                                PrintProjectionParameters();
                                break;
                            case (char)Glut.GLUT_KEY_LEFT:
                                m_projectionX -= 0.01f;
                                PrintProjectionParameters();
                                break;
                            case (char)Glut.GLUT_KEY_DOWN:
                                m_projectionY += 0.01f;
                                PrintProjectionParameters();
                                break;
                            case (char)Glut.GLUT_KEY_UP:
                                m_projectionY -= 0.01f;
                                PrintProjectionParameters();
                                break;
                        }
                        break;

                    case Glut.GLUT_ACTIVE_SHIFT:
                        switch ((char)key)
                        {
                            case (char)Glut.GLUT_KEY_RIGHT:
                                m_projectionW += 0.01f;
                                PrintProjectionParameters();
                                break;
                            case (char)Glut.GLUT_KEY_LEFT:
                                m_projectionW -= 0.01f;
                                PrintProjectionParameters();
                                break;
                            case (char)Glut.GLUT_KEY_DOWN:
                                m_projectionH -= 0.01f;
                                PrintProjectionParameters();
                                break;
                            case (char)Glut.GLUT_KEY_UP:
                                m_projectionH += 0.01f;
                                PrintProjectionParameters();
                                break;
                        }
                        break;

                    case Glut.GLUT_ACTIVE_ALT:
                        switch ((char)key)
                        {
                            case (char)Glut.GLUT_KEY_DOWN:
                                m_projectionYAngle -= 0.1f;
                                PrintProjectionParameters();
                                break;
                            case (char)Glut.GLUT_KEY_UP:
                                m_projectionYAngle += 0.1f;
                                PrintProjectionParameters();
                                break;
                        }
                        break;
                }
            }

            switch ((char)key)
            {
                case (char)Glut.GLUT_KEY_F1:
                    ToggleFullScreen();
                    break;

                //case (char)Glut.GLUT_KEY_F2:
                //    if (s_timerTime > 10)
                //    {
                //        s_timerTime--;
                //        Console.WriteLine("Redraw timer cycle: " + s_timerTime + "ms (~" + (int)(1000f / (float)s_timerTime) + " fps).");
                //    }
                //    break;

                //case (char)Glut.GLUT_KEY_F3:
                //    s_timerTime++;
                //    Console.WriteLine("Redraw timer cycle: " + s_timerTime + "ms (~" + (int)(1000f / (float)s_timerTime) + " fps).");
                //    break;
            }

            // force re-display
            Glut.glutPostRedisplay();
        }