00001 //*************************************************************************************** 00002 // File supervisor: Crosswalk team 00012 //*************************************************************************************** 00013 00014 #ifndef _XSIIMAGEDATA_H 00015 #define _XSIIMAGEDATA_H 00016 00017 #include "Template.h" 00018 #include "XSIImage.h" 00019 00020 #ifndef _SL_INT_ARRAY_PROXY_EXPORT_ 00021 #define _SL_INT_ARRAY_PROXY_EXPORT_ 00022 00023 #endif 00024 00031 class XSIEXPORT CSLImageData 00032 : public CSLTemplate 00033 { 00034 public: 00035 00038 typedef CSLArrayProxy<SI_Int, SI_Int, 1> CSLIntArray; 00039 00041 enum ECompressionType 00042 { 00043 SI_UNCOMPRESSED = 0, 00044 }; 00045 00051 CSLImageData(CSLScene* in_pScene, CSLModel *in_pModel, CdotXSITemplate* in_pTemplate); 00052 00054 virtual ~CSLImageData(); 00055 00059 SI_Error Synchronize(); 00060 00064 ETemplateType Type(){ return XSI_IMAGE_DATA; } 00065 00069 SI_Void SetImageData( CSIBCArray<SI_Int> &in_Data ); 00070 00074 SI_Int GetImageDataCount(); 00075 00079 CSLIntArray* GetImageDataList(); 00080 00084 SI_Int* GetImageDataListPtr(); 00085 00089 ECompressionType GetCompressionType(); 00090 00094 SI_Void SetCompressionType( ECompressionType in_Type ); 00095 00096 private: 00097 CSLEnumProxy<ECompressionType, SI_UNCOMPRESSED> m_CompressionType; 00098 CSLIntArray m_ImageData; 00099 00100 SI_Void *m_pReserved; 00101 }; 00102 00103 #endif