MagickCore  7.0.8
Convert, Edit, Or Compose Bitmap Images
draw.c File Reference
Include dependency graph for draw.c:

Go to the source code of this file.

Data Structures

struct  _EdgeInfo
 
struct  _ElementInfo
 
struct  _MVGInfo
 
struct  _PolygonInfo
 
struct  _PathInfo
 

Macros

#define BezierQuantum   200
 
#define PrimitiveExtentPad   128
 
#define MaxBezierCoordinates   4194304
 
#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)
 
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 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)
 

Macro Definition Documentation

◆ BezierQuantum

#define BezierQuantum   200

Definition at line 93 of file draw.c.

Referenced by RenderMVGContent(), TraceBezier(), and TraceStrokePolygon().

◆ CheckPathExtent

#define CheckPathExtent (   pad)
Value:
if ((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); \
} \
}
MagickExport void * ResizeQuantumMemory(void *memory, const size_t count, const size_t quantum)
Definition: memory.c:1339
MagickExport void * RelinquishMagickMemory(void *memory)
Definition: memory.c:1054

Referenced by TraceStrokePolygon().

◆ DrawCompareEdge

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

Referenced by DrawCompareEdges().

◆ MaxBezierCoordinates

#define MaxBezierCoordinates   4194304

Definition at line 95 of file draw.c.

Referenced by DrawDashPolygon(), and RenderMVGContent().

◆ PrimitiveExtentPad

#define PrimitiveExtentPad   128

Definition at line 94 of file draw.c.

Referenced by CheckPrimitiveExtent(), RenderMVGContent(), TracePath(), and TraceRoundRectangle().

◆ RenderImageTag

#define RenderImageTag   "Render/Image"

Referenced by RenderMVGContent().

◆ ThrowPointExpectedException

#define ThrowPointExpectedException (   token,
  exception 
)
Value:
{ \
"NonconformingDrawingPrimitiveDefinition","`%s'",token); \
status=MagickFalse; \
break; \
}
MagickExport MagickBooleanType ThrowMagickException(ExceptionInfo *exception, const char *module, const char *function, const size_t line, const ExceptionType severity, const char *tag, const char *format,...)
Definition: exception.c:1064
#define GetMagickModule()
Definition: log.h:28

Definition at line 96 of file draw.c.

Referenced by RenderMVGContent(), and TracePath().

Typedef Documentation

◆ EdgeInfo

typedef struct _EdgeInfo EdgeInfo

◆ ElementInfo

typedef struct _ElementInfo ElementInfo

◆ MVGInfo

typedef struct _MVGInfo MVGInfo

◆ PathInfo

typedef struct _PathInfo PathInfo

◆ PolygonInfo

typedef struct _PolygonInfo PolygonInfo

Enumeration Type Documentation

◆ PathInfoCode

Enumerator
MoveToCode 
OpenCode 
GhostlineCode 
LineToCode 
EndCode 

Definition at line 168 of file draw.c.

Function Documentation

◆ AcquireDrawInfo()

MagickExport DrawInfo* AcquireDrawInfo ( void  )

Definition at line 232 of file draw.c.

References AcquireCriticalMemory(), and GetDrawInfo().

Referenced by GradientImage().

◆ AcquirePolygonThreadSet()

◆ AffineEdge()

static SegmentInfo AffineEdge ( const Image image,
const AffineMatrix affine,
const double  y,
const SegmentInfo edge 
)
static

◆ CheckPrimitiveExtent()

◆ CloneDrawInfo()

MagickExport DrawInfo* CloneDrawInfo ( const ImageInfo image_info,
const DrawInfo draw_info 
)

Definition at line 269 of file draw.c.

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::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().

◆ ConvertPathToPolygon()

◆ ConvertPrimitiveToPath()

◆ DestroyDrawInfo()

◆ DestroyEdge()

static size_t DestroyEdge ( PolygonInfo polygon_info,
const size_t  edge 
)
static

◆ DestroyPolygonInfo()

static PolygonInfo* DestroyPolygonInfo ( PolygonInfo polygon_info)
static

◆ DestroyPolygonThreadSet()

static PolygonInfo** DestroyPolygonThreadSet ( PolygonInfo **  polygon_info)
static

◆ DrawAffineImage()

◆ DrawBoundingRectangles()

◆ DrawClipPath()

MagickExport MagickBooleanType DrawClipPath ( Image image,
const DrawInfo draw_info,
const char *  id,
ExceptionInfo exception 
)

◆ DrawClippingMask()

◆ DrawCompareEdges()

static int DrawCompareEdges ( const void *  p_edge,
const void *  q_edge 
)
static

Definition at line 417 of file draw.c.

References DrawCompareEdge.

Referenced by ConvertPathToPolygon().

◆ DrawCompositeMask()

◆ DrawDashPolygon()

◆ DrawGradientImage()

◆ DrawImage()

MagickExport MagickBooleanType DrawImage ( Image image,
const DrawInfo draw_info,
ExceptionInfo exception 
)

Definition at line 4352 of file draw.c.

References RenderMVGContent().

Referenced by AnnotateImage(), RenderHoughLines(), and VignetteImage().

◆ DrawPatternPath()

◆ DrawPolygonPrimitive()

◆ DrawPrimitive()

MagickExport MagickBooleanType DrawPrimitive ( Image image,
const DrawInfo draw_info,
const PrimitiveInfo primitive_info,
ExceptionInfo exception 
)

Definition at line 5066 of file draw.c.

References AcquireAuthenticCacheView(), AcquireImageInfo(), _DrawInfo::affine, _PixelInfo::alpha, _DrawInfo::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::composite_mask, CompositePixelMask, CompositePixelOver(), 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(), _Image::gravity, _DrawInfo::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, 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(), 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, _PointInfo::x, _RectangleInfo::x, _PointInfo::y, and _RectangleInfo::y.

Referenced by DrawBoundingRectangles(), and RenderMVGContent().

◆ DrawRoundLinecap()

static MagickBooleanType DrawRoundLinecap ( Image image,
const DrawInfo draw_info,
const PrimitiveInfo primitive_info,
ExceptionInfo exception 
)
static

◆ DrawStrokePolygon()

◆ GetAffineMatrix()

MagickExport void GetAffineMatrix ( AffineMatrix affine_matrix)

◆ GetDrawInfo()

MagickExport void GetDrawInfo ( const ImageInfo image_info,
DrawInfo draw_info 
)

Definition at line 5715 of file draw.c.

References AcquireExceptionInfo(), AcquireString(), _DrawInfo::affine, AllCompliance, _PixelInfo::alpha, _DrawInfo::alpha, _ImageInfo::antialias, _DrawInfo::border_color, _ImageInfo::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(), _DrawInfo::pointsize, _ImageInfo::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().

◆ GetFillAlpha()

◆ GetMVGMacros()

◆ GetStopColorOffset()

◆ InverseAffineMatrix()

static AffineMatrix InverseAffineMatrix ( const AffineMatrix affine)
static

◆ IsPoint()

static MagickBooleanType IsPoint ( const char *  point)
inlinestatic

Definition at line 2366 of file draw.c.

References MagickEpsilon, MagickFalse, MagickTrue, and StringToDouble().

Referenced by RenderMVGContent(), and TracePath().

◆ LogPathInfo()

static void LogPathInfo ( const PathInfo path_info)
static

◆ LogPolygonInfo()

◆ LogPrimitiveInfo()

◆ Permutate()

static double Permutate ( const ssize_t  n,
const ssize_t  k 
)
inlinestatic

Definition at line 5853 of file draw.c.

Referenced by TraceBezier().

◆ RenderMVGContent()

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

Definition at line 2388 of file draw.c.

References AcquireMagickMemory(), AcquireQuantumMemory(), AcquireString(), _DrawInfo::affine, _DrawInfo::align, AllCompliance, _PixelInfo::alpha, _Image::alpha_trait, AlphaPrimitive, ArcPrimitive, BezierPrimitive, BezierQuantum, _DrawInfo::bounds, CheckPrimitiveExtent(), CirclePrimitive, _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, MaxTextExtent, _PrimitiveInfo::method, _DrawInfo::miterlimit, ObjectBoundingBox, _StopInfo::offset, _MVGInfo::offset, OpaqueAlpha, OpaqueAlphaChannel, PadSpread, _Image::page, ParseCommandOption(), PathPrimitive, _MVGInfo::point, _PrimitiveInfo::point, PointPrimitive, _DrawInfo::pointsize, PolygonPrimitive, PolylinePrimitive, _DrawInfo::primitive, _PrimitiveInfo::primitive, _MVGInfo::primitive_info, PrimitiveExtentPad, 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, _DrawInfo::text, _PrimitiveInfo::text, _DrawInfo::text_antialias, TextPrimitive, ThrowBinaryException, ThrowFatalException, ThrowMagickException(), ThrowPointExpectedException, TraceArc(), TraceBezier(), TraceCircle(), TraceEllipse(), TraceEvent, TraceLine(), TracePath(), TracePoint(), TraceRectangle(), TraceRoundRectangle(), _AffineMatrix::tx, _AffineMatrix::ty, _GradientInfo::type, UndefinedPixelTrait, UndefinedPrimitive, _DrawInfo::viewbox, _DrawInfo::weight, _RectangleInfo::width, _TypeMetric::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().

◆ ReversePoints()

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

Definition at line 479 of file draw.c.

Referenced by ConvertPathToPolygon().

◆ SaneStrokeWidth()

static double SaneStrokeWidth ( const Image image,
const DrawInfo draw_info 
)
inlinestatic

◆ StopInfoCompare()

static int StopInfoCompare ( const void *  x,
const void *  y 
)
static

Definition at line 1956 of file draw.c.

References MagickEpsilon, and _StopInfo::offset.

Referenced by DrawGradientImage().

◆ TraceArc()

static MagickBooleanType TraceArc ( MVGInfo mvg_info,
const PointInfo  start,
const PointInfo  end,
const PointInfo  degrees 
)

Definition at line 5885 of file draw.c.

References TraceEllipse(), _PointInfo::x, and _PointInfo::y.

Referenced by RenderMVGContent().

◆ TraceArcPath()

◆ TraceBezier()

◆ TraceCircle()

static MagickBooleanType TraceCircle ( MVGInfo mvg_info,
const PointInfo  start,
const PointInfo  end 
)

Definition at line 6146 of file draw.c.

References TraceEllipse(), _PointInfo::x, and _PointInfo::y.

Referenced by RenderMVGContent().

◆ TraceEllipse()

◆ TraceLine()

◆ TracePath()

◆ TracePoint()

◆ TraceRectangle()

◆ TraceRoundRectangle()

◆ TraceSquareLinecap()

static MagickBooleanType TraceSquareLinecap ( PrimitiveInfo primitive_info,
const size_t  number_vertices,
const double  offset 
)

Definition at line 6911 of file draw.c.

References MagickEpsilon, MagickTrue, _PrimitiveInfo::point, _PointInfo::x, and _PointInfo::y.

Referenced by TraceStrokePolygon().

◆ TraceStrokePolygon()