geometry.h

Go to the documentation of this file.
00001 /*
00002   Copyright 1999-2008 ImageMagick Studio LLC, a non-profit organization
00003   dedicated to making software imaging solutions freely available.
00004   
00005   You may not use this file except in compliance with the License.
00006   obtain a copy of the License at
00007   
00008     http://www.imagemagick.org/script/license.php
00009   
00010   Unless required by applicable law or agreed to in writing, software
00011   distributed under the License is distributed on an "AS IS" BASIS,
00012   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013   See the License for the specific language governing permissions and
00014   limitations under the License.
00015 
00016   MagickCore image geometry methods.
00017 */
00018 #ifndef _MAGICKCORE_GEOMETRY_H
00019 #define _MAGICKCORE_GEOMETRY_H
00020 
00021 #if defined(__cplusplus) || defined(c_plusplus)
00022 extern "C" {
00023 #endif
00024 
00025 typedef enum
00026 {
00027 #undef NoValue
00028   NoValue = 0x0000,
00029 #undef XValue
00030   PsiValue = 0x0001,
00031   XValue = 0x0001,
00032 #undef YValue
00033   XiValue = 0x0002,
00034   YValue = 0x0002,
00035 #undef WidthValue
00036   RhoValue = 0x0004,
00037   WidthValue = 0x0004,
00038 #undef HeightValue
00039   SigmaValue = 0x0008,
00040   HeightValue = 0x0008,
00041   ChiValue = 0x0010,
00042   XiNegative = 0x0020,
00043 #undef XNegative
00044   XNegative = 0x0020,
00045   PsiNegative = 0x0040,
00046 #undef YNegative
00047   YNegative = 0x0040,
00048   ChiNegative = 0x0080,
00049   PercentValue = 0x1000,
00050   AspectValue = 0x2000,
00051   LessValue = 0x4000,
00052   GreaterValue = 0x8000,
00053   MinimumValue = 0x10000,
00054   AreaValue = 0x20000,
00055   DecimalValue = 0x40000,
00056 #undef AllValues
00057   AllValues = 0x7fffffff
00058 } GeometryFlags;
00059 
00060 #if defined(ForgetGravity)
00061 #undef ForgetGravity
00062 #undef NorthWestGravity
00063 #undef NorthGravity
00064 #undef NorthEastGravity
00065 #undef WestGravity
00066 #undef CenterGravity
00067 #undef EastGravity
00068 #undef SouthWestGravity
00069 #undef SouthGravity
00070 #undef SouthEastGravity
00071 #undef StaticGravity
00072 #endif
00073 
00074 typedef enum
00075 {
00076   UndefinedGravity,
00077   ForgetGravity = 0,
00078   NorthWestGravity = 1,
00079   NorthGravity = 2,
00080   NorthEastGravity = 3,
00081   WestGravity = 4, 
00082   CenterGravity = 5,
00083   EastGravity = 6,
00084   SouthWestGravity = 7,
00085   SouthGravity = 8,
00086   SouthEastGravity = 9,
00087   StaticGravity = 10 
00088 } GravityType;
00089 
00090 typedef struct _AffineMatrix
00091 {
00092   double
00093     sx,
00094     rx,
00095     ry,
00096     sy,
00097     tx,
00098     ty;
00099 } AffineMatrix;
00100 
00101 typedef struct _GeometryInfo
00102 {
00103   double
00104     rho,
00105     sigma,
00106     xi,
00107     psi,
00108     chi;
00109 } GeometryInfo;
00110 
00111 typedef struct _RectangleInfo
00112 {
00113   unsigned long
00114     width,
00115     height;
00116 
00117   long
00118     x,
00119     y;
00120 } RectangleInfo;
00121 
00122 extern MagickExport char
00123   *GetPageGeometry(const char *);
00124 
00125 extern MagickExport MagickBooleanType
00126   IsGeometry(const char *),
00127   IsSceneGeometry(const char *,const MagickBooleanType);
00128 
00129 extern MagickExport MagickStatusType
00130   GetGeometry(const char *,long *,long *,unsigned long *,unsigned long *),
00131   ParseAbsoluteGeometry(const char *,RectangleInfo *),
00132   ParseAffineGeometry(const char *,AffineMatrix *),
00133   ParseGeometry(const char *,GeometryInfo *),
00134   ParseGravityGeometry(Image *,const char *,RectangleInfo *),
00135   ParseMetaGeometry(const char *,long *,long *,unsigned long *,unsigned long *),
00136   ParsePageGeometry(Image *,const char *,RectangleInfo *),
00137   ParseSizeGeometry(Image *,const char *,RectangleInfo *);
00138 
00139 extern MagickExport void
00140   GravityAdjustGeometry(const unsigned long,const unsigned long,
00141     const GravityType,RectangleInfo *),
00142   SetGeometry(const Image *,RectangleInfo *),
00143   SetGeometryInfo(GeometryInfo *);
00144 
00145 #if defined(__cplusplus) || defined(c_plusplus)
00146 }
00147 #endif
00148 
00149 #endif

Generated on Sat Jan 26 14:50:29 2008 for MagickCore by  doxygen 1.5.4