MrSID Decode SDK for Raster Reference Manual
9.5.1.4427
Main Page
Namespaces
Classes
Files
Examples
File List
File Members
lti_embeddedImage.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_EMBEDDED_IMAGE_H
14
#define LTI_EMBEDDED_IMAGE_H
15
16
// lt_lib_mrsid_core
17
#include "
lti_imageFilter.h
"
18
#include "
lti_imageStageOverrides.h
"
19
#include "
lti_scene.h
"
20
#include "
lti_sceneBuffer.h
"
21
22
LT_BEGIN_NAMESPACE
(LizardTech)
23
24
39
#ifdef SWIG
40
class
LTIEmbeddedImage
:
public
LTIImageFilter
41
#else
42
class
LTIEmbeddedImage
:
public
LTIOverrideDimensions
43
<LTIOverridePixelProps
44
<LTIOverrideBackgroundPixel
45
<LTIOverrideGeoCoord
46
<LTIImageFilter> > > >
47
#endif
48
{
49
LTI_REFERENCE_COUNTED_BOILERPLATE
(
LTIEmbeddedImage
);
50
public
:
51
enum
AlphaMode
52
{
53
DoNothing
,
54
FromMerge
,
55
FromSourceRectangle
,
56
};
57
77
LT_STATUS
initialize
(
LTIImageStage
* srcImage,
78
lt_uint32
newWidth,
79
lt_uint32
newHeight,
80
double
newXPos,
81
double
newYPos,
82
const
LTIPixel
* backgroundPixel,
83
const
LTIPixel
* nodataPixel,
84
AlphaMode
alphaMode =
DoNothing
);
85
86
87
// LTIImage
88
LT_STATUS
getDimsAtMag
(
double
mag,
89
lt_uint32
&width,
90
lt_uint32
&height)
const
;
91
92
// LTIImageStage
93
lt_int64
getEncodingCost
(
const
LTIScene
& scene)
const
;
94
bool
getReaderScene
(
const
LTIScene
&decodeScene,
95
LTIScene
&readerScene)
const
;
96
97
104
LT_STATUS
setFillingBackground
(
bool
fill);
105
111
bool
getFillingBackground
(
void
)
const
;
112
118
LT_STATUS
setFillMethod
(
LTIPixelFillMethod
method,
119
double
fuzzyThreshold
/*= LTISceneBuffer::DefaultFuzzyThreshold*/
);
120
124
LTIPixelFillMethod
getFillMethod
(
void
)
const
;
125
double
getFuzzyThreshold
(
void
)
const
;
126
127
// LTIImageStage
128
virtual
lt_uint32
getModifications
(
const
LTIScene
&scene)
const
;
129
130
// for LizardTech internal use only
131
lt_int32
getChildXPosAtMag
(
double
mag)
const
;
132
// for LizardTech internal use only
133
lt_int32
getChildYPosAtMag
(
double
mag)
const
;
134
// for LizardTech internal use only
135
bool
getChildScene
(
const
LTIScene
&parentScene,
LTIScene
&childScene)
const
;
136
protected
:
137
LT_STATUS
decodeBegin
(
const
LTIPixel
&pixelProps,
138
const
LTIScene
&fullScene);
139
LT_STATUS
decodeStrip
(
LTISceneBuffer
&stripBuffer,
140
const
LTIScene
&stripScene);
141
LT_STATUS
decodeEnd
(
void
);
142
143
private
:
144
double
m_childXPos_P;
145
double
m_childYPos_P;
146
147
LTIScene
m_parentScene;
148
LTIScene
m_childScene;
149
bool
m_haveAnything;
150
lt_int32
m_firstStrip;
151
lt_int32
m_lastStrip;
152
153
bool
m_fillingBackground;
154
LTIPixelFillMethod
m_fillMethod;
155
double
m_fuzzyThreshold;
156
AlphaMode
m_alphaMode;
157
158
LTIPixel
*m_decodePixelProps;
159
};
160
161
162
LT_END_NAMESPACE
(LizardTech)
163
164
#endif // LTI_EMBEDDED_IMAGE_H
LizardTech