2 Copyright 1999-2016 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 *DrawGetDensity(const DrawingWand *),
36 *DrawGetException(const DrawingWand *,ExceptionType *),
37 *DrawGetFont(const DrawingWand *),
38 *DrawGetFontFamily(const DrawingWand *),
39 *DrawGetTextEncoding(const DrawingWand *),
40 *DrawGetVectorGraphics(DrawingWand *);
42 extern WandExport ClipPathUnits
43 DrawGetClipUnits(const DrawingWand *);
45 extern WandExport DecorationType
46 DrawGetTextDecoration(const DrawingWand *);
48 extern WandExport DirectionType
49 DrawGetTextDirection(const DrawingWand *);
51 extern WandExport double
52 DrawGetFillOpacity(const DrawingWand *),
53 DrawGetFontSize(const DrawingWand *),
54 DrawGetOpacity(const DrawingWand *),
55 *DrawGetStrokeDashArray(const DrawingWand *,size_t *),
56 DrawGetStrokeDashOffset(const DrawingWand *),
57 DrawGetStrokeOpacity(const DrawingWand *),
58 DrawGetStrokeWidth(const DrawingWand *),
59 DrawGetTextKerning(DrawingWand *),
60 DrawGetTextInterlineSpacing(DrawingWand *),
61 DrawGetTextInterwordSpacing(DrawingWand *);
63 extern WandExport DrawInfo
64 *PeekDrawingWand(const DrawingWand *);
66 extern WandExport DrawingWand
67 *AcquireDrawingWand(const DrawInfo *,Image *),
68 *CloneDrawingWand(const DrawingWand *),
69 *DestroyDrawingWand(DrawingWand *),
70 *NewDrawingWand(void);
72 extern WandExport ExceptionInfo
73 *DrawCloneExceptionInfo(const DrawingWand *wand);
75 extern WandExport ExceptionType
76 DrawGetExceptionType(const DrawingWand *);
78 extern WandExport FillRule
79 DrawGetClipRule(const DrawingWand *),
80 DrawGetFillRule(const DrawingWand *);
82 extern WandExport GravityType
83 DrawGetGravity(const DrawingWand *);
85 extern WandExport LineCap
86 DrawGetStrokeLineCap(const DrawingWand *);
88 extern WandExport LineJoin
89 DrawGetStrokeLineJoin(const DrawingWand *);
91 extern WandExport MagickBooleanType
92 DrawClearException(DrawingWand *),
93 DrawComposite(DrawingWand *,const CompositeOperator,const double,const double,
94 const double,const double,MagickWand *),
95 DrawGetFontResolution(const DrawingWand *,double *,double *),
96 DrawGetStrokeAntialias(const DrawingWand *),
97 DrawGetTextAntialias(const DrawingWand *),
98 DrawPopPattern(DrawingWand *),
99 DrawPushPattern(DrawingWand *,const char *,const double,const double,
100 const double,const double),
101 DrawRender(DrawingWand *),
102 DrawSetClipPath(DrawingWand *,const char *),
103 DrawSetDensity(DrawingWand *,const char *),
104 DrawSetFillPatternURL(DrawingWand *,const char *),
105 DrawSetFont(DrawingWand *,const char *),
106 DrawSetFontFamily(DrawingWand *,const char *),
107 DrawSetFontResolution(DrawingWand *,const double,const double),
108 DrawSetStrokeDashArray(DrawingWand *,const size_t,const double *),
109 DrawSetStrokePatternURL(DrawingWand *,const char *),
110 DrawSetVectorGraphics(DrawingWand *,const char *),
111 IsDrawingWand(const DrawingWand *),
112 PopDrawingWand(DrawingWand *),
113 PushDrawingWand(DrawingWand *);
115 extern WandExport StretchType
116 DrawGetFontStretch(const DrawingWand *);
118 extern WandExport StyleType
119 DrawGetFontStyle(const DrawingWand *);
121 extern WandExport size_t
122 DrawGetFontWeight(const DrawingWand *),
123 DrawGetStrokeMiterLimit(const DrawingWand *);
125 extern WandExport void
126 ClearDrawingWand(DrawingWand *),
127 DrawAffine(DrawingWand *,const AffineMatrix *),
128 DrawAlpha(DrawingWand *,const double,const double,const PaintMethod),
129 DrawAnnotation(DrawingWand *,const double,const double,const unsigned char *),
130 DrawArc(DrawingWand *,const double,const double,const double,const double,
131 const double,const double),
132 DrawBezier(DrawingWand *,const size_t,const PointInfo *),
133 DrawGetBorderColor(const DrawingWand *,PixelWand *),
134 DrawCircle(DrawingWand *,const double,const double,const double,const double),
135 DrawColor(DrawingWand *,const double,const double,const PaintMethod),
136 DrawComment(DrawingWand *,const char *),
137 DrawEllipse(DrawingWand *,const double,const double,const double,const double,
138 const double,const double),
139 DrawGetFillColor(const DrawingWand *,PixelWand *),
140 DrawGetStrokeColor(const DrawingWand *,PixelWand *),
141 DrawSetTextKerning(DrawingWand *,const double),
142 DrawSetTextInterlineSpacing(DrawingWand *,const double),
143 DrawSetTextInterwordSpacing(DrawingWand *,const double),
144 DrawGetTextUnderColor(const DrawingWand *,PixelWand *),
145 DrawLine(DrawingWand *,const double, const double,const double,const double),
146 DrawPathClose(DrawingWand *),
147 DrawPathCurveToAbsolute(DrawingWand *,const double,const double,const double,
148 const double,const double,const double),
149 DrawPathCurveToRelative(DrawingWand *,const double,const double,const double,
150 const double,const double, const double),
151 DrawPathCurveToQuadraticBezierAbsolute(DrawingWand *,const double,
152 const double,const double,const double),
153 DrawPathCurveToQuadraticBezierRelative(DrawingWand *,const double,
154 const double,const double,const double),
155 DrawPathCurveToQuadraticBezierSmoothAbsolute(DrawingWand *,const double,
157 DrawPathCurveToQuadraticBezierSmoothRelative(DrawingWand *,const double,
159 DrawPathCurveToSmoothAbsolute(DrawingWand *,const double,const double,
160 const double,const double),
161 DrawPathCurveToSmoothRelative(DrawingWand *,const double,const double,
162 const double,const double),
163 DrawPathEllipticArcAbsolute(DrawingWand *,const double,const double,
164 const double,const MagickBooleanType,const MagickBooleanType,const double,
166 DrawPathEllipticArcRelative(DrawingWand *,const double,const double,
167 const double,const MagickBooleanType,const MagickBooleanType,const double,
169 DrawPathFinish(DrawingWand *),
170 DrawPathLineToAbsolute(DrawingWand *,const double,const double),
171 DrawPathLineToRelative(DrawingWand *,const double,const double),
172 DrawPathLineToHorizontalAbsolute(DrawingWand *,const double),
173 DrawPathLineToHorizontalRelative(DrawingWand *,const double),
174 DrawPathLineToVerticalAbsolute(DrawingWand *,const double),
175 DrawPathLineToVerticalRelative(DrawingWand *,const double),
176 DrawPathMoveToAbsolute(DrawingWand *,const double,const double),
177 DrawPathMoveToRelative(DrawingWand *,const double,const double),
178 DrawPathStart(DrawingWand *),
179 DrawPoint(DrawingWand *,const double,const double),
180 DrawPolygon(DrawingWand *,const size_t,const PointInfo *),
181 DrawPolyline(DrawingWand *,const size_t,const PointInfo *),
182 DrawPopClipPath(DrawingWand *),
183 DrawPopDefs(DrawingWand *),
184 DrawPushClipPath(DrawingWand *,const char *),
185 DrawPushDefs(DrawingWand *),
186 DrawRectangle(DrawingWand *,const double,const double,const double,
188 DrawResetVectorGraphics(DrawingWand *),
189 DrawRotate(DrawingWand *,const double),
190 DrawRoundRectangle(DrawingWand *,double,double,double,double,double,double),
191 DrawScale(DrawingWand *,const double,const double),
192 DrawSetBorderColor(DrawingWand *,const PixelWand *),
193 DrawSetClipRule(DrawingWand *,const FillRule),
194 DrawSetClipUnits(DrawingWand *,const ClipPathUnits),
195 DrawSetFillColor(DrawingWand *,const PixelWand *),
196 DrawSetFillOpacity(DrawingWand *,const double),
197 DrawSetFillRule(DrawingWand *,const FillRule),
198 DrawSetFontSize(DrawingWand *,const double),
199 DrawSetFontStretch(DrawingWand *,const StretchType),
200 DrawSetFontStyle(DrawingWand *,const StyleType),
201 DrawSetFontWeight(DrawingWand *,const size_t),
202 DrawSetGravity(DrawingWand *,const GravityType),
203 DrawSetOpacity(DrawingWand *,const double),
204 DrawSetStrokeAntialias(DrawingWand *,const MagickBooleanType),
205 DrawSetStrokeColor(DrawingWand *,const PixelWand *),
206 DrawSetStrokeDashOffset(DrawingWand *,const double dashoffset),
207 DrawSetStrokeLineCap(DrawingWand *,const LineCap),
208 DrawSetStrokeLineJoin(DrawingWand *,const LineJoin),
209 DrawSetStrokeMiterLimit(DrawingWand *,const size_t),
210 DrawSetStrokeOpacity(DrawingWand *, const double),
211 DrawSetStrokeWidth(DrawingWand *,const double),
212 DrawSetTextAlignment(DrawingWand *,const AlignType),
213 DrawSetTextAntialias(DrawingWand *,const MagickBooleanType),
214 DrawSetTextDecoration(DrawingWand *,const DecorationType),
215 DrawSetTextDirection(DrawingWand *,const DirectionType),
216 DrawSetTextEncoding(DrawingWand *,const char *),
217 DrawSetTextUnderColor(DrawingWand *,const PixelWand *),
218 DrawSetViewbox(DrawingWand *,const double,const double,const double,
220 DrawSkewX(DrawingWand *,const double),
221 DrawSkewY(DrawingWand *,const double),
222 DrawTranslate(DrawingWand *,const double,const double);
224 #if defined(__cplusplus) || defined(c_plusplus)