internal NativeWindow(string windowTitle, int locX = SDL_WINDOWPOS.CENTERED, int locY = SDL_WINDOWPOS.CENTERED, int width = 800, int height = 600, SDL_WINDOW windowFlags = SDL_WINDOW.OPENGL) { Events = new EventFilter(this); Events.Add(EventType.Window); Events.Add(EventType.Quit); EventPump.Instance.RegisterEventListener(this); title = Encoder.GetBytes(windowTitle); location = new Location <int>(locX, locY); size = new Size <int>(width, height); Style = (WindowStyles)windowFlags; }
private static extern void SDL_SetWindowFullscreen(IntPtr window, SDL_WINDOW flags);
private static extern IntPtr SDL_CreateWindow(byte[] title, int x, int y, int w, int h, SDL_WINDOW flags);
private static IntPtr SDL_CreateWindow(string title, int x, int y, int w, int h, SDL_WINDOW flags) => SDL_CreateWindow(title.ToBytes(), x, y, w, h, flags);
private static IntPtr SDL_CreateWindow(string title, int x, int y, int w, int h, SDL_WINDOW flags) => SDL_CreateWindow(Encoding.UTF8.GetBytes($"{title}{'\0'}"), x, y, w, h, flags);