public Sdl2Window(IntPtr windowHandle, bool threadedProcessing) { _threadedProcessing = threadedProcessing; if (threadedProcessing) { using (ManualResetEvent mre = new ManualResetEvent(false)) { WindowParams wp = new WindowParams() { WindowHandle = windowHandle, WindowFlags = 0, ResetEvent = mre }; Task.Factory.StartNew(WindowOwnerRoutine, wp, TaskCreationOptions.LongRunning); mre.WaitOne(); } } else { _window = SDL_CreateWindowFrom(windowHandle); WindowID = SDL_GetWindowID(_window); Sdl2WindowRegistry.RegisterWindow(this); PostWindowCreated(0); } }
public void Create() { _window = wp.Create(); WindowID = SDL_GetWindowID(_window); Sdl2WindowRegistry.RegisterWindow(this); PostWindowCreated(wp.WindowFlags); }