MrSID Decode SDK for Raster Reference Manual 9.5.4.4709

- Main Page
- Namespaces
- Classes
- Files
- Examples

- File List
- File Members

lti_imageWriter.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 LTI_IMAGEWRITER_H
14 #define LTI_IMAGEWRITER_H
15
16 // lt_lib_mrsid_core
17 #include "lti_types.h"
18
19 #include <stdlib.h>
20
21 LT_BEGIN_NAMESPACE(LizardTech)
22
23
24
31 class LTIImageWriter
32 {
33 LT_DISALLOW_COPY_CONSTRUCTOR(LTIImageWriter);
34 public:
35 virtual ~LTIImageWriter();
36
53 virtual LT_STATUS write(const LTIScene& scene);
54
69 virtual LT_STATUS writeBegin(const LTIScene& scene) = 0;
70
84 virtual LT_STATUS writeStrip(LTISceneBuffer& stripBuffer,
85 const LTIScene& stripScene) = 0;
86
98 virtual LT_STATUS writeEnd(void) = 0;
99
111 virtual LT_STATUS deleteOutput(void) = 0;
112
123 LT_STATUS setStripHeight(lt_uint32 stripHeight);
124
132 lt_uint32 getStripHeight(void) const;
133
144 virtual lt_uint32 getDefaultStripHeight(void) const;
145
155 virtual lt_int64 getEncodingCost(const LTIScene& scene) const;
156
171 void setProgressDelegate(LTIProgressDelegate* delegate);
172
187 void setInterruptDelegate(LTIInterruptDelegate* delegate);
188
189
196 const LTIImageStage *getSourceImageStage(void) const;
197
211 LTIProgressDelegate* getProgressDelegate(void) const;
212
226 LTIInterruptDelegate* getInterruptDelegate(void) const;
227
238 virtual LT_STATUS setEncodingApplication(const char *name,
239 const char *version,
240 const char *comment = NULL);
241 protected:
242 LTIImageWriter(void);
251 LT_STATUS init(LTIImageStage *imageStage);
252 LT_STATUS writeCleanup(LT_STATUS sts);
253
254 LTIImageStage* m_image;
255
256 private:
257 LT_STATUS checkDelegates(const LTIScene& fullScene,
258 const LTIScene* currScene,
259 bool atEnd);
260
261 lt_uint32 m_stripHeight;
262
263 LTIProgressDelegate* m_progressDelegate;
264 LTIInterruptDelegate* m_interruptDelegate;
265 };
266
267
268 LT_END_NAMESPACE(LizardTech)
269
270
271 #endif // LTI_IMAGEWRITER_H

LizardTech