Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

Ogre::ILImageCodec Class Reference

Codec specialized in images loaded using DevIL. More...

#include <OgreILImageCodec.h>

Inheritance diagram for Ogre::ILImageCodec:

Inheritance graph
[legend]
List of all members.

Public Types

typedef SharedPtr< CodecData > CodecDataPtr
typedef ConstMapIterator<
CodecList > 
CodecIterator
typedef std::pair< MemoryDataStreamPtr,
CodecDataPtr > 
DecodeResult
 Result of a decoding; both a decoded data stream and CodecData metadata.

Public Member Functions

 ILImageCodec (const String &type, unsigned int ilType)
virtual ~ILImageCodec ()
DataStreamPtr code (MemoryDataStreamPtr &input, CodecDataPtr &pData) const
 
void codeToFile (MemoryDataStreamPtr &input, const String &outFileName, CodecDataPtr &pData) const
 Provided for efficiency since coding to memory is progressive therefore memory required is unknown leading to reallocations.
Parameters:
input The input data
outFileName The filename to write to
pData Extra information to be passed to the codec (codec type specific)

DecodeResult decode (DataStreamPtr &input) const
 
Parameters:
input Stream containing the encoded data
Note:
Has a variable number of arguments, which depend on the codec type.

void initialiseIL (void)
 Initialise DevIL.
virtual String getType () const
 Returns the type of the codec as a String.
String magicNumberToFileExt (const char *magicNumberPtr, size_t maxbytes) const
 Maps a magic number header to a file extension, if this codec recognises it.
String getDataType () const
 Returns the type of the data that supported by this codec as a String.
virtual bool magicNumberMatch (const char *magicNumberPtr, size_t maxbytes) const
 Returns whether a magic number header matches this codec.
 AllocatedObject ()
void * operator new (size_t sz, const char *file, int line, const char *func)
 operator new, with debug line info
void * operator new (size_t sz)
void * operator new (size_t sz, void *ptr)
 placement operator new
void * operator new[] (size_t sz, const char *file, int line, const char *func)
 array operator new, with debug line info
void * operator new[] (size_t sz)
void operator delete (void *ptr)
void operator delete (void *ptr, void *)
void operator delete (void *ptr, const char *, int, const char *)
void operator delete[] (void *ptr)
void operator delete[] (void *ptr, const char *, int, const char *)

Static Public Member Functions

static void registerCodec (Codec *pCodec)
 Registers a new codec in the database.
static void unRegisterCodec (Codec *pCodec)
 Unregisters a codec from the database.
static CodecIterator getCodecIterator (void)
 Gets the iterator for the registered codecs.
static StringVector getExtensions (void)
 Gets the file extension list for the registered codecs.
static Codec * getCodec (const String &extension)
 Gets the codec registered for the passed in file extension.
static Codec * getCodec (char *magicNumberPtr, size_t maxbytes)
 Gets the codec that can handle the given 'magic' identifier.

Protected Types

typedef std::map< String,
Codec * > 
CodecList

Static Protected Attributes

static CodecList ms_mapCodecs
 A map that contains all the registered codecs.

Private Attributes

String mType
unsigned int mIlType

Static Private Attributes

static bool _is_initialised

Detailed Description

Codec specialized in images loaded using DevIL.

Remarks:
The users implementing subclasses of ImageCodec are required to return a valid pointer to a ImageData class from the decode(...) function.

Definition at line 41 of file OgreILImageCodec.h.


Member Typedef Documentation

typedef SharedPtr<CodecData> Ogre::Codec::CodecDataPtr [inherited]
 

Definition at line 67 of file OgreCodec.h.

typedef ConstMapIterator<CodecList> Ogre::Codec::CodecIterator [inherited]
 

Definition at line 69 of file OgreCodec.h.

typedef std::map< String, Codec* > Ogre::Codec::CodecList [protected, inherited]
 

Definition at line 52 of file OgreCodec.h.

typedef std::pair<MemoryDataStreamPtr, CodecDataPtr> Ogre::Codec::DecodeResult [inherited]
 

Result of a decoding; both a decoded data stream and CodecData metadata.

Definition at line 122 of file OgreCodec.h.


Constructor & Destructor Documentation

Ogre::ILImageCodec::ILImageCodec (  const String &  type,
unsigned int  ilType
) 
 

virtual Ogre::ILImageCodec::~ILImageCodec (   )  [virtual]
 

Definition at line 50 of file OgreILImageCodec.h.


Member Function Documentation

Ogre::AllocatedObject< GeneralAllocPolicy >::AllocatedObject (   )  [explicit, inherited]
 

Definition at line 55 of file OgreMemoryAllocatedObject.h.

DataStreamPtr Ogre::ILImageCodec::code (  MemoryDataStreamPtr &  input,
CodecDataPtr &  pData
)  const [virtual]
 

Implements Ogre::Codec.

void Ogre::ILImageCodec::codeToFile (  MemoryDataStreamPtr &  input,
const String &  outFileName,
CodecDataPtr &  pData
)  const [virtual]
 

Provided for efficiency since coding to memory is progressive therefore memory required is unknown leading to reallocations.

Parameters:
input The input data
outFileName The filename to write to
pData Extra information to be passed to the codec (codec type specific)

Implements Ogre::Codec.

DecodeResult Ogre::ILImageCodec::decode (  DataStreamPtr &  input  )  const [virtual]
 

Parameters:
input Stream containing the encoded data
Note:
Has a variable number of arguments, which depend on the codec type.

Implements Ogre::Codec.

static Codec* Ogre::Codec::getCodec (  char *  magicNumberPtr,
size_t  maxbytes
)  [static, inherited]
 

Gets the codec that can handle the given 'magic' identifier.

Parameters:
magicNumberPtr Pointer to a stream of bytes which should identify the file. Note that this may be more than needed - each codec may be looking for a different size magic number.
maxbytes The number of bytes passed

static Codec* Ogre::Codec::getCodec (  const String &  extension  )  [static, inherited]
 

Gets the codec registered for the passed in file extension.

static CodecIterator Ogre::Codec::getCodecIterator (  void   )  [static, inherited]
 

Gets the iterator for the registered codecs.

Definition at line 89 of file OgreCodec.h.

String Ogre::ImageCodec::getDataType (   )  const [virtual, inherited]
 

Returns the type of the data that supported by this codec as a String.

Implements Ogre::Codec.

Definition at line 74 of file OgreImageCodec.h.

static StringVector Ogre::Codec::getExtensions (  void   )  [static, inherited]
 

Gets the file extension list for the registered codecs.

virtual String Ogre::ILImageCodec::getType (   )  const [virtual]
 

Returns the type of the codec as a String.

Implements Ogre::Codec.

void Ogre::ILImageCodec::initialiseIL (  void   ) 
 

Initialise DevIL.

virtual bool Ogre::Codec::magicNumberMatch (  const char *  magicNumberPtr,
size_t  maxbytes
)  const [virtual, inherited]
 

Returns whether a magic number header matches this codec.

Parameters:
magicNumberPtr Pointer to a stream of bytes which should identify the file. Note that this may be more than needed - each codec may be looking for a different size magic number.
maxbytes The number of bytes passed

Definition at line 144 of file OgreCodec.h.

String Ogre::ILImageCodec::magicNumberToFileExt (  const char *  magicNumberPtr,
size_t  maxbytes
)  const [virtual]
 

Maps a magic number header to a file extension, if this codec recognises it.

Parameters:
magicNumberPtr Pointer to a stream of bytes which should identify the file. Note that this may be more than needed - each codec may be looking for a different size magic number.
maxbytes The number of bytes passed
Returns:
A blank string if the magic number was unknown, or a file extension.

Implements Ogre::Codec.

void Ogre::AllocatedObject< GeneralAllocPolicy >::operator delete (  void *  ptr,
const char *  ,
int  ,
const char * 
)  [inherited]
 

Definition at line 101 of file OgreMemoryAllocatedObject.h.

void Ogre::AllocatedObject< GeneralAllocPolicy >::operator delete (  void *  ptr,
void * 
)  [inherited]
 

Definition at line 95 of file OgreMemoryAllocatedObject.h.

void Ogre::AllocatedObject< GeneralAllocPolicy >::operator delete (  void *  ptr  )  [inherited]
 

Definition at line 89 of file OgreMemoryAllocatedObject.h.

void Ogre::AllocatedObject< GeneralAllocPolicy >::operator delete[] (  void *  ptr,
const char *  ,
int  ,
const char * 
)  [inherited]
 

Definition at line 112 of file OgreMemoryAllocatedObject.h.

void Ogre::AllocatedObject< GeneralAllocPolicy >::operator delete[] (  void *  ptr  )  [inherited]
 

Definition at line 106 of file OgreMemoryAllocatedObject.h.

void* Ogre::AllocatedObject< GeneralAllocPolicy >::operator new (  size_t  sz,
void *  ptr
)  [inherited]
 

placement operator new

Definition at line 73 of file OgreMemoryAllocatedObject.h.

void* Ogre::AllocatedObject< GeneralAllocPolicy >::operator new (  size_t  sz  )  [inherited]
 

Definition at line 67 of file OgreMemoryAllocatedObject.h.

void* Ogre::AllocatedObject< GeneralAllocPolicy >::operator new (  size_t  sz,
const char *  file,
int  line,
const char *  func
)  [inherited]
 

operator new, with debug line info

Definition at line 62 of file OgreMemoryAllocatedObject.h.

void* Ogre::AllocatedObject< GeneralAllocPolicy >::operator new[] (  size_t  sz  )  [inherited]
 

Definition at line 84 of file OgreMemoryAllocatedObject.h.

void* Ogre::AllocatedObject< GeneralAllocPolicy >::operator new[] (  size_t  sz,
const char *  file,
int  line,
const char *  func
)  [inherited]
 

array operator new, with debug line info

Definition at line 79 of file OgreMemoryAllocatedObject.h.

static void Ogre::Codec::registerCodec (  Codec *  pCodec  )  [static, inherited]
 

Registers a new codec in the database.

Definition at line 76 of file OgreCodec.h.

References Ogre::Codec::getType().

static void Ogre::Codec::unRegisterCodec (  Codec *  pCodec  )  [static, inherited]
 

Unregisters a codec from the database.

Definition at line 83 of file OgreCodec.h.

References Ogre::Codec::getType().


Member Data Documentation

bool Ogre::ILImageCodec::_is_initialised [static, private]
 

Definition at line 44 of file OgreILImageCodec.h.

unsigned int Ogre::ILImageCodec::mIlType [private]
 

Definition at line 46 of file OgreILImageCodec.h.

CodecList Ogre::Codec::ms_mapCodecs [static, protected, inherited]
 

A map that contains all the registered codecs.

Definition at line 55 of file OgreCodec.h.

String Ogre::ILImageCodec::mType [private]
 

Definition at line 45 of file OgreILImageCodec.h.


The documentation for this class was generated from the following file:

Copyright © 2008 Torus Knot Software Ltd
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sat Apr 11 13:48:29 2009