MagickCore
7.1.2-29
Convert, Edit, Or Compose Bitmap Images
Toggle main menu visibility
Loading...
Searching...
No Matches
geometry.h
1
/*
2
Copyright @ 1999 ImageMagick Studio LLC, a non-profit organization
3
dedicated to making software imaging solutions freely available.
4
5
You may not use this file except in compliance with the License. You may
6
obtain a copy of the License at
7
8
https://imagemagick.org/license/
9
10
Unless required by applicable law or agreed to in writing, software
11
distributed under the License is distributed on an "AS IS" BASIS,
12
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
See the License for the specific language governing permissions and
14
limitations under the License.
15
16
MagickCore image geometry methods.
17
*/
18
#ifndef MAGICKCORE_GEOMETRY_H
19
#define MAGICKCORE_GEOMETRY_H
20
21
#if defined(__cplusplus) || defined(c_plusplus)
22
extern
"C"
{
23
#endif
24
25
typedef
enum
26
{
27
#undef NoValue
28
NoValue = 0x0000,
29
#undef XValue
30
XValue = 0x0001,
31
XiValue = 0x0001,
32
#undef YValue
33
YValue = 0x0002,
34
PsiValue = 0x0002,
35
#undef WidthValue
36
WidthValue = 0x0004,
37
RhoValue = 0x0004,
38
#undef HeightValue
39
HeightValue = 0x0008,
40
SigmaValue = 0x0008,
41
ChiValue = 0x0010,
42
XiNegative = 0x0020,
43
#undef XNegative
44
XNegative = 0x0020,
45
PsiNegative = 0x0040,
46
#undef YNegative
47
YNegative = 0x0040,
48
ChiNegative = 0x0080,
49
PercentValue = 0x1000,
/* '%' percentage of something */
50
AspectValue = 0x2000,
/* '!' resize no-aspect - special use flag */
51
NormalizeValue = 0x2000,
/* '!' ScaleKernelValue() in morphology.c */
52
LessValue = 0x4000,
/* '<' resize smaller - special use flag */
53
GreaterValue = 0x8000,
/* '>' resize larger - spacial use flag */
54
MinimumValue = 0x10000,
/* '^' special handling needed */
55
CorrelateNormalizeValue = 0x10000,
/* '^' see ScaleKernelValue() */
56
AreaValue = 0x20000,
/* '@' resize to area - special use flag */
57
DecimalValue = 0x40000,
/* '.' floating point numbers found */
58
SeparatorValue = 0x80000,
/* 'x' separator found */
59
AspectRatioValue = 0x100000,
/* '~' special handling needed */
60
AlphaValue = 0x200000,
/* '/' alpha */
61
MaximumValue = 0x400000,
/* '#' special handling needed */
62
#undef AllValues
63
AllValues = 0x7fffffff
64
} GeometryFlags;
65
66
#if defined(ForgetGravity)
67
#undef ForgetGravity
68
#undef NorthWestGravity
69
#undef NorthGravity
70
#undef NorthEastGravity
71
#undef WestGravity
72
#undef CenterGravity
73
#undef EastGravity
74
#undef SouthWestGravity
75
#undef SouthGravity
76
#undef SouthEastGravity
77
#endif
78
79
typedef
enum
80
{
81
UndefinedGravity,
82
ForgetGravity = 0,
83
NorthWestGravity = 1,
84
NorthGravity = 2,
85
NorthEastGravity = 3,
86
WestGravity = 4,
87
CenterGravity = 5,
88
EastGravity = 6,
89
SouthWestGravity = 7,
90
SouthGravity = 8,
91
SouthEastGravity = 9
92
} GravityType;
93
94
typedef
struct
_AffineMatrix
95
{
96
double
97
sx,
98
rx,
99
ry,
100
sy,
101
tx,
102
ty;
103
} AffineMatrix;
104
105
typedef
struct
_GeometryInfo
106
{
107
double
108
rho,
109
sigma,
110
xi,
111
psi,
112
chi;
113
} GeometryInfo;
114
115
typedef
struct
_OffsetInfo
116
{
117
ssize_t
118
x,
119
y;
120
} OffsetInfo;
121
122
typedef
struct
_PointInfo
123
{
124
double
125
x,
126
y;
127
} PointInfo;
128
129
typedef
struct
_RectangleInfo
130
{
131
size_t
132
width,
133
height;
134
135
ssize_t
136
x,
137
y;
138
} RectangleInfo;
139
140
extern
MagickExport
char
141
*GetPageGeometry(
const
char
*);
142
143
extern
MagickExport MagickBooleanType
144
IsGeometry(
const
char
*),
145
IsSceneGeometry(
const
char
*,
const
MagickBooleanType);
146
147
extern
MagickExport MagickStatusType
148
GetGeometry(
const
char
*,ssize_t *,ssize_t *,
size_t
*,
size_t
*),
149
ParseAbsoluteGeometry(
const
char
*,RectangleInfo *),
150
ParseAffineGeometry(
const
char
*,AffineMatrix *,ExceptionInfo *),
151
ParseGeometry(
const
char
*,GeometryInfo *),
152
ParseGravityGeometry(
const
Image *,
const
char
*,RectangleInfo *,
153
ExceptionInfo *),
154
ParseMetaGeometry(
const
char
*,ssize_t *,ssize_t *,
size_t
*,
size_t
*),
155
ParsePageGeometry(
const
Image *,
const
char
*,RectangleInfo *,ExceptionInfo *),
156
ParseRegionGeometry(
const
Image *,
const
char
*,RectangleInfo *,
157
ExceptionInfo *);
158
159
extern
MagickExport
void
160
GravityAdjustGeometry(
const
size_t
,
const
size_t
,
const
GravityType,
161
RectangleInfo *),
162
SetGeometry(
const
Image *,RectangleInfo *),
163
SetGeometryInfo(GeometryInfo *);
164
165
#if defined(__cplusplus) || defined(c_plusplus)
166
}
167
#endif
168
169
#endif
_AffineMatrix
Definition
geometry.h:95
_GeometryInfo
Definition
geometry.h:106
_OffsetInfo
Definition
geometry.h:116
_PointInfo
Definition
geometry.h:123
_RectangleInfo
Definition
geometry.h:130
MagickCore
geometry.h
Generated by
1.17.0