draw.c File Reference

#include "MagickCore/studio.h"
#include "MagickCore/annotate.h"
#include "MagickCore/artifact.h"
#include "MagickCore/blob.h"
#include "MagickCore/cache.h"
#include "MagickCore/cache-private.h"
#include "MagickCore/cache-view.h"
#include "MagickCore/channel.h"
#include "MagickCore/color.h"
#include "MagickCore/colorspace-private.h"
#include "MagickCore/composite.h"
#include "MagickCore/composite-private.h"
#include "MagickCore/constitute.h"
#include "MagickCore/draw.h"
#include "MagickCore/draw-private.h"
#include "MagickCore/enhance.h"
#include "MagickCore/exception.h"
#include "MagickCore/exception-private.h"
#include "MagickCore/gem.h"
#include "MagickCore/geometry.h"
#include "MagickCore/image-private.h"
#include "MagickCore/list.h"
#include "MagickCore/log.h"
#include "MagickCore/memory-private.h"
#include "MagickCore/monitor.h"
#include "MagickCore/monitor-private.h"
#include "MagickCore/option.h"
#include "MagickCore/paint.h"
#include "MagickCore/pixel-accessor.h"
#include "MagickCore/pixel-private.h"
#include "MagickCore/property.h"
#include "MagickCore/resample.h"
#include "MagickCore/resample-private.h"
#include "MagickCore/resource_.h"
#include "MagickCore/splay-tree.h"
#include "MagickCore/string_.h"
#include "MagickCore/string-private.h"
#include "MagickCore/thread-private.h"
#include "MagickCore/token.h"
#include "MagickCore/transform-private.h"
#include "MagickCore/utility.h"

Data Structures

struct  _EdgeInfo
struct  _ElementInfo
struct  _MVGInfo
struct  _PolygonInfo
struct  _PathInfo

Defines

#define BezierQuantum   200
#define PrimitiveExtentPad   2048
#define MaxBezierCoordinates   6291456
#define ThrowPointExpectedException(token, exception)
#define DrawCompareEdge(p, q)
#define RenderImageTag   "Render/Image"
#define CheckPathExtent(pad)

Typedefs

typedef struct _EdgeInfo EdgeInfo
typedef struct _ElementInfo ElementInfo
typedef struct _MVGInfo MVGInfo
typedef struct _PolygonInfo PolygonInfo
typedef struct _PathInfo PathInfo

Enumerations

enum  PathInfoCode {
  MoveToCode, OpenCode, GhostlineCode, LineToCode,
  EndCode
}

Functions

static ImageDrawClippingMask (Image *, const DrawInfo *, const char *, const char *, ExceptionInfo *)
static MagickBooleanType DrawStrokePolygon (Image *, const DrawInfo *, const PrimitiveInfo *, ExceptionInfo *)
static MagickBooleanType RenderMVGContent (Image *, const DrawInfo *, const size_t, ExceptionInfo *)
static MagickBooleanType TraceArc (MVGInfo *, const PointInfo, const PointInfo, const PointInfo)
static MagickBooleanType TraceArcPath (MVGInfo *, const PointInfo, const PointInfo, const PointInfo, const double, const MagickBooleanType, const MagickBooleanType)
static MagickBooleanType TraceBezier (MVGInfo *, const size_t)
static MagickBooleanType TraceCircle (MVGInfo *, const PointInfo, const PointInfo)
static MagickBooleanType TraceEllipse (MVGInfo *, const PointInfo, const PointInfo, const PointInfo)
static MagickBooleanType TraceLine (PrimitiveInfo *, const PointInfo, const PointInfo)
static MagickBooleanType TraceRectangle (PrimitiveInfo *, const PointInfo, const PointInfo)
static MagickBooleanType TraceRoundRectangle (MVGInfo *, const PointInfo, const PointInfo, PointInfo)
static MagickBooleanType TraceSquareLinecap (PrimitiveInfo *, const size_t, const double)
static PrimitiveInfoTraceStrokePolygon (const Image *, const DrawInfo *, const PrimitiveInfo *)
static size_t TracePath (MVGInfo *, const char *, ExceptionInfo *)
MagickExport DrawInfoAcquireDrawInfo (void)
MagickExport DrawInfoCloneDrawInfo (const ImageInfo *image_info, const DrawInfo *draw_info)
static int DrawCompareEdges (const void *p_edge, const void *q_edge)
static void LogPolygonInfo (const PolygonInfo *polygon_info)
static void ReversePoints (PointInfo *points, const size_t number_points)
static PolygonInfoConvertPathToPolygon (const PathInfo *path_info)
static void LogPathInfo (const PathInfo *path_info)
static PathInfoConvertPrimitiveToPath (const PrimitiveInfo *primitive_info)
MagickExport DrawInfoDestroyDrawInfo (DrawInfo *draw_info)
static size_t DestroyEdge (PolygonInfo *polygon_info, const size_t edge)
static PolygonInfoDestroyPolygonInfo (PolygonInfo *polygon_info)
static SegmentInfo AffineEdge (const Image *image, const AffineMatrix *affine, const double y, const SegmentInfo *edge)
static AffineMatrix InverseAffineMatrix (const AffineMatrix *affine)
MagickExport MagickBooleanType DrawAffineImage (Image *image, const Image *source, const AffineMatrix *affine, ExceptionInfo *exception)
static double SaneStrokeWidth (const Image *image, const DrawInfo *draw_info)
static MagickBooleanType DrawBoundingRectangles (Image *image, const DrawInfo *draw_info, const PolygonInfo *polygon_info, ExceptionInfo *exception)
MagickExport MagickBooleanType DrawClipPath (Image *image, const DrawInfo *draw_info, const char *id, ExceptionInfo *exception)
static ImageDrawCompositeMask (Image *image, const DrawInfo *draw_info, const char *id, const char *mask_path, ExceptionInfo *exception)
static MagickBooleanType DrawDashPolygon (const DrawInfo *draw_info, const PrimitiveInfo *primitive_info, Image *image, ExceptionInfo *exception)
static double GetStopColorOffset (const GradientInfo *gradient, const ssize_t x, const ssize_t y)
static int StopInfoCompare (const void *x, const void *y)
MagickExport MagickBooleanType DrawGradientImage (Image *image, const DrawInfo *draw_info, ExceptionInfo *exception)
static MagickBooleanType CheckPrimitiveExtent (MVGInfo *mvg_info, const size_t pad)
MagickExport int MVGMacroCompare (const void *target, const void *source)
static SplayTreeInfoGetMVGMacros (const char *primitive)
static MagickBooleanType IsPoint (const char *point)
static MagickBooleanType TracePoint (PrimitiveInfo *primitive_info, const PointInfo point)
MagickExport MagickBooleanType DrawImage (Image *image, const DrawInfo *draw_info, ExceptionInfo *exception)
MagickExport MagickBooleanType DrawPatternPath (Image *image, const DrawInfo *draw_info, const char *name, Image **pattern, ExceptionInfo *exception)
static PolygonInfo ** DestroyPolygonThreadSet (PolygonInfo **polygon_info)
static PolygonInfo ** AcquirePolygonThreadSet (const PrimitiveInfo *primitive_info)
static double GetFillAlpha (PolygonInfo *polygon_info, const double mid, const MagickBooleanType fill, const FillRule fill_rule, const ssize_t x, const ssize_t y, double *stroke_alpha)
static MagickBooleanType DrawPolygonPrimitive (Image *image, const DrawInfo *draw_info, const PrimitiveInfo *primitive_info, ExceptionInfo *exception)
static double ConstrainCoordinate (double x)
static void LogPrimitiveInfo (const PrimitiveInfo *primitive_info)
MagickExport MagickBooleanType DrawPrimitive (Image *image, const DrawInfo *draw_info, const PrimitiveInfo *primitive_info, ExceptionInfo *exception)
static MagickBooleanType DrawRoundLinecap (Image *image, const DrawInfo *draw_info, const PrimitiveInfo *primitive_info, ExceptionInfo *exception)
MagickExport void GetAffineMatrix (AffineMatrix *affine_matrix)
MagickExport void GetDrawInfo (const ImageInfo *image_info, DrawInfo *draw_info)
static double Permutate (const ssize_t n, const ssize_t k)

Define Documentation

#define BezierQuantum   200
#define CheckPathExtent ( pad   ) 
Value:
if ((ssize_t) (q+(pad)) >= (ssize_t) max_strokes) \
    { \
      if (~max_strokes < (pad)) \
        { \
          path_p=(PointInfo *) RelinquishMagickMemory(path_p); \
          path_q=(PointInfo *) RelinquishMagickMemory(path_q); \
        } \
      else \
        { \
          max_strokes+=(pad); \
          path_p=(PointInfo *) ResizeQuantumMemory(path_p,max_strokes, \
            sizeof(*path_p)); \
          path_q=(PointInfo *) ResizeQuantumMemory(path_q,max_strokes, \
            sizeof(*path_q)); \
        } \
      if ((path_p == (PointInfo *) NULL) || (path_q == (PointInfo *) NULL)) \
        { \
          if (path_p != (PointInfo *) NULL) \
            path_p=(PointInfo *) RelinquishMagickMemory(path_p); \
          if (path_q != (PointInfo *) NULL) \
            path_q=(PointInfo *) RelinquishMagickMemory(path_q); \
          polygon_primitive=(PrimitiveInfo *) \
            RelinquishMagickMemory(polygon_primitive); \
          return((PrimitiveInfo *) NULL); \
        } \
    }

Referenced by TraceStrokePolygon().

#define DrawCompareEdge ( p,
 ) 
Value:
{ \
  if (((p)-(q)) < 0.0) \
    return(-1); \
  if (((p)-(q)) > 0.0) \
    return(1); \
}

Referenced by DrawCompareEdges().

#define MaxBezierCoordinates   6291456
#define PrimitiveExtentPad   2048
#define RenderImageTag   "Render/Image"

Referenced by RenderMVGContent().

#define ThrowPointExpectedException ( token,
exception   ) 
Value:
{ \
  (void) ThrowMagickException(exception,GetMagickModule(),DrawError, \
    "NonconformingDrawingPrimitiveDefinition","`%s'",token); \
  status=MagickFalse; \
  break; \
}

Referenced by RenderMVGContent(), and TracePath().


Typedef Documentation

typedef struct _EdgeInfo EdgeInfo
typedef struct _ElementInfo ElementInfo
typedef struct _MVGInfo MVGInfo
typedef struct _PathInfo PathInfo
typedef struct _PolygonInfo PolygonInfo

Enumeration Type Documentation

Enumerator:
MoveToCode 
OpenCode 
GhostlineCode 
LineToCode 
EndCode 

Function Documentation

MagickExport DrawInfo* AcquireDrawInfo ( void   ) 

References AcquireCriticalMemory(), and GetDrawInfo().

Referenced by GradientImage().

static PolygonInfo** AcquirePolygonThreadSet ( const PrimitiveInfo primitive_info  )  [static]
static SegmentInfo AffineEdge ( const Image image,
const AffineMatrix affine,
const double  y,
const SegmentInfo edge 
) [static]
static MagickBooleanType CheckPrimitiveExtent ( MVGInfo mvg_info,
const size_t  pad 
) [static]
MagickExport DrawInfo* CloneDrawInfo ( const ImageInfo image_info,
const DrawInfo draw_info 
)

References AcquireCriticalMemory(), AcquireExceptionInfo(), AcquireQuantumMemory(), _DrawInfo::affine, _DrawInfo::align, _DrawInfo::border_color, _DrawInfo::bounds, _DrawInfo::clip_mask, _DrawInfo::clip_path, _DrawInfo::clip_units, _DrawInfo::clipping_mask, CloneImage(), CloneString(), _DrawInfo::compliance, _DrawInfo::compose, _DrawInfo::composite_mask, _DrawInfo::dash_offset, _DrawInfo::dash_pattern, _DrawInfo::debug, _DrawInfo::decorate, _DrawInfo::density, DestroyExceptionInfo(), _DrawInfo::direction, _DrawInfo::element_reference, _DrawInfo::encoding, _DrawInfo::family, _DrawInfo::fill, _DrawInfo::fill_alpha, _DrawInfo::fill_pattern, _DrawInfo::fill_rule, _DrawInfo::font, _DrawInfo::geometry, GetDrawInfo(), _DrawInfo::gradient, _DrawInfo::gravity, _DrawInfo::id, _DrawInfo::interline_spacing, _DrawInfo::interword_spacing, IsEventLogging(), _DrawInfo::kerning, _DrawInfo::linecap, _DrawInfo::linejoin, MagickEpsilon, MagickTrue, _DrawInfo::metrics, _DrawInfo::miterlimit, _GradientInfo::number_stops, _DrawInfo::pointsize, _DrawInfo::primitive, _DrawInfo::render, ResourceLimitFatalError, _DrawInfo::server_name, _GradientInfo::stops, _DrawInfo::stretch, _DrawInfo::stroke, _DrawInfo::stroke_alpha, _DrawInfo::stroke_antialias, _DrawInfo::stroke_pattern, _DrawInfo::stroke_width, _DrawInfo::style, _DrawInfo::text, _DrawInfo::text_antialias, ThrowFatalException, _DrawInfo::undercolor, _DrawInfo::viewbox, and _DrawInfo::weight.

Referenced by AnnotateImage(), DrawBoundingRectangles(), DrawClippingMask(), DrawCompositeMask(), DrawDashPolygon(), DrawPatternPath(), DrawPrimitive(), DrawStrokePolygon(), GetMultilineTypeMetrics(), GetTypeMetrics(), MontageImageList(), PolaroidImage(), RenderHoughLines(), RenderMVGContent(), RenderType(), and VignetteImage().

static double ConstrainCoordinate ( double  x  )  [inline, static]

Referenced by DrawPrimitive().

static PolygonInfo* ConvertPathToPolygon ( const PathInfo path_info  )  [static]
static PathInfo* ConvertPrimitiveToPath ( const PrimitiveInfo primitive_info  )  [static]
MagickExport DrawInfo* DestroyDrawInfo ( DrawInfo draw_info  ) 
static size_t DestroyEdge ( PolygonInfo polygon_info,
const size_t  edge 
) [static]
static PolygonInfo* DestroyPolygonInfo ( PolygonInfo polygon_info  )  [static]
static PolygonInfo** DestroyPolygonThreadSet ( PolygonInfo **  polygon_info  )  [static]
MagickExport MagickBooleanType DrawAffineImage ( Image image,
const Image source,
const AffineMatrix affine,
ExceptionInfo exception 
)
static MagickBooleanType DrawBoundingRectangles ( Image image,
const DrawInfo draw_info,
const PolygonInfo polygon_info,
ExceptionInfo exception 
) [static]
MagickExport MagickBooleanType DrawClipPath ( Image image,
const DrawInfo draw_info,
const char *  id,
ExceptionInfo exception 
)
static Image * DrawClippingMask ( Image image,
const DrawInfo draw_info,
const char *  id,
const char *  clip_path,
ExceptionInfo exception 
) [static]
static int DrawCompareEdges ( const void *  p_edge,
const void *  q_edge 
) [static]

References DrawCompareEdge.

Referenced by ConvertPathToPolygon().

static Image* DrawCompositeMask ( Image image,
const DrawInfo draw_info,
const char *  id,
const char *  mask_path,
ExceptionInfo exception 
) [static]
static MagickBooleanType DrawDashPolygon ( const DrawInfo draw_info,
const PrimitiveInfo primitive_info,
Image image,
ExceptionInfo exception 
) [static]
MagickExport MagickBooleanType DrawGradientImage ( Image image,
const DrawInfo draw_info,
ExceptionInfo exception 
)
MagickExport MagickBooleanType DrawImage ( Image image,
const DrawInfo draw_info,
ExceptionInfo exception 
)
MagickExport MagickBooleanType DrawPatternPath ( Image image,
const DrawInfo draw_info,
const char *  name,
Image **  pattern,
ExceptionInfo exception 
)
static MagickBooleanType DrawPolygonPrimitive ( Image image,
const DrawInfo draw_info,
const PrimitiveInfo primitive_info,
ExceptionInfo exception 
) [static]
MagickExport MagickBooleanType DrawPrimitive ( Image image,
const DrawInfo draw_info,
const PrimitiveInfo primitive_info,
ExceptionInfo exception 
)

References AcquireAuthenticCacheView(), AcquireImageInfo(), _DrawInfo::affine, _DrawInfo::alpha, _PixelInfo::alpha, _Image::alpha_trait, AlphaChannel, AlphaPrimitive, AnnotateImage(), _PixelInfo::blue, _DrawInfo::border_color, ClampToQuantum(), _DrawInfo::clipping_mask, CloneDrawInfo(), CloneString(), _PrimitiveInfo::closed_subpath, ColorPrimitive, _Image::colorspace, _Image::columns, _DrawInfo::compliance, _DrawInfo::compose, _DrawInfo::composite_mask, CompositeImage(), CompositePixelMask, CompositePixelOver(), ConstrainCoordinate(), CopyMagickString(), _DrawInfo::dash_pattern, _Image::debug, DestroyCacheView(), DestroyDrawInfo(), DestroyImage(), DestroyImageInfo(), DestroyImageList(), DrawAffineImage(), DrawDashPolygon(), DrawEvent, DrawPolygonPrimitive(), DrawStrokePolygon(), ExpandAffine(), _ImageInfo::filename, _DrawInfo::fill, FillToBorderMethod, _Image::filter, FloodfillMethod, FloodfillPaintImage(), FormatLocaleString(), _DrawInfo::geometry, GetCacheViewAuthenticPixels(), GetFillColor(), GetMagickModule, GetOneCacheViewVirtualPixelInfo(), GetOneVirtualPixelInfo(), GetPixelAlpha(), GetPixelChannels(), GetPixelInfo(), GetPixelInfoPixel(), _DrawInfo::gravity, _Image::gravity, _PixelInfo::green, ImagePrimitive, _Image::interpolate, IsEventLogging(), IsFuzzyEquivalencePixelInfo(), IsGrayColorspace(), IsPixelInfoGray(), _DrawInfo::linecap, _DrawInfo::linejoin, LocaleNCompare(), LogMagickEvent(), LogPrimitiveInfo(), magick_restrict, MagickEpsilon, MagickFalse, MagickPathExtent, MagickTrue, _PrimitiveInfo::method, OpaqueAlpha, OpaqueAlphaChannel, OverCompositeOp, ParseGravityGeometry(), _PrimitiveInfo::point, PointMethod, PointPrimitive, _PrimitiveInfo::primitive, ReadImage(), ReadInlineImage(), _PixelInfo::red, RemoveFirstImageFromList(), ReplaceMethod, ResetMethod, RoundCap, RoundJoin, _Image::rows, _AffineMatrix::rx, _AffineMatrix::ry, SaneStrokeWidth(), SetGeometry(), SetImageAlpha(), SetImageAlphaChannel(), SetImageChannelMask(), SetImageColorspace(), SetImageMask(), SetImageProgressMonitor(), SetPixelAlpha(), SetPixelViaPixelInfo(), SrcOverCompositeOp, sRGBColorspace, _DrawInfo::stroke, _DrawInfo::stroke_pattern, _DrawInfo::stroke_width, SVGCompliance, _AffineMatrix::sx, _AffineMatrix::sy, SyncCacheViewAuthenticPixels(), _DrawInfo::text, _PrimitiveInfo::text, TextPrimitive, TileVirtualPixelMethod, TransformImage(), TransparentAlpha, _AffineMatrix::tx, _AffineMatrix::ty, UndefinedPixelTrait, UndefinedPrimitive, WritePixelMask, _RectangleInfo::x, _PointInfo::x, _RectangleInfo::y, and _PointInfo::y.

Referenced by DrawBoundingRectangles(), and RenderMVGContent().

static MagickBooleanType DrawRoundLinecap ( Image image,
const DrawInfo draw_info,
const PrimitiveInfo primitive_info,
ExceptionInfo exception 
) [static]
static MagickBooleanType DrawStrokePolygon ( Image image,
const DrawInfo draw_info,
const PrimitiveInfo primitive_info,
ExceptionInfo exception 
) [static]
MagickExport void GetAffineMatrix ( AffineMatrix affine_matrix  ) 
MagickExport void GetDrawInfo ( const ImageInfo image_info,
DrawInfo draw_info 
)

References AcquireExceptionInfo(), AcquireString(), _DrawInfo::affine, AllCompliance, _PixelInfo::alpha, _DrawInfo::alpha, _ImageInfo::antialias, _ImageInfo::border_color, _DrawInfo::border_color, ButtCap, _DrawInfo::clip_path, CloneImageInfo(), CloneString(), _DrawInfo::compose, _DrawInfo::debug, _DrawInfo::decorate, _DrawInfo::density, _ImageInfo::density, DestroyExceptionInfo(), DestroyImageInfo(), _DrawInfo::direction, _DrawInfo::encoding, EvenOddRule, _DrawInfo::family, _DrawInfo::fill, _DrawInfo::fill_alpha, _DrawInfo::fill_rule, _DrawInfo::font, _ImageInfo::font, GetAffineMatrix(), GetImageOption(), GetMagickModule, _DrawInfo::gravity, _DrawInfo::interline_spacing, _DrawInfo::interword_spacing, IsEventLogging(), _DrawInfo::kerning, _DrawInfo::linecap, _DrawInfo::linejoin, LogMagickEvent(), MagickCoreSignature, MagickDirectionOptions, MagickEpsilon, MagickFalse, MagickGravityOptions, MagickStyleOptions, MagickTrue, MagickWeightOptions, MiterJoin, _DrawInfo::miterlimit, NoDecoration, OpaqueAlpha, OverCompositeOp, ParseCommandOption(), _ImageInfo::pointsize, _DrawInfo::pointsize, QueryColorCompliance(), _DrawInfo::render, _DrawInfo::server_name, _ImageInfo::server_name, _DrawInfo::signature, StringToDouble(), StringToUnsignedLong(), _DrawInfo::stroke, _DrawInfo::stroke_alpha, _DrawInfo::stroke_antialias, _DrawInfo::stroke_width, _DrawInfo::style, _DrawInfo::text_antialias, TraceEvent, TransparentAlpha, UndefinedDirection, _DrawInfo::undercolor, and _DrawInfo::weight.

Referenced by AcquireDrawInfo(), and CloneDrawInfo().

static double GetFillAlpha ( PolygonInfo polygon_info,
const double  mid,
const MagickBooleanType  fill,
const FillRule  fill_rule,
const ssize_t  x,
const ssize_t  y,
double *  stroke_alpha 
) [static]
static SplayTreeInfo* GetMVGMacros ( const char *  primitive  )  [static]
static double GetStopColorOffset ( const GradientInfo gradient,
const ssize_t  x,
const ssize_t  y 
) [inline, static]
static AffineMatrix InverseAffineMatrix ( const AffineMatrix affine  )  [static]
static MagickBooleanType IsPoint ( const char *  point  )  [inline, static]
static void LogPathInfo ( const PathInfo path_info  )  [static]
static void LogPolygonInfo ( const PolygonInfo polygon_info  )  [static]
static void LogPrimitiveInfo ( const PrimitiveInfo primitive_info  )  [static]
MagickExport int MVGMacroCompare ( const void *  target,
const void *  source 
)

Referenced by GetMVGMacros().

static double Permutate ( const ssize_t  n,
const ssize_t  k 
) [inline, static]

Referenced by TraceBezier().

static MagickBooleanType RenderMVGContent ( Image image,
const DrawInfo draw_info,
const size_t  depth,
ExceptionInfo exception 
)

References AcquireMagickMemory(), AcquireQuantumMemory(), AcquireString(), _DrawInfo::affine, _DrawInfo::align, AllCompliance, _DrawInfo::alpha, _PixelInfo::alpha, _Image::alpha_trait, AlphaPrimitive, ArcPrimitive, BezierPrimitive, BezierQuantum, _DrawInfo::bounds, CheckPrimitiveExtent(), CirclePrimitive, ClampToQuantum(), _DrawInfo::clip_units, _DrawInfo::clipping_mask, CloneDrawInfo(), CloneString(), _PrimitiveInfo::closed_subpath, _StopInfo::color, ColorPrimitive, _Image::columns, _DrawInfo::compliance, _DrawInfo::compose, _DrawInfo::composite_mask, CompositePixelMask, ConcatenateString(), _PrimitiveInfo::coordinates, CopyMagickString(), _DrawInfo::dash_offset, _DrawInfo::dash_pattern, _Image::debug, _DrawInfo::decorate, DegreesToRadians(), DestroyDrawInfo(), DestroyImage(), DestroySplayTree(), DestroyString(), DirectClass, _DrawInfo::direction, DrawClipPath(), DrawClippingMask(), DrawCompositeMask(), DrawError, DrawEvent, DrawPatternPath(), DrawPrimitive(), EllipsePrimitive, _MVGInfo::exception, _MVGInfo::extent, _Image::filename, FileToString(), _DrawInfo::fill, _DrawInfo::fill_alpha, _DrawInfo::fill_rule, FloodfillMethod, FormatLocaleString(), GetAffineMatrix(), GetImageArtifact(), GetMagickModule, GetMVGMacros(), GetNextToken(), GetTypeMetrics(), GetValueFromSplayTree(), _DrawInfo::gradient, GradientImage(), _DrawInfo::gravity, _RectangleInfo::height, ImagePrimitive, _DrawInfo::interline_spacing, _DrawInfo::interword_spacing, IsPoint(), _DrawInfo::kerning, LinearGradient, _DrawInfo::linecap, _DrawInfo::linejoin, LinePrimitive, LocaleCompare(), LogMagickEvent(), MagickAlignOptions, MagickClipPathOptions, MagickComplianceOptions, MagickComposeOptions, MagickCoreSignature, MagickDecorateOptions, MagickDirectionOptions, MagickEpsilon, MagickFalse, MagickFillRuleOptions, MagickGravityOptions, MagickLineCapOptions, MagickLineJoinOptions, MagickMax, MagickMaxRecursionDepth, MagickMethodOptions, MagickMin, MagickPathExtent, MagickPI, MagickStretchOptions, MagickStyleOptions, MagickTrue, MagickWeightOptions, MaxBezierCoordinates, _PrimitiveInfo::method, _DrawInfo::miterlimit, ObjectBoundingBox, _MVGInfo::offset, _StopInfo::offset, OpaqueAlpha, OpaqueAlphaChannel, PadSpread, _Image::page, ParseCommandOption(), PathPrimitive, _MVGInfo::point, _PrimitiveInfo::point, PointPrimitive, _DrawInfo::pointsize, PolygonPrimitive, PolylinePrimitive, _PrimitiveInfo::primitive, _DrawInfo::primitive, _MVGInfo::primitive_info, PrimitiveExtentPad, QuantumRange, QueryColorCompliance(), RadialGradient, RectanglePrimitive, RelinquishMagickMemory(), _DrawInfo::render, RenderImageTag, ResizeQuantumMemory(), ResourceLimitError, ResourceLimitFatalError, RoundRectanglePrimitive, _Image::rows, _AffineMatrix::rx, _AffineMatrix::ry, SetImageAlphaChannel(), SetImageArtifact(), SetImageMask(), SetImageProgress(), SetImageStorageClass(), _DrawInfo::signature, _Image::signature, _DrawInfo::stretch, StringToDouble(), StringToLong(), StringToUnsignedLong(), _DrawInfo::stroke, _DrawInfo::stroke_alpha, _DrawInfo::stroke_antialias, _DrawInfo::stroke_width, _DrawInfo::style, SVGCompliance, _AffineMatrix::sx, _AffineMatrix::sy, _PrimitiveInfo::text, _DrawInfo::text, _DrawInfo::text_antialias, TextPrimitive, ThrowBinaryException, ThrowFatalException, ThrowMagickException(), ThrowPointExpectedException, TraceArc(), TraceBezier(), TraceCircle(), TraceEllipse(), TraceEvent, TraceLine(), TracePath(), TracePoint(), TraceRectangle(), TraceRoundRectangle(), TransparentAlpha, _AffineMatrix::tx, _AffineMatrix::ty, _GradientInfo::type, UndefinedPixelTrait, UndefinedPrimitive, _DrawInfo::viewbox, _DrawInfo::weight, _TypeMetric::width, _RectangleInfo::width, WritePixelMask, _PointInfo::x, _RectangleInfo::x, _SegmentInfo::x1, _SegmentInfo::x2, _PointInfo::y, _RectangleInfo::y, _SegmentInfo::y1, and _SegmentInfo::y2.

Referenced by DrawClippingMask(), DrawCompositeMask(), DrawImage(), and DrawPatternPath().

static void ReversePoints ( PointInfo points,
const size_t  number_points 
) [static]

Referenced by ConvertPathToPolygon().

static double SaneStrokeWidth ( const Image image,
const DrawInfo draw_info 
) [inline, static]
static int StopInfoCompare ( const void *  x,
const void *  y 
) [static]

References MagickEpsilon, and _StopInfo::offset.

Referenced by DrawGradientImage().

static MagickBooleanType TraceArc ( MVGInfo mvg_info,
const PointInfo  start,
const PointInfo  end,
const PointInfo  degrees 
)
static MagickBooleanType TraceArcPath ( MVGInfo mvg_info,
const PointInfo  start,
const PointInfo  end,
const PointInfo  arc,
const double  angle,
const MagickBooleanType  large_arc,
const MagickBooleanType  sweep 
)
static MagickBooleanType TraceBezier ( MVGInfo mvg_info,
const size_t  number_coordinates 
)
static MagickBooleanType TraceCircle ( MVGInfo mvg_info,
const PointInfo  start,
const PointInfo  end 
)
static MagickBooleanType TraceEllipse ( MVGInfo mvg_info,
const PointInfo  center,
const PointInfo  radii,
const PointInfo  arc 
)
static MagickBooleanType TraceLine ( PrimitiveInfo primitive_info,
const PointInfo  start,
const PointInfo  end 
)
static size_t TracePath ( MVGInfo mvg_info,
const char *  path,
ExceptionInfo exception 
) [static]
static MagickBooleanType TracePoint ( PrimitiveInfo primitive_info,
const PointInfo  point 
) [inline, static]
static MagickBooleanType TraceRectangle ( PrimitiveInfo primitive_info,
const PointInfo  start,
const PointInfo  end 
)
static MagickBooleanType TraceRoundRectangle ( MVGInfo mvg_info,
const PointInfo  start,
const PointInfo  end,
PointInfo  arc 
)
static MagickBooleanType TraceSquareLinecap ( PrimitiveInfo primitive_info,
const size_t  number_vertices,
const double  offset 
)
static PrimitiveInfo * TraceStrokePolygon ( const Image image,
const DrawInfo draw_info,
const PrimitiveInfo primitive_info 
) [static]

Generated on 2 Dec 2019 for MagickCore by  doxygen 1.6.1