note
	description: "A builder to create {GAME_WINDOW_RENDERED}."
	author: "Louis Marchand"
	date: "Sat, 04 Apr 2015 00:24:50 +0000"
	revision: "2.0"

class interface
	GAME_WINDOW_RENDERED_BUILDER

create 
	default_create

feature -- Access

	no_default_renderer: BOOLEAN assign set_no_default_renderer
			-- The generate_window won't have any GAME_RENDERER initialized
			-- at creation. If False, renderer_driver,
			-- must_renderer_support_texture_target,
			-- must_renderer_synchronize_update,
			-- must_renderer_be_software_rendering and
			-- must_renderer_be_hardware_accelerated will be
			-- ignored

	set_no_default_renderer (a_value: BOOLEAN)
			-- Assign to no_default_renderer the value of a_value
		ensure
			is_assign: no_default_renderer ~ a_value

	enable_no_default_renderer
			-- The initial renderer of the generate_window will
			-- support texture as rendering target or trigger an error.
			-- Note: Will unset renderer_driver and will disable
			-- must_renderer_support_texture_target,
			-- must_renderer_synchronize_update,
			-- must_renderer_be_software_rendering and
			-- must_renderer_be_hardware_accelerated
		ensure
			is_set: no_default_renderer
			is_renderer_driver_void: not attached renderer_driver
			is_must_renderer_support_texture_target_disabled: not must_renderer_support_texture_target
			is_must_renderer_synchronize_update_disabled: not must_renderer_synchronize_update
			is_must_renderer_be_software_rendering_disabled: not must_renderer_be_software_rendering
			is_must_renderer_be_hardware_accelerated_disabled: not must_renderer_be_hardware_accelerated

	disable_no_default_renderer
			-- The initial renderer of the generate_window does not
			-- have to support texture as rendering target or trigger an error.
		ensure
			is_unset: not no_default_renderer

	must_renderer_support_texture_target: BOOLEAN assign set_must_renderer_support_texture_target
			-- The initial renderer of the generate_window
			-- must support texture as rendering target.

	set_must_renderer_support_texture_target (a_value: BOOLEAN)
			-- Assign to must_renderer_support_texture_target the value of a_value
		ensure
			is_assign: must_renderer_support_texture_target ~ a_value

	enable_must_renderer_support_texture_target
			-- The initial renderer of the generate_window will
			-- support texture as rendering target or trigger an error.
			-- Note: Will unset renderer_driver
		ensure
			is_set: must_renderer_support_texture_target
			is_renderer_driver_void: not attached renderer_driver
			is_default_renderer_disabled: not no_default_renderer

	disable_must_renderer_support_texture_target
			-- The initial renderer of the generate_window does not
			-- have to support texture as rendering target or trigger an error.
		ensure
			is_unset: not must_renderer_support_texture_target

	must_renderer_synchronize_update: BOOLEAN assign set_must_renderer_support_texture_target
			-- The initial renderer of the generate_window
			-- must support synchronization of the window update
			-- and the refresh rate.

	set_must_renderer_synchronize_update (a_value: BOOLEAN)
			-- Assign to must_renderer_synchronize_update the value of a_value
		ensure
			is_assign: must_renderer_synchronize_update ~ a_value

	enable_must_renderer_synchronize_update
			-- The initial renderer of the generate_window will
			-- support synchronization of the window update and the
			-- refresh rate.
			-- Note: Will unset renderer_driver
		ensure
			is_set: must_renderer_synchronize_update
			is_renderer_driver_void: not attached renderer_driver
			is_default_renderer_disabled: not no_default_renderer

	disable_must_renderer_synchronize_update
			-- The initial renderer of the generate_window does not
			-- have to support synchronization of the window update and the
			-- refresh rate.
		ensure
			is_unset: not must_renderer_synchronize_update

	must_renderer_be_software_rendering: BOOLEAN assign set_must_renderer_support_texture_target
			-- The initial renderer of the generate_window
			-- must be a software renderer

	set_must_renderer_be_software_rendering (a_value: BOOLEAN)
			-- Assign to must_renderer_be_software_rendering the value of a_value
		ensure
			is_assign: must_renderer_be_software_rendering ~ a_value

	enable_must_renderer_be_software_rendering
			-- The initial renderer of the generate_window will
			-- be a software renderer
			-- Note: Will unset renderer_driver
		ensure
			is_set: must_renderer_be_software_rendering
			is_renderer_driver_void: not attached renderer_driver
			is_default_renderer_disabled: not no_default_renderer

	disable_must_renderer_be_software_rendering
			-- The initial renderer of the generate_window does not
			-- have to be a software renderer
		ensure
			is_unset: not must_renderer_be_software_rendering

	must_renderer_be_hardware_accelerated: BOOLEAN assign set_must_renderer_support_texture_target
			-- The initial renderer of the generate_window
			-- must be hardware accelerated

	set_must_renderer_be_hardware_accelerated (a_value: BOOLEAN)
			-- Assign to must_renderer_be_hardware_accelerated the value of a_value
		ensure
			is_assign: must_renderer_be_hardware_accelerated ~ a_value

	enable_must_renderer_be_hardware_accelerated
			-- The initial renderer of the generate_window will
			-- be hardware accelerated
			-- Note: Will unset renderer_driver
		ensure
			is_set: must_renderer_be_hardware_accelerated
			is_renderer_driver_void: not attached renderer_driver
			is_default_renderer_disabled: not no_default_renderer

	disable_must_renderer_be_hardware_accelerated
			-- The initial renderer of the generate_window does not
			-- have to be hardware accelerated
		ensure
			is_unset: not must_renderer_be_hardware_accelerated

	renderer_driver: detachable GAME_RENDERER_DRIVER
			-- The initial renderer of the generate_window
			-- Note: if this is not Void, Current will ignore
			-- must_renderer_support_texture_target,
			-- must_renderer_synchronize_update and
			-- must_renderer_be_hardware_accelerated

	set_renderer_driver (a_renderer_driver: detachable GAME_RENDERER_DRIVER)
			-- Assign to renderer_driver the value of a_renderer_driver
		ensure
			is_set: renderer_driver ~ a_renderer_driver

	unset_renderer_driver
			-- Assign to renderer_driver the Void value
		ensure
			is_unset: not attached renderer_driver

	generate_window: GAME_WINDOW_RENDERED
			-- The GAME_WINDOW_RENDERED that fit all
			-- attributes of Current
	
end -- class GAME_WINDOW_RENDERED_BUILDER

Generated by ISE EiffelStudio