MrSID Decode SDK for Raster Reference Manual 9.5.4.4709

- Main Page
- Namespaces
- Classes
- Files
- Examples

- File List
- File Members

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
35 class TIFFImageWriter : public LTIGeoFileImageWriter
36 {
37 LT_DISALLOW_COPY_CONSTRUCTOR(TIFFImageWriter);
38 public:
46 TIFFImageWriter(bool writeGeoTIFF = false);
47
48 virtual ~TIFFImageWriter();
49 LT_STATUS initialize(LTIImageStage *image);
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);
76 LT_STATUS writeEnd();
77
78
79 void setEndian(LTIEndian value);
80
81 private:
82 static LT_STATUS getLibtiffError(void);
83
84 struct tiff *m_tiff;
85 LTIEndian m_endian;
86
87 bool m_writeResolution;
88 bool m_writeGeoTIFF;
89 bool m_allowBigTIFF;
90 bool m_forceBigTIFF;
91
92 long m_currentRow;
93 lt_int32 m_compression;
94 LTReusableBuffer* m_stripBuffer;
95 };
96
97
98 LT_END_NAMESPACE(LizardTech)
99
100 #if defined(LT_COMPILER_MS)
101 #pragma warning(pop)
102 #endif
103
104 #endif // TIFFIMAGEWRITER_H

LizardTech