/// <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; } }
static extern bool sfWindow_waitEvent(IntPtr CPointer, out SFMLEvent Evt);
/// <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)); }