def test_SDL_SetWindowResizable(self): if video.SDL_GetCurrentVideoDriver() == b"dummy": pytest.skip("dummy video driver does not support resizable flags") window = video.SDL_CreateWindow(b"Resizable", 10, 10, 10, 10, video.SDL_WINDOW_RESIZABLE) flags = video.SDL_GetWindowFlags(window) assert flags & video.SDL_WINDOW_RESIZABLE == video.SDL_WINDOW_RESIZABLE video.SDL_SetWindowResizable(window, SDL_FALSE) flags = video.SDL_GetWindowFlags(window) assert flags & video.SDL_WINDOW_RESIZABLE != video.SDL_WINDOW_RESIZABLE video.SDL_SetWindowResizable(window, SDL_TRUE) flags = video.SDL_GetWindowFlags(window) assert flags & video.SDL_WINDOW_RESIZABLE == video.SDL_WINDOW_RESIZABLE video.SDL_DestroyWindow(window)
def test_SDL_SetWindowFullscreen(self): # TODO: HIDDEN avoids flickering, but is this really a sufficient test? flags = (video.SDL_WINDOW_BORDERLESS | video.SDL_WINDOW_HIDDEN, video.SDL_WINDOW_BORDERLESS | video.SDL_WINDOW_HIDDEN, video.SDL_WINDOW_RESIZABLE | video.SDL_WINDOW_MINIMIZED | video.SDL_WINDOW_HIDDEN) is_fullscreen = video.SDL_WINDOW_FULLSCREEN for flag in flags: window = video.SDL_CreateWindow(b"Test", 0, 0, 1024, 768, flag) video.SDL_SetWindowFullscreen(window, True) flags = video.SDL_GetWindowFlags(window) assert flags & is_fullscreen == is_fullscreen video.SDL_SetWindowFullscreen(window, False) flags = video.SDL_GetWindowFlags(window) assert flags & is_fullscreen != is_fullscreen video.SDL_DestroyWindow(window)
def test_SDL_GetWindowFlags(self): flags = (video.SDL_WINDOW_BORDERLESS, video.SDL_WINDOW_BORDERLESS | video.SDL_WINDOW_HIDDEN, video.SDL_WINDOW_RESIZABLE) for flag in flags: window = video.SDL_CreateWindow(b"Test", 10, 10, 10, 10, flag) wflags = video.SDL_GetWindowFlags(window) assert (wflags & flag) == flag
def test_SDL_CreateWindow(self): # Borderless to ensure that the size check works flags = (video.SDL_WINDOW_BORDERLESS, video.SDL_WINDOW_BORDERLESS | video.SDL_WINDOW_HIDDEN) for flag in flags: window = video.SDL_CreateWindow(b"Test", 10, 11, 12, 13, flag) assert isinstance(window.contents, video.SDL_Window) px, py = c_int(), c_int() video.SDL_GetWindowPosition(window, byref(px), byref(py)) assert (px.value, py.value) == (10, 11) video.SDL_GetWindowSize(window, byref(px), byref(py)) assert (px.value, py.value) == (12, 13) assert video.SDL_GetWindowFlags(window) & flag == flag assert video.SDL_GetWindowTitle(window) == b"Test" video.SDL_DestroyWindow(window)
def test_SDL_GetWindowDisplayIndex(self): numdisplays = video.SDL_GetNumVideoDisplays() flags = (video.SDL_WINDOW_BORDERLESS, video.SDL_WINDOW_BORDERLESS | video.SDL_WINDOW_HIDDEN) for flag in flags: window = video.SDL_CreateWindow(b"Test", 10, 11, 12, 13, flag) assert isinstance(window.contents, video.SDL_Window) px, py = c_int(), c_int() video.SDL_GetWindowPosition(window, byref(px), byref(py)) assert (px.value, py.value) == (10, 11) video.SDL_GetWindowSize(window, byref(px), byref(py)) assert (px.value, py.value) == (12, 13) assert video.SDL_GetWindowFlags(window) & flag == flag assert video.SDL_GetWindowTitle(window) == b"Test" dindex = video.SDL_GetWindowDisplayIndex(window) assert 0 <= dindex <= numdisplays, "Invalid display index" video.SDL_DestroyWindow(window)
def test_SDL_GetWindowDisplayIndex(self): numdisplays = video.SDL_GetNumVideoDisplays() flags = (video.SDL_WINDOW_BORDERLESS, video.SDL_WINDOW_BORDERLESS | video.SDL_WINDOW_HIDDEN) for flag in flags: window = video.SDL_CreateWindow(b"Test", 10, 11, 12, 13, flag) self.assertIsInstance(window.contents, video.SDL_Window) px, py = c_int(), c_int() video.SDL_GetWindowPosition(window, byref(px), byref(py)) self.assertEqual((px.value, py.value), (10, 11)) video.SDL_GetWindowSize(window, byref(px), byref(py)) self.assertEqual((px.value, py.value), (12, 13)) self.assertEqual(video.SDL_GetWindowFlags(window) & flag, flag) self.assertEqual(video.SDL_GetWindowTitle(window), b"Test") dindex = video.SDL_GetWindowDisplayIndex(window) self.assertTrue(0 <= dindex <= numdisplays, "Invalid display index") video.SDL_DestroyWindow(window)