Esempio n. 1
0
        private void keyCallback(GLFWWindow window1, GLFWKeyCode key, int scancode, GLFWInputState state, GLFWKeyMods mods)
        {
            switch (state)
            {
            case GLFW.GLFW.InputState.Press:
                var gdxkey = getGdxKeyCode(key);
                eventQueue.keyDown(gdxkey);
                pressedKeys++;
                keyJustPressed = true;
                justPressedKeys[(int)gdxkey] = true;
                window.getGraphics().requestRendering();
                lastCharacter = (char)0;
                char character = characterForKeyCode(gdxkey);
                if (character != 0)
                {
                    charCallback(window1, (uint)character);
                }
                break;

            case GLFW.GLFW.InputState.Release:
                pressedKeys--;
                window.getGraphics().requestRendering();
                eventQueue.keyUp(getGdxKeyCode(key));
                break;

            case GLFW.GLFW.InputState.Repeat:
                pressedKeys--;
                window.getGraphics().requestRendering();
                eventQueue.keyUp(getGdxKeyCode(key));
                break;
            }
        }
Esempio n. 2
0
        private void mouseButtonCallback(GLFWWindow window1, GLFWMouseButton button, GLFWInputState state, GLFWKeyMods mods)
        {
            var gdxButton = toGdxButton(button);

            if (gdxButton == Buttons.UKNOWN)
            {
                return;
            }

            if (state == GLFW.GLFW.InputState.Press)
            {
                mousePressed++;
                _justTouched = true;
                window.getGraphics().requestRendering();
                eventQueue.touchDown(mouseX, mouseY, 0, gdxButton);
            }
            else
            {
                mousePressed = Math.Max(0, mousePressed - 1);
                window.getGraphics().requestRendering();
                eventQueue.touchUp(mouseX, mouseY, 0, gdxButton);
            }
        }