Magick++
7.1.2-29
Convert, Edit, Or Compose Bitmap Images
Toggle main menu visibility
Loading...
Searching...
No Matches
Geometry.h
1
// This may look like C code, but it is really -*- C++ -*-
2
//
3
// Copyright Bob Friesenhahn, 1999, 2000, 2001, 2002
4
//
5
// Copyright @ 2014 ImageMagick Studio LLC, a non-profit organization
6
// dedicated to making software imaging solutions freely available.
7
//
8
// Geometry Definition
9
//
10
// Representation of an ImageMagick geometry specification
11
// X11 geometry specification plus hints
12
13
#if !defined (Magick_Geometry_header)
14
#define Magick_Geometry_header
15
16
#include "Magick++/Include.h"
17
#include <string>
18
19
namespace
Magick
20
{
21
class
MagickPPExport
Geometry
;
22
23
// Compare two Geometry objects regardless of LHS/RHS
24
MagickPPExport
int
operator
==
25
(
const
Magick::Geometry& left_,
const
Magick::Geometry& right_);
26
MagickPPExport
int
operator
!=
27
(
const
Magick::Geometry& left_,
const
Magick::Geometry& right_);
28
MagickPPExport
int
operator
>
29
(
const
Magick::Geometry& left_,
const
Magick::Geometry& right_);
30
MagickPPExport
int
operator
<
31
(
const
Magick::Geometry& left_,
const
Magick::Geometry& right_);
32
MagickPPExport
int
operator
>=
33
(
const
Magick::Geometry& left_,
const
Magick::Geometry& right_);
34
MagickPPExport
int
operator
<=
35
(
const
Magick::Geometry& left_,
const
Magick::Geometry& right_);
36
37
class
MagickPPExport Geometry
38
{
39
public
:
40
41
// Default constructor
42
Geometry();
43
44
// Construct Geometry from specified string
45
Geometry(
const
char
*geometry_);
46
47
// Copy constructor
48
Geometry(
const
Geometry &geometry_);
49
50
// Construct Geometry from specified string
51
Geometry(
const
std::string &geometry_);
52
53
// Construct Geometry from specified dimensions
54
Geometry(
size_t
width_,
size_t
height_,::ssize_t xOff_=0,
55
::ssize_t yOff_=0);
56
57
// Destructor
58
~Geometry(
void
);
59
60
// Set via geometry string
61
const
Geometry& operator=(
const
char
*geometry_);
62
63
// Assignment operator
64
Geometry& operator=(
const
Geometry& Geometry_);
65
66
// Set via geometry string
67
const
Geometry& operator=(
const
std::string &geometry_);
68
69
// Return geometry string
70
operator
std::string()
const
;
71
72
// Resize without preserving aspect ratio (!)
73
void
aspect(
bool
aspect_);
74
bool
aspect(
void
)
const
;
75
76
// Resize the image based on the smallest fitting dimension (^)
77
void
fillArea(
bool
fillArea_);
78
bool
fillArea(
void
)
const
;
79
80
// Resize if image is greater than size (>)
81
void
greater(
bool
greater_);
82
bool
greater(
void
)
const
;
83
84
// Height
85
void
height(
size_t
height_);
86
size_t
height(
void
)
const
;
87
88
// Does object contain valid geometry?
89
void
isValid(
bool
isValid_);
90
bool
isValid(
void
)
const
;
91
92
// Resize if image is less than size (<)
93
void
less(
bool
less_);
94
bool
less(
void
)
const
;
95
96
// Resize using a pixel area count limit (@)
97
void
limitPixels(
bool
limitPixels_);
98
bool
limitPixels(
void
)
const
;
99
100
// Width and height are expressed as percentages
101
void
percent(
bool
percent_);
102
bool
percent(
void
)
const
;
103
104
// Width
105
void
width(
size_t
width_);
106
size_t
width(
void
)
const
;
107
108
// X offset from origin
109
void
xOff(::ssize_t xOff_);
110
::ssize_t xOff(
void
)
const
;
111
112
// Y offset from origin
113
void
yOff(::ssize_t yOff_);
114
::ssize_t yOff(
void
)
const
;
115
116
//
117
// Public methods below this point are for Magick++ use only.
118
//
119
120
// Construct from RectangleInfo
121
Geometry(
const
MagickCore::RectangleInfo &rectangle_);
122
123
// Set via RectangleInfo
124
const
Geometry& operator=(
const
MagickCore::RectangleInfo &rectangle_);
125
126
// Return an ImageMagick RectangleInfo struct
127
operator
MagickCore::RectangleInfo()
const
;
128
129
private
:
130
size_t
_width;
131
size_t
_height;
132
::ssize_t _xOff;
133
::ssize_t _yOff;
134
bool
_isValid;
135
bool
_percent;
// Interpret width & height as percentages (%)
136
bool
_aspect;
// Force exact size (!)
137
bool
_greater;
// Resize only if larger than geometry (>)
138
bool
_less;
// Resize only if smaller than geometry (<)
139
bool
_fillArea;
// Resize the image based on the smallest fitting dimension (^)
140
bool
_limitPixels;
// Resize using a pixel area count limit (@)
141
};
142
143
class
MagickPPExport
Offset
;
144
145
// Compare two Offset objects
146
MagickPPExport
int
operator
==
147
(
const
Magick::Offset
& left_,
const
Magick::Offset
& right_);
148
MagickPPExport
int
operator
!=
149
(
const
Magick::Offset
& left_,
const
Magick::Offset
& right_);
150
151
class
MagickPPExport Offset
152
{
153
public
:
154
155
// Default constructor
156
Offset();
157
158
// Construct Offset from specified string
159
Offset(
const
char
*offset_);
160
161
// Copy constructor
162
Offset(
const
Offset &offset_);
163
164
// Construct Offset from specified string
165
Offset(
const
std::string &offset_);
166
167
// Construct Offset from specified x and y
168
Offset(ssize_t x_,ssize_t y_);
169
170
// Destructor
171
~Offset(
void
);
172
173
// Set via offset string
174
const
Offset& operator=(
const
char
*offset_);
175
176
// Assignment operator
177
Offset& operator=(
const
Offset& offset_);
178
179
// Set via offset string
180
const
Offset& operator=(
const
std::string &offset_);
181
182
// X offset from origin
183
ssize_t x(
void
)
const
;
184
185
// Y offset from origin
186
ssize_t y(
void
)
const
;
187
188
//
189
// Public methods below this point are for Magick++ use only.
190
//
191
192
// Return an ImageMagick OffsetInfo struct
193
operator
MagickCore::OffsetInfo()
const
;
194
195
private
:
196
ssize_t _x;
197
ssize_t _y;
198
};
199
200
class
MagickPPExport
Point
;
201
202
// Compare two Point objects
203
MagickPPExport
int
operator
==
204
(
const
Magick::Point
& left_,
const
Magick::Point
& right_);
205
MagickPPExport
int
operator
!=
206
(
const
Magick::Point
& left_,
const
Magick::Point
& right_);
207
208
class
MagickPPExport Point
209
{
210
public
:
211
212
// Default constructor
213
Point();
214
215
// Construct Point from specified string
216
Point(
const
char
*point_);
217
218
// Copy constructor
219
Point(
const
Point &point_);
220
221
// Construct Point from specified string
222
Point(
const
std::string &point_);
223
224
// Construct Point from specified x and y
225
Point(
double
x_,
double
y_);
226
227
// Construct Point from specified x y
228
Point(
double
xy_);
229
230
// Destructor
231
~Point(
void
);
232
233
// Set via point string
234
const
Point& operator=(
const
char
*point_);
235
236
// Set via double value
237
const
Point& operator=(
double
xy_);
238
239
// Assignment operator
240
Point& operator=(
const
Point& point_);
241
242
// Set via point string
243
const
Point& operator=(
const
std::string &point_);
244
245
// Return point string
246
operator
std::string()
const
;
247
248
// Does object contain valid point?
249
bool
isValid()
const
;
250
251
// X offset from origin
252
double
x(
void
)
const
;
253
254
// Y offset from origin
255
double
y(
void
)
const
;
256
257
private
:
258
double
_x;
259
double
_y;
260
};
261
}
// namespace Magick
262
263
#endif
// Magick_Geometry_header
Magick::Geometry
Definition
Geometry.h:38
Magick::Offset
Definition
Geometry.h:152
Magick::Point
Definition
Geometry.h:209
Magick++
lib
Magick++
Geometry.h
Generated by
1.17.0