def test_render_target_supported(self): window = video.create_window("Test", 10, 10, 10, 10, video.SDL_WINDOW_HIDDEN) self.assertIsInstance(window, video.SDL_Window) for i in range(render.get_num_render_drivers()): renderer = render.create_renderer(window, i, render.SDL_RENDERER_ACCELERATED) self.assertIsInstance(renderer, render.SDL_Renderer) val = render.render_target_supported(renderer) self.assertIsInstance(val, bool) render.destroy_renderer(renderer) video.destroy_window(window)
def test_get_set_render_target(self): window = video.create_window("Test", 10, 10, 10, 10, video.SDL_WINDOW_HIDDEN) self.assertIsInstance(window, video.SDL_Window) skipcount = 0 for i in range(render.get_num_render_drivers()): renderer = render.create_renderer(window, i, render.SDL_RENDERER_ACCELERATED) self.assertIsInstance(renderer, render.SDL_Renderer) supported = render.render_target_supported(renderer) if not supported: skipcount += 1 render.destroy_renderer(renderer) continue render.set_render_target(renderer) self.assertIsNone(render.get_render_target(renderer)) tex = render.create_texture(renderer, pixels.SDL_PIXELFORMAT_ARGB8888, render.SDL_TEXTUREACCESS_TARGET, 10, 10) render.set_render_target(renderer, tex) self.assertIsInstance(render.get_render_target(renderer), render.SDL_Texture) render.destroy_texture(tex) # TODO: Check in the SDL codebase, why the code below does # not fail... # tex2 = render.create_texture(renderer, # pixels.SDL_PIXELFORMAT_ARGB8888, # render.SDL_TEXTUREACCESS_STREAMING, # 10, 10) # self.assertRaises(SDLError, render.set_render_target, renderer, # tex2) # render.destroy_texture(tex2) render.destroy_renderer(renderer) video.destroy_window(window) if skipcount == render.get_num_render_drivers(): self.skipTest("None of the renderers supports render targets")