negative fullscreen flag

This commit is contained in:
Frank DeMarco 2018-11-18 23:07:01 -05:00
parent 41b4df6326
commit 4447b32f69
1 changed files with 19 additions and 6 deletions

View File

@ -32,23 +32,29 @@ class Display(GameChild):
environ["SDL_VIDEO_CENTERED"] = "1"
def init_screen(self):
flags = 0
# flags = 0
full = False
if self.fullscreen_requested():
flags = FULLSCREEN
self.set_screen(flags)
# flags = -abs(FULLSCREEN)
full = True
self.set_screen(0x0, fs=full)
def fullscreen_requested(self):
return not self.check_command_line(self.windowed_flag) and \
self.fullscreen_enabled
def set_screen(self, flags=0, dimensions=None):
def set_screen(self, flags=0x0, dimensions=None, fs=False):
self.dimensions_changed = dimensions is not None
if dimensions is None:
if display.get_surface():
dimensions = display.get_surface().get_size()
else:
dimensions = self.get_configuration("display", "dimensions")
self.screen = display.set_mode(dimensions, flags)
print fs, flags
if fs:
self.screen = display.set_mode(dimensions, flags | -0x80000000)
else:
self.screen = display.set_mode(dimensions, flags)
if self.dimensions_changed:
interpolator = self.get_game().interpolator
if interpolator.gui_enabled:
@ -77,5 +83,12 @@ class Display(GameChild):
if self.delegate.compare(event, "toggle-fullscreen"):
screen = self.screen
cpy = screen.convert()
self.set_screen(self.screen.get_flags() ^ FULLSCREEN)
flags = self.screen.get_flags()
if flags & 0x80000000:
full = False
flags ^= 0x80000000
print flags
else:
full = True
self.set_screen(flags, fs=full)
screen.blit(cpy, (0, 0))