www.pudn.com > PtOpenGuiSourceCode.zip > draw.h


/* 
  ImageMagick Drawing API. 
 
  For internal use only!  Subject to change! 
 
  Usage synopsis: 
 
  DrawContext context; 
  context = DrawAllocateContext((DrawInfo*)NULL, image); 
    [ any number of drawing commands ] 
    DrawSetStrokeColorString(context,"black"); 
    DrawSetFillColorString(context,"#ff00ff"); 
    DrawSetStrokeWidth(context,4); 
    DrawRectangle(context,72,72,144,144); 
  DrawRender(context); 
  DrawDestroyContext(context); 
 
*/ 
#ifndef _MAGICK_DRAW_H 
#define _MAGICK_DRAW_H 
 
#if defined(__cplusplus) || defined(c_plusplus) 
extern "C" { 
#endif 
 
#include "render.h" 
 
 
typedef struct _DrawContext *DrawContext; 
 
extern MagickExport ClipPathUnits 
  DrawGetClipUnits(DrawContext context); 
 
extern MagickExport DecorationType 
  DrawGetTextDecoration(DrawContext context); 
 
extern MagickExport DrawContext 
  DrawAllocateContext(const DrawInfo *draw_info, Image *image); 
 
extern MagickExport FillRule 
  DrawGetClipRule(DrawContext context), 
  DrawGetFillRule(DrawContext context); 
 
extern MagickExport GravityType 
  DrawGetGravity(DrawContext context); 
 
extern MagickExport LineCap 
  DrawGetStrokeLineCap(DrawContext context); 
 
extern MagickExport LineJoin 
  DrawGetStrokeLineJoin(DrawContext context); 
 
extern MagickExport PixelPacket 
  DrawGetFillColor(DrawContext context), 
  DrawGetStrokeColor(DrawContext context), 
  DrawGetTextUnderColor(DrawContext context); 
 
extern MagickExport StretchType 
  DrawGetFontStretch(DrawContext context); 
 
extern MagickExport StyleType 
  DrawGetFontStyle(DrawContext context); 
 
extern MagickExport char 
  *DrawGetClipPath(DrawContext context), 
  *DrawGetFont(DrawContext context), 
  *DrawGetFontFamily(DrawContext context), 
  *DrawGetTextEncoding(DrawContext context); 
 
extern MagickExport int 
  DrawRender(const DrawContext context); 
 
extern MagickExport unsigned int 
  DrawGetStrokeAntialias(DrawContext context), 
  DrawGetTextAntialias(DrawContext context); 
 
extern MagickExport unsigned long 
  DrawGetFontWeight(DrawContext context), 
  DrawGetStrokeMiterLimit(DrawContext context); 
 
extern MagickExport double 
  DrawGetFillOpacity(DrawContext context), 
  DrawGetFontSize(DrawContext context), 
  *DrawGetStrokeDashArray(DrawContext context, size_t *num_elems), 
  DrawGetStrokeDashOffset(DrawContext context), 
  DrawGetStrokeOpacity(DrawContext context), 
  DrawGetStrokeWidth(DrawContext context); 
 
extern MagickExport void 
  DrawAffine(DrawContext context, const AffineMatrix *affine), 
  DrawAnnotation(DrawContext context, 
    const double x, const double y, 
    const unsigned char *text), 
  DrawArc(DrawContext context, 
          const double sx, const double sy, 
          const double ex, const double ey, 
          const double sd, const double ed), 
  DrawBezier(DrawContext context, 
             const size_t num_coords, const PointInfo * coordinates), 
  DrawCircle(DrawContext context, 
             const double ox, const double oy, 
             const double px, const double py), 
  DrawColor(DrawContext context, 
            const double x, const double y, 
            const PaintMethod paintMethod), 
  DrawComment(DrawContext context,const char* comment), 
  DrawDestroyContext(DrawContext context), 
  DrawEllipse(DrawContext context, 
              const double ox, const double oy, 
              const double rx, const double ry, 
              const double start, const double end), 
  DrawComposite(DrawContext context, 
                const CompositeOperator composite_operator, 
                const double x, const double y, 
                const double width, const double height, 
                const Image * image ), 
  DrawLine(DrawContext context, 
           const double sx, const double sy, 
           const double ex, const double ey), 
  DrawMatte(DrawContext context, 
            const double x, const double y, 
            const PaintMethod paint_method), 
  DrawPathClose(DrawContext context), 
  DrawPathCurveToAbsolute(DrawContext context, 
                          const double x1, const double y1, 
                          const double x2, const double y2, 
                          const double x, const double y), 
  DrawPathCurveToRelative(DrawContext context, 
                          const double x1, const double y1, 
                          const double x2, const double y2, 
                          const double x, const double y), 
  DrawPathCurveToQuadraticBezierAbsolute(DrawContext context, 
                                         const double x1, const double y1, 
                                         const double x, const double y), 
  DrawPathCurveToQuadraticBezierRelative(DrawContext context, 
                                         const double x1, const double y1, 
                                         const double x, const double y), 
  DrawPathCurveToQuadraticBezierSmoothAbsolute(DrawContext context, 
                                               const double x, const double y), 
  DrawPathCurveToQuadraticBezierSmoothRelative(DrawContext context, 
                                               const double x, const double y), 
  DrawPathCurveToSmoothAbsolute(DrawContext context, 
                                const double x2, const double y2, 
                                const double x, const double y), 
  DrawPathCurveToSmoothRelative(DrawContext context, 
                                const double x2, const double y2, 
                                const double x, const double y), 
  DrawPathEllipticArcAbsolute(DrawContext context, 
                              const double rx, const double ry, 
                              const double x_axis_rotation, 
                              unsigned int large_arc_flag, 
                              unsigned int sweep_flag, 
                              const double x, const double y), 
  DrawPathEllipticArcRelative(DrawContext context, 
                              const double rx, const double ry, 
                              const double x_axis_rotation, 
                              unsigned int large_arc_flag, 
                              unsigned int sweep_flag, 
                              const double x, const double y), 
  DrawPathFinish(DrawContext context), 
  DrawPathLineToAbsolute(DrawContext context, 
                         const double x, const double y), 
  DrawPathLineToRelative(DrawContext context, 
                         const double x, const double y), 
  DrawPathLineToHorizontalAbsolute(DrawContext context, const double x), 
  DrawPathLineToHorizontalRelative(DrawContext context, const double x), 
  DrawPathLineToVerticalAbsolute(DrawContext context, const double y), 
  DrawPathLineToVerticalRelative(DrawContext context, const double y), 
  DrawPathMoveToAbsolute(DrawContext context, 
                         const double x, const double y), 
  DrawPathMoveToRelative(DrawContext context, 
                         const double x, const double y), 
  DrawPathStart(DrawContext context), 
  DrawPoint(DrawContext context, const double x, const double y), 
  DrawPolygon(DrawContext context, 
              const size_t num_coords, const PointInfo * coordinates), 
  DrawPolyline(DrawContext context, 
               const size_t num_coords, const PointInfo * coordinates), 
  DrawPopClipPath(DrawContext context), 
  DrawPopDefs(DrawContext context), 
  DrawPopGraphicContext(DrawContext context), 
  DrawPopPattern(DrawContext context), 
  DrawPushClipPath(DrawContext context, const char *clip_path_id), 
  DrawPushDefs(DrawContext context), 
  DrawPushGraphicContext(DrawContext context), 
  DrawPushPattern(DrawContext context, 
                  const char *pattern_id, 
                  const double x, const double y, 
                  const double width, const double height), 
  DrawRectangle(DrawContext context, 
                const double x1, const double y1, 
                const double x2, const double y2), 
  DrawRoundRectangle(DrawContext context, 
                     double x1, double y1, 
                     double x2, double y2, 
                     double rx, double ry), 
  DrawScale(DrawContext context, const double x, const double y), 
  DrawSetClipPath(DrawContext context, const char *clip_path), 
  DrawSetClipRule(DrawContext context, const FillRule fill_rule), 
  DrawSetClipUnits(DrawContext context, const ClipPathUnits clip_units), 
  DrawSetFillColor(DrawContext context, const PixelPacket *fill_color), 
  DrawSetFillColorString(DrawContext context, const char *fill_color), 
  DrawSetFillOpacity(DrawContext context, const double fill_opacity), 
  DrawSetFillRule(DrawContext context, const FillRule fill_rule), 
  DrawSetFillPatternURL(DrawContext context, const char *fill_url), 
  DrawSetFont(DrawContext context, const char *font_name), 
  DrawSetFontFamily(DrawContext context, const char *font_family), 
  DrawSetFontSize(DrawContext context, const double font_pointsize), 
  DrawSetFontStretch(DrawContext context, const StretchType font_stretch), 
  DrawSetFontStyle(DrawContext context, const StyleType font_style), 
  DrawSetFontWeight(DrawContext context, const unsigned long font_weight), 
  DrawSetGravity(DrawContext context, const GravityType gravity), 
  DrawRotate(DrawContext context, const double degrees), 
  DrawSkewX(DrawContext context, const double degrees), 
  DrawSkewY(DrawContext context, const double degrees), 
  /* 
   DrawSetStopColor(DrawContext context, const PixelPacket * color, 
                    const double offset), 
  */ 
  DrawSetStrokeAntialias(DrawContext context, const unsigned int true_false), 
  DrawSetStrokeColor(DrawContext context, const PixelPacket *stroke_color), 
  DrawSetStrokeColorString(DrawContext context, const char *stroke_color), 
  DrawSetStrokeDashArray(DrawContext context, const size_t num_elems, 
                         const double *dasharray), 
  DrawSetStrokeDashOffset(DrawContext context,const double dashoffset), 
  DrawSetStrokeLineCap(DrawContext context, const LineCap linecap), 
  DrawSetStrokeLineJoin(DrawContext context, const LineJoin linejoin), 
  DrawSetStrokeMiterLimit(DrawContext context,const unsigned long miterlimit), 
  DrawSetStrokeOpacity(DrawContext context, const double opacity), 
  DrawSetStrokePatternURL(DrawContext context, const char* stroke_url), 
  DrawSetStrokeWidth(DrawContext context, const double width), 
  DrawSetTextAntialias(DrawContext context, const unsigned int true_false), 
  DrawSetTextDecoration(DrawContext context, const DecorationType decoration), 
  DrawSetTextEncoding(DrawContext context, const char *encoding), 
  DrawSetTextUnderColor(DrawContext context, const PixelPacket *color), 
  DrawSetTextUnderColorString(DrawContext context, const char *under_color), 
  DrawSetViewbox(DrawContext context, 
                 unsigned long x1, unsigned long y1, 
                 unsigned long x2, unsigned long y2), 
  DrawTranslate(DrawContext context, const double x, const double y); 
 
#if defined(__cplusplus) || defined(c_plusplus) 
} 
#endif 
 
#endif