Main Page | Class Hierarchy | Alphabetical List | Data Structures | File List | Data Fields | Globals | Related Pages | Examples

vetFrameRGBA32.h

00001 
00028 #ifndef __VETLIBVETFRAMERGBA32_H__
00029  #define __VETLIBVETFRAMERGBA32_H__
00030 
00031  #define VETFRAMERGB24_SLOWMODE
00032 
00033  #include "vetDefs.h"
00034 
00035 // #include "PixelRGB24.h"
00036  #include "vetFrame.h"
00037 
00038  class vetFrameRGBA32;
00039   #include "vetFrameYUV420.h"
00040   #include "vetFrameRGB24.h"
00041   #include "vetFrameRGB96.h"
00042 
00043 typedef char* PixelRGBA32;
00044 
00045 class vetFrameRGBA32 : public virtual vetFrame
00046  {
00047 
00048         public:
00049 
00053                 bool autoFreeData;
00054 
00055 
00059                 unsigned char *data;
00060 
00061 
00062         public:
00063 
00067                 enum ChannelRGBA { RED, GREEN, BLUE, ALPHA };
00068 
00072                 vetFrameRGBA32();
00073 
00079                 vetFrameRGBA32(unsigned int width, unsigned int height);
00080 
00085                 vetFrameRGBA32(vetFrameRGBA32& img);
00086 
00091                 vetFrameRGBA32(vetFrameRGB24& img);
00092 
00097                 vetFrameRGBA32(vetFrameRGB96& img);
00098 
00102                 ~vetFrameRGBA32();
00103 
00104 
00105                 void* dump_buffer() { return static_cast<void*>(data); };
00106 
00107                 unsigned int getBufferSize() { return (unsigned int)( width * height * 4); };
00108 
00109 
00110                 VETRESULT reAllocCanvas(unsigned int w, unsigned int h);
00111 
00112                 unsigned int getBpp() { return 32; };
00113                 VETRESULT setBlack();
00114                 VETRESULT setWhite();
00115 
00116                 VETRESULT extractBrightness(unsigned char* buffer, unsigned int* size = NULL );
00117 
00125                 vetFrameRGBA32& clearWith(unsigned char* bg);
00126 
00127 
00137                 VETRESULT setPixel(unsigned int x, unsigned int y, unsigned char* p);
00138 
00139 
00149                 VETRESULT getPixel(unsigned int x, unsigned int y, unsigned char* p);
00150 
00151 
00152 
00161                 vetFrameRGBA32& operator = (vetFrameRGBA32& img);
00162 
00171                 vetFrameRGBA32& operator += (vetFrameRGBA32& img);
00172 
00181                 vetFrameRGBA32& operator -= (vetFrameRGBA32& img);
00182 
00183 
00184                 void operator << (const vetFrameRGB24& img);
00185                 void operator << (const vetFrameRGB96& img);
00186 
00187                 vetFrameRGBA32& operator >> (vetFrameRGB24& img);
00188                 vetFrameRGBA32& operator >> (vetFrameRGB96& img);
00189 
00190 
00191                 VETFRAME_PROFILE getProfile() { return vetFrame::VETFRAME_RGBA32; };
00192                 VETFRAME_CHANNEL_TYPE getChannelType() { return vetFrame::VETFRAME_CT_PLANAR; };
00193 
00194                 int getFOURCC() { return 0x41424752; };
00195 
00196  };
00197 
00198 
00199 
00200 #endif //__VETLIBVETFRAMERGBA32_H__
00201 

Generated on Tue Jan 24 11:59:03 2006 for VETLib by  doxygen 1.4.4