MrSID Decode SDK for Raster Reference Manual 9.5.4.4709

- Main Page
- Namespaces
- Classes
- Files
- Examples

- File List
- File Members

TextSegment.h
Go to the documentation of this file.
1 /* //////////////////////////////////////////////////////////////////////////
2 // //
3 // This code is Copyright (c) 2010 LizardTech, Inc, 1008 Western Avenue, //
4 // Suite 200, Seattle, WA 98104. Unauthorized use or distribution //
5 // prohibited. Access to and use of this code is permitted only under //
6 // license from LizardTech, Inc. Portions of the code are protected by //
7 // US and foreign patents and other filings. All Rights Reserved. //
8 // //
10 /* PUBLIC */
11
12 #ifndef TextSegment_H
13 #define TextSegment_H
14
15 // lt_lib_base
16 #include "lt_base.h"
17
18 // local
19 #include "Segment.h"
20
21 LT_BEGIN_LIZARDTECH_NAMESPACE
22 class LTIOStreamInf;
23
24 namespace Nitf {
25
26 class TextSegmentMetadata;
27
28
36 class TextSegment : public Segment
37 {
38 public:
39 // not for public use -- to get a DataSegment, use NITFReaderManager::getTextSegment
40 TextSegment(NITFReaderManager&, LTIOStreamInf&,
41 int segmentNumber,
42 lt_int64 headerOffset, lt_int64 headerLength,
43 lt_int64 dataOffset, lt_int64 dataLength);
44
45 // not for public use
46 ~TextSegment();
47
48 // not for public use
49 LT_STATUS initialize();
50
58 lt_uint8* getTextData() const;
59
67 lt_uint32 getTextDataLength() const;
68
69 // not for public use
70 LT_STATUS addMetadataLocal(LTIMetadataDatabase& db) const;
71
72 private:
73 LT_STATUS readHeader();
74 LT_STATUS readData();
75
76 TextSegmentMetadata* m_textMetadata;
77
78 char* m_TXTALVL; // 3
79 char* m_TXTFMT; // 3
80
81 lt_uint8* m_textData;
82 lt_uint32 m_textDataLen;
83
84 // nope
85 TextSegment(TextSegment&);
86 TextSegment& operator=(const TextSegment&);
87 };
88
89
90 }
91 LT_END_LIZARDTECH_NAMESPACE
92
93 #endif // TextSegment_H

LizardTech