MrSID Decode SDK for Raster Reference Manual  9.1.0.4045
TIFFImageWriter.h
Go to the documentation of this file.
1 /* $Id$ */
2 /* //////////////////////////////////////////////////////////////////////////
3 // //
4 // This code is Copyright (c) 2004 LizardTech, Inc, 1008 Western Avenue, //
5 // Suite 200, Seattle, WA 98104. Unauthorized use or distribution //
6 // prohibited. Access to and use of this code is permitted only under //
7 // license from LizardTech, Inc. Portions of the code are protected by //
8 // US and foreign patents and other filings. All Rights Reserved. //
9 // //
11 /* PUBLIC */
12 
13 #ifndef TIFFIMAGEWRITER_H
14 #define TIFFIMAGEWRITER_H
15 
16 // lt_lib_mrsid_core
17 #include "lti_geoFileImageWriter.h"
18 
19 struct tiff;
20 
21 
22 LT_BEGIN_NAMESPACE(LizardTech)
23 
24 #if defined(LT_COMPILER_MS)
25  #pragma warning(push,4)
26 #endif
27 
28 class LTReusableBuffer;
29 
36 {
37  LT_DISALLOW_COPY_CONSTRUCTOR(TIFFImageWriter);
38 public:
46  TIFFImageWriter(bool writeGeoTIFF = false);
47 
48  virtual ~TIFFImageWriter();
50 
59  void setWriteResolution(bool enable);
60 
66  void setAllowWritingBigTIFF(bool allowBigTIFF);
72  void setForceWritingBigTIFF(bool forceBigTIFF);
73 
74  LT_STATUS writeBegin(const LTIScene& scene);
75  LT_STATUS writeStrip(LTISceneBuffer& stripBuffer, const LTIScene& stripScene);
77 
78 private:
79  static LT_STATUS getLibtiffError(void);
80 
81  struct tiff *m_tiff;
82  bool m_writeResolution;
83  bool m_writeGeoTIFF;
84  bool m_allowBigTIFF;
85  bool m_forceBigTIFF;
86 
87  long m_currentRow;
88  lt_int32 m_compression;
89  LTReusableBuffer* m_stripBuffer;
90 };
91 
92 
93 LT_END_NAMESPACE(LizardTech)
94 
95 #if defined(LT_COMPILER_MS)
96  #pragma warning(pop)
97 #endif
98 
99 #endif // TIFFIMAGEWRITER_H

LizardTech