Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

XFcImageLoader Class Reference

Image loading class factory base class. More...

Inheritance diagram for XFcImageLoader:

Inheritance graph
[legend]
List of all members.

Public Member Functions

virtual XFCIMPORT ~XFcImageLoader ()
 Virtual destructor; core makes sure the object is deleted.


Static Public Member Functions

XFCIMPORT XFcGLSurfaceload (const CHAR *aFilename, INT32 aSurfaceFormat=XFCGF_DEFAULT)
 Loads an image into a new surface.

XFCIMPORT void loadImageInfo (const CHAR *aFilename, INT32 *aWidth, INT32 *aHeight, INT *aAlphaLayer, INT *aPaletted)
 Loads information on image.

XFCIMPORT UINT32loadImage8888 (const CHAR *aFilename)
 Loads an image into a linear XFCGF_A8R8G8B8 buffer (32 bits per pixel).

XFCIMPORT void loadImagePaletted (const CHAR *aFilename, UINT8 **aPalettePtr, UINT8 **aBitmapPtr)
 Loads an image in paletted mode.

XFCIMPORT INT loadImageToBuffer (const CHAR *aFilename, void *aBuffer, INT32 aPitch, INT32 aFormat=XFCGF_DEFAULT)
 Loads an image into a buffer.


Public Attributes

XFcImageLoader * mNext
 Pointer to the next plugin.


Protected Member Functions

virtual INT validateImage (const CHAR *aFilename, XFcFile *aFile)=0
 Determines if this plugin can load a specified file.

virtual void getImageInfo (const CHAR *aFilename, XFcFile *aFile, INT32 *aWidth, INT32 *aHeight, INT *aAlphaLayer, INT *aPaletted)=0
 Returns the requested info on the image.

virtual UINT32getImage8888 (const CHAR *aFilename, XFcFile *aFile)
 Loads an image to a 8:8:8:8 ARGB buffer.

virtual void getImagePaletted (const CHAR *aFilename, XFcFile *aFile, UINT8 **aPalettePtr, UINT8 **aBitmapPtr)
 Loads image and its palette.


Static Protected Member Functions

void registerImageLoader (XFcImageLoader *aFilter)
 Called by a plugin to register itself in its constructor.

INT doLoadImage (const CHAR *aFilename, XFcImageLoader *aLoadPlugin, XFcFile *aFile, INT32 aFormat, INT32 aWidth, INT32 aHeight, INT32 aAlpha, INT32 aPaletted, INT32 aPitch, void *aBuffer)
 Does the actual gruntwork of loading the image for load() and loadimagetobuffer().


Static Private Member Functions

XFcImageLoader * findPlugin (const CHAR *aFilename, XFcFile *aFile)
 Internal: goes through the plugin link list and finds a proper filter.


Detailed Description

Image loading class factory base class.

All image loaders in the system are made as plugins that extend this class.


Constructor & Destructor Documentation

virtual XFCIMPORT XFcImageLoader::~XFcImageLoader   [virtual]
 

Virtual destructor; core makes sure the object is deleted.


Member Function Documentation

INT XFcImageLoader::doLoadImage const CHAR   aFilename,
XFcImageLoader *    aLoadPlugin,
XFcFile   aFile,
INT32    aFormat,
INT32    aWidth,
INT32    aHeight,
INT32    aAlpha,
INT32    aPaletted,
INT32    aPitch,
void *    aBuffer
[static, protected]
 

Does the actual gruntwork of loading the image for load() and loadimagetobuffer().

XFcImageLoader* XFcImageLoader::findPlugin const CHAR   aFilename,
XFcFile   aFile
[static, private]
 

Internal: goes through the plugin link list and finds a proper filter.

virtual UINT32* XFcImageLoader::getImage8888 const CHAR   aFilename,
XFcFile   aFile
[protected, virtual]
 

Loads an image to a 8:8:8:8 ARGB buffer.

Note:
Default implementation calls getImagePaletted and converts the image.
Parameters:
aFilename filename of the file to load.
aFile file to load from.

Reimplemented in XFcImageLoadFilterTGA.

virtual void XFcImageLoader::getImageInfo const CHAR   aFilename,
XFcFile   aFile,
INT32   aWidth,
INT32   aHeight,
INT   aAlphaLayer,
INT   aPaletted
[protected, pure virtual]
 

Returns the requested info on the image.

Note:
Parameters can be set to NULL; in this case that parameter should be ignored.
Parameters:
aFilename filename of the image (may be unused).
aFile file to get the information from.
aWidth returned width, or NULL if width is not requested.
aHeight returned height, or NULL if height is not requested.
aAlphaLayer returned alpha layer availability, or NULL if it is not requested.
aPaletted returned palette availability, or NULL if it is not requested.

Implemented in XFcImageLoadFilterPCX, and XFcImageLoadFilterTGA.

virtual void XFcImageLoader::getImagePaletted const CHAR   aFilename,
XFcFile   aFile,
UINT8 **    aPalettePtr,
UINT8 **    aBitmapPtr
[protected, virtual]
 

Loads image and its palette.

Note:
Default implementation does nothing.

Don't extend this function if file format has no paletted mode support. Palettes should be triplets of bytes for red, green and blue colors (R8G8B8).

Parameters:
aFilename filename to load.
aFile file to load from.
aPalettePtr returned pointer to the palette, set to NULL if unsuccessful.
aBitmapPtr returned pointer to the bitmap, set to NULL if unsuccessful.

Reimplemented in XFcImageLoadFilterPCX, and XFcImageLoadFilterTGA.

XFCIMPORT XFcGLSurface* XFcImageLoader::load const CHAR   aFilename,
INT32    aSurfaceFormat = XFCGF_DEFAULT
[static]
 

Loads an image into a new surface.

By default XFCGF_R5G5X1B5 is used for non-alpha pictures and XFCGF_R5G5A1B5 for pictures with alpha.

Parameters:
aFilename image filename to load.
aSurfaceFormat surface format to use.
Returns:
new surface containing the image, or NULL if unsuccessful.

XFCIMPORT UINT32* XFcImageLoader::loadImage8888 const CHAR   aFilename [static]
 

Loads an image into a linear XFCGF_A8R8G8B8 buffer (32 bits per pixel).

Parameters:
aFilename filename to load.
Returns:
new buffer containing the image, or NULL if unsuccessful.

XFCIMPORT void XFcImageLoader::loadImageInfo const CHAR   aFilename,
INT32   aWidth,
INT32   aHeight,
INT   aAlphaLayer,
INT   aPaletted
[static]
 

Loads information on image.

Note:
Parameters can be set to NULL if not needed.
Parameters:
aFilename filename of the image.
aWidth returned width, or NULL if width is not requested.
aHeight returned height, or NULL if height is not requested.
aAlphaLayer returned alpha layer availability, or NULL if it is not requested.
aPaletted returned palette availability, or NULL if it is not requested.

XFCIMPORT void XFcImageLoader::loadImagePaletted const CHAR   aFilename,
UINT8 **    aPalettePtr,
UINT8 **    aBitmapPtr
[static]
 

Loads an image in paletted mode.

If file format does not support paletted mode, palette and bitmap return pointers are set to NULL.

Parameters:
aFilename filename to load.
aPalettePtr returned pointer to the palette, set to NULL if unsuccessful.
aBitmapPtr returned pointer to the bitmap, set to NULL if unsuccessful.

XFCIMPORT INT XFcImageLoader::loadImageToBuffer const CHAR   aFilename,
void *    aBuffer,
INT32    aPitch,
INT32    aFormat = XFCGF_DEFAULT
[static]
 

Loads an image into a buffer.

Pitch is in bytes. By default XFCGF_R5G6B5 is used for non-alpha pictures and XFCGF_A1R5G5B5 for pictures with alpha.

Parameters:
aFilename filename to load.
aBuffer destination buffer for the image data.
aPitch pitch of the destination buffer in bytes.
aFormat format of the destination buffer, see XFCGFXFORMAT.
See also:
XFCGFXFORMAT

void XFcImageLoader::registerImageLoader XFcImageLoader *    aFilter [static, protected]
 

Called by a plugin to register itself in its constructor.

virtual INT XFcImageLoader::validateImage const CHAR   aFilename,
XFcFile   aFile
[protected, pure virtual]
 

Determines if this plugin can load a specified file.

With as little work as possible, this function should return 1 if this plugin can load this file, or 0 if cannot.

Parameters:
aFilename filename of the file for validation.
aFile file to validate.
Returns:
1 if this plugin can load this file, or 0 if cannot.

Implemented in XFcImageLoadFilterPCX, and XFcImageLoadFilterTGA.


Member Data Documentation

XFcImageLoader* XFcImageLoader::mNext
 

Pointer to the next plugin.


   
X-Forge Documentation
Confidential
Copyright © 2002-2003 Fathammer
   
Documentation generated
with doxygen
by Dimitri van Heesch