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

class 
	SDL_SURFACE_FUNCTIONS_API

create 
	default_create

feature -- Access

	sdl_create_rgbsurface (flags: NATURAL_32; width: INTEGER_32; height: INTEGER_32; depth: INTEGER_32; rmask: NATURAL_32; gmask: NATURAL_32; bmask: NATURAL_32; amask: NATURAL_32): POINTER
		external
			"C inline use <SDL.h>"
		alias
			"[
				return SDL_CreateRGBSurface ((Uint32)$flags, (int)$width, (int)$height, (int)$depth, (Uint32)$rmask, (Uint32)$gmask, (Uint32)$bmask, (Uint32)$amask);
			]"
		end

	sdl_free_surface (surface: SDL_SURFACE_STRUCT_API)
		do
			c_sdl_free_surface (surface.item)
		ensure
			instance_free: class
		end

	sdl_lock_surface (surface: SDL_SURFACE_STRUCT_API): INTEGER_32
		do
			Result := c_sdl_lock_surface (surface.item)
		ensure
			instance_free: class
		end

	sdl_unlock_surface (surface: SDL_SURFACE_STRUCT_API)
		do
			c_sdl_unlock_surface (surface.item)
		ensure
			instance_free: class
		end

	sdl_load_bmp_rw (src: SDL_RWOPS_STRUCT_API; freesrc: INTEGER_32): detachable SDL_SURFACE_STRUCT_API
		do
			if attached c_sdl_load_bmp_rw (src.item, freesrc) 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_set_color_key (surface: SDL_SURFACE_STRUCT_API; flag: INTEGER_32; key: NATURAL_32): INTEGER_32
		do
			Result := c_sdl_set_color_key (surface.item, flag, key)
		ensure
			instance_free: class
		end

	sdl_convert_surface (src: SDL_SURFACE_STRUCT_API; fmt: SDL_PIXEL_FORMAT_STRUCT_API; flags: NATURAL_32): detachable SDL_SURFACE_STRUCT_API
		do
			if attached c_sdl_convert_surface (src.item, fmt.item, flags) 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_fill_rect (dst: SDL_SURFACE_STRUCT_API; rect: SDL_RECT_STRUCT_API; color: NATURAL_32): INTEGER_32
		do
			Result := c_sdl_fill_rect (dst.item, rect.item, color)
		ensure
			instance_free: class
		end

	sdl_upper_blit (src: SDL_SURFACE_STRUCT_API; srcrect: SDL_RECT_STRUCT_API; dst: SDL_SURFACE_STRUCT_API; dstrect: SDL_RECT_STRUCT_API): INTEGER_32
		do
			Result := c_sdl_upper_blit (src.item, srcrect.item, dst.item, dstrect.item)
		ensure
			instance_free: class
		end

	sdl_lower_blit (src: SDL_SURFACE_STRUCT_API; srcrect: SDL_RECT_STRUCT_API; dst: SDL_SURFACE_STRUCT_API; dstrect: SDL_RECT_STRUCT_API): INTEGER_32
		do
			Result := c_sdl_lower_blit (src.item, srcrect.item, dst.item, dstrect.item)
		ensure
			instance_free: class
		end

	sdl_upper_blit_scaled (src: SDL_SURFACE_STRUCT_API; srcrect: SDL_RECT_STRUCT_API; dst: SDL_SURFACE_STRUCT_API; dstrect: SDL_RECT_STRUCT_API): INTEGER_32
		do
			Result := c_sdl_upper_blit_scaled (src.item, srcrect.item, dst.item, dstrect.item)
		ensure
			instance_free: class
		end

	sdl_lower_blit_scaled (src: SDL_SURFACE_STRUCT_API; srcrect: SDL_RECT_STRUCT_API; dst: SDL_SURFACE_STRUCT_API; dstrect: SDL_RECT_STRUCT_API): INTEGER_32
		do
			Result := c_sdl_lower_blit_scaled (src.item, srcrect.item, dst.item, dstrect.item)
		ensure
			instance_free: class
		end
	
feature -- Externals

	c_sdl_free_surface (surface: POINTER)
		external
			"C inline use <SDL.h>"
		alias
			"[
				SDL_FreeSurface ((SDL_Surface*)$surface);
			]"
		end

	c_sdl_lock_surface (surface: POINTER): INTEGER_32
		external
			"C inline use <SDL.h>"
		alias
			"[
				return SDL_LockSurface ((SDL_Surface*)$surface);
			]"
		end

	c_sdl_unlock_surface (surface: POINTER)
		external
			"C inline use <SDL.h>"
		alias
			"[
				SDL_UnlockSurface ((SDL_Surface*)$surface);
			]"
		end

	c_sdl_load_bmp_rw (src: POINTER; freesrc: INTEGER_32): POINTER
		external
			"C inline use <SDL.h>"
		alias
			"[
				return SDL_LoadBMP_RW ((SDL_RWops*)$src, (int)$freesrc);
			]"
		end

	c_sdl_set_color_key (surface: POINTER; flag: INTEGER_32; key: NATURAL_32): INTEGER_32
		external
			"C inline use <SDL.h>"
		alias
			"[
				return SDL_SetColorKey ((SDL_Surface*)$surface, (int)$flag, (Uint32)$key);
			]"
		end

	c_sdl_convert_surface (src: POINTER; fmt: POINTER; flags: NATURAL_32): POINTER
		external
			"C inline use <SDL.h>"
		alias
			"[
				return SDL_ConvertSurface ((SDL_Surface*)$src, (SDL_PixelFormat const*)$fmt, (Uint32)$flags);
			]"
		end

	c_sdl_fill_rect (dst: POINTER; rect: POINTER; color: NATURAL_32): INTEGER_32
		external
			"C inline use <SDL.h>"
		alias
			"[
				return SDL_FillRect ((SDL_Surface*)$dst, (SDL_Rect const*)$rect, (Uint32)$color);
			]"
		end

	c_sdl_upper_blit (src: POINTER; srcrect: POINTER; dst: POINTER; dstrect: POINTER): INTEGER_32
		external
			"C inline use <SDL.h>"
		alias
			"[
				return SDL_UpperBlit ((SDL_Surface*)$src, (SDL_Rect const*)$srcrect, (SDL_Surface*)$dst, (SDL_Rect*)$dstrect);
			]"
		end

	c_sdl_lower_blit (src: POINTER; srcrect: POINTER; dst: POINTER; dstrect: POINTER): INTEGER_32
		external
			"C inline use <SDL.h>"
		alias
			"[
				return SDL_LowerBlit ((SDL_Surface*)$src, (SDL_Rect*)$srcrect, (SDL_Surface*)$dst, (SDL_Rect*)$dstrect);
			]"
		end

	c_sdl_upper_blit_scaled (src: POINTER; srcrect: POINTER; dst: POINTER; dstrect: POINTER): INTEGER_32
		external
			"C inline use <SDL.h>"
		alias
			"[
				return SDL_UpperBlitScaled ((SDL_Surface*)$src, (SDL_Rect const*)$srcrect, (SDL_Surface*)$dst, (SDL_Rect*)$dstrect);
			]"
		end

	c_sdl_lower_blit_scaled (src: POINTER; srcrect: POINTER; dst: POINTER; dstrect: POINTER): INTEGER_32
		external
			"C inline use <SDL.h>"
		alias
			"[
				return SDL_LowerBlitScaled ((SDL_Surface*)$src, (SDL_Rect*)$srcrect, (SDL_Surface*)$dst, (SDL_Rect*)$dstrect);
			]"
		end
	
end -- class SDL_SURFACE_FUNCTIONS_API

Generated by ISE EiffelStudio