2 Copyright 1999-2010 ImageMagick Studio LLC, a non-profit organization
3 dedicated to making software imaging solutions freely available.
5 You may not use this file except in compliance with the License.
6 obtain a copy of the License at
8 http://www.imagemagick.org/script/license.php
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
16 MagickWand drawing wand methods.
18 #ifndef _MAGICKWAND_DRAWING_WAND_H
19 #define _MAGICKWAND_DRAWING_WAND_H
21 #if defined(__cplusplus) || defined(c_plusplus)
25 #include "wand/pixel-wand.h"
27 typedef struct _DrawingWand
30 extern WandExport AlignType
31 DrawGetTextAlignment(const DrawingWand *);
33 extern WandExport char
34 *DrawGetClipPath(const DrawingWand *),
35 *DrawGetException(const DrawingWand *,ExceptionType *),
36 *DrawGetFont(const DrawingWand *),
37 *DrawGetFontFamily(const DrawingWand *),
38 *DrawGetTextEncoding(const DrawingWand *),
39 *DrawGetVectorGraphics(DrawingWand *);
41 extern WandExport ClipPathUnits
42 DrawGetClipUnits(const DrawingWand *);
44 extern WandExport DecorationType
45 DrawGetTextDecoration(const DrawingWand *);
47 extern WandExport double
48 DrawGetFillOpacity(const DrawingWand *),
49 DrawGetFontSize(const DrawingWand *),
50 DrawGetOpacity(const DrawingWand *),
51 *DrawGetStrokeDashArray(const DrawingWand *,size_t *),
52 DrawGetStrokeDashOffset(const DrawingWand *),
53 DrawGetStrokeOpacity(const DrawingWand *),
54 DrawGetStrokeWidth(const DrawingWand *),
55 DrawGetTextKerning(DrawingWand *),
56 DrawGetTextInterlineSpacing(DrawingWand *),
57 DrawGetTextInterwordSpacing(DrawingWand *);
59 extern WandExport DrawInfo
60 *PeekDrawingWand(const DrawingWand *);
62 extern WandExport DrawingWand
63 *CloneDrawingWand(const DrawingWand *),
64 *DestroyDrawingWand(DrawingWand *),
65 *DrawAllocateWand(const DrawInfo *,Image *),
66 *NewDrawingWand(void);
68 extern WandExport ExceptionType
69 DrawGetExceptionType(const DrawingWand *);
71 extern WandExport FillRule
72 DrawGetClipRule(const DrawingWand *),
73 DrawGetFillRule(const DrawingWand *);
75 extern WandExport GravityType
76 DrawGetGravity(const DrawingWand *);
78 extern WandExport LineCap
79 DrawGetStrokeLineCap(const DrawingWand *);
81 extern WandExport LineJoin
82 DrawGetStrokeLineJoin(const DrawingWand *);
84 extern WandExport MagickBooleanType
85 DrawClearException(DrawingWand *),
86 DrawComposite(DrawingWand *,const CompositeOperator,const double,const double,
87 const double,const double,MagickWand *),
88 DrawGetStrokeAntialias(const DrawingWand *),
89 DrawGetTextAntialias(const DrawingWand *),
90 DrawPopPattern(DrawingWand *),
91 DrawPushPattern(DrawingWand *,const char *,const double,const double,
92 const double,const double),
93 DrawRender(DrawingWand *),
94 DrawSetClipPath(DrawingWand *,const char *),
95 DrawSetFillPatternURL(DrawingWand *,const char *),
96 DrawSetFont(DrawingWand *,const char *),
97 DrawSetFontFamily(DrawingWand *,const char *),
98 DrawSetStrokeDashArray(DrawingWand *,const size_t,const double *),
99 DrawSetStrokePatternURL(DrawingWand *,const char *),
100 DrawSetVectorGraphics(DrawingWand *,const char *),
101 IsDrawingWand(const DrawingWand *),
102 PopDrawingWand(DrawingWand *),
103 PushDrawingWand(DrawingWand *);
105 extern WandExport StretchType
106 DrawGetFontStretch(const DrawingWand *);
108 extern WandExport StyleType
109 DrawGetFontStyle(const DrawingWand *);
111 extern WandExport size_t
112 DrawGetFontWeight(const DrawingWand *),
113 DrawGetStrokeMiterLimit(const DrawingWand *);
115 extern WandExport void
116 ClearDrawingWand(DrawingWand *),
117 DrawAffine(DrawingWand *,const AffineMatrix *),
118 DrawAnnotation(DrawingWand *,const double,const double,const unsigned char *),
119 DrawArc(DrawingWand *,const double,const double,const double,const double,
120 const double,const double),
121 DrawBezier(DrawingWand *,const size_t,const PointInfo *),
122 DrawGetBorderColor(const DrawingWand *,PixelWand *),
123 DrawCircle(DrawingWand *,const double,const double,const double,const double),
124 DrawColor(DrawingWand *,const double,const double,const PaintMethod),
125 DrawComment(DrawingWand *,const char *),
126 DrawEllipse(DrawingWand *,const double,const double,const double,const double,
127 const double,const double),
128 DrawGetFillColor(const DrawingWand *,PixelWand *),
129 DrawGetStrokeColor(const DrawingWand *,PixelWand *),
130 DrawSetTextKerning(DrawingWand *,const double),
131 DrawSetTextInterlineSpacing(DrawingWand *,const double),
132 DrawSetTextInterwordSpacing(DrawingWand *,const double),
133 DrawGetTextUnderColor(const DrawingWand *,PixelWand *),
134 DrawLine(DrawingWand *,const double, const double,const double,const double),
135 DrawMatte(DrawingWand *,const double,const double,const PaintMethod),
136 DrawPathClose(DrawingWand *),
137 DrawPathCurveToAbsolute(DrawingWand *,const double,const double,const double,
138 const double,const double,const double),
139 DrawPathCurveToRelative(DrawingWand *,const double,const double,const double,
140 const double,const double, const double),
141 DrawPathCurveToQuadraticBezierAbsolute(DrawingWand *,const double,
142 const double,const double,const double),
143 DrawPathCurveToQuadraticBezierRelative(DrawingWand *,const double,
144 const double,const double,const double),
145 DrawPathCurveToQuadraticBezierSmoothAbsolute(DrawingWand *,const double,
147 DrawPathCurveToQuadraticBezierSmoothRelative(DrawingWand *,const double,
149 DrawPathCurveToSmoothAbsolute(DrawingWand *,const double,const double,
150 const double,const double),
151 DrawPathCurveToSmoothRelative(DrawingWand *,const double,const double,
152 const double,const double),
153 DrawPathEllipticArcAbsolute(DrawingWand *,const double,const double,
154 const double,const MagickBooleanType,const MagickBooleanType,const double,
156 DrawPathEllipticArcRelative(DrawingWand *,const double,const double,
157 const double,const MagickBooleanType,const MagickBooleanType,const double,
159 DrawPathFinish(DrawingWand *),
160 DrawPathLineToAbsolute(DrawingWand *,const double,const double),
161 DrawPathLineToRelative(DrawingWand *,const double,const double),
162 DrawPathLineToHorizontalAbsolute(DrawingWand *,const double),
163 DrawPathLineToHorizontalRelative(DrawingWand *,const double),
164 DrawPathLineToVerticalAbsolute(DrawingWand *,const double),
165 DrawPathLineToVerticalRelative(DrawingWand *,const double),
166 DrawPathMoveToAbsolute(DrawingWand *,const double,const double),
167 DrawPathMoveToRelative(DrawingWand *,const double,const double),
168 DrawPathStart(DrawingWand *),
169 DrawPoint(DrawingWand *,const double,const double),
170 DrawPolygon(DrawingWand *,const size_t,const PointInfo *),
171 DrawPolyline(DrawingWand *,const size_t,const PointInfo *),
172 DrawPopClipPath(DrawingWand *),
173 DrawPopDefs(DrawingWand *),
174 DrawPushClipPath(DrawingWand *,const char *),
175 DrawPushDefs(DrawingWand *),
176 DrawRectangle(DrawingWand *,const double,const double,const double,
178 DrawResetVectorGraphics(DrawingWand *),
179 DrawRotate(DrawingWand *,const double),
180 DrawRoundRectangle(DrawingWand *,double,double,double,double,double,double),
181 DrawScale(DrawingWand *,const double,const double),
182 DrawSetBorderColor(DrawingWand *,const PixelWand *),
183 DrawSetClipRule(DrawingWand *,const FillRule),
184 DrawSetClipUnits(DrawingWand *,const ClipPathUnits),
185 DrawSetFillColor(DrawingWand *,const PixelWand *),
186 DrawSetFillOpacity(DrawingWand *,const double),
187 DrawSetFillRule(DrawingWand *,const FillRule),
188 DrawSetFontSize(DrawingWand *,const double),
189 DrawSetFontStretch(DrawingWand *,const StretchType),
190 DrawSetFontStyle(DrawingWand *,const StyleType),
191 DrawSetFontWeight(DrawingWand *,const size_t),
192 DrawSetGravity(DrawingWand *,const GravityType),
193 DrawSetOpacity(DrawingWand *,const double),
194 DrawSetStrokeAntialias(DrawingWand *,const MagickBooleanType),
195 DrawSetStrokeColor(DrawingWand *,const PixelWand *),
196 DrawSetStrokeDashOffset(DrawingWand *,const double dashoffset),
197 DrawSetStrokeLineCap(DrawingWand *,const LineCap),
198 DrawSetStrokeLineJoin(DrawingWand *,const LineJoin),
199 DrawSetStrokeMiterLimit(DrawingWand *,const size_t),
200 DrawSetStrokeOpacity(DrawingWand *, const double),
201 DrawSetStrokeWidth(DrawingWand *,const double),
202 DrawSetTextAlignment(DrawingWand *,const AlignType),
203 DrawSetTextAntialias(DrawingWand *,const MagickBooleanType),
204 DrawSetTextDecoration(DrawingWand *,const DecorationType),
205 DrawSetTextEncoding(DrawingWand *,const char *),
206 DrawSetTextUnderColor(DrawingWand *,const PixelWand *),
207 DrawSetViewbox(DrawingWand *,ssize_t,ssize_t,ssize_t,ssize_t),
208 DrawSkewX(DrawingWand *,const double),
209 DrawSkewY(DrawingWand *,const double),
210 DrawTranslate(DrawingWand *,const double,const double);
212 #if defined(__cplusplus) || defined(c_plusplus)