2 Copyright 1999-2014 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 #include "MagickWand/pixel-wand.h"
23 #if defined(__cplusplus) || defined(c_plusplus)
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 DirectionType
48 DrawGetTextDirection(const DrawingWand *);
50 extern WandExport double
51 DrawGetFillAlpha(const DrawingWand *),
52 DrawGetFontSize(const DrawingWand *),
53 DrawGetAlpha(const DrawingWand *),
54 *DrawGetStrokeDashArray(const DrawingWand *,size_t *),
55 DrawGetStrokeDashOffset(const DrawingWand *),
56 DrawGetStrokeAlpha(const DrawingWand *),
57 DrawGetStrokeWidth(const DrawingWand *),
58 DrawGetTextKerning(DrawingWand *),
59 DrawGetTextInterlineSpacing(DrawingWand *),
60 DrawGetTextInterwordSpacing(DrawingWand *);
62 extern WandExport DrawInfo
63 *PeekDrawingWand(const DrawingWand *);
65 extern WandExport DrawingWand
66 *CloneDrawingWand(const DrawingWand *),
67 *DestroyDrawingWand(DrawingWand *),
68 *DrawAllocateWand(const DrawInfo *,Image *),
69 *NewDrawingWand(void);
71 extern WandExport ExceptionInfo
72 *DrawCloneExceptionInfo(const DrawingWand *wand);
74 extern WandExport ExceptionType
75 DrawGetExceptionType(const DrawingWand *);
77 extern WandExport FillRule
78 DrawGetClipRule(const DrawingWand *),
79 DrawGetFillRule(const DrawingWand *);
81 extern WandExport GravityType
82 DrawGetGravity(const DrawingWand *);
84 extern WandExport LineCap
85 DrawGetStrokeLineCap(const DrawingWand *);
87 extern WandExport LineJoin
88 DrawGetStrokeLineJoin(const DrawingWand *);
90 extern WandExport MagickBooleanType
91 DrawClearException(DrawingWand *),
92 DrawComposite(DrawingWand *,const CompositeOperator,const double,const double,
93 const double,const double,MagickWand *),
94 DrawGetFontResolution(const DrawingWand *,double *,double *),
95 DrawGetStrokeAntialias(const DrawingWand *),
96 DrawGetTextAntialias(const DrawingWand *),
97 DrawPopPattern(DrawingWand *),
98 DrawPushPattern(DrawingWand *,const char *,const double,const double,
99 const double,const double),
100 DrawRender(DrawingWand *),
101 DrawSetClipPath(DrawingWand *,const char *),
102 DrawSetFillPatternURL(DrawingWand *,const char *),
103 DrawSetFont(DrawingWand *,const char *),
104 DrawSetFontFamily(DrawingWand *,const char *),
105 DrawSetFontResolution(DrawingWand *,const double,const double),
106 DrawSetStrokeDashArray(DrawingWand *,const size_t,const double *),
107 DrawSetStrokePatternURL(DrawingWand *,const char *),
108 DrawSetVectorGraphics(DrawingWand *,const char *),
109 IsDrawingWand(const DrawingWand *),
110 PopDrawingWand(DrawingWand *),
111 PushDrawingWand(DrawingWand *);
113 extern WandExport StretchType
114 DrawGetFontStretch(const DrawingWand *);
116 extern WandExport StyleType
117 DrawGetFontStyle(const DrawingWand *);
119 extern WandExport size_t
120 DrawGetFontWeight(const DrawingWand *),
121 DrawGetStrokeMiterLimit(const DrawingWand *);
123 extern WandExport void
124 ClearDrawingWand(DrawingWand *),
125 DrawAffine(DrawingWand *,const AffineMatrix *),
126 DrawAnnotation(DrawingWand *,const double,const double,const unsigned char *),
127 DrawArc(DrawingWand *,const double,const double,const double,const double,
128 const double,const double),
129 DrawBezier(DrawingWand *,const size_t,const PointInfo *),
130 DrawGetBorderColor(const DrawingWand *,PixelWand *),
131 DrawCircle(DrawingWand *,const double,const double,const double,const double),
132 DrawColor(DrawingWand *,const double,const double,const PaintMethod),
133 DrawComment(DrawingWand *,const char *),
134 DrawEllipse(DrawingWand *,const double,const double,const double,const double,
135 const double,const double),
136 DrawGetFillColor(const DrawingWand *,PixelWand *),
137 DrawGetStrokeColor(const DrawingWand *,PixelWand *),
138 DrawSetTextKerning(DrawingWand *,const double),
139 DrawSetTextInterlineSpacing(DrawingWand *,const double),
140 DrawSetTextInterwordSpacing(DrawingWand *,const double),
141 DrawGetTextUnderColor(const DrawingWand *,PixelWand *),
142 DrawLine(DrawingWand *,const double, const double,const double,const double),
143 DrawMatte(DrawingWand *,const double,const double,const PaintMethod),
144 DrawPathClose(DrawingWand *),
145 DrawPathCurveToAbsolute(DrawingWand *,const double,const double,const double,
146 const double,const double,const double),
147 DrawPathCurveToRelative(DrawingWand *,const double,const double,const double,
148 const double,const double, const double),
149 DrawPathCurveToQuadraticBezierAbsolute(DrawingWand *,const double,
150 const double,const double,const double),
151 DrawPathCurveToQuadraticBezierRelative(DrawingWand *,const double,
152 const double,const double,const double),
153 DrawPathCurveToQuadraticBezierSmoothAbsolute(DrawingWand *,const double,
155 DrawPathCurveToQuadraticBezierSmoothRelative(DrawingWand *,const double,
157 DrawPathCurveToSmoothAbsolute(DrawingWand *,const double,const double,
158 const double,const double),
159 DrawPathCurveToSmoothRelative(DrawingWand *,const double,const double,
160 const double,const double),
161 DrawPathEllipticArcAbsolute(DrawingWand *,const double,const double,
162 const double,const MagickBooleanType,const MagickBooleanType,const double,
164 DrawPathEllipticArcRelative(DrawingWand *,const double,const double,
165 const double,const MagickBooleanType,const MagickBooleanType,const double,
167 DrawPathFinish(DrawingWand *),
168 DrawPathLineToAbsolute(DrawingWand *,const double,const double),
169 DrawPathLineToRelative(DrawingWand *,const double,const double),
170 DrawPathLineToHorizontalAbsolute(DrawingWand *,const double),
171 DrawPathLineToHorizontalRelative(DrawingWand *,const double),
172 DrawPathLineToVerticalAbsolute(DrawingWand *,const double),
173 DrawPathLineToVerticalRelative(DrawingWand *,const double),
174 DrawPathMoveToAbsolute(DrawingWand *,const double,const double),
175 DrawPathMoveToRelative(DrawingWand *,const double,const double),
176 DrawPathStart(DrawingWand *),
177 DrawPoint(DrawingWand *,const double,const double),
178 DrawPolygon(DrawingWand *,const size_t,const PointInfo *),
179 DrawPolyline(DrawingWand *,const size_t,const PointInfo *),
180 DrawPopClipPath(DrawingWand *),
181 DrawPopDefs(DrawingWand *),
182 DrawPushClipPath(DrawingWand *,const char *),
183 DrawPushDefs(DrawingWand *),
184 DrawRectangle(DrawingWand *,const double,const double,const double,
186 DrawResetVectorGraphics(DrawingWand *),
187 DrawRotate(DrawingWand *,const double),
188 DrawRoundRectangle(DrawingWand *,double,double,double,double,double,double),
189 DrawScale(DrawingWand *,const double,const double),
190 DrawSetBorderColor(DrawingWand *,const PixelWand *),
191 DrawSetClipRule(DrawingWand *,const FillRule),
192 DrawSetClipUnits(DrawingWand *,const ClipPathUnits),
193 DrawSetFillColor(DrawingWand *,const PixelWand *),
194 DrawSetFillAlpha(DrawingWand *,const double),
195 DrawSetFillRule(DrawingWand *,const FillRule),
196 DrawSetFontSize(DrawingWand *,const double),
197 DrawSetFontStretch(DrawingWand *,const StretchType),
198 DrawSetFontStyle(DrawingWand *,const StyleType),
199 DrawSetFontWeight(DrawingWand *,const size_t),
200 DrawSetGravity(DrawingWand *,const GravityType),
201 DrawSetAlpha(DrawingWand *,const double),
202 DrawSetStrokeAntialias(DrawingWand *,const MagickBooleanType),
203 DrawSetStrokeColor(DrawingWand *,const PixelWand *),
204 DrawSetStrokeDashOffset(DrawingWand *,const double dashoffset),
205 DrawSetStrokeLineCap(DrawingWand *,const LineCap),
206 DrawSetStrokeLineJoin(DrawingWand *,const LineJoin),
207 DrawSetStrokeMiterLimit(DrawingWand *,const size_t),
208 DrawSetStrokeAlpha(DrawingWand *, const double),
209 DrawSetStrokeWidth(DrawingWand *,const double),
210 DrawSetTextAlignment(DrawingWand *,const AlignType),
211 DrawSetTextAntialias(DrawingWand *,const MagickBooleanType),
212 DrawSetTextDecoration(DrawingWand *,const DecorationType),
213 DrawSetTextDirection(DrawingWand *,const DirectionType),
214 DrawSetTextEncoding(DrawingWand *,const char *),
215 DrawSetTextUnderColor(DrawingWand *,const PixelWand *),
216 DrawSetViewbox(DrawingWand *,const double,const double,const double,
218 DrawSkewX(DrawingWand *,const double),
219 DrawSkewY(DrawingWand *,const double),
220 DrawTranslate(DrawingWand *,const double,const double);
222 #if defined(__cplusplus) || defined(c_plusplus)