pyglet_demo/engine/screen.py

52 lines
No EOL
1.4 KiB
Python

import pyglet
from . import config
def auto_res(res: list) -> list:
return res
def get_config() -> dict:
return config.init
def get_best_config(self):
configs = None
try_configs = [pyggl.Config(double_buffer=True, depth_size=24, major_version=3, minor_version=3),
gl.Config(double_buffer=True, depth_size=16, major_version=3, minor_version=3),
None]
for tryc in try_configs:
try:
configs = (tryc)
break
except window.NoSuchConfigException:
pass
if not configs:
raise window.NoSuchConfigException()
return configs[0]
def init_window() -> None:
global window
cfg = get_config()
res = [cfg.get('width'), cfg.get('height')]
fs = cfg.get('fullscreen')
borderless_fullscreen = cfg.get('borderless_fullscreen')
borderless_window = cfg.get('borderless_window')
scaling = cfg.get('scaling')
vsync = cfg.get('vsync')
if fs and not borderless_fullscreen:
# real fullscreen mode is requested
# that means we need to carefully select
# an available resolution
pass
display = pyglet.display.get_display()
screens = display.get_screens()
windows = []
for screen in screens:
windows.append(pyglet.window.Window(fullscreen=True, screen=screen))
window = pyglet.window.Window()