Class CL_SurfaceProvider
The image source interface.
Contained in: global
Derived from:
CL_Target
Derived by:
CL_Canvas
CL_JPEGProvider
CL_JPGDProvider
CL_SurfaceProvider_32bpp
CL_SurfaceProvider_Generic
Group: Display (Display 2D)
#include <ClanLib/display.h>
Description:
This is the interface used by a CL_Surface surface to load an image. For more information about the relationship between a surface and its provider, please the CL_Surface class description.
The surface provider interface extends the CL_Target renderer target interface with some blitting related functions. Currently, this is translation of the image and colorkey transparency.
ClanLib includes a large range of surface providers that can load an image from various sources: PCX, TGA, PNG and so on.
If you want to be able to load your (newly created) surface provider as a resource, you have to implement the CL_ResourceSource_Surface as well.
Function Member Descriptions:
CL_SurfaceProvider::get_src_colorkey - Returns the source color key.
virtual unsigned int get_src_colorkey() const;
CL_SurfaceProvider::get_translate_x - Returns the offset of the surface_data returned by get_data(). This translation will be applied to every putscreen using a given surfaceproviders data as input.
virtual int get_translate_x() const;
Returns - The x-offset of the surface data.
CL_SurfaceProvider::get_translate_y - Returns the offset of the surface_data returned by get_data(). This translation will be applied to every putscreen using a given surfaceproviders data as input.
virtual int get_translate_y() const;
Returns - The y-offset of the surface data.
CL_SurfaceProvider::load - This function loads a surface provider from a resource file (usually a datafile).
static CL_SurfaceProvider* load(const std::string& resource_id, CL_ResourceManager* manager);
CL_SurfaceProvider::uses_src_colorkey - Returns true if the surface provider uses a source color key.
virtual bool uses_src_colorkey() const;
CL_SurfaceProvider::~CL_SurfaceProvider - Surface Provider Destructor
virtual ~CL_SurfaceProvider();