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 "wand/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 ExceptionType 73 DrawGetExceptionType(const DrawingWand *); 74 75 extern WandExport FillRule 76 DrawGetClipRule(const DrawingWand *) magick_attribute((__pure__)), 77 DrawGetFillRule(const DrawingWand *) magick_attribute((__pure__)); 78 79 extern WandExport GravityType 80 DrawGetGravity(const DrawingWand *) magick_attribute((__pure__)); 81 82 extern WandExport LineCap 83 DrawGetStrokeLineCap(const DrawingWand *) magick_attribute((__pure__)); 84 85 extern WandExport LineJoin 86 DrawGetStrokeLineJoin(const DrawingWand *) magick_attribute((__pure__)); 87 88 extern WandExport MagickBooleanType 89 DrawClearException(DrawingWand *), 90 DrawComposite(DrawingWand *,const CompositeOperator,const double,const double, 91 const double,const double,MagickWand *), 92 DrawGetFontResolution(const DrawingWand *,double *,double *), 93 DrawGetStrokeAntialias(const DrawingWand *) magick_attribute((__pure__)), 94 DrawGetTextAntialias(const DrawingWand *) magick_attribute((__pure__)), 95 DrawPopPattern(DrawingWand *), 96 DrawPushPattern(DrawingWand *,const char *,const double,const double, 97 const double,const double), 98 DrawRender(DrawingWand *), 99 DrawSetClipPath(DrawingWand *,const char *), 100 DrawSetDensity(DrawingWand *,const char *), 101 DrawSetFillPatternURL(DrawingWand *,const char *), 102 DrawSetFont(DrawingWand *,const char *), 103 DrawSetFontFamily(DrawingWand *,const char *), 104 DrawSetFontResolution(DrawingWand *,const double,const double), 105 DrawSetStrokeDashArray(DrawingWand *,const size_t,const double *), 106 DrawSetStrokePatternURL(DrawingWand *,const char *), 107 DrawSetVectorGraphics(DrawingWand *,const char *), 108 IsDrawingWand(const DrawingWand *), 109 PopDrawingWand(DrawingWand *), 110 PushDrawingWand(DrawingWand *); 111 112 extern WandExport StretchType 113 DrawGetFontStretch(const DrawingWand *); 114 115 extern WandExport StyleType 116 DrawGetFontStyle(const DrawingWand *); 117 118 extern WandExport size_t 119 DrawGetFontWeight(const DrawingWand *) magick_attribute((__pure__)), 120 DrawGetStrokeMiterLimit(const DrawingWand *) magick_attribute((__pure__)); 121 122 extern WandExport void 123 ClearDrawingWand(DrawingWand *), 124 DrawAffine(DrawingWand *,const AffineMatrix *), 125 DrawAnnotation(DrawingWand *,const double,const double,const unsigned char *), 126 DrawArc(DrawingWand *,const double,const double,const double,const double, 127 const double,const double), 128 DrawBezier(DrawingWand *,const size_t,const PointInfo *), 129 DrawGetBorderColor(const DrawingWand *,PixelWand *), 130 DrawCircle(DrawingWand *,const double,const double,const double,const double), 131 DrawColor(DrawingWand *,const double,const double,const PaintMethod), 132 DrawComment(DrawingWand *,const char *), 133 DrawEllipse(DrawingWand *,const double,const double,const double,const double, 134 const double,const double), 135 DrawGetFillColor(const DrawingWand *,PixelWand *), 136 DrawGetStrokeColor(const DrawingWand *,PixelWand *), 137 DrawSetTextKerning(DrawingWand *,const double), 138 DrawSetTextInterlineSpacing(DrawingWand *,const double), 139 DrawSetTextInterwordSpacing(DrawingWand *,const double), 140 DrawGetTextUnderColor(const DrawingWand *,PixelWand *), 141 DrawLine(DrawingWand *,const double, const double,const double,const double), 142 DrawMatte(DrawingWand *,const double,const double,const PaintMethod), 143 DrawPathClose(DrawingWand *), 144 DrawPathCurveToAbsolute(DrawingWand *,const double,const double,const double, 145 const double,const double,const double), 146 DrawPathCurveToRelative(DrawingWand *,const double,const double,const double, 147 const double,const double, const double), 148 DrawPathCurveToQuadraticBezierAbsolute(DrawingWand *,const double, 149 const double,const double,const double), 150 DrawPathCurveToQuadraticBezierRelative(DrawingWand *,const double, 151 const double,const double,const double), 152 DrawPathCurveToQuadraticBezierSmoothAbsolute(DrawingWand *,const double, 153 const double), 154 DrawPathCurveToQuadraticBezierSmoothRelative(DrawingWand *,const double, 155 const double), 156 DrawPathCurveToSmoothAbsolute(DrawingWand *,const double,const double, 157 const double,const double), 158 DrawPathCurveToSmoothRelative(DrawingWand *,const double,const double, 159 const double,const double), 160 DrawPathEllipticArcAbsolute(DrawingWand *,const double,const double, 161 const double,const MagickBooleanType,const MagickBooleanType,const double, 162 const double), 163 DrawPathEllipticArcRelative(DrawingWand *,const double,const double, 164 const double,const MagickBooleanType,const MagickBooleanType,const double, 165 const double), 166 DrawPathFinish(DrawingWand *), 167 DrawPathLineToAbsolute(DrawingWand *,const double,const double), 168 DrawPathLineToRelative(DrawingWand *,const double,const double), 169 DrawPathLineToHorizontalAbsolute(DrawingWand *,const double), 170 DrawPathLineToHorizontalRelative(DrawingWand *,const double), 171 DrawPathLineToVerticalAbsolute(DrawingWand *,const double), 172 DrawPathLineToVerticalRelative(DrawingWand *,const double), 173 DrawPathMoveToAbsolute(DrawingWand *,const double,const double), 174 DrawPathMoveToRelative(DrawingWand *,const double,const double), 175 DrawPathStart(DrawingWand *), 176 DrawPoint(DrawingWand *,const double,const double), 177 DrawPolygon(DrawingWand *,const size_t,const PointInfo *), 178 DrawPolyline(DrawingWand *,const size_t,const PointInfo *), 179 DrawPopClipPath(DrawingWand *), 180 DrawPopDefs(DrawingWand *), 181 DrawPushClipPath(DrawingWand *,const char *), 182 DrawPushDefs(DrawingWand *), 183 DrawRectangle(DrawingWand *,const double,const double,const double, 184 const double), 185 DrawResetVectorGraphics(DrawingWand *), 186 DrawRotate(DrawingWand *,const double), 187 DrawRoundRectangle(DrawingWand *,double,double,double,double,double,double), 188 DrawScale(DrawingWand *,const double,const double), 189 DrawSetBorderColor(DrawingWand *,const PixelWand *), 190 DrawSetClipRule(DrawingWand *,const FillRule), 191 DrawSetClipUnits(DrawingWand *,const ClipPathUnits), 192 DrawSetFillColor(DrawingWand *,const PixelWand *), 193 DrawSetFillOpacity(DrawingWand *,const double), 194 DrawSetFillRule(DrawingWand *,const FillRule), 195 DrawSetFontSize(DrawingWand *,const double), 196 DrawSetFontStretch(DrawingWand *,const StretchType), 197 DrawSetFontStyle(DrawingWand *,const StyleType), 198 DrawSetFontWeight(DrawingWand *,const size_t), 199 DrawSetGravity(DrawingWand *,const GravityType), 200 DrawSetOpacity(DrawingWand *,const double), 201 DrawSetStrokeAntialias(DrawingWand *,const MagickBooleanType), 202 DrawSetStrokeColor(DrawingWand *,const PixelWand *), 203 DrawSetStrokeDashOffset(DrawingWand *,const double dashoffset), 204 DrawSetStrokeLineCap(DrawingWand *,const LineCap), 205 DrawSetStrokeLineJoin(DrawingWand *,const LineJoin), 206 DrawSetStrokeMiterLimit(DrawingWand *,const size_t), 207 DrawSetStrokeOpacity(DrawingWand *, const double), 208 DrawSetStrokeWidth(DrawingWand *,const double), 209 DrawSetTextAlignment(DrawingWand *,const AlignType), 210 DrawSetTextAntialias(DrawingWand *,const MagickBooleanType), 211 DrawSetTextDecoration(DrawingWand *,const DecorationType), 212 DrawSetTextDirection(DrawingWand *,const DirectionType), 213 DrawSetTextEncoding(DrawingWand *,const char *), 214 DrawSetTextUnderColor(DrawingWand *,const PixelWand *), 215 DrawSetViewbox(DrawingWand *,ssize_t,ssize_t,ssize_t,ssize_t), 216 DrawSkewX(DrawingWand *,const double), 217 DrawSkewY(DrawingWand *,const double), 218 DrawTranslate(DrawingWand *,const double,const double); 219 220 #if defined(__cplusplus) || defined(c_plusplus) 221 } 222 #endif 223 224 #endif 225