llimagebmp.h

Go to the documentation of this file.
00001 
00032 #ifndef LL_LLIMAGEBMP_H
00033 #define LL_LLIMAGEBMP_H
00034 
00035 #include "llimage.h"
00036 
00037 // This class compresses and decompressed BMP files
00038 
00039 class LLImageBMP : public LLImageFormatted
00040 {
00041 protected:
00042         virtual ~LLImageBMP();
00043         
00044 public:
00045         LLImageBMP();
00046 
00047         /*virtual*/ BOOL updateData();
00048         /*virtual*/ BOOL decode(LLImageRaw* raw_image, F32 time=0.0);
00049         /*virtual*/ BOOL encode(const LLImageRaw* raw_image, F32 time=0.0);
00050 
00051 protected:
00052         BOOL            decodeColorTable8( U8* dst, U8* src );
00053         BOOL            decodeColorMask16( U8* dst, U8* src );
00054         BOOL            decodeTruecolor24( U8* dst, U8* src );
00055         BOOL            decodeColorMask32( U8* dst, U8* src );
00056 
00057         U32                     countTrailingZeros( U32 m );
00058 
00059 protected:
00060         S32                     mColorPaletteColors;
00061         U8*                     mColorPalette;
00062         S32                     mBitmapOffset;
00063         S32                     mBitsPerPixel;
00064         U32                     mBitfieldMask[4]; // rgba
00065         BOOL            mOriginAtTop;
00066 };
00067 
00068 #endif

Generated on Thu Jul 1 06:08:43 2010 for Second Life Viewer by  doxygen 1.4.7