00001 00021 #ifndef INC_SPATMOD_IMAGEPIXELTABLE_H 00022 #define INC_SPATMOD_IMAGEPIXELTABLE_H 00023 00024 #ifndef INC_SPATMOD_IMAGEPIXEL_H 00025 #include <spatmod/imagepixel.h> 00026 #endif 00027 00028 #ifndef INC_SPATMOD_IMAGESAMPLETABLE_H 00029 #include <spatmod/imagesampletable.h> 00030 #endif 00031 00032 struct COLOR; 00033 class COLOR_ARRAY; 00034 00035 namespace SPATMOD { 00036 namespace IMAGE { 00037 00038 //===================================================================================================================== 00039 00041 class PIXELTABLE { 00042 public: 00043 00045 PIXELTABLE (); 00046 00048 PIXELTABLE ( 00049 const PIXELTABLE& rhs 00050 ); 00051 00053 ~PIXELTABLE (); 00054 00057 ERRVALUE Create ( 00058 const PIXEL& PixelProperties, 00059 UINT32 NumItems 00060 ); 00061 00065 ERRVALUE Create ( 00066 const COLOR *colors, 00067 INT32 NumItems 00068 ); 00069 00071 void Exchange ( 00072 PIXELTABLE& other 00073 ); 00074 00077 ERRVALUE GetColors ( 00078 COLOR_ARRAY& Colors 00079 ) const; 00080 00082 ERRVALUE GetItem ( 00083 UINT32 index, 00084 PIXEL& value 00085 ) const; 00086 00088 UINT32 GetNumItems ( 00089 ) const; 00090 00092 const PIXEL& GetPixelProperties ( 00093 ) const { return (m_PixelProperties); } 00094 00097 const void* GetPtrItem ( 00098 UINT16 SampleIdx, 00099 UINT32 ItemIndex 00100 ) const { return (GetSampleTable(SampleIdx).GetPtrItem(ItemIndex)); } 00101 00103 const SAMPLETABLE& GetSampleTable ( 00104 UINT16 SampleIdx 00105 ) const { return (m_SampleTables[SampleIdx]); } 00106 00108 SAMPLETABLE& GetSampleTable ( 00109 UINT16 SampleIdx 00110 ) { return (m_SampleTables[SampleIdx]); } 00111 00113 ERRVALUE SetAllItems ( 00114 const PIXEL& value 00115 ); 00116 00118 ERRVALUE SetItem ( 00119 UINT32 index, 00120 const PIXEL& value 00121 ); 00122 00123 private: 00124 #ifndef GENERATING_DOXYGEN_OUTPUT 00125 PIXEL m_PixelProperties; 00126 SAMPLETABLE *m_SampleTables; 00127 00128 PIXELTABLE& operator= (const PIXELTABLE& rhs); 00129 #endif // GENERATING_DOXYGEN_OUTPUT 00130 }; 00131 00132 //===================================================================================================================== 00133 00134 } // End namespace IMAGE 00135 } // End namespace SPATMOD 00136 00137 #endif // INC_SPATMOD_IMAGEPIXELTABLE_H
1.6.1