public Sdl2NativeWindow(int x, int y, int width, int height, string title, GameWindowFlags options, DisplayDevice device) { lock (sync) { SDL.DisableScreenSaver(); var bounds = device.Bounds; var flags = TranslateFlags(options); flags |= WindowFlags.OPENGL; #if TIZEN flags |= WindowFlags.SHOWN; #else flags |= WindowFlags.HIDDEN; #endif if (Toolkit.Options.EnableHighResolution) { flags |= WindowFlags.ALLOW_HIGHDPI; } if ((flags & WindowFlags.FULLSCREEN_DESKTOP) != 0 || (flags & WindowFlags.FULLSCREEN) != 0) { window_state = WindowState.Fullscreen; } if ((flags & WindowFlags.RESIZABLE) == 0) { window_border = WindowBorder.Fixed; } IntPtr handle; lock (SDL.Sync) { handle = SDL.CreateWindow(title, bounds.Left + x, bounds.Top + y, width, height, flags); exists = true; } ProcessEvents(); window = new Sdl2WindowInfo(handle, null); window_id = SDL.GetWindowID(handle); windows.Add(window_id, this); #if TIZEN SDL.SetHint("SDL_IOS_ORIENTATIONS", "Portrait LandscapeLeft LandscapeRight PortraitUpsideDown"); #endif } }
public Sdl2NativeWindow(int x, int y, int width, int height, string title, GameWindowFlags options, DisplayDevice device) { lock (sync) { SDL.DisableScreenSaver(); var bounds = device.Bounds; var flags = TranslateFlags(options); flags |= WindowFlags.OPENGL; flags |= WindowFlags.HIDDEN; if (Toolkit.Options.EnableHighResolution) { flags |= WindowFlags.ALLOW_HIGHDPI; } if ((flags & WindowFlags.FULLSCREEN_DESKTOP) != 0 || (flags & WindowFlags.FULLSCREEN) != 0) { window_state = WindowState.Fullscreen; } if ((flags & WindowFlags.RESIZABLE) == 0) { window_border = WindowBorder.Fixed; } IntPtr handle; lock (SDL.Sync) { Console.Error.WriteLine($"Window Bound: [{bounds.Left + x}, {bounds.Top + y}, {width}, {height}]"); handle = SDL.CreateWindow(title, bounds.Left + x, bounds.Top + y, width, height, flags); exists = true; } #if !TIZEN ProcessEvents(); #endif window = new Sdl2WindowInfo(handle, null); window_id = SDL.GetWindowID(handle); windows.Add(window_id, this); } }