summaryrefslogtreecommitdiff
path: root/dmagick/c/geometry.d
diff options
context:
space:
mode:
authorMike Wey2011-01-08 17:48:30 +0100
committerMike Wey2011-01-08 17:48:30 +0100
commitcbac78bbec726017355cb455a776f193e7fc3022 (patch)
treea41c564c7ef5aec9dd2b18e58e94b213193044be /dmagick/c/geometry.d
initial checkin
Diffstat (limited to 'dmagick/c/geometry.d')
-rw-r--r--dmagick/c/geometry.d119
1 files changed, 119 insertions, 0 deletions
diff --git a/dmagick/c/geometry.d b/dmagick/c/geometry.d
new file mode 100644
index 0000000..126944e
--- /dev/null
+++ b/dmagick/c/geometry.d
@@ -0,0 +1,119 @@
+module dmagick.c.geometry;
+
+import core.sys.posix.sys.types;
+
+import dmagick.c.exception;
+import dmagick.c.image;
+import dmagick.c.magickType;
+
+extern(C)
+{
+ enum GeometryFlags
+ {
+ NoValue = 0x0000,
+
+ XValue = 0x0001,
+ XiValue = 0x0001,
+
+ YValue = 0x0002,
+ PsiValue = 0x0002,
+
+ WidthValue = 0x0004,
+ RhoValue = 0x0004,
+
+ HeightValue = 0x0008,
+ SigmaValue = 0x0008,
+ ChiValue = 0x0010,
+ XiNegative = 0x0020,
+
+ XNegative = 0x0020,
+ PsiNegative = 0x0040,
+
+ YNegative = 0x0040,
+ ChiNegative = 0x0080,
+ PercentValue = 0x1000,
+ AspectValue = 0x2000,
+ NormalizeValue = 0x2000,
+ LessValue = 0x4000,
+ GreaterValue = 0x8000,
+ MinimumValue = 0x10000,
+ CorrelateNormalizeValue = 0x10000,
+ AreaValue = 0x20000,
+ DecimalValue = 0x40000,
+
+ AllValues = 0x7fffffff
+ }
+
+ enum GravityType
+ {
+ UndefinedGravity,
+ ForgetGravity = 0,
+ NorthWestGravity = 1,
+ NorthGravity = 2,
+ NorthEastGravity = 3,
+ WestGravity = 4,
+ CenterGravity = 5,
+ EastGravity = 6,
+ SouthWestGravity = 7,
+ SouthGravity = 8,
+ SouthEastGravity = 9,
+ StaticGravity = 10
+ }
+
+ struct AffineMatrix
+ {
+ double
+ sx,
+ rx,
+ ry,
+ sy,
+ tx,
+ ty;
+ }
+
+ struct GeometryInfo
+ {
+ double
+ rho,
+ sigma,
+ xi,
+ psi,
+ chi;
+ }
+
+ struct OffsetInfo
+ {
+ ssize_t
+ x,
+ y;
+ }
+
+ struct RectangleInfo
+ {
+ size_t
+ width,
+ height;
+
+ ssize_t
+ x,
+ y;
+ }
+
+ char* GetPageGeometry(const char*);
+
+ MagickBooleanType IsGeometry(const char*);
+ MagickBooleanType IsSceneGeometry(const char*, const MagickBooleanType);
+
+ MagickStatusType GetGeometry(const char*, ssize_t*, ssize_t*, size_t*, size_t*);
+ MagickStatusType ParseAbsoluteGeometry(const char*, RectangleInfo*);
+ MagickStatusType ParseAffineGeometry(const char*, AffineMatrix*, ExceptionInfo*);
+ MagickStatusType ParseGeometry(const char*, GeometryInfo*);
+ MagickStatusType ParseGravityGeometry(const Image*, const char*, RectangleInfo*, ExceptionInfo*);
+ MagickStatusType ParseMetaGeometry(const char*, ssize_t*, ssize_t*, size_t*, size_t*);
+ MagickStatusType ParsePageGeometry(const Image*, const char*, RectangleInfo*, ExceptionInfo*);
+ MagickStatusType ParseRegionGeometry(const Image*, const char*, RectangleInfo*, ExceptionInfo*);
+
+ void GravityAdjustGeometry(const size_t, const size_t, const GravityType, RectangleInfo*);
+ void SetGeometry(const Image*, RectangleInfo*);
+ void SetGeometryInfo(GeometryInfo*);
+}