MrSID Decode SDK for Raster Reference Manual
9.0.0.3864
|
00001 /* $Id$ */ 00002 /* ////////////////////////////////////////////////////////////////////////// 00003 // // 00004 // This code is Copyright (c) 2004 LizardTech, Inc, 1008 Western Avenue, // 00005 // Suite 200, Seattle, WA 98104. Unauthorized use or distribution // 00006 // prohibited. Access to and use of this code is permitted only under // 00007 // license from LizardTech, Inc. Portions of the code are protected by // 00008 // US and foreign patents and other filings. All Rights Reserved. // 00009 // // 00011 /* PUBLIC */ 00012 00013 #ifndef TIFFIMAGEWRITER_H 00014 #define TIFFIMAGEWRITER_H 00015 00016 // lt_lib_mrsid_core 00017 #include "lti_geoFileImageWriter.h" 00018 00019 struct tiff; 00020 00021 00022 LT_BEGIN_NAMESPACE(LizardTech) 00023 00024 #if defined(LT_COMPILER_MS) 00025 #pragma warning(push,4) 00026 #endif 00027 00028 class LTReusableBuffer; 00029 00035 class TIFFImageWriter : public LTIGeoFileImageWriter 00036 { 00037 LT_DISALLOW_COPY_CONSTRUCTOR(TIFFImageWriter); 00038 public: 00046 TIFFImageWriter(bool writeGeoTIFF = false); 00047 00048 virtual ~TIFFImageWriter(); 00049 LT_STATUS initialize(LTIImageStage *image); 00050 00059 void setWriteResolution(bool enable); 00060 00066 void setAllowWritingBigTIFF(bool allowBigTIFF); 00072 void setForceWritingBigTIFF(bool forceBigTIFF); 00073 00074 LT_STATUS writeBegin(const LTIScene& scene); 00075 LT_STATUS writeStrip(LTISceneBuffer& stripBuffer, const LTIScene& stripScene); 00076 LT_STATUS writeEnd(); 00077 00078 private: 00079 static LT_STATUS getLibtiffError(void); 00080 00081 struct tiff *m_tiff; 00082 bool m_writeResolution; 00083 bool m_writeGeoTIFF; 00084 bool m_allowBigTIFF; 00085 bool m_forceBigTIFF; 00086 00087 long m_currentRow; 00088 lt_int32 m_compression; 00089 LTReusableBuffer* m_stripBuffer; 00090 }; 00091 00092 00093 LT_END_NAMESPACE(LizardTech) 00094 00095 #if defined(LT_COMPILER_MS) 00096 #pragma warning(pop) 00097 #endif 00098 00099 #endif // TIFFIMAGEWRITER_H