Magick++ 7.1.2-32
Convert, Edit, Or Compose Bitmap Images
Loading...
Searching...
No Matches
Magick::Geometry Class Reference

Public Member Functions

 Geometry (const char *geometry_)
 Geometry (const Geometry &geometry_)
 Geometry (const std::string &geometry_)
 Geometry (size_t width_, size_t height_,::ssize_t xOff_=0, ::ssize_t yOff_=0)
const Geometry & operator= (const char *geometry_)
Geometry & operator= (const Geometry &Geometry_)
const Geometry & operator= (const std::string &geometry_)
 operator std::string () const
void aspect (bool aspect_)
bool aspect (void) const
void fillArea (bool fillArea_)
bool fillArea (void) const
void greater (bool greater_)
bool greater (void) const
void height (size_t height_)
size_t height (void) const
void isValid (bool isValid_)
bool isValid (void) const
void less (bool less_)
bool less (void) const
void limitPixels (bool limitPixels_)
bool limitPixels (void) const
void percent (bool percent_)
bool percent (void) const
void width (size_t width_)
size_t width (void) const
void xOff (::ssize_t xOff_)
::ssize_t xOff (void) const
void yOff (::ssize_t yOff_)
::ssize_t yOff (void) const
 Geometry (const MagickCore::RectangleInfo &rectangle_)
const Geometry & operator= (const MagickCore::RectangleInfo &rectangle_)
 operator MagickCore::RectangleInfo () const

Private Attributes

size_t _width
size_t _height
::ssize_t _xOff
::ssize_t _yOff
bool _isValid
bool _percent
bool _aspect
bool _greater
bool _less
bool _fillArea
bool _limitPixels

Detailed Description

Definition at line 37 of file Geometry.h.

Constructor & Destructor Documentation

◆ Geometry() [1/5]

Magick::Geometry::Geometry ( void )

Definition at line 66 of file Geometry.cpp.

67 : _width(0),
68 _height(0),
69 _xOff(0),
70 _yOff(0),
71 _isValid(false),
72 _percent(false),
73 _aspect(false),
74 _greater(false),
75 _less(false),
76 _fillArea(false),
77 _limitPixels(false)
78{
79}

◆ Geometry() [2/5]

Magick::Geometry::Geometry ( const char * geometry_)

Definition at line 81 of file Geometry.cpp.

82 : _width(0),
83 _height(0),
84 _xOff(0),
85 _yOff(0),
86 _isValid(false),
87 _percent(false),
88 _aspect(false),
89 _greater(false),
90 _less(false),
91 _fillArea(false),
92 _limitPixels(false)
93{
94 *this=geometry_; // Use assignment operator
95}

◆ Geometry() [3/5]

Magick::Geometry::Geometry ( const Geometry & geometry_)

Definition at line 97 of file Geometry.cpp.

98 : _width(geometry_._width),
99 _height(geometry_._height),
100 _xOff(geometry_._xOff),
101 _yOff(geometry_._yOff),
102 _isValid(geometry_._isValid),
103 _percent(geometry_._percent),
104 _aspect(geometry_._aspect),
105 _greater(geometry_._greater),
106 _less(geometry_._less),
107 _fillArea(geometry_._fillArea),
108 _limitPixels(geometry_._limitPixels)
109{
110}

◆ Geometry() [4/5]

Magick::Geometry::Geometry ( const std::string & geometry_)

Definition at line 112 of file Geometry.cpp.

113 : _width(0),
114 _height(0),
115 _xOff(0),
116 _yOff(0),
117 _isValid(false),
118 _percent(false),
119 _aspect(false),
120 _greater(false),
121 _less(false),
122 _fillArea(false),
123 _limitPixels(false)
124{
125 *this=geometry_; // Use assignment operator
126}

◆ ~Geometry()

Magick::Geometry::~Geometry ( void )

Definition at line 144 of file Geometry.cpp.

145{
146}

◆ Geometry() [5/5]

Magick::Geometry::Geometry ( const MagickCore::RectangleInfo & rectangle_)

Definition at line 434 of file Geometry.cpp.

435 : _width(static_cast<size_t>(rectangle_.width)),
436 _height(static_cast<size_t>(rectangle_.height)),
437 _xOff(static_cast<ssize_t>(rectangle_.x)),
438 _yOff(static_cast<ssize_t>(rectangle_.y)),
439 _isValid(true),
440 _percent(false),
441 _aspect(false),
442 _greater(false),
443 _less(false),
444 _fillArea(false),
445 _limitPixels(false)
446{
447}

Member Function Documentation

◆ aspect() [1/2]

void Magick::Geometry::aspect ( bool aspect_)

Definition at line 323 of file Geometry.cpp.

324{
325 _aspect=aspect_;
326}

◆ aspect() [2/2]

bool Magick::Geometry::aspect ( void ) const

Definition at line 328 of file Geometry.cpp.

329{
330 return(_aspect);
331}

◆ fillArea() [1/2]

void Magick::Geometry::fillArea ( bool fillArea_)

Definition at line 333 of file Geometry.cpp.

334{
335 _fillArea=fillArea_;
336}

◆ fillArea() [2/2]

bool Magick::Geometry::fillArea ( void ) const

Definition at line 338 of file Geometry.cpp.

339{
340 return(_fillArea);
341}

◆ greater() [1/2]

void Magick::Geometry::greater ( bool greater_)

Definition at line 343 of file Geometry.cpp.

344{
345 _greater=greater_;
346}

◆ greater() [2/2]

bool Magick::Geometry::greater ( void ) const

Definition at line 348 of file Geometry.cpp.

349{
350 return(_greater);
351}

◆ height() [1/2]

void Magick::Geometry::height ( size_t height_)

Definition at line 353 of file Geometry.cpp.

354{
355 _height=height_;
356}

◆ height() [2/2]

size_t Magick::Geometry::height ( void ) const

Definition at line 358 of file Geometry.cpp.

359{
360 return(_height);
361}

◆ isValid() [1/2]

void Magick::Geometry::isValid ( bool isValid_)

Definition at line 363 of file Geometry.cpp.

364{
365 _isValid=isValid_;
366}

◆ isValid() [2/2]

bool Magick::Geometry::isValid ( void ) const

Definition at line 368 of file Geometry.cpp.

369{
370 return(_isValid);
371}

◆ less() [1/2]

void Magick::Geometry::less ( bool less_)

Definition at line 373 of file Geometry.cpp.

374{
375 _less=less_;
376}

◆ less() [2/2]

bool Magick::Geometry::less ( void ) const

Definition at line 378 of file Geometry.cpp.

379{
380 return(_less);
381}

◆ limitPixels() [1/2]

void Magick::Geometry::limitPixels ( bool limitPixels_)

Definition at line 383 of file Geometry.cpp.

384{
385 _limitPixels=limitPixels_;
386}

◆ limitPixels() [2/2]

bool Magick::Geometry::limitPixels ( void ) const

Definition at line 388 of file Geometry.cpp.

389{
390 return(_limitPixels);
391}

◆ operator MagickCore::RectangleInfo()

Magick::Geometry::operator MagickCore::RectangleInfo ( ) const

Definition at line 460 of file Geometry.cpp.

461{
462 RectangleInfo rectangle;
463 rectangle.width=_width;
464 rectangle.height=_height;
465 rectangle.x=_xOff;
466 rectangle.y=_yOff;
467 return(rectangle);
468}

◆ operator std::string()

Magick::Geometry::operator std::string ( ) const

Definition at line 262 of file Geometry.cpp.

263{
264 char
265 buffer[MagickPathExtent];
266
267 std::string
268 geometry;
269
270 if (!isValid())
271 throwExceptionExplicit(MagickCore::OptionError,
272 "Invalid geometry argument");
273
274 if (_width)
275 {
276 FormatLocaleString(buffer,MagickPathExtent,"%.17g",(double) _width);
277 geometry+=buffer;
278 }
279
280 if (_height)
281 {
282 FormatLocaleString(buffer,MagickPathExtent,"%.17g",(double) _height);
283 geometry+='x';
284 geometry+=buffer;
285 }
286
287 if (_xOff || _yOff)
288 {
289 if (_xOff >= 0)
290 geometry+='+';
291
292 FormatLocaleString(buffer,MagickPathExtent,"%.17g",(double) _xOff);
293 geometry+=buffer;
294
295 if (_yOff >= 0)
296 geometry+='+';
297
298 FormatLocaleString(buffer,MagickPathExtent,"%.17g",(double) _yOff);
299 geometry+=buffer;
300 }
301
302 if (_percent)
303 geometry+='%';
304
305 if (_aspect)
306 geometry+='!';
307
308 if (_greater)
309 geometry+='>';
310
311 if (_less)
312 geometry+='<';
313
314 if (_fillArea)
315 geometry+='^';
316
317 if (_limitPixels)
318 geometry+='@';
319
320 return(geometry);
321}

◆ operator=() [1/4]

const Magick::Geometry & Magick::Geometry::operator= ( const char * geometry_)

Definition at line 148 of file Geometry.cpp.

149{
150 *this=std::string(geometry_);
151 return(*this);
152}

◆ operator=() [2/4]

Magick::Geometry & Magick::Geometry::operator= ( const Geometry & Geometry_)

Definition at line 154 of file Geometry.cpp.

155{
156 // If not being set to ourself
157 if (this != &geometry_)
158 {
159 _width=geometry_._width;
160 _height=geometry_._height;
161 _xOff=geometry_._xOff;
162 _yOff=geometry_._yOff;
163 _isValid=geometry_._isValid;
164 _percent=geometry_._percent;
165 _aspect=geometry_._aspect;
166 _greater=geometry_._greater;
167 _less=geometry_._less;
168 _fillArea=geometry_._fillArea;
169 _limitPixels=geometry_._limitPixels;
170 }
171 return(*this);
172}

◆ operator=() [3/4]

const Magick::Geometry & Magick::Geometry::operator= ( const MagickCore::RectangleInfo & rectangle_)

Definition at line 449 of file Geometry.cpp.

451{
452 _width=static_cast<size_t>(rectangle_.width),
453 _height=static_cast<size_t>(rectangle_.height),
454 _xOff=static_cast<ssize_t>(rectangle_.x),
455 _yOff=static_cast<ssize_t>(rectangle_.y),
456 _isValid=true;
457 return(*this);
458}

◆ operator=() [4/4]

const Magick::Geometry & Magick::Geometry::operator= ( const std::string & geometry_)

Definition at line 174 of file Geometry.cpp.

176{
177 char
178 geom[MagickPathExtent];
179
180 char
181 *pageptr;
182
183 ssize_t
184 flags,
185 x = 0,
186 y = 0;
187
188 size_t
189 height_val=0,
190 width_val=0;
191
192 // If argument does not start with digit, presume that it is a
193 // page-size specification that needs to be converted to an
194 // equivalent geometry specification using PostscriptGeometry()
195 (void) CopyMagickString(geom,geometry_.c_str(),MagickPathExtent);
196 if (geom[0] != '-' && geom[0] != '+' && geom[0] != 'x' &&
197 !isdigit(static_cast<int>(geom[0])))
198 {
199 pageptr=GetPageGeometry(geom);
200 if (pageptr != 0)
201 {
202 (void) CopyMagickString(geom,pageptr,MagickPathExtent);
203 pageptr=(char *) RelinquishMagickMemory(pageptr);
204 }
205 }
206
207 flags=GetGeometry(geom,&x,&y,&width_val,&height_val);
208
209 if (flags == NoValue)
210 {
211 // Total failure!
212 *this=Geometry();
213 isValid(false);
214 return(*this);
215 }
216
217 if ((flags & WidthValue) != 0)
218 {
219 _width=width_val;
220 isValid(true);
221 }
222
223 if ((flags & HeightValue) != 0)
224 {
225 _height=height_val;
226 isValid(true);
227 }
228
229 if ((flags & XValue) != 0)
230 {
231 _xOff=static_cast<ssize_t>(x);
232 isValid(true);
233 }
234
235 if ((flags & YValue) != 0)
236 {
237 _yOff=static_cast<ssize_t>(y);
238 isValid(true);
239 }
240
241 if ((flags & PercentValue) != 0)
242 _percent=true;
243
244 if ((flags & AspectValue) != 0)
245 _aspect=true;
246
247 if ((flags & LessValue) != 0)
248 _less=true;
249
250 if ((flags & GreaterValue) != 0)
251 _greater=true;
252
253 if ((flags & MinimumValue) != 0)
254 _fillArea=true;
255
256 if ((flags & AreaValue) != 0)
257 _limitPixels=true;
258
259 return(*this);
260}

◆ percent() [1/2]

void Magick::Geometry::percent ( bool percent_)

Definition at line 399 of file Geometry.cpp.

400{
401 _percent = percent_;
402}

◆ percent() [2/2]

bool Magick::Geometry::percent ( void ) const

Definition at line 404 of file Geometry.cpp.

405{
406 return(_percent);
407}

◆ width() [1/2]

void Magick::Geometry::width ( size_t width_)

Definition at line 393 of file Geometry.cpp.

394{
395 _width=width_;
396 isValid(true);
397}

◆ width() [2/2]

size_t Magick::Geometry::width ( void ) const

Definition at line 409 of file Geometry.cpp.

410{
411 return(_width);
412}

◆ xOff() [1/2]

void Magick::Geometry::xOff ( ::ssize_t xOff_)

Definition at line 414 of file Geometry.cpp.

415{
416 _xOff=xOff_;
417}

◆ xOff() [2/2]

ssize_t Magick::Geometry::xOff ( void ) const

Definition at line 419 of file Geometry.cpp.

420{
421 return(_xOff);
422}

◆ yOff() [1/2]

void Magick::Geometry::yOff ( ::ssize_t yOff_)

Definition at line 424 of file Geometry.cpp.

425{
426 _yOff=yOff_;
427}

◆ yOff() [2/2]

ssize_t Magick::Geometry::yOff ( void ) const

Definition at line 429 of file Geometry.cpp.

430{
431 return(_yOff);
432}

Field Documentation

◆ _aspect

bool Magick::Geometry::_aspect
private

Definition at line 136 of file Geometry.h.

◆ _fillArea

bool Magick::Geometry::_fillArea
private

Definition at line 139 of file Geometry.h.

◆ _greater

bool Magick::Geometry::_greater
private

Definition at line 137 of file Geometry.h.

◆ _height

size_t Magick::Geometry::_height
private

Definition at line 131 of file Geometry.h.

◆ _isValid

bool Magick::Geometry::_isValid
private

Definition at line 134 of file Geometry.h.

◆ _less

bool Magick::Geometry::_less
private

Definition at line 138 of file Geometry.h.

◆ _limitPixels

bool Magick::Geometry::_limitPixels
private

Definition at line 140 of file Geometry.h.

◆ _percent

bool Magick::Geometry::_percent
private

Definition at line 135 of file Geometry.h.

◆ _width

size_t Magick::Geometry::_width
private

Definition at line 130 of file Geometry.h.

◆ _xOff

::ssize_t Magick::Geometry::_xOff
private

Definition at line 132 of file Geometry.h.

◆ _yOff

::ssize_t Magick::Geometry::_yOff
private

Definition at line 133 of file Geometry.h.


The documentation for this class was generated from the following files:
  • /home/cristy/Attic/Build/ImageMagick-7.1.2/rpmbuild/BUILD/ImageMagick-7.1.2-build/ImageMagick-7.1.2-32/Magick++/lib/Magick++/Geometry.h
  • /home/cristy/Attic/Build/ImageMagick-7.1.2/rpmbuild/BUILD/ImageMagick-7.1.2-build/ImageMagick-7.1.2-32/Magick++/lib/Geometry.cpp