2 Copyright 1999-2011 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 "MagickWand/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 DrawGetFillAlpha(const DrawingWand *),
49 DrawGetFontSize(const DrawingWand *),
50 DrawGetAlpha(const DrawingWand *),
51 *DrawGetStrokeDashArray(const DrawingWand *,size_t *),
52 DrawGetStrokeDashOffset(const DrawingWand *),
53 DrawGetStrokeAlpha(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 DrawGetFontResolution(const DrawingWand *,double *,double *),
89 DrawGetStrokeAntialias(const DrawingWand *),
90 DrawGetTextAntialias(const DrawingWand *),
91 DrawPopPattern(DrawingWand *),
92 DrawPushPattern(DrawingWand *,const char *,const double,const double,
93 const double,const double),
94 DrawRender(DrawingWand *),
95 DrawSetClipPath(DrawingWand *,const char *),
96 DrawSetFillPatternURL(DrawingWand *,const char *),
97 DrawSetFont(DrawingWand *,const char *),
98 DrawSetFontFamily(DrawingWand *,const char *),
99 DrawSetFontResolution(DrawingWand *,const double,const double),
100 DrawSetStrokeDashArray(DrawingWand *,const size_t,const double *),
101 DrawSetStrokePatternURL(DrawingWand *,const char *),
102 DrawSetVectorGraphics(DrawingWand *,const char *),
103 IsDrawingWand(const DrawingWand *),
104 PopDrawingWand(DrawingWand *),
105 PushDrawingWand(DrawingWand *);
107 extern WandExport StretchType
108 DrawGetFontStretch(const DrawingWand *);
110 extern WandExport StyleType
111 DrawGetFontStyle(const DrawingWand *);
113 extern WandExport size_t
114 DrawGetFontWeight(const DrawingWand *),
115 DrawGetStrokeMiterLimit(const DrawingWand *);
117 extern WandExport void
118 ClearDrawingWand(DrawingWand *),
119 DrawAffine(DrawingWand *,const AffineMatrix *),
120 DrawAnnotation(DrawingWand *,const double,const double,const unsigned char *),
121 DrawArc(DrawingWand *,const double,const double,const double,const double,
122 const double,const double),
123 DrawBezier(DrawingWand *,const size_t,const PointInfo *),
124 DrawGetBorderColor(const DrawingWand *,PixelWand *),
125 DrawCircle(DrawingWand *,const double,const double,const double,const double),
126 DrawColor(DrawingWand *,const double,const double,const PaintMethod),
127 DrawComment(DrawingWand *,const char *),
128 DrawEllipse(DrawingWand *,const double,const double,const double,const double,
129 const double,const double),
130 DrawGetFillColor(const DrawingWand *,PixelWand *),
131 DrawGetStrokeColor(const DrawingWand *,PixelWand *),
132 DrawSetTextKerning(DrawingWand *,const double),
133 DrawSetTextInterlineSpacing(DrawingWand *,const double),
134 DrawSetTextInterwordSpacing(DrawingWand *,const double),
135 DrawGetTextUnderColor(const DrawingWand *,PixelWand *),
136 DrawLine(DrawingWand *,const double, const double,const double,const double),
137 DrawMatte(DrawingWand *,const double,const double,const PaintMethod),
138 DrawPathClose(DrawingWand *),
139 DrawPathCurveToAbsolute(DrawingWand *,const double,const double,const double,
140 const double,const double,const double),
141 DrawPathCurveToRelative(DrawingWand *,const double,const double,const double,
142 const double,const double, const double),
143 DrawPathCurveToQuadraticBezierAbsolute(DrawingWand *,const double,
144 const double,const double,const double),
145 DrawPathCurveToQuadraticBezierRelative(DrawingWand *,const double,
146 const double,const double,const double),
147 DrawPathCurveToQuadraticBezierSmoothAbsolute(DrawingWand *,const double,
149 DrawPathCurveToQuadraticBezierSmoothRelative(DrawingWand *,const double,
151 DrawPathCurveToSmoothAbsolute(DrawingWand *,const double,const double,
152 const double,const double),
153 DrawPathCurveToSmoothRelative(DrawingWand *,const double,const double,
154 const double,const double),
155 DrawPathEllipticArcAbsolute(DrawingWand *,const double,const double,
156 const double,const MagickBooleanType,const MagickBooleanType,const double,
158 DrawPathEllipticArcRelative(DrawingWand *,const double,const double,
159 const double,const MagickBooleanType,const MagickBooleanType,const double,
161 DrawPathFinish(DrawingWand *),
162 DrawPathLineToAbsolute(DrawingWand *,const double,const double),
163 DrawPathLineToRelative(DrawingWand *,const double,const double),
164 DrawPathLineToHorizontalAbsolute(DrawingWand *,const double),
165 DrawPathLineToHorizontalRelative(DrawingWand *,const double),
166 DrawPathLineToVerticalAbsolute(DrawingWand *,const double),
167 DrawPathLineToVerticalRelative(DrawingWand *,const double),
168 DrawPathMoveToAbsolute(DrawingWand *,const double,const double),
169 DrawPathMoveToRelative(DrawingWand *,const double,const double),
170 DrawPathStart(DrawingWand *),
171 DrawPoint(DrawingWand *,const double,const double),
172 DrawPolygon(DrawingWand *,const size_t,const PointInfo *),
173 DrawPolyline(DrawingWand *,const size_t,const PointInfo *),
174 DrawPopClipPath(DrawingWand *),
175 DrawPopDefs(DrawingWand *),
176 DrawPushClipPath(DrawingWand *,const char *),
177 DrawPushDefs(DrawingWand *),
178 DrawRectangle(DrawingWand *,const double,const double,const double,
180 DrawResetVectorGraphics(DrawingWand *),
181 DrawRotate(DrawingWand *,const double),
182 DrawRoundRectangle(DrawingWand *,double,double,double,double,double,double),
183 DrawScale(DrawingWand *,const double,const double),
184 DrawSetBorderColor(DrawingWand *,const PixelWand *),
185 DrawSetClipRule(DrawingWand *,const FillRule),
186 DrawSetClipUnits(DrawingWand *,const ClipPathUnits),
187 DrawSetFillColor(DrawingWand *,const PixelWand *),
188 DrawSetFillAlpha(DrawingWand *,const double),
189 DrawSetFillRule(DrawingWand *,const FillRule),
190 DrawSetFontSize(DrawingWand *,const double),
191 DrawSetFontStretch(DrawingWand *,const StretchType),
192 DrawSetFontStyle(DrawingWand *,const StyleType),
193 DrawSetFontWeight(DrawingWand *,const size_t),
194 DrawSetGravity(DrawingWand *,const GravityType),
195 DrawSetAlpha(DrawingWand *,const double),
196 DrawSetStrokeAntialias(DrawingWand *,const MagickBooleanType),
197 DrawSetStrokeColor(DrawingWand *,const PixelWand *),
198 DrawSetStrokeDashOffset(DrawingWand *,const double dashoffset),
199 DrawSetStrokeLineCap(DrawingWand *,const LineCap),
200 DrawSetStrokeLineJoin(DrawingWand *,const LineJoin),
201 DrawSetStrokeMiterLimit(DrawingWand *,const size_t),
202 DrawSetStrokeAlpha(DrawingWand *, const double),
203 DrawSetStrokeWidth(DrawingWand *,const double),
204 DrawSetTextAlignment(DrawingWand *,const AlignType),
205 DrawSetTextAntialias(DrawingWand *,const MagickBooleanType),
206 DrawSetTextDecoration(DrawingWand *,const DecorationType),
207 DrawSetTextEncoding(DrawingWand *,const char *),
208 DrawSetTextUnderColor(DrawingWand *,const PixelWand *),
209 DrawSetViewbox(DrawingWand *,ssize_t,ssize_t,ssize_t,ssize_t),
210 DrawSkewX(DrawingWand *,const double),
211 DrawSkewY(DrawingWand *,const double),
212 DrawTranslate(DrawingWand *,const double,const double);
214 #if defined(__cplusplus) || defined(c_plusplus)