public static SdlEventArgs[] Peek(EventMask event_mask, int number_of_events) { SdlSystem.SDL_Event[] events = new SdlSystem.SDL_Event[number_of_events]; SdlSystem.SDL_PumpEvents(); int ret = SdlSystem.SDL_PeepEvents(out events, events.Length, SdlSystem.SDL_eventaction.SDL_PEEKEVENT, (uint)event_mask); if (ret == (int)NativeFunctionReturnFlags.Error) { throw SdlException.Generate(); } SdlEventArgs[] eventargs_array = new SdlEventArgs[ret]; for (int i = 0; i < eventargs_array.Length; ++i) { if (events[i].type == (byte)EventTypes.UserEvent) { eventargs_array[i] = __user_events[events[i].user.code.ToString()]; __user_events.Remove(events[i].user.code.ToString()); } else { eventargs_array[i] = SdlEventArgs.CreateEventArgs(events[i]); } } return(eventargs_array); }
public static void Remove(EventMask event_mask, int number_of_events) { SdlSystem.SDL_Event[] events = new SdlSystem.SDL_Event[number_of_events]; SdlSystem.SDL_PumpEvents(); int ret = SdlSystem.SDL_PeepEvents(out events, events.Length, SdlSystem.SDL_eventaction.SDL_GETEVENT, (uint)event_mask); if (ret == (int)NativeFunctionReturnFlags.Error) { throw SdlException.Generate(); } }