libHSPlasma
Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
plMipmap Class Reference

#include <plMipmap.h>

Inheritance diagram for plMipmap:
plBitmap hsKeyedObject plCreatable plDynamicTextMap plLODMipmap

Classes

struct  LevelData

Public Types

enum  { kColorDataRLE = 0x1, kAlphaDataRLE = 0x2 }
- Public Types inherited from plBitmap
enum  Flags {
  kAlphaChannelFlag = 0x1, kAlphaBitFlag = 0x2, kBumpEnvMap = 0x4, kForce32Bit = 0x8,
  kDontThrowAwayImage = 0x10, kForceOneMipLevel = 0x20, kNoMaxSize = 0x40, kIntensityMap = 0x80,
  kHalfSize = 0x100, kUserOwnsBitmap = 0x200, kForceRewrite = 0x400, kForceNonCompressed = 0x800,
  kIsTexture = 0x1000, kIsOffscreen = 0x2000, kIsProjected = 0x4000, kIsOrtho = 0x8000
}
enum  CompressionType { kUncompressed, kDirectXCompression, kJPEGCompression }
enum  ColorSpace { kNoSpace, kDirectSpace, kGraySpace, kIndexSpace }
enum  DxtType {
  kDXTError, kDXT1, kDXT2_UNUSED, kDXT3,
  kDXT4_UNUSED, kDXT5
}
enum  ColorFormat {
  kRGB8888, kRGB4444, kRGB1555, kInten8,
  kAInten88
}

Public Member Functions

 plMipmap ()
 plMipmap (unsigned int width, unsigned int height, unsigned char numLevels, unsigned char compType, ColorFormat format, unsigned char dxtLevel=kDXTError)
virtual ~plMipmap ()
void Create (unsigned int width, unsigned int height, unsigned char numLevels, unsigned char compType, ColorFormat format, unsigned char dxtLevel=kDXTError)
void CopyFrom (plMipmap *src)
virtual void read (hsStream *S, plResManager *mgr)
virtual void write (hsStream *S, plResManager *mgr)
void readData (hsStream *S)
void writeData (hsStream *S)
unsigned int getWidth () const
unsigned int getHeight () const
const void * getImageData () const
size_t getTotalSize () const
size_t getNumLevels () const
unsigned int getLevelSize (size_t idx) const
unsigned int getLevelWidth (size_t idx) const
unsigned int getLevelHeight (size_t idx) const
const void * getLevelData (size_t idx) const
size_t getJpegSize () const
size_t getJpegAlphaSize () const
const void * getJpegImage () const
const void * getJpegAlpha () const
void setImageData (const void *data, size_t size)
void setLevelData (size_t idx, const void *data, size_t size)
void setImageJPEG (const void *data, size_t size)
void setAlphaJPEG (const void *data, size_t size)
void setColorData (const void *data, size_t size)
void setAlphaData (const void *alpha, size_t size)
void extractColorData (void *buffer, size_t size) const
void extractAlphaData (void *buffer, size_t size) const
bool isImageJPEG () const
bool isAlphaJPEG () const
size_t GetUncompressedSize (size_t level) const
void DecompressImage (size_t level, void *dest, size_t size)
void CompressImage (size_t level, void *src, size_t size)
- Public Member Functions inherited from plBitmap
 plBitmap ()
void setConfig (ColorFormat format)
unsigned char getBPP () const
unsigned char getSpace () const
unsigned short getFlags () const
unsigned char getCompressionType () const
unsigned char getDXCompression () const
unsigned char getDXBlockSize () const
unsigned char getARGBType () const
unsigned int getLowModTime () const
unsigned int getHighModTime () const
void setBPP (unsigned char bpp)
void setSpace (unsigned char space)
void setFlags (unsigned short flags)
void setCompressionType (unsigned char type)
void setDXCompression (unsigned char type)
void setDXBlockSize (unsigned char size)
void setARGBType (unsigned char type)
void setModTime (unsigned int low, unsigned int high)
- Public Member Functions inherited from hsKeyedObject
void init (const plString &name)
plKey getKey () const
void setKey (plKey key)
- Public Member Functions inherited from plCreatable
 plCreatable ()
virtual ~plCreatable ()
virtual short ClassIndex () const =0
short ClassIndex (PlasmaVer ver) const
virtual const char * ClassName () const
virtual bool ClassInstance (short) const
virtual bool isStub () const
virtual void prcWrite (pfPrcHelper *prc)
virtual void prcParse (const pfPrcTag *tag, plResManager *mgr)

Protected Member Functions

void IRead (hsStream *S)
void IWrite (hsStream *S)
virtual void IPrcWrite (pfPrcHelper *prc)
virtual void IPrcParse (const pfPrcTag *tag, plResManager *mgr)
size_t IBuildLevelSizes ()
void IReadJPEGImage (hsStream *S)
void IReadRawImage (hsStream *S)
void IReadRLEImage (hsStream *S, bool alpha)
void IWriteJPEGImage (hsStream *S)
void IWriteRawImage (hsStream *S)
void IWriteRLEImage (hsStream *S, bool alpha)

Protected Attributes

unsigned char * fImageData
size_t fTotalSize
unsigned char * fJPEGData
size_t fJPEGSize
unsigned char * fJAlphaData
size_t fJAlphaSize
unsigned int fWidth
unsigned int fHeight
unsigned int fStride
std::vector< LevelDatafLevelData
- Protected Attributes inherited from plBitmap
unsigned char fPixelSize
unsigned char fSpace
unsigned short fFlags
unsigned char fCompressionType
union {
   DirectXInfo   fDXInfo
   UncompressedInfo   fUncompressedInfo
}; 
unsigned int fLowModTime
unsigned int fHighModTime

Additional Inherited Members

- Static Public Attributes inherited from plBitmap
static const char * kCompressionTypeNames []
static const char * kSpaceNames []
static const char * kUncompressedTypeNames []
static const char * kCompressedTypeNames []

Member Enumeration Documentation

anonymous enum
Enumerator:
kColorDataRLE 
kAlphaDataRLE 

Constructor & Destructor Documentation

plMipmap::plMipmap ( )
plMipmap::plMipmap ( unsigned int  width,
unsigned int  height,
unsigned char  numLevels,
unsigned char  compType,
ColorFormat  format,
unsigned char  dxtLevel = kDXTError 
)
virtual plMipmap::~plMipmap ( )
virtual

Member Function Documentation

void plMipmap::CompressImage ( size_t  level,
void *  src,
size_t  size 
)
void plMipmap::CopyFrom ( plMipmap src)
void plMipmap::Create ( unsigned int  width,
unsigned int  height,
unsigned char  numLevels,
unsigned char  compType,
ColorFormat  format,
unsigned char  dxtLevel = kDXTError 
)
void plMipmap::DecompressImage ( size_t  level,
void *  dest,
size_t  size 
)
void plMipmap::extractAlphaData ( void *  buffer,
size_t  size 
) const
void plMipmap::extractColorData ( void *  buffer,
size_t  size 
) const
unsigned int plMipmap::getHeight ( ) const
const void* plMipmap::getImageData ( ) const
const void* plMipmap::getJpegAlpha ( ) const
size_t plMipmap::getJpegAlphaSize ( ) const
const void* plMipmap::getJpegImage ( ) const
size_t plMipmap::getJpegSize ( ) const
const void* plMipmap::getLevelData ( size_t  idx) const
unsigned int plMipmap::getLevelHeight ( size_t  idx) const
unsigned int plMipmap::getLevelSize ( size_t  idx) const
unsigned int plMipmap::getLevelWidth ( size_t  idx) const
size_t plMipmap::getNumLevels ( ) const
size_t plMipmap::getTotalSize ( ) const
size_t plMipmap::GetUncompressedSize ( size_t  level) const
unsigned int plMipmap::getWidth ( ) const
size_t plMipmap::IBuildLevelSizes ( )
protected
virtual void plMipmap::IPrcParse ( const pfPrcTag tag,
plResManager mgr 
)
protectedvirtual

This must be overloaded by subclasses to parse PRC data specific to the class from the PRC document. It is called once for each tag that is a child to the Creatable tag itself, so subclasses should check for each supported tag and handle it accordingly if it matches. If the tag is not recognized, it should be passed along to the parent class.

Reimplemented from plBitmap.

Reimplemented in plLODMipmap, and plDynamicTextMap.

virtual void plMipmap::IPrcWrite ( pfPrcHelper prc)
protectedvirtual

This must be overloaded by subclasses to write PRC data specific to the class to the PRC document. Do not write the top-level creatable tag, that is handled by prcWrite().

Reimplemented from plBitmap.

Reimplemented in plLODMipmap, and plDynamicTextMap.

void plMipmap::IRead ( hsStream S)
protected

Performs internal plBitmap header read

Reimplemented from plBitmap.

void plMipmap::IReadJPEGImage ( hsStream S)
protected
void plMipmap::IReadRawImage ( hsStream S)
protected
void plMipmap::IReadRLEImage ( hsStream S,
bool  alpha 
)
protected
bool plMipmap::isAlphaJPEG ( ) const
bool plMipmap::isImageJPEG ( ) const
void plMipmap::IWrite ( hsStream S)
protected

Performs internal plBitmap header write

Reimplemented from plBitmap.

void plMipmap::IWriteJPEGImage ( hsStream S)
protected
void plMipmap::IWriteRawImage ( hsStream S)
protected
void plMipmap::IWriteRLEImage ( hsStream S,
bool  alpha 
)
protected
virtual void plMipmap::read ( hsStream ,
plResManager  
)
virtual

Reads this creatable directly from the stream. If any keys are read, they will be added to the plResManager automatically.

Reimplemented from plBitmap.

Reimplemented in plLODMipmap, and plDynamicTextMap.

void plMipmap::readData ( hsStream S)
void plMipmap::setAlphaData ( const void *  alpha,
size_t  size 
)
void plMipmap::setAlphaJPEG ( const void *  data,
size_t  size 
)
void plMipmap::setColorData ( const void *  data,
size_t  size 
)
void plMipmap::setImageData ( const void *  data,
size_t  size 
)
void plMipmap::setImageJPEG ( const void *  data,
size_t  size 
)
void plMipmap::setLevelData ( size_t  idx,
const void *  data,
size_t  size 
)
virtual void plMipmap::write ( hsStream ,
plResManager  
)
virtual

Writes this creatable directly to the stream. The plResManager is used to manage any key references written by this creatable.

Reimplemented from plBitmap.

Reimplemented in plLODMipmap, and plDynamicTextMap.

void plMipmap::writeData ( hsStream S)

Member Data Documentation

unsigned int plMipmap::fHeight
protected
unsigned char* plMipmap::fImageData
protected
unsigned char* plMipmap::fJAlphaData
protected
size_t plMipmap::fJAlphaSize
protected
unsigned char* plMipmap::fJPEGData
protected
size_t plMipmap::fJPEGSize
protected
std::vector<LevelData> plMipmap::fLevelData
protected
unsigned int plMipmap::fStride
protected
size_t plMipmap::fTotalSize
protected
unsigned int plMipmap::fWidth
protected

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