home *** CD-ROM | disk | FTP | other *** search
- /*
- Drawing methods.
- */
- #ifndef _MAGICK_DRAW_H
- #define _MAGICK_DRAW_H
-
- #if defined(__cplusplus) || defined(c_plusplus)
- extern "C" {
- #endif
-
- #include "magick/type.h"
-
- typedef enum
- {
- UndefinedAlign,
- LeftAlign,
- CenterAlign,
- RightAlign
- } AlignType;
-
- typedef enum
- {
- UndefinedPathUnits,
- UserSpace,
- UserSpaceOnUse,
- ObjectBoundingBox
- } ClipPathUnits;
-
- typedef enum
- {
- UndefinedDecoration,
- NoDecoration,
- UnderlineDecoration,
- OverlineDecoration,
- LineThroughDecoration
- } DecorationType;
-
- typedef enum
- {
- UndefinedRule,
- #undef EvenOddRule
- EvenOddRule,
- NonZeroRule
- } FillRule;
-
- typedef enum
- {
- UndefinedGradient,
- LinearGradient,
- RadialGradient
- } GradientType;
-
- typedef enum
- {
- UndefinedCap,
- ButtCap,
- RoundCap,
- SquareCap
- } LineCap;
-
- typedef enum
- {
- UndefinedJoin,
- MiterJoin,
- RoundJoin,
- BevelJoin
- } LineJoin;
-
- typedef enum
- {
- UndefinedMethod,
- PointMethod,
- ReplaceMethod,
- FloodfillMethod,
- FillToBorderMethod,
- ResetMethod
- } PaintMethod;
-
- typedef enum
- {
- UndefinedPrimitive,
- PointPrimitive,
- LinePrimitive,
- RectanglePrimitive,
- RoundRectanglePrimitive,
- ArcPrimitive,
- EllipsePrimitive,
- CirclePrimitive,
- PolylinePrimitive,
- PolygonPrimitive,
- BezierPrimitive,
- ColorPrimitive,
- MattePrimitive,
- TextPrimitive,
- ImagePrimitive,
- PathPrimitive
- } PrimitiveType;
-
- typedef enum
- {
- UndefinedReference,
- GradientReference
- } ReferenceType;
-
- typedef enum
- {
- UndefinedSpread,
- PadSpread,
- ReflectSpead,
- RepeatSpread
- } SpreadMethod;
-
- typedef struct _GradientInfo
- {
- GradientType
- type;
-
- PixelPacket
- color;
-
- SegmentInfo
- stop;
-
- unsigned long
- length;
-
- SpreadMethod
- spread;
-
- unsigned int
- debug;
-
- unsigned long
- signature;
-
- struct _GradientInfo
- *previous,
- *next;
- } GradientInfo;
-
- typedef struct _ElementReference
- {
- char
- *id;
-
- ReferenceType
- type;
-
- GradientInfo
- gradient;
-
- unsigned long
- signature;
-
- struct _ElementReference
- *previous,
- *next;
- } ElementReference;
-
- typedef struct _DrawInfo
- {
- char
- *primitive,
- *geometry;
-
- AffineMatrix
- affine;
-
- GravityType
- gravity;
-
- PixelPacket
- fill,
- stroke;
-
- double
- stroke_width;
-
- GradientInfo
- gradient;
-
- Image
- *fill_pattern,
- *tile,
- *stroke_pattern;
-
- unsigned int
- stroke_antialias,
- text_antialias;
-
- FillRule
- fill_rule;
-
- LineCap
- linecap;
-
- LineJoin
- linejoin;
-
- unsigned long
- miterlimit;
-
- double
- dash_offset;
-
- DecorationType
- decorate;
-
- CompositeOperator
- compose;
-
- char
- *text;
-
- unsigned long
- face;
-
- char
- *font,
- *metrics,
- *family;
-
- StyleType
- style;
-
- StretchType
- stretch;
-
- unsigned long
- weight;
-
- char
- *encoding;
-
- double
- pointsize;
-
- char
- *density;
-
- AlignType
- align;
-
- PixelPacket
- undercolor,
- border_color;
-
- char
- *server_name;
-
- double
- *dash_pattern;
-
- char
- *clip_path;
-
- SegmentInfo
- bounds;
-
- ClipPathUnits
- clip_units;
-
- Quantum
- opacity;
-
- unsigned int
- render;
-
- ElementReference
- element_reference;
-
- unsigned int
- debug;
-
- unsigned long
- signature;
- } DrawInfo;
-
- typedef struct _PointInfo
- {
- double
- x,
- y;
- } PointInfo;
-
- typedef struct _PrimitiveInfo
- {
- PointInfo
- point;
-
- unsigned long
- coordinates;
-
- PrimitiveType
- primitive;
-
- PaintMethod
- method;
-
- char
- *text;
- } PrimitiveInfo;
-
- typedef struct _TypeMetric
- {
- PointInfo
- pixels_per_em;
-
- double
- ascent,
- descent,
- width,
- height,
- max_advance,
- underline_position,
- underline_thickness;
-
- SegmentInfo
- bounds;
- } TypeMetric;
-
- extern MagickExport char
- **GetTypeList(const char *,unsigned long *);
-
- extern MagickExport const TypeInfo
- *GetTypeInfo(const char *,ExceptionInfo *),
- *GetTypeInfoByFamily(const char *,const StyleType,const StretchType,
- const unsigned long,ExceptionInfo *);
-
- extern MagickExport DrawInfo
- *CloneDrawInfo(const ImageInfo *,const DrawInfo *);
-
- extern MagickExport unsigned int
- DrawAffineImage(Image *,const Image *,const AffineMatrix *),
- DrawClipPath(Image *,const DrawInfo *,const char *),
- DrawImage(Image *,const DrawInfo *),
- DrawPatternPath(Image *,const DrawInfo *,const char *,Image **),
- DrawPrimitive(Image *,const DrawInfo *,const PrimitiveInfo *),
- ListTypeInfo(FILE *,ExceptionInfo *);
-
- extern MagickExport void
- GetAffineMatrix(AffineMatrix *),
- DestroyDrawInfo(DrawInfo *),
- GetDrawInfo(const ImageInfo *,DrawInfo *);
-
- #if defined(__cplusplus) || defined(c_plusplus)
- }
- #endif
-
- #endif
-