• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2   Copyright 1999-2021 ImageMagick Studio LLC, a non-profit organization
3   dedicated to making software imaging solutions freely available.
4 
5   You may not use this file except in compliance with the License.  You may
6   obtain a copy of the License at
7 
8     https://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 
21 #include "MagickWand/pixel-wand.h"
22 
23 #if defined(__cplusplus) || defined(c_plusplus)
24 extern "C" {
25 #endif
26 
27 typedef struct _DrawingWand
28   DrawingWand;
29 
30 extern WandExport AlignType
31   DrawGetTextAlignment(const DrawingWand *);
32 
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 *);
41 
42 extern WandExport ClipPathUnits
43   DrawGetClipUnits(const DrawingWand *) magick_attribute((__pure__));
44 
45 extern WandExport DecorationType
46   DrawGetTextDecoration(const DrawingWand *) magick_attribute((__pure__));
47 
48 extern WandExport DirectionType
49   DrawGetTextDirection(const DrawingWand *);
50 
51 extern WandExport double
52   DrawGetFillOpacity(const DrawingWand *) magick_attribute((__pure__)),
53   DrawGetFontSize(const DrawingWand *) magick_attribute((__pure__)),
54   DrawGetOpacity(const DrawingWand *) magick_attribute((__pure__)),
55   *DrawGetStrokeDashArray(const DrawingWand *,size_t *),
56   DrawGetStrokeDashOffset(const DrawingWand *) magick_attribute((__pure__)),
57   DrawGetStrokeOpacity(const DrawingWand *) magick_attribute((__pure__)),
58   DrawGetStrokeWidth(const DrawingWand *) magick_attribute((__pure__)),
59   DrawGetTextKerning(DrawingWand *) magick_attribute((__pure__)),
60   DrawGetTextInterlineSpacing(DrawingWand *) magick_attribute((__pure__)),
61   DrawGetTextInterwordSpacing(DrawingWand *) magick_attribute((__pure__));
62 
63 extern WandExport DrawInfo
64   *PeekDrawingWand(const DrawingWand *);
65 
66 extern WandExport DrawingWand
67   *AcquireDrawingWand(const DrawInfo *,Image *),
68   *CloneDrawingWand(const DrawingWand *),
69   *DestroyDrawingWand(DrawingWand *),
70   *NewDrawingWand(void);
71 
72 extern WandExport ExceptionInfo
73   *DrawCloneExceptionInfo(const DrawingWand *wand);
74 
75 extern WandExport ExceptionType
76   DrawGetExceptionType(const DrawingWand *);
77 
78 extern WandExport FillRule
79   DrawGetClipRule(const DrawingWand *) magick_attribute((__pure__)),
80   DrawGetFillRule(const DrawingWand *) magick_attribute((__pure__));
81 
82 extern WandExport GravityType
83   DrawGetGravity(const DrawingWand *) magick_attribute((__pure__));
84 
85 extern WandExport LineCap
86   DrawGetStrokeLineCap(const DrawingWand *) magick_attribute((__pure__));
87 
88 extern WandExport LineJoin
89   DrawGetStrokeLineJoin(const DrawingWand *) magick_attribute((__pure__));
90 
91 extern WandExport MagickBooleanType
92   DrawClearException(DrawingWand *),
93   DrawComposite(DrawingWand *,const CompositeOperator,const double,
94     const double,const double,const double,MagickWand *),
95   DrawGetFontResolution(const DrawingWand *,double *,double *),
96   DrawGetStrokeAntialias(const DrawingWand *) magick_attribute((__pure__)),
97   DrawGetTextAntialias(const DrawingWand *) magick_attribute((__pure__)),
98   DrawGetTypeMetrics(const DrawingWand *,const char *,MagickBooleanType,
99     TypeMetric *),
100   DrawPopPattern(DrawingWand *),
101   DrawPushPattern(DrawingWand *,const char *,const double,const double,
102     const double,const double),
103   DrawRender(DrawingWand *),
104   DrawSetClipPath(DrawingWand *,const char *),
105   DrawSetDensity(DrawingWand *,const char *),
106   DrawSetFillPatternURL(DrawingWand *,const char *),
107   DrawSetFont(DrawingWand *,const char *),
108   DrawSetFontFamily(DrawingWand *,const char *),
109   DrawSetFontResolution(DrawingWand *,const double,const double),
110   DrawSetStrokeDashArray(DrawingWand *,const size_t,const double *),
111   DrawSetStrokePatternURL(DrawingWand *,const char *),
112   DrawSetVectorGraphics(DrawingWand *,const char *),
113   IsDrawingWand(const DrawingWand *),
114   PopDrawingWand(DrawingWand *),
115   PushDrawingWand(DrawingWand *);
116 
117 extern WandExport StretchType
118   DrawGetFontStretch(const DrawingWand *);
119 
120 extern WandExport StyleType
121   DrawGetFontStyle(const DrawingWand *);
122 
123 extern WandExport size_t
124   DrawGetFontWeight(const DrawingWand *) magick_attribute((__pure__)),
125   DrawGetStrokeMiterLimit(const DrawingWand *) magick_attribute((__pure__));
126 
127 extern WandExport void
128   ClearDrawingWand(DrawingWand *),
129   DrawAffine(DrawingWand *,const AffineMatrix *),
130   DrawAlpha(DrawingWand *,const double,const double,const PaintMethod),
131   DrawAnnotation(DrawingWand *,const double,const double,const unsigned char *),
132   DrawArc(DrawingWand *,const double,const double,const double,const double,
133     const double,const double),
134   DrawBezier(DrawingWand *,const size_t,const PointInfo *),
135   DrawGetBorderColor(const DrawingWand *,PixelWand *),
136   DrawCircle(DrawingWand *,const double,const double,const double,const double),
137   DrawColor(DrawingWand *,const double,const double,const PaintMethod),
138   DrawComment(DrawingWand *,const char *),
139   DrawEllipse(DrawingWand *,const double,const double,const double,const double,
140     const double,const double),
141   DrawGetFillColor(const DrawingWand *,PixelWand *),
142   DrawGetStrokeColor(const DrawingWand *,PixelWand *),
143   DrawSetTextKerning(DrawingWand *,const double),
144   DrawSetTextInterlineSpacing(DrawingWand *,const double),
145   DrawSetTextInterwordSpacing(DrawingWand *,const double),
146   DrawGetTextUnderColor(const DrawingWand *,PixelWand *),
147   DrawLine(DrawingWand *,const double, const double,const double,const double),
148   DrawPathClose(DrawingWand *),
149   DrawPathCurveToAbsolute(DrawingWand *,const double,const double,const double,
150     const double,const double,const double),
151   DrawPathCurveToRelative(DrawingWand *,const double,const double,const double,
152     const double,const double, const double),
153   DrawPathCurveToQuadraticBezierAbsolute(DrawingWand *,const double,
154     const double,const double,const double),
155   DrawPathCurveToQuadraticBezierRelative(DrawingWand *,const double,
156     const double,const double,const double),
157   DrawPathCurveToQuadraticBezierSmoothAbsolute(DrawingWand *,const double,
158     const double),
159   DrawPathCurveToQuadraticBezierSmoothRelative(DrawingWand *,const double,
160     const double),
161   DrawPathCurveToSmoothAbsolute(DrawingWand *,const double,const double,
162     const double,const double),
163   DrawPathCurveToSmoothRelative(DrawingWand *,const double,const double,
164     const double,const double),
165   DrawPathEllipticArcAbsolute(DrawingWand *,const double,const double,
166     const double,const MagickBooleanType,const MagickBooleanType,const double,
167     const double),
168   DrawPathEllipticArcRelative(DrawingWand *,const double,const double,
169     const double,const MagickBooleanType,const MagickBooleanType,const double,
170     const double),
171   DrawPathFinish(DrawingWand *),
172   DrawPathLineToAbsolute(DrawingWand *,const double,const double),
173   DrawPathLineToRelative(DrawingWand *,const double,const double),
174   DrawPathLineToHorizontalAbsolute(DrawingWand *,const double),
175   DrawPathLineToHorizontalRelative(DrawingWand *,const double),
176   DrawPathLineToVerticalAbsolute(DrawingWand *,const double),
177   DrawPathLineToVerticalRelative(DrawingWand *,const double),
178   DrawPathMoveToAbsolute(DrawingWand *,const double,const double),
179   DrawPathMoveToRelative(DrawingWand *,const double,const double),
180   DrawPathStart(DrawingWand *),
181   DrawPoint(DrawingWand *,const double,const double),
182   DrawPolygon(DrawingWand *,const size_t,const PointInfo *),
183   DrawPolyline(DrawingWand *,const size_t,const PointInfo *),
184   DrawPopClipPath(DrawingWand *),
185   DrawPopDefs(DrawingWand *),
186   DrawPushClipPath(DrawingWand *,const char *),
187   DrawPushDefs(DrawingWand *),
188   DrawRectangle(DrawingWand *,const double,const double,const double,
189     const double),
190   DrawResetVectorGraphics(DrawingWand *),
191   DrawRotate(DrawingWand *,const double),
192   DrawRoundRectangle(DrawingWand *,double,double,double,double,double,double),
193   DrawScale(DrawingWand *,const double,const double),
194   DrawSetBorderColor(DrawingWand *,const PixelWand *),
195   DrawSetClipRule(DrawingWand *,const FillRule),
196   DrawSetClipUnits(DrawingWand *,const ClipPathUnits),
197   DrawSetFillColor(DrawingWand *,const PixelWand *),
198   DrawSetFillOpacity(DrawingWand *,const double),
199   DrawSetFillRule(DrawingWand *,const FillRule),
200   DrawSetFontSize(DrawingWand *,const double),
201   DrawSetFontStretch(DrawingWand *,const StretchType),
202   DrawSetFontStyle(DrawingWand *,const StyleType),
203   DrawSetFontWeight(DrawingWand *,const size_t),
204   DrawSetGravity(DrawingWand *,const GravityType),
205   DrawSetOpacity(DrawingWand *,const double),
206   DrawSetStrokeAntialias(DrawingWand *,const MagickBooleanType),
207   DrawSetStrokeColor(DrawingWand *,const PixelWand *),
208   DrawSetStrokeDashOffset(DrawingWand *,const double dashoffset),
209   DrawSetStrokeLineCap(DrawingWand *,const LineCap),
210   DrawSetStrokeLineJoin(DrawingWand *,const LineJoin),
211   DrawSetStrokeMiterLimit(DrawingWand *,const size_t),
212   DrawSetStrokeOpacity(DrawingWand *, const double),
213   DrawSetStrokeWidth(DrawingWand *,const double),
214   DrawSetTextAlignment(DrawingWand *,const AlignType),
215   DrawSetTextAntialias(DrawingWand *,const MagickBooleanType),
216   DrawSetTextDecoration(DrawingWand *,const DecorationType),
217   DrawSetTextDirection(DrawingWand *,const DirectionType),
218   DrawSetTextEncoding(DrawingWand *,const char *),
219   DrawSetTextUnderColor(DrawingWand *,const PixelWand *),
220   DrawSetViewbox(DrawingWand *,const double,const double,const double,
221     const double),
222   DrawSkewX(DrawingWand *,const double),
223   DrawSkewY(DrawingWand *,const double),
224   DrawTranslate(DrawingWand *,const double,const double);
225 
226 #if defined(__cplusplus) || defined(c_plusplus)
227 }
228 #endif
229 
230 #endif
231