00001 00021 #ifndef INC_MI32_COLORQUANTRASTER_H 00022 #define INC_MI32_COLORQUANTRASTER_H 00023 00024 #ifndef INC_MI32_COLORQUANT_H 00025 #include <mi32/colorquant.h> 00026 #endif 00027 00028 #ifndef INC_RVC_RASTER_H 00029 #include <rvc/raster.h> 00030 #endif 00031 00032 #ifndef INC_RVC_NULLMASK_H 00033 #include <rvc/nullmask.h> 00034 #endif 00035 00036 00037 class COLORQUANTIZER_RASTER : public COLORQUANTIZER { 00038 public: 00039 00041 COLORQUANTIZER_RASTER ( 00042 ); 00043 00045 virtual ~COLORQUANTIZER_RASTER ( 00046 ); 00047 00049 RVC::RASTER& GetTargetRaster ( 00050 ) { return (m_RasterTarget); } 00051 00053 ERRVALUE SetSource ( 00054 const RVC::OBJITEM& ObjItem 00055 ); 00056 00058 ERRVALUE SetSource ( 00059 const RVC::RASTER& Raster 00060 ); 00061 00063 ERRVALUE SetTarget ( 00064 RVC::OBJITEM& ObjItem 00065 ); 00066 00068 ERRVALUE SetTarget ( 00069 const RVC::RASTER& Raster 00070 ); 00071 00072 private: 00073 #ifndef GENERATING_DOXYGEN_OUTPUT 00074 RVC::RASTER m_RasterSource; 00075 RVC::NULLMASK m_MaskSource; 00076 RVC::RASTER m_RasterTarget; 00077 SIMPLE_ARRAY<UINT8> m_BufSource; 00078 SIMPLE_ARRAY<UINT8> m_BufSourceMask; 00079 SIMPLE_ARRAY<UINT8> m_BufTarget; 00080 00081 ERRVALUE SetupSource (); 00082 00083 // COLORQUANTIZER overrides. 00084 virtual ERRVALUE v_EndTargetRow (INT32 row); 00085 virtual INT32 v_GetNumColumns (); 00086 virtual INT32 v_GetNumRows (); 00087 virtual COLORSPACE v_GetSourceColorspace (); 00088 virtual ERRVALUE v_GetSourceRow (INT32 row, const void *& pImageRow, const UINT8 *& pMaskRow); 00089 virtual ERRVALUE v_GetTargetRow (INT32 row, UINT8 *& ptr); 00090 virtual ERRVALUE v_PutTargetPalette (COLOR_ARRAY& palette); 00091 00092 #endif // GENERATING_DOXYGEN_OUTPUT 00093 }; 00094 00095 #endif // INC_MI32_COLORQUANTRASTER_H 00096
1.6.1