# Ogre::ILImageCodec Class Reference

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

`#include <OgreILImageCodec.h>`

Inheritance diagram for Ogre::ILImageCodec:

List of all members.

## Public Types

typedef SharedPtr< CodecData > | CodecDataPtr
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.

## Static Public Member Functions

void | registerCodec (Codec *pCodec)
| Registers a new codec in the database.
void | unRegisterCodec (Codec *pCodec)
| Unregisters a codec from the database.
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

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

## Private Attributes

String | mType
unsigned int | mIlType

## Static Private Attributes

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 37 of file OgreILImageCodec.h.

## Member Typedef Documentation

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

| Definition at line 61 of file OgreCodec.h.

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

| Definition at line 46 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 97 of file OgreCodec.h.

## Constructor & Destructor Documentation

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

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

| Definition at line 46 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.

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

| Gets the codec registered for the passed in file extension.

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.

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

| Registers a new codec in the database. Definition at line 68 of file OgreCodec.h. References Ogre::Codec::getType().

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

| Unregisters a codec from the database. Definition at line 75 of file OgreCodec.h. References Ogre::Codec::getType().

## Member Data Documentation

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

| Definition at line 40 of file OgreILImageCodec.h.

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

| Definition at line 42 of file OgreILImageCodec.h.

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

| A map that contains all the registered codecs. Definition at line 49 of file OgreCodec.h.

String Ogre::ILImageCodec::mType `[private]`

| Definition at line 41 of file OgreILImageCodec.h.

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

- OgreILImageCodec.h

Copyright © 2000-2005 by The OGRE Team
Last modified Sun Nov 20 12:37:02 2005