00001
00048 #ifndef INC_SPATMOD_IMAGEFORMAT_H
00049 #define INC_SPATMOD_IMAGEFORMAT_H
00050
00051 namespace SPATMOD {
00052 namespace IMAGE {
00053
00054 class FACTORY_TARGET_FILE;
00055
00057 class FORMAT {
00058 public:
00059
00062 enum SPEC {
00063 SPEC_Undefined,
00064 SPEC_JPEG,
00065 SPEC_PNG,
00066 SPEC_TIFF,
00067 SPEC_JP2,
00068 SPEC_GIF,
00069 SPEC_SVG,
00070 SPEC_SVGZ,
00071 SPEC_DAE,
00072 SPEC_PNG16,
00073 SPEC_PNG16A,
00074 SPEC_PNG16OLD,
00075 SPEC_PNG24,
00076 SPEC_PNG32,
00077 SPEC_KML
00078 };
00079
00081 FORMAT ();
00082
00084 FORMAT (
00085 FORMAT::SPEC spec,
00086 const char *FileExtn = 0
00087 );
00088
00090 FORMAT (
00091 const FACTORY_TARGET_FILE& FactoryTgt,
00092 const char *FileExtn = 0
00093 );
00094
00096 FORMAT (
00097 const char *str,
00098 const char *FileExtn = 0
00099 );
00100
00102 FORMAT (const FORMAT& rhs);
00103
00105 ~FORMAT ();
00106
00108 FORMAT& operator= (const FORMAT& rhs);
00109
00111 const char* GetFileExtn (
00112 ) const;
00113
00116 const FACTORY_TARGET_FILE* GetFactoryTgt (
00117 ) const { return (m_pFactoryTgt); }
00118
00121 const char* GetMimeType (
00122 ) const;
00123
00125 SPEC GetSpec (
00126 ) const { return (m_Spec); }
00127
00128 private:
00129 #ifndef GENERATING_DOXYGEN_OUTPUT
00130 FORMAT::SPEC m_Spec;
00131 char *m_FileExtn;
00132 FACTORY_TARGET_FILE *m_pFactoryTgt;
00133 #endif
00134 };
00135
00136 }
00137 }
00138
00139 #endif // INC_SPATMOD_IMAGESPEC_H