note
	description: "Represent the Window manager used by the operating system"
	author: "Louis Marchand"
	date: "Thu, 02 Apr 2015 02:40:10 +0000"
	revision: "2.0"

class 
	GAME_WINDOW_MANAGER

inherit
	DISPOSABLE

create {GAME_WINDOW}
	own_from_pointer

feature {NONE} -- Initialization

	own_from_pointer (a_internal_pointer: POINTER)
			-- Initialization for Current.
		do
			item := a_internal_pointer
		end
	
feature -- Access

	is_unknown: BOOLEAN
			-- Cannot identified Current
		do
			Result := {GAME_SDL_EXTERNAL}.get_sys_wm_struct_subsystem (item) = {GAME_SDL_EXTERNAL}.sdl_syswm_unknown
		end

	is_windows: BOOLEAN
			-- Current represent the Windows Operating system window manager
		do
			Result := {GAME_SDL_EXTERNAL}.get_sys_wm_struct_subsystem (item) = {GAME_SDL_EXTERNAL}.sdl_syswm_windows
		end

	is_x11: BOOLEAN
			-- Current represent the X11 manager
		do
			Result := {GAME_SDL_EXTERNAL}.get_sys_wm_struct_subsystem (item) = {GAME_SDL_EXTERNAL}.sdl_syswm_x11
		end

	is_directfb: BOOLEAN
			-- Current represent the DirectFB manager
		do
			Result := {GAME_SDL_EXTERNAL}.get_sys_wm_struct_subsystem (item) = {GAME_SDL_EXTERNAL}.sdl_syswm_directfb
		end

	is_cocoa: BOOLEAN
			-- Current represent the Apple Cocoa manager
		do
			Result := {GAME_SDL_EXTERNAL}.get_sys_wm_struct_subsystem (item) = {GAME_SDL_EXTERNAL}.sdl_syswm_cocoa
		end

	is_uikit: BOOLEAN
			-- Current represent the Web UIKit manager
		do
			Result := {GAME_SDL_EXTERNAL}.get_sys_wm_struct_subsystem (item) = {GAME_SDL_EXTERNAL}.sdl_syswm_uikit
		end
	
feature {NONE} -- Implementation

	item: POINTER
			-- Internal pointer to the memory structure representing Current

	dispose
			-- Action to be executed just before garbage collection
			-- reclaims an object.
			-- Effect it in descendants to perform specific dispose
			-- actions. Those actions should only take care of freeing
			-- external resources; they should not perform remote calls
			-- on other objects since these may also be dead and reclaimed.
		do
			item.memory_free
		end
	
end -- class GAME_WINDOW_MANAGER

Generated by ISE EiffelStudio