/*
- Copyright 1999-2011 ImageMagick Studio LLC, a non-profit organization
+ Copyright 1999-2015 ImageMagick Studio LLC, a non-profit organization
dedicated to making software imaging solutions freely available.
You may not use this file except in compliance with the License.
#ifndef _MAGICKCORE_DRAW_H
#define _MAGICKCORE_DRAW_H
-#if defined(__cplusplus) || defined(c_plusplus)
-extern "C" {
-#endif
-
#include "MagickCore/geometry.h"
#include "MagickCore/image.h"
#include "MagickCore/pixel.h"
#include "MagickCore/type.h"
+#if defined(__cplusplus) || defined(c_plusplus)
+extern "C" {
+#endif
+
typedef enum
{
UndefinedAlign,
typedef enum
{
UndefinedPrimitive,
- PointPrimitive,
- LinePrimitive,
- RectanglePrimitive,
- RoundRectanglePrimitive,
+ AlphaPrimitive,
ArcPrimitive,
- EllipsePrimitive,
- CirclePrimitive,
- PolylinePrimitive,
- PolygonPrimitive,
BezierPrimitive,
+ CirclePrimitive,
ColorPrimitive,
- MattePrimitive,
- TextPrimitive,
+ EllipsePrimitive,
ImagePrimitive,
- PathPrimitive
+ LinePrimitive,
+ PathPrimitive,
+ PointPrimitive,
+ PolygonPrimitive,
+ PolylinePrimitive,
+ RectanglePrimitive,
+ RoundRectanglePrimitive,
+ TextPrimitive
} PrimitiveType;
typedef enum
PixelInfo
color;
- MagickRealType
+ double
offset;
} StopInfo;
MagickBooleanType
debug;
- size_t
- signature;
-
PointInfo
center;
- MagickRealType
+ double
radius;
+
+ size_t
+ signature;
} GradientInfo;
typedef struct _ElementReference
GradientInfo
gradient;
- size_t
- signature;
-
struct _ElementReference
*previous,
*next;
+
+ size_t
+ signature;
} ElementReference;
typedef struct _DrawInfo
AffineMatrix
affine;
- GravityType
- gravity;
-
PixelInfo
fill,
- stroke;
+ stroke,
+ undercolor,
+ border_color;
+
+ Image
+ *fill_pattern,
+ *stroke_pattern;
double
stroke_width;
GradientInfo
gradient;
- Image
- *fill_pattern,
- *stroke_pattern;
-
MagickBooleanType
stroke_antialias,
text_antialias;
compose;
char
- *text;
-
- size_t
- face;
-
- char
+ *text,
*font,
*metrics,
*family;
+ size_t
+ face;
+
StyleType
style;
AlignType
align;
- PixelInfo
- undercolor,
- border_color;
+ GravityType
+ gravity;
char
*server_name;
direction;
MagickBooleanType
-
debug;
size_t
signature;
} DrawInfo;
+
typedef struct _PrimitiveInfo
{
PointInfo