Beispiel #1
0
        /// <summary>
        /// Call the event handler for the given event
        /// </summary>
        /// <param name="e">Event to dispatch</param>
        private void CallEventHandler(SFMLEvent e)
        {
            switch (e.Type)
            {
            case EventType.Closed:
                if (Closed != null)
                {
                    Closed(this, EventArgs.Empty);
                }
                break;

            case EventType.GainedFocus:
                if (GainedFocus != null)
                {
                    GainedFocus(this, EventArgs.Empty);
                }
                break;

            case EventType.JoystickButtonPressed:
                if (JoystickButtonPressed != null)
                {
                    JoystickButtonPressed(this, new JoystickButtonEventArgs(e.JoystickButton));
                }
                break;

            case EventType.JoystickButtonReleased:
                if (JoystickButtonReleased != null)
                {
                    JoystickButtonReleased(this, new JoystickButtonEventArgs(e.JoystickButton));
                }
                break;

            case EventType.JoystickMoved:
                if (JoystickMoved != null)
                {
                    JoystickMoved(this, new JoystickMoveEventArgs(e.JoystickMove));
                }
                break;

            case EventType.JoystickConnected:
                if (JoystickConnected != null)
                {
                    JoystickConnected(this, new JoystickConnectEventArgs(e.JoystickConnect));
                }
                break;

            case EventType.JoystickDisconnected:
                if (JoystickDisconnected != null)
                {
                    JoystickDisconnected(this, new JoystickConnectEventArgs(e.JoystickConnect));
                }
                break;

            case EventType.KeyPressed:
                if (KeyPressed != null)
                {
                    KeyPressed(this, new SFMLKeyEventArgs(e.Key));
                }
                break;

            case EventType.KeyReleased:
                if (KeyReleased != null)
                {
                    KeyReleased(this, new SFMLKeyEventArgs(e.Key));
                }
                break;

            case EventType.LostFocus:
                if (LostFocus != null)
                {
                    LostFocus(this, EventArgs.Empty);
                }
                break;

            case EventType.MouseButtonPressed:
                if (MouseButtonPressed != null)
                {
                    MouseButtonPressed(this, new SFMLMouseButtonEventArgs(e.MouseButton));
                }
                break;

            case EventType.MouseButtonReleased:
                if (MouseButtonReleased != null)
                {
                    MouseButtonReleased(this, new SFMLMouseButtonEventArgs(e.MouseButton));
                }
                break;

            case EventType.MouseEntered:
                if (MouseEntered != null)
                {
                    MouseEntered(this, EventArgs.Empty);
                }
                break;

            case EventType.MouseLeft:
                if (MouseLeft != null)
                {
                    MouseLeft(this, EventArgs.Empty);
                }
                break;

            case EventType.MouseMoved:
                if (MouseMoved != null)
                {
                    MouseMoved(this, new SFMLMouseMoveEventArgs(e.MouseMove));
                }
                break;

            case EventType.MouseWheelMoved:
                if (MouseWheelMoved != null)
                {
                    MouseWheelMoved(this, new SFMLMouseWheelEventArgs(e.MouseWheel));
                }
                break;

            case EventType.Resized:
                if (Resized != null)
                {
                    Resized(this, new SizeEventArgs(e.Size));
                }
                break;

            case EventType.TextEntered:
                if (TextEntered != null)
                {
                    TextEntered(this, new TextEventArgs(e.Text));
                }
                break;
            }
        }
Beispiel #2
0
 static extern bool sfWindow_waitEvent(IntPtr CPointer, out SFMLEvent Evt);
Beispiel #3
0
 /// <summary>
 /// Internal function to get the next event (blocking)
 /// </summary>
 /// <param name="eventToFill">Variable to fill with the raw pointer to the event structure</param>
 /// <returns>False if any error occured</returns>
 protected virtual bool WaitEvent(out SFMLEvent eventToFill)
 {
     return(sfWindow_waitEvent(CPointer, out eventToFill));
 }