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

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 getDataType () const
 Returns the type of the data that supported by this codec as a String.

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.

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 114 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

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 (  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.

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

Registers a new codec in the database.

Definition at line 76 of file OgreCodec.h.

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

Unregisters a codec from the database.

Definition at line 83 of file OgreCodec.h.


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 © 2000-2005 by The OGRE Team
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Sep 30 10:51:25 2007