/usr/include/GraphicsMagick/Magick++/Geometry.h is in libgraphicsmagick++1-dev 1.3.12-1.1build1.
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 MagickDLLDecl Geometry;
// Compare two Geometry objects regardless of LHS/RHS
int MagickDLLDecl operator == ( const Magick::Geometry& left_, const Magick::Geometry& right_ );
int MagickDLLDecl operator != ( const Magick::Geometry& left_, const Magick::Geometry& right_ );
int MagickDLLDecl operator > ( const Magick::Geometry& left_, const Magick::Geometry& right_ );
int MagickDLLDecl operator < ( const Magick::Geometry& left_, const Magick::Geometry& right_ );
int MagickDLLDecl operator >= ( const Magick::Geometry& left_, const Magick::Geometry& right_ );
int MagickDLLDecl operator <= ( const Magick::Geometry& left_, const Magick::Geometry& right_ );
class MagickDLLDecl Geometry
{
public:
Geometry ( unsigned int width_,
unsigned int height_,
unsigned int xOff_ = 0,
unsigned int 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 ( unsigned int width_ );
unsigned int width ( void ) const;
// Height
void height ( unsigned int height_ );
unsigned int height ( void ) const;
// X offset from origin
void xOff ( unsigned int xOff_ );
unsigned int xOff ( void ) const;
// Y offset from origin
void yOff ( unsigned int yOff_ );
unsigned int 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 MagickLib::RectangleInfo &rectangle_ );
// Return an ImageMagick RectangleInfo struct
operator MagickLib::RectangleInfo() const;
private:
unsigned int _width;
unsigned int _height;
unsigned int _xOff;
unsigned int _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 ( unsigned int width_ )
{
_width = width_;
isValid( true );
}
inline unsigned int Magick::Geometry::width ( void ) const
{
return _width;
}
// Height
inline void Magick::Geometry::height ( unsigned int height_ )
{
_height = height_;
}
inline unsigned int Magick::Geometry::height ( void ) const
{
return _height;
}
// X offset from origin
inline void Magick::Geometry::xOff ( unsigned int xOff_ )
{
_xOff = xOff_;
}
inline unsigned int Magick::Geometry::xOff ( void ) const
{
return _xOff;
}
// Y offset from origin
inline void Magick::Geometry::yOff ( unsigned int yOff_ )
{
_yOff = yOff_;
}
inline unsigned int 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
|