# draw.h File Reference

`#include "magick/geometry.h"`
`#include "magick/image.h"`
`#include "magick/pixel.h"`
`#include "magick/type.h"`

Go to the source code of this file.

## Data Structures
struct | _StopInfo
struct | _GradientInfo
struct | _ElementReference
struct | _DrawInfo
struct | _PointInfo
struct | _PrimitiveInfo
struct | _TypeMetric
## Typedefs
typedef struct _StopInfo | StopInfo
typedef struct _GradientInfo | GradientInfo
typedef struct _ElementReference | ElementReference
typedef struct _DrawInfo | DrawInfo
typedef struct _PointInfo | PointInfo
typedef struct _PrimitiveInfo | PrimitiveInfo
typedef struct _TypeMetric | TypeMetric
## Enumerations
enum | AlignType { UndefinedAlign, LeftAlign, CenterAlign, RightAlign }
enum | ClipPathUnits { UndefinedPathUnits, UserSpace, UserSpaceOnUse, ObjectBoundingBox }
enum | DecorationType { UndefinedDecoration, NoDecoration, UnderlineDecoration, OverlineDecoration, LineThroughDecoration }
enum | FillRule { UndefinedRule, EvenOddRule, NonZeroRule }
enum | GradientType { UndefinedGradient, LinearGradient, RadialGradient }
enum | LineCap { UndefinedCap, ButtCap, RoundCap, SquareCap }
enum | LineJoin { UndefinedJoin, MiterJoin, RoundJoin, BevelJoin }
enum | PaintMethod { UndefinedMethod, PointMethod, ReplaceMethod, FloodfillMethod, FillToBorderMethod, ResetMethod }
enum | PrimitiveType { UndefinedPrimitive, PointPrimitive, LinePrimitive, RectanglePrimitive, RoundRectanglePrimitive, ArcPrimitive, EllipsePrimitive, CirclePrimitive, PolylinePrimitive, PolygonPrimitive, BezierPrimitive, ColorPrimitive, MattePrimitive, TextPrimitive, ImagePrimitive, PathPrimitive }
enum | ReferenceType { UndefinedReference, GradientReference }
enum | SpreadMethod { UndefinedSpread, PadSpread, ReflectSpread, RepeatSpread }
## Functions
MagickExport DrawInfo * | AcquireDrawInfo (void)
MagickExport DrawInfo ** | CloneDrawInfo (const ImageInfo *, const DrawInfo *)
MagickExport DrawInfo *** | DestroyDrawInfo (DrawInfo *)
MagickExport MagickBooleanType | DrawAffineImage (Image *, const Image *, const AffineMatrix *)
MagickExport MagickBooleanType | DrawClipPath (Image *, const DrawInfo *, const char *)
MagickExport MagickBooleanType | DrawGradientImage (Image *, const DrawInfo *)
MagickExport MagickBooleanType | DrawImage (Image *, const DrawInfo *)
MagickExport MagickBooleanType | DrawPatternPath (Image *, const DrawInfo *, const char *, Image **)
MagickExport MagickBooleanType | DrawPrimitive (Image *, const DrawInfo *, const PrimitiveInfo *)
MagickExport void | GetAffineMatrix (AffineMatrix *)
MagickExport void | GetDrawInfo (const ImageInfo *, DrawInfo *)

## Typedef Documentation

typedef struct _DrawInfo DrawInfo

typedef struct _ElementReference ElementReference

typedef struct _GradientInfo GradientInfo

typedef struct _PointInfo PointInfo

typedef struct _PrimitiveInfo PrimitiveInfo

typedef struct _StopInfo StopInfo

typedef struct _TypeMetric TypeMetric

## Enumeration Type Documentation

enum AlignType

Enumerator:

  UndefinedAlign |
  LeftAlign |
  CenterAlign |
  RightAlign |

enum ClipPathUnits

Enumerator:

  UndefinedPathUnits |
  UserSpace |
  UserSpaceOnUse |
  ObjectBoundingBox |

enum DecorationType

Enumerator:

  UndefinedDecoration |
  NoDecoration |
  UnderlineDecoration |
  OverlineDecoration |
  LineThroughDecoration |

enum FillRule

Enumerator:

  UndefinedRule |
  EvenOddRule |
  NonZeroRule |

enum GradientType

Enumerator:

  UndefinedGradient |
  LinearGradient |
  RadialGradient |

enum LineCap

Enumerator:

  UndefinedCap |
  ButtCap |
  RoundCap |
  SquareCap |

enum LineJoin

Enumerator:

  UndefinedJoin |
  MiterJoin |
  RoundJoin |
  BevelJoin |

enum PaintMethod

Enumerator:

  UndefinedMethod |
  PointMethod |
  ReplaceMethod |
  FloodfillMethod |
  FillToBorderMethod |
  ResetMethod |

enum PrimitiveType

Enumerator:

  UndefinedPrimitive |
  PointPrimitive |
  LinePrimitive |
  RectanglePrimitive |
  RoundRectanglePrimitive |
  ArcPrimitive |
  EllipsePrimitive |
  CirclePrimitive |
  PolylinePrimitive |
  PolygonPrimitive |
  BezierPrimitive |
  ColorPrimitive |
  MattePrimitive |
  TextPrimitive |
  ImagePrimitive |
  PathPrimitive |

enum ReferenceType

Enumerator:

  UndefinedReference |
  GradientReference |

enum SpreadMethod

Enumerator:

  UndefinedSpread |
  PadSpread |
  ReflectSpread |
  RepeatSpread |

## Function Documentation

MagickExport DrawInfo* AcquireDrawInfo | ( | void |  | ) |

MagickExport DrawInfo* * CloneDrawInfo | ( | const ImageInfo * | ,
|  | const DrawInfo * |  |
| ) |  |  |

MagickExport DrawInfo* * * DestroyDrawInfo | ( | DrawInfo * |  | ) |

MagickExport MagickBooleanType DrawAffineImage | ( | Image * | ,
|  | const Image * | ,
|  | const AffineMatrix * |  |
| ) |  |  |

MagickExport MagickBooleanType DrawClipPath | ( | Image * | ,
|  | const DrawInfo * | ,
|  | const char * |  |
| ) |  |  |

MagickExport MagickBooleanType DrawGradientImage | ( | Image * | ,
|  | const DrawInfo * |  |
| ) |  |  |

MagickExport MagickBooleanType DrawImage | ( | Image * | ,
|  | const DrawInfo * |  |
| ) |  |  |

MagickExport MagickBooleanType DrawPatternPath | ( | Image * | ,
|  | const DrawInfo * | ,
|  | const char * | ,
|  | Image ** |  |
| ) |  |  |

MagickExport MagickBooleanType DrawPrimitive | ( | Image * | ,
|  | const DrawInfo * | ,
|  | const PrimitiveInfo * |  |
| ) |  |  |

MagickExport void GetAffineMatrix | ( | AffineMatrix * |  | ) |

MagickExport void GetDrawInfo | ( | const ImageInfo * | ,
|  | DrawInfo * |  |
| ) |  |  |