note
	description: "A GAME_WINDOW that is rendered by a {GAME_RENDERER_DRIVER}."
	author: "Louis Marchand"
	date: "Thu, 26 Mar 2015 19:48:35 +0000"
	revision: "2.0"

class interface
	GAME_WINDOW_RENDERED

create 
	make,
	make_from_constraint,
	make_from_driver

feature -- Access

	renderer: GAME_RENDERER
			-- The rendering context of Current
		require
				exists

	create_default_renderer
			-- Assign renderer with the first found GAME_RENDERER_DRIVER

	create_renderer (a_must_support_target_texture, a_must_sync_update, a_must_be_software_rendering, a_must_be_hardware_accelerated: BOOLEAN)
			-- Create a new rendering context for Current. If a_must_support_target_texture is True,
			-- the rendering context must permit to target to a texture instead of Current.
			-- If a_must_sync_update is True, the update will wait for vsync before finishing.
			-- If a_must_be_software_rendering is True, the renderer will always
		require
			software_not_hardware: a_must_be_software_rendering implies not a_must_be_hardware_accelerated

	create_renderer_from_driver (a_driver: GAME_RENDERER_DRIVER)
			-- Create a new rendering context using a_driver as renderer driver.

	update
			-- Print the visual buffer modification to the screen
		require else
			renderer_exists: renderer.exists
	
feature -- Implementation

	dispose
			-- Close
	
invariant
	renderer_valid: attached internal_renderer as la_renderer implies la_renderer.item = {GAME_SDL_EXTERNAL}.sdl_getrenderer (item)

end -- class GAME_WINDOW_RENDERED

Generated by ISE EiffelStudio