note
	description: "This file has been generated by WrapC. Do not edit. Changes will be lost!"
	generator: "Eiffel Wrapper Generator"

class 
	SDL_VIDEO_FUNCTIONS_API

create 
	default_create

feature -- Access

	sdl_get_window_pixel_format (window: SDL_WINDOW_STRUCT_API): NATURAL_32
		do
			Result := c_sdl_get_window_pixel_format (window.item)
		ensure
			instance_free: class
		end

	sdl_create_window (title: POINTER; x: INTEGER_32; y: INTEGER_32; w: INTEGER_32; h: INTEGER_32; flags: NATURAL_32): POINTER
		external
			"C inline use <SDL.h>"
		alias
			"[
				return SDL_CreateWindow ((char const*)$title, (int)$x, (int)$y, (int)$w, (int)$h, (Uint32)$flags);
			]"
		end

	sdl_get_window_id (window: SDL_WINDOW_STRUCT_API): NATURAL_32
		do
			Result := c_sdl_get_window_id (window.item)
		ensure
			instance_free: class
		end

	sdl_set_window_size (window: SDL_WINDOW_STRUCT_API; w: INTEGER_32; h: INTEGER_32)
		do
			c_sdl_set_window_size (window.item, w, h)
		ensure
			instance_free: class
		end

	sdl_get_window_size (window: SDL_WINDOW_STRUCT_API; w: TYPED_POINTER [INTEGER_32]; h: TYPED_POINTER [INTEGER_32])
		do
			c_sdl_get_window_size (window.item, w, h)
		ensure
			instance_free: class
		end

	sdl_set_window_fullscreen (window: SDL_WINDOW_STRUCT_API; flags: NATURAL_32): INTEGER_32
		do
			Result := c_sdl_set_window_fullscreen (window.item, flags)
		ensure
			instance_free: class
		end

	sdl_get_window_surface (window: SDL_WINDOW_STRUCT_API): detachable SDL_SURFACE_STRUCT_API
		do
			if attached c_sdl_get_window_surface (window.item) as l_ptr and then not l_ptr.is_default_pointer then
				create Result.make_by_pointer (l_ptr)
			end
		ensure
			instance_free: class
		end

	sdl_update_window_surface (window: SDL_WINDOW_STRUCT_API): INTEGER_32
		do
			Result := c_sdl_update_window_surface (window.item)
		ensure
			instance_free: class
		end

	sdl_destroy_window (window: SDL_WINDOW_STRUCT_API)
		do
			c_sdl_destroy_window (window.item)
		ensure
			instance_free: class
		end
	
feature -- Externals

	c_sdl_get_window_pixel_format (window: POINTER): NATURAL_32
		external
			"C inline use <SDL.h>"
		alias
			"[
				return SDL_GetWindowPixelFormat ((SDL_Window*)$window);
			]"
		end

	c_sdl_get_window_id (window: POINTER): NATURAL_32
		external
			"C inline use <SDL.h>"
		alias
			"[
				return SDL_GetWindowID ((SDL_Window*)$window);
			]"
		end

	c_sdl_set_window_size (window: POINTER; w: INTEGER_32; h: INTEGER_32)
		external
			"C inline use <SDL.h>"
		alias
			"[
				SDL_SetWindowSize ((SDL_Window*)$window, (int)$w, (int)$h);
			]"
		end

	c_sdl_get_window_size (window: POINTER; w: TYPED_POINTER [INTEGER_32]; h: TYPED_POINTER [INTEGER_32])
		external
			"C inline use <SDL.h>"
		alias
			"[
				SDL_GetWindowSize ((SDL_Window*)$window, (int*)$w, (int*)$h);
			]"
		end

	c_sdl_set_window_fullscreen (window: POINTER; flags: NATURAL_32): INTEGER_32
		external
			"C inline use <SDL.h>"
		alias
			"[
				return SDL_SetWindowFullscreen ((SDL_Window*)$window, (Uint32)$flags);
			]"
		end

	c_sdl_get_window_surface (window: POINTER): POINTER
		external
			"C inline use <SDL.h>"
		alias
			"[
				return SDL_GetWindowSurface ((SDL_Window*)$window);
			]"
		end

	c_sdl_update_window_surface (window: POINTER): INTEGER_32
		external
			"C inline use <SDL.h>"
		alias
			"[
				return SDL_UpdateWindowSurface ((SDL_Window*)$window);
			]"
		end

	c_sdl_destroy_window (window: POINTER)
		external
			"C inline use <SDL.h>"
		alias
			"[
				SDL_DestroyWindow ((SDL_Window*)$window);
			]"
		end
	
end -- class SDL_VIDEO_FUNCTIONS_API

Generated by ISE EiffelStudio