BlackBerry.Screen.Context.HandleEvent C# (CSharp) Méthode

HandleEvent() private méthode

private HandleEvent ( IntPtr eventHandle ) : void
eventHandle System.IntPtr
Résultat void
        void HandleEvent(IntPtr eventHandle)
        {
            var e = ScreenEvent.FromEventHandle (eventHandle);

            if (e.Type == EventType.SCREEN_EVENT_CLOSE ||
                e.Type == EventType.SCREEN_EVENT_CREATE) {
                if (HandleWindowEvent (e) ) {
                    return;
                }
            }

            switch (e.Type) {
            case EventType.SCREEN_EVENT_CLOSE:
                if (OnCloseWindow != null) {
                    OnCloseWindow (e);
                }
                break;
            case EventType.SCREEN_EVENT_CREATE:
                if (OnCreateWindow != null) {
                    OnCreateWindow (e);
                }
                break;
            case EventType.SCREEN_EVENT_MTOUCH_TOUCH:
                if (OnFingerTouch != null) {
                    OnFingerTouch (e.X, e.Y);
                }
                break;
            case EventType.SCREEN_EVENT_MTOUCH_MOVE:
                if (OnFingerMove != null) {
                    OnFingerMove (e.X, e.Y);
                }
                break;
            case EventType.SCREEN_EVENT_MTOUCH_RELEASE:
                if (OnFingerRelease != null) {
                    OnFingerRelease (e.X, e.Y);
                }
                break;
            case EventType.SCREEN_EVENT_KEYBOARD:
                if (OnKeyDown == null && OnKeyRepeat == null && OnKeyUp == null) {
                    break;
                }
                KeyFlags flags = (KeyFlags)e.GetIntProperty (Property.SCREEN_PROPERTY_KEY_FLAGS);
                KeyCode code = (KeyCode)e.GetIntProperty (Property.SCREEN_PROPERTY_KEY_SYM);
                KeyModifiers mods = (KeyModifiers)e.GetIntProperty (Property.SCREEN_PROPERTY_KEY_MODIFIERS);

                if (flags.HasFlag (KeyFlags.KEY_DOWN) && OnKeyDown != null) {
                    OnKeyDown (code, mods);
                } else if (flags.HasFlag (KeyFlags.KEY_REPEAT) && OnKeyRepeat != null) {
                    OnKeyRepeat (code, mods);
                } else if (OnKeyUp != null) {
                    OnKeyUp (code, mods);
                }
                break;
            default:
                Console.WriteLine ("UNHANDLED SCREEN EVENT, TYPE: {0}", e.Type);
                if (e.Type == EventType.SCREEN_EVENT_PROPERTY) {
                    Console.WriteLine (" - Name: {0}", (Property)e.GetIntProperty (Property.SCREEN_PROPERTY_NAME));
                } else if (e.Type == EventType.SCREEN_EVENT_DEVICE ||
                           e.Type == EventType.SCREEN_EVENT_GAMEPAD ||
                           e.Type == EventType.SCREEN_EVENT_JOYSTICK ||
                           e.Type == EventType.SCREEN_EVENT_POINTER) {
                    Console.WriteLine (" - Buttons: {0}", e.GetIntProperty (Property.SCREEN_PROPERTY_BUTTONS));
                }
                break;
            }
        }