blob: 7fd8ac6172853ed2452a27163f771fcb733b6502 [file] [log] [blame]
cristy3ed852e2009-09-05 21:47:34 +00001/*
Cristy7ce65e72015-12-12 18:03:16 -05002 Copyright 1999-2016 ImageMagick Studio LLC, a non-profit organization
cristy3ed852e2009-09-05 21:47:34 +00003 dedicated to making software imaging solutions freely available.
4
5 You may not use this file except in compliance with the License.
6 obtain a copy of the License at
7
8 http://www.imagemagick.org/script/license.php
9
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.
15
16 MagickWand drawing wand methods.
17*/
18#ifndef _MAGICKWAND_DRAWING_WAND_H
19#define _MAGICKWAND_DRAWING_WAND_H
20
cristy6398ec72013-11-28 02:00:27 +000021#include "MagickWand/pixel-wand.h"
22
cristy3ed852e2009-09-05 21:47:34 +000023#if defined(__cplusplus) || defined(c_plusplus)
24extern "C" {
25#endif
26
cristy3ed852e2009-09-05 21:47:34 +000027typedef struct _DrawingWand
28 DrawingWand;
29
30extern WandExport AlignType
31 DrawGetTextAlignment(const DrawingWand *);
32
33extern WandExport char
34 *DrawGetClipPath(const DrawingWand *),
dirk47778472015-07-11 10:20:41 +000035 *DrawGetDensity(const DrawingWand *),
cristy3ed852e2009-09-05 21:47:34 +000036 *DrawGetException(const DrawingWand *,ExceptionType *),
37 *DrawGetFont(const DrawingWand *),
38 *DrawGetFontFamily(const DrawingWand *),
39 *DrawGetTextEncoding(const DrawingWand *),
40 *DrawGetVectorGraphics(DrawingWand *);
41
42extern WandExport ClipPathUnits
43 DrawGetClipUnits(const DrawingWand *);
44
45extern WandExport DecorationType
46 DrawGetTextDecoration(const DrawingWand *);
47
dirkc084d392014-01-27 19:08:45 +000048extern WandExport DirectionType
49 DrawGetTextDirection(const DrawingWand *);
50
cristy3ed852e2009-09-05 21:47:34 +000051extern WandExport double
dirkc8e845f2015-04-07 19:32:12 +000052 DrawGetFillOpacity(const DrawingWand *),
cristy3ed852e2009-09-05 21:47:34 +000053 DrawGetFontSize(const DrawingWand *),
dirkc8e845f2015-04-07 19:32:12 +000054 DrawGetOpacity(const DrawingWand *),
cristybb503372010-05-27 20:51:26 +000055 *DrawGetStrokeDashArray(const DrawingWand *,size_t *),
cristy3ed852e2009-09-05 21:47:34 +000056 DrawGetStrokeDashOffset(const DrawingWand *),
dirkc8e845f2015-04-07 19:32:12 +000057 DrawGetStrokeOpacty(const DrawingWand *),
cristy3ed852e2009-09-05 21:47:34 +000058 DrawGetStrokeWidth(const DrawingWand *),
59 DrawGetTextKerning(DrawingWand *),
cristyb32b90a2009-09-07 21:45:48 +000060 DrawGetTextInterlineSpacing(DrawingWand *),
cristy3ed852e2009-09-05 21:47:34 +000061 DrawGetTextInterwordSpacing(DrawingWand *);
62
63extern WandExport DrawInfo
64 *PeekDrawingWand(const DrawingWand *);
65
66extern WandExport DrawingWand
Cristyd9d2c0d2015-12-25 08:15:09 -050067 *AcquireDrawingWand(const DrawInfo *,Image *),
cristy3ed852e2009-09-05 21:47:34 +000068 *CloneDrawingWand(const DrawingWand *),
69 *DestroyDrawingWand(DrawingWand *),
cristy3ed852e2009-09-05 21:47:34 +000070 *NewDrawingWand(void);
71
dirk1940fe02013-12-07 19:19:26 +000072extern WandExport ExceptionInfo
73 *DrawCloneExceptionInfo(const DrawingWand *wand);
74
cristy3ed852e2009-09-05 21:47:34 +000075extern WandExport ExceptionType
76 DrawGetExceptionType(const DrawingWand *);
77
78extern WandExport FillRule
79 DrawGetClipRule(const DrawingWand *),
80 DrawGetFillRule(const DrawingWand *);
81
82extern WandExport GravityType
83 DrawGetGravity(const DrawingWand *);
84
85extern WandExport LineCap
86 DrawGetStrokeLineCap(const DrawingWand *);
87
88extern WandExport LineJoin
89 DrawGetStrokeLineJoin(const DrawingWand *);
90
91extern WandExport MagickBooleanType
92 DrawClearException(DrawingWand *),
93 DrawComposite(DrawingWand *,const CompositeOperator,const double,const double,
94 const double,const double,MagickWand *),
cristy56375382010-11-21 23:49:30 +000095 DrawGetFontResolution(const DrawingWand *,double *,double *),
cristy3ed852e2009-09-05 21:47:34 +000096 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 *),
dirk47778472015-07-11 10:20:41 +0000103 DrawSetDensity(DrawingWand *,const char *),
cristy3ed852e2009-09-05 21:47:34 +0000104 DrawSetFillPatternURL(DrawingWand *,const char *),
105 DrawSetFont(DrawingWand *,const char *),
106 DrawSetFontFamily(DrawingWand *,const char *),
cristy56375382010-11-21 23:49:30 +0000107 DrawSetFontResolution(DrawingWand *,const double,const double),
cristybb503372010-05-27 20:51:26 +0000108 DrawSetStrokeDashArray(DrawingWand *,const size_t,const double *),
cristy3ed852e2009-09-05 21:47:34 +0000109 DrawSetStrokePatternURL(DrawingWand *,const char *),
110 DrawSetVectorGraphics(DrawingWand *,const char *),
111 IsDrawingWand(const DrawingWand *),
112 PopDrawingWand(DrawingWand *),
113 PushDrawingWand(DrawingWand *);
114
115extern WandExport StretchType
116 DrawGetFontStretch(const DrawingWand *);
117
118extern WandExport StyleType
119 DrawGetFontStyle(const DrawingWand *);
120
cristybb503372010-05-27 20:51:26 +0000121extern WandExport size_t
cristy3ed852e2009-09-05 21:47:34 +0000122 DrawGetFontWeight(const DrawingWand *),
123 DrawGetStrokeMiterLimit(const DrawingWand *);
124
125extern WandExport void
126 ClearDrawingWand(DrawingWand *),
127 DrawAffine(DrawingWand *,const AffineMatrix *),
dirk34e1a212015-03-22 16:45:12 +0000128 DrawAlpha(DrawingWand *,const double,const double,const PaintMethod),
cristy3ed852e2009-09-05 21:47:34 +0000129 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),
cristybb503372010-05-27 20:51:26 +0000132 DrawBezier(DrawingWand *,const size_t,const PointInfo *),
cristy3ed852e2009-09-05 21:47:34 +0000133 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),
cristyb32b90a2009-09-07 21:45:48 +0000142 DrawSetTextInterlineSpacing(DrawingWand *,const double),
cristy3ed852e2009-09-05 21:47:34 +0000143 DrawSetTextInterwordSpacing(DrawingWand *,const double),
144 DrawGetTextUnderColor(const DrawingWand *,PixelWand *),
145 DrawLine(DrawingWand *,const double, const double,const double,const double),
cristy3ed852e2009-09-05 21:47:34 +0000146 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,
156 const double),
157 DrawPathCurveToQuadraticBezierSmoothRelative(DrawingWand *,const double,
158 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,
165 const double),
166 DrawPathEllipticArcRelative(DrawingWand *,const double,const double,
167 const double,const MagickBooleanType,const MagickBooleanType,const double,
168 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),
cristybb503372010-05-27 20:51:26 +0000180 DrawPolygon(DrawingWand *,const size_t,const PointInfo *),
181 DrawPolyline(DrawingWand *,const size_t,const PointInfo *),
cristy3ed852e2009-09-05 21:47:34 +0000182 DrawPopClipPath(DrawingWand *),
183 DrawPopDefs(DrawingWand *),
184 DrawPushClipPath(DrawingWand *,const char *),
185 DrawPushDefs(DrawingWand *),
186 DrawRectangle(DrawingWand *,const double,const double,const double,
187 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 *),
dirkc8e845f2015-04-07 19:32:12 +0000196 DrawSetFillOpacity(DrawingWand *,const double),
cristy3ed852e2009-09-05 21:47:34 +0000197 DrawSetFillRule(DrawingWand *,const FillRule),
198 DrawSetFontSize(DrawingWand *,const double),
199 DrawSetFontStretch(DrawingWand *,const StretchType),
200 DrawSetFontStyle(DrawingWand *,const StyleType),
cristybb503372010-05-27 20:51:26 +0000201 DrawSetFontWeight(DrawingWand *,const size_t),
cristy3ed852e2009-09-05 21:47:34 +0000202 DrawSetGravity(DrawingWand *,const GravityType),
cristycc29a962015-03-23 21:17:46 +0000203 DrawSetOpacity(DrawingWand *,const double),
cristy3ed852e2009-09-05 21:47:34 +0000204 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),
cristybb503372010-05-27 20:51:26 +0000209 DrawSetStrokeMiterLimit(DrawingWand *,const size_t),
dirkc8e845f2015-04-07 19:32:12 +0000210 DrawSetStrokeOpacity(DrawingWand *, const double),
cristy3ed852e2009-09-05 21:47:34 +0000211 DrawSetStrokeWidth(DrawingWand *,const double),
212 DrawSetTextAlignment(DrawingWand *,const AlignType),
213 DrawSetTextAntialias(DrawingWand *,const MagickBooleanType),
214 DrawSetTextDecoration(DrawingWand *,const DecorationType),
dirkc084d392014-01-27 19:08:45 +0000215 DrawSetTextDirection(DrawingWand *,const DirectionType),
cristy3ed852e2009-09-05 21:47:34 +0000216 DrawSetTextEncoding(DrawingWand *,const char *),
217 DrawSetTextUnderColor(DrawingWand *,const PixelWand *),
cristy76fa3142012-04-26 11:30:17 +0000218 DrawSetViewbox(DrawingWand *,const double,const double,const double,
219 const double),
cristy3ed852e2009-09-05 21:47:34 +0000220 DrawSkewX(DrawingWand *,const double),
221 DrawSkewY(DrawingWand *,const double),
222 DrawTranslate(DrawingWand *,const double,const double);
223
224#if defined(__cplusplus) || defined(c_plusplus)
225}
226#endif
227
228#endif