public void Dispose( ) { if (sdlHwnd != null) { SDLI.SDL_QuitSubSystem(sdlHwnd.SdlSystem); } else { SDLI.SDL_QuitSubSystem(SDL_INIT.TIMER); } SDLI.SDL_Quit(); sdlHwnd?.Dispose(); }
/// <summary> /// EventPump will only function with one system - TIMER or VIDEO or AUDIO, etc. /// Can be stopped and restarted with a different system although the effects of /// doing so needs to be fully discovered. /// </summary> /// <param name="system"></param> internal void Start(uint system = SDL_INIT.TIMER) { if (sdlHwnd == null || SDLI.SDL_WasInit(system) != sdlHwnd.SdlSystem) { // changing SDL system initialization SDLI.SDL_Quit(); SDLI.SDL_Init(system); } if (!IsRunning && system == SDL_INIT.TIMER) { PollEvents(); } }