/usr/include/ImageMagick/Magick++/Geometry.h is in libmagick++-dev 8:6.7.7.10-5+deb7u4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 | // This may look like C code, but it is really -*- C++ -*-
//
// Copyright Bob Friesenhahn, 1999, 2000, 2001, 2002
//
// Geometry Definition
//
// Representation of an ImageMagick geometry specification
// X11 geometry specification plus hints
#if !defined (Magick_Geometry_header)
#define Magick_Geometry_header
#include "Magick++/Include.h"
#include <string>
namespace Magick
{
class MagickPPExport Geometry;
// Compare two Geometry objects regardless of LHS/RHS
int MagickPPExport operator == ( const Magick::Geometry& left_, const Magick::Geometry& right_ );
int MagickPPExport operator != ( const Magick::Geometry& left_, const Magick::Geometry& right_ );
int MagickPPExport operator > ( const Magick::Geometry& left_, const Magick::Geometry& right_ );
int MagickPPExport operator < ( const Magick::Geometry& left_, const Magick::Geometry& right_ );
int MagickPPExport operator >= ( const Magick::Geometry& left_, const Magick::Geometry& right_ );
int MagickPPExport operator <= ( const Magick::Geometry& left_, const Magick::Geometry& right_ );
class MagickPPExport Geometry
{
public:
Geometry ( size_t width_,
size_t height_,
::ssize_t xOff_ = 0,
::ssize_t yOff_ = 0,
bool xNegative_ = false,
bool yNegative_ = false );
Geometry ( const std::string &geometry_ );
Geometry ( const char * geometry_ );
Geometry ( const Geometry &geometry_ );
Geometry ( );
~Geometry ( void );
// Width
void width ( size_t width_ );
size_t width ( void ) const;
// Height
void height ( size_t height_ );
size_t height ( void ) const;
// X offset from origin
void xOff ( ::ssize_t xOff_ );
::ssize_t xOff ( void ) const;
// Y offset from origin
void yOff ( ::ssize_t yOff_ );
::ssize_t yOff ( void ) const;
// Sign of X offset negative? (X origin at right)
void xNegative ( bool xNegative_ );
bool xNegative ( void ) const;
// Sign of Y offset negative? (Y origin at bottom)
void yNegative ( bool yNegative_ );
bool yNegative ( void ) const;
// Width and height are expressed as percentages
void percent ( bool percent_ );
bool percent ( void ) const;
// Resize without preserving aspect ratio (!)
void aspect ( bool aspect_ );
bool aspect ( void ) const;
// Resize if image is greater than size (>)
void greater ( bool greater_ );
bool greater ( void ) const;
// Resize if image is less than size (<)
void less ( bool less_ );
bool less ( void ) const;
// Does object contain valid geometry?
void isValid ( bool isValid_ );
bool isValid ( void ) const;
// Set via geometry string
const Geometry& operator = ( const std::string &geometry_ );
const Geometry& operator = ( const char * geometry_ );
// Assignment operator
Geometry& operator= ( const Geometry& Geometry_ );
// Return geometry string
operator std::string() const;
//
// Public methods below this point are for Magick++ use only.
//
// Construct from RectangleInfo
Geometry ( const MagickCore::RectangleInfo &rectangle_ );
// Return an ImageMagick RectangleInfo struct
operator MagickCore::RectangleInfo() const;
private:
size_t _width;
size_t _height;
::ssize_t _xOff;
::ssize_t _yOff;
bool _xNegative;
bool _yNegative;
bool _isValid;
bool _percent; // Interpret width & height as percentages (%)
bool _aspect; // Force exact size (!)
bool _greater; // Re-size only if larger than geometry (>)
bool _less; // Re-size only if smaller than geometry (<)
};
} // namespace Magick
//
// Inlines
//
// Does object contain valid geometry?
inline void Magick::Geometry::isValid ( bool isValid_ )
{
_isValid = isValid_;
}
inline bool Magick::Geometry::isValid ( void ) const
{
return _isValid;
}
// Width
inline void Magick::Geometry::width ( size_t width_ )
{
_width = width_;
isValid( true );
}
inline size_t Magick::Geometry::width ( void ) const
{
return _width;
}
// Height
inline void Magick::Geometry::height ( size_t height_ )
{
_height = height_;
}
inline size_t Magick::Geometry::height ( void ) const
{
return _height;
}
// X offset from origin
inline void Magick::Geometry::xOff ( ::ssize_t xOff_ )
{
_xOff = xOff_;
}
inline ::ssize_t Magick::Geometry::xOff ( void ) const
{
return _xOff;
}
// Y offset from origin
inline void Magick::Geometry::yOff ( ::ssize_t yOff_ )
{
_yOff = yOff_;
}
inline ::ssize_t Magick::Geometry::yOff ( void ) const
{
return _yOff;
}
// Sign of X offset negative? (X origin at right)
inline void Magick::Geometry::xNegative ( bool xNegative_ )
{
_xNegative = xNegative_;
}
inline bool Magick::Geometry::xNegative ( void ) const
{
return _xNegative;
}
// Sign of Y offset negative? (Y origin at bottom)
inline void Magick::Geometry::yNegative ( bool yNegative_ )
{
_yNegative = yNegative_;
}
inline bool Magick::Geometry::yNegative ( void ) const
{
return _yNegative;
}
// Interpret width & height as percentages (%)
inline void Magick::Geometry::percent ( bool percent_ )
{
_percent = percent_;
}
inline bool Magick::Geometry::percent ( void ) const
{
return _percent;
}
// Resize without preserving aspect ratio (!)
inline void Magick::Geometry::aspect ( bool aspect_ )
{
_aspect = aspect_;
}
inline bool Magick::Geometry::aspect ( void ) const
{
return _aspect;
}
// Resize if image is greater than size (>)
inline void Magick::Geometry::greater ( bool greater_ )
{
_greater = greater_;
}
inline bool Magick::Geometry::greater ( void ) const
{
return _greater;
}
// Resize if image is less than size (<)
inline void Magick::Geometry::less ( bool less_ )
{
_less = less_;
}
inline bool Magick::Geometry::less ( void ) const
{
return _less;
}
#endif // Magick_Geometry_header
|