MagickCore
7.0.0
|
#include "MagickCore/studio.h"
#include "MagickCore/annotate.h"
#include "MagickCore/artifact.h"
#include "MagickCore/blob.h"
#include "MagickCore/cache.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/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/string_.h"
#include "MagickCore/string-private.h"
#include "MagickCore/thread-private.h"
#include "MagickCore/token.h"
#include "MagickCore/transform.h"
#include "MagickCore/utility.h"
Go to the source code of this file.
Data Structures | |
struct | _EdgeInfo |
struct | _ElementInfo |
struct | _PolygonInfo |
struct | _PathInfo |
Macros | |
#define | BezierQuantum 200 |
#define | RenderImageTag "Render/Image" |
#define | DrawEpsilon ((double) 1.0e-10) |
Typedefs | |
typedef struct _EdgeInfo | EdgeInfo |
typedef struct _ElementInfo | ElementInfo |
typedef struct _PolygonInfo | PolygonInfo |
typedef struct _PathInfo | PathInfo |
Enumerations | |
enum | PathInfoCode { MoveToCode, OpenCode, GhostlineCode, LineToCode, EndCode } |
Functions | |
static MagickBooleanType | DrawStrokePolygon (Image *, const DrawInfo *, const PrimitiveInfo *, ExceptionInfo *) |
static PrimitiveInfo * | TraceStrokePolygon (const DrawInfo *, const PrimitiveInfo *) |
static size_t | TracePath (PrimitiveInfo *, const char *) |
static void | TraceArc (PrimitiveInfo *, const PointInfo, const PointInfo, const PointInfo) |
static void | TraceArcPath (PrimitiveInfo *, const PointInfo, const PointInfo, const PointInfo, const double, const MagickBooleanType, const MagickBooleanType) |
static void | TraceBezier (PrimitiveInfo *, const size_t) |
static void | TraceCircle (PrimitiveInfo *, const PointInfo, const PointInfo) |
static void | TraceEllipse (PrimitiveInfo *, const PointInfo, const PointInfo, const PointInfo) |
static void | TraceLine (PrimitiveInfo *, const PointInfo, const PointInfo) |
static void | TraceRectangle (PrimitiveInfo *, const PointInfo, const PointInfo) |
static void | TraceRoundRectangle (PrimitiveInfo *, const PointInfo, const PointInfo, PointInfo) |
static void | TraceSquareLinecap (PrimitiveInfo *, const size_t, const double) |
MagickExport DrawInfo * | AcquireDrawInfo (void) |
MagickExport DrawInfo * | CloneDrawInfo (const ImageInfo *image_info, const DrawInfo *draw_info) |
static int | CompareEdges (const void *x, const void *y) |
static void | LogPolygonInfo (const PolygonInfo *polygon_info) |
static void | ReversePoints (PointInfo *points, const size_t number_points) |
static PolygonInfo * | ConvertPathToPolygon (const DrawInfo *magick_unused(draw_info), const PathInfo *path_info) |
static void | LogPathInfo (const PathInfo *path_info) |
static PathInfo * | ConvertPrimitiveToPath (const DrawInfo *magick_unused(draw_info), const PrimitiveInfo *primitive_info) |
MagickExport DrawInfo * | DestroyDrawInfo (DrawInfo *draw_info) |
static size_t | DestroyEdge (PolygonInfo *polygon_info, const size_t edge) |
static PolygonInfo * | DestroyPolygonInfo (PolygonInfo *polygon_info) |
static SegmentInfo | AffineEdge (const Image *image, const AffineMatrix *affine, const double y, const SegmentInfo *edge) |
static AffineMatrix | InverseAffineMatrix (const AffineMatrix *affine) |
static ssize_t | MagickAbsoluteValue (const ssize_t x) |
static double | MagickMax (const double x, const double y) |
static double | MagickMin (const double x, const double y) |
MagickExport MagickBooleanType | DrawAffineImage (Image *image, const Image *source, const AffineMatrix *affine, ExceptionInfo *exception) |
static void | DrawBoundingRectangles (Image *image, const DrawInfo *draw_info, const PolygonInfo *polygon_info, ExceptionInfo *exception) |
MagickExport MagickBooleanType | DrawClipPath (Image *image, const DrawInfo *draw_info, const char *name, ExceptionInfo *exception) |
static MagickBooleanType | DrawDashPolygon (const DrawInfo *draw_info, const PrimitiveInfo *primitive_info, Image *image, ExceptionInfo *exception) |
static MagickBooleanType | IsPoint (const char *point) |
static void | TracePoint (PrimitiveInfo *primitive_info, const PointInfo point) |
MagickExport MagickBooleanType | DrawImage (Image *image, const DrawInfo *draw_info, ExceptionInfo *exception) |
static double | GetStopColorOffset (const GradientInfo *gradient, const ssize_t x, const ssize_t y) |
MagickExport MagickBooleanType | DrawGradientImage (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 DrawInfo *draw_info, 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 void | 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) |
static double | DrawEpsilonReciprocal (const double x) |
#define BezierQuantum 200 |
Definition at line 90 of file draw.c.
Referenced by DrawImage(), TraceBezier(), and TraceStrokePolygon().
#define DrawEpsilon ((double) 1.0e-10) |
Referenced by DrawEpsilonReciprocal().
#define RenderImageTag "Render/Image" |
Referenced by DrawImage().
typedef struct _ElementInfo ElementInfo |
typedef struct _PolygonInfo PolygonInfo |
enum PathInfoCode |
MagickExport DrawInfo* AcquireDrawInfo | ( | void | ) |
Definition at line 200 of file draw.c.
References AcquireMagickMemory(), GetDrawInfo(), ResourceLimitFatalError, and ThrowFatalException.
Referenced by GradientImage().
|
static |
Definition at line 3566 of file draw.c.
References AcquireQuantumMemory(), ConvertPathToPolygon(), ConvertPrimitiveToPath(), DestroyPolygonThreadSet(), GetMagickResourceLimit(), RelinquishMagickMemory(), ResetMagickMemory(), and ThreadResource.
Referenced by DrawPolygonPrimitive().
|
static |
Definition at line 953 of file draw.c.
References _Image::columns, MagickEpsilon, _Image::rows, _AffineMatrix::rx, _AffineMatrix::ry, _AffineMatrix::sx, _AffineMatrix::sy, _AffineMatrix::tx, _AffineMatrix::ty, _SegmentInfo::x1, _SegmentInfo::x2, _SegmentInfo::y1, and _SegmentInfo::y2.
Referenced by DrawAffineImage().
MagickExport DrawInfo* CloneDrawInfo | ( | const ImageInfo * | image_info, |
const DrawInfo * | draw_info | ||
) |
Definition at line 239 of file draw.c.
References AcquireExceptionInfo(), AcquireMagickMemory(), AcquireQuantumMemory(), _DrawInfo::affine, _DrawInfo::align, _DrawInfo::alpha, _DrawInfo::border_color, _DrawInfo::bounds, _DrawInfo::clip_mask, _DrawInfo::clip_units, CloneImage(), CloneString(), _DrawInfo::compose, CopyMagickMemory(), _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_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, 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_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(), DrawClipPath(), DrawDashPolygon(), DrawImage(), DrawPatternPath(), DrawPrimitive(), DrawStrokePolygon(), GetMultilineTypeMetrics(), GetTypeMetrics(), MontageImageList(), PolaroidImage(), RenderType(), and VignetteImage().
|
static |
Definition at line 372 of file draw.c.
References MagickEpsilon, _EdgeInfo::points, _PointInfo::x, and _PointInfo::y.
Referenced by ConvertPathToPolygon().
|
static |
Definition at line 447 of file draw.c.
References AcquireMagickMemory(), AcquireQuantumMemory(), _EdgeInfo::bounds, _PathInfo::code, CompareEdges(), _EdgeInfo::direction, _PolygonInfo::edges, EndCode, _EdgeInfo::ghostline, GhostlineCode, _EdgeInfo::highwater, IsEventLogging(), LogPolygonInfo(), MagickFalse, MagickTrue, MoveToCode, _PolygonInfo::number_edges, _EdgeInfo::number_points, OpenCode, _PathInfo::point, _EdgeInfo::points, RelinquishMagickMemory(), ResetMagickMemory(), ResizeQuantumMemory(), ReversePoints(), _EdgeInfo::scanline, _PointInfo::x, _SegmentInfo::x1, _SegmentInfo::x2, _PointInfo::y, _SegmentInfo::y1, and _SegmentInfo::y2.
Referenced by AcquirePolygonThreadSet().
|
static |
Definition at line 693 of file draw.c.
References AcquireQuantumMemory(), _PathInfo::code, ColorPrimitive, EndCode, GhostlineCode, ImagePrimitive, IsEventLogging(), LineToCode, LogPathInfo(), MagickEpsilon, MagickFalse, MattePrimitive, MoveToCode, OpenCode, _PathInfo::point, _PrimitiveInfo::point, PointPrimitive, _PrimitiveInfo::primitive, TextPrimitive, UndefinedPrimitive, _PointInfo::x, and _PointInfo::y.
Referenced by AcquirePolygonThreadSet().
MagickExport DrawInfo* DestroyDrawInfo | ( | DrawInfo * | draw_info | ) |
Definition at line 809 of file draw.c.
References _DrawInfo::clip_mask, _DrawInfo::dash_pattern, _DrawInfo::debug, _DrawInfo::density, DestroyImage(), DestroyString(), _DrawInfo::encoding, _DrawInfo::family, _DrawInfo::fill_pattern, _DrawInfo::font, _DrawInfo::geometry, GetMagickModule, _DrawInfo::gradient, LogMagickEvent(), MagickFalse, MagickSignature, _DrawInfo::metrics, _DrawInfo::primitive, RelinquishMagickMemory(), _DrawInfo::server_name, _DrawInfo::signature, _GradientInfo::stops, _DrawInfo::stroke_pattern, _DrawInfo::text, and TraceEvent.
Referenced by AnnotateImage(), DrawBoundingRectangles(), DrawClipPath(), DrawDashPolygon(), DrawImage(), DrawPatternPath(), DrawPrimitive(), DrawStrokePolygon(), GetMultilineTypeMetrics(), GetTypeMetrics(), GradientImage(), MontageImageList(), PolaroidImage(), RenderType(), and VignetteImage().
|
static |
Definition at line 875 of file draw.c.
References CopyMagickMemory(), _PolygonInfo::edges, _PolygonInfo::number_edges, _EdgeInfo::points, and RelinquishMagickMemory().
Referenced by GetFillAlpha().
|
static |
Definition at line 910 of file draw.c.
References _PolygonInfo::edges, _PolygonInfo::number_edges, _EdgeInfo::points, and RelinquishMagickMemory().
Referenced by DestroyPolygonThreadSet().
|
static |
Definition at line 3553 of file draw.c.
References DestroyPolygonInfo(), GetMagickResourceLimit(), RelinquishMagickMemory(), and ThreadResource.
Referenced by AcquirePolygonThreadSet(), and DrawPolygonPrimitive().
MagickExport MagickBooleanType DrawAffineImage | ( | Image * | image, |
const Image * | source, | ||
const AffineMatrix * | affine, | ||
ExceptionInfo * | exception | ||
) |
Definition at line 1081 of file draw.c.
References AcquireAuthenticCacheView(), AcquireVirtualCacheView(), AffineEdge(), _PixelInfo::alpha, _Image::columns, CompositePixelInfoOver(), _Image::debug, DestroyCacheView(), DirectClass, _Image::filename, GetCacheViewAuthenticPixels(), GetMagickModule, GetPixelChannels(), GetPixelInfo(), GetPixelInfoPixel(), InterpolatePixelInfo(), InverseAffineMatrix(), LogMagickEvent(), MagickFalse, MagickMax(), MagickMin(), MagickSignature, MagickTrue, _Image::rows, _AffineMatrix::rx, _AffineMatrix::ry, SetImageStorageClass(), SetPixelInfoPixel(), _Image::signature, _AffineMatrix::sx, _AffineMatrix::sy, SyncCacheViewAuthenticPixels(), TraceEvent, _AffineMatrix::tx, _AffineMatrix::ty, UndefinedInterpolatePixel, _PointInfo::x, _SegmentInfo::x1, _SegmentInfo::x2, _PointInfo::y, _SegmentInfo::y1, and _SegmentInfo::y2.
Referenced by DrawPrimitive().
|
static |
Definition at line 1256 of file draw.c.
References _DrawInfo::affine, AllCompliance, _EdgeInfo::bounds, CloneDrawInfo(), _Image::columns, DefaultResolution, _DrawInfo::density, DestroyDrawInfo(), _EdgeInfo::direction, DrawPrimitive(), _PolygonInfo::edges, ExpandAffine(), _DrawInfo::fill, MagickFalse, _PrimitiveInfo::method, _PolygonInfo::number_edges, ParseGeometry(), _PrimitiveInfo::primitive, QueryColorCompliance(), RectanglePrimitive, ReplaceMethod, _GeometryInfo::rho, _Image::rows, _GeometryInfo::sigma, SigmaValue, _DrawInfo::stroke, _DrawInfo::stroke_width, TraceRectangle(), UndefinedPrimitive, _PointInfo::x, _SegmentInfo::x1, _SegmentInfo::x2, _PointInfo::y, _SegmentInfo::y1, and _SegmentInfo::y2.
Referenced by DrawPolygonPrimitive().
MagickExport MagickBooleanType DrawClipPath | ( | Image * | image, |
const DrawInfo * | draw_info, | ||
const char * | name, | ||
ExceptionInfo * | exception | ||
) |
Definition at line 1397 of file draw.c.
References AllCompliance, _PixelInfo::alpha, _Image::background_color, _DrawInfo::clip_mask, CloneDrawInfo(), CloneImage(), CloneString(), _Image::columns, _Image::debug, DestroyDrawInfo(), DestroyImage(), DrawEvent, DrawImage(), _Image::filename, _DrawInfo::fill, FormatLocaleString(), GetImageArtifact(), GetMagickModule, LogMagickEvent(), MagickFalse, MagickSignature, MagickTrue, MaxTextExtent, NegateImage(), _DrawInfo::primitive, QueryColorCompliance(), _Image::rows, SetImageBackgroundColor(), SetImageMask(), _Image::signature, TraceEvent, and TransparentAlpha.
Referenced by DrawImage().
|
static |
Definition at line 1480 of file draw.c.
References AcquireQuantumMemory(), _DrawInfo::affine, CloneDrawInfo(), _PrimitiveInfo::coordinates, _DrawInfo::dash_offset, _DrawInfo::dash_pattern, _Image::debug, DestroyDrawInfo(), DrawEvent, DrawStrokePolygon(), ExpandAffine(), GetMagickModule, LogMagickEvent(), MagickEpsilon, MagickFalse, MagickTrue, _DrawInfo::miterlimit, _PrimitiveInfo::point, _PrimitiveInfo::primitive, RelinquishMagickMemory(), UndefinedPrimitive, _PointInfo::x, and _PointInfo::y.
Referenced by DrawPrimitive().
|
inlinestatic |
MagickExport MagickBooleanType DrawGradientImage | ( | Image * | image, |
const DrawInfo * | draw_info, | ||
ExceptionInfo * | exception | ||
) |
Definition at line 3204 of file draw.c.
References AcquireAuthenticCacheView(), _GradientInfo::bounding_box, _StopInfo::color, _Image::columns, CompositePixelInfoBlend(), _Image::debug, _Image::filename, GetCacheViewAuthenticPixels(), GetMagickModule, GetPixelInfo(), GetPixelInfoPixel(), GetStopColorOffset(), _DrawInfo::gradient, _GradientInfo::gradient_vector, _RectangleInfo::height, LinearGradient, LogMagickEvent(), MagickFalse, MagickSignature, MagickTrue, _GradientInfo::number_stops, _StopInfo::offset, PadSpread, RadialGradient, _GradientInfo::radius, ReflectSpread, RepeatSpread, _Image::signature, _GradientInfo::spread, _GradientInfo::stops, TraceEvent, _GradientInfo::type, UndefinedSpread, _RectangleInfo::width, _PointInfo::x, _RectangleInfo::x, _SegmentInfo::x1, _SegmentInfo::x2, _PointInfo::y, _RectangleInfo::y, _SegmentInfo::y1, and _SegmentInfo::y2.
Referenced by GradientImage().
MagickExport MagickBooleanType DrawImage | ( | Image * | image, |
const DrawInfo * | draw_info, | ||
ExceptionInfo * | exception | ||
) |
Definition at line 1673 of file draw.c.
References AcquireImageInfo(), AcquireMagickMemory(), AcquireQuantumMemory(), AcquireString(), _DrawInfo::affine, _DrawInfo::align, AllCompliance, _PixelInfo::alpha, _DrawInfo::alpha, ArcPrimitive, BezierPrimitive, BezierQuantum, _DrawInfo::bounds, CatchException(), CirclePrimitive, ClampToQuantum(), _DrawInfo::clip_mask, _DrawInfo::clip_units, CloneDrawInfo(), CloneString(), ColorPrimitive, _Image::columns, _DrawInfo::compose, _PrimitiveInfo::coordinates, CopyMagickString(), _DrawInfo::dash_offset, _DrawInfo::dash_pattern, _Image::debug, _DrawInfo::decorate, DegreesToRadians(), DestroyDrawInfo(), DestroyImageInfo(), DestroyString(), DirectClass, DrawClipPath(), DrawError, DrawEvent, DrawPatternPath(), DrawPrimitive(), EllipsePrimitive, _Image::filename, _ImageInfo::filename, FileToString(), _DrawInfo::fill, _DrawInfo::fill_pattern, _DrawInfo::fill_rule, FloodfillMethod, FormatLocaleString(), GetAffineMatrix(), GetImageArtifact(), GetMagickModule, GetMagickToken(), 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, MagickComposeOptions, MagickDecorateOptions, MagickFalse, MagickFillRuleOptions, MagickGravityOptions, MagickLineCapOptions, MagickLineJoinOptions, MagickMax(), MagickMethodOptions, MagickPI, MagickSignature, MagickStretchOptions, MagickStyleOptions, MagickTrue, MattePrimitive, MaxTextExtent, _PrimitiveInfo::method, _DrawInfo::miterlimit, ObjectBoundingBox, _Image::page, ParseCommandOption(), PathPrimitive, _PrimitiveInfo::point, PointPrimitive, _DrawInfo::pointsize, PolygonPrimitive, PolylinePrimitive, _DrawInfo::primitive, _PrimitiveInfo::primitive, QuantumRange, QuantumScale, QueryColorCompliance(), ReadImage(), RectanglePrimitive, ReflectSpread, RelinquishMagickMemory(), RenderImageTag, ResizeQuantumMemory(), ResourceLimitError, ResourceLimitFatalError, RoundRectanglePrimitive, _Image::rows, _AffineMatrix::rx, _AffineMatrix::ry, SetImageArtifact(), SetImageMask(), SetImageProgress(), SetImageStorageClass(), _DrawInfo::signature, _Image::signature, _DrawInfo::stretch, StringToDouble(), StringToLong(), StringToUnsignedLong(), _DrawInfo::stroke, _DrawInfo::stroke_antialias, _DrawInfo::stroke_pattern, _DrawInfo::stroke_width, _DrawInfo::style, _AffineMatrix::sx, _AffineMatrix::sy, _PrimitiveInfo::text, _DrawInfo::text_antialias, TextPrimitive, ThrowBinaryException, ThrowFatalException, ThrowMagickException(), TraceArc(), TraceBezier(), TraceCircle(), TraceEllipse(), TraceEvent, TraceLine(), TracePath(), TracePoint(), TraceRectangle(), TraceRoundRectangle(), _AffineMatrix::tx, _AffineMatrix::ty, UndefinedPrimitive, _DrawInfo::viewbox, _DrawInfo::weight, _RectangleInfo::width, _PointInfo::x, _RectangleInfo::x, _SegmentInfo::x1, _SegmentInfo::x2, _PointInfo::y, _RectangleInfo::y, _SegmentInfo::y1, and _SegmentInfo::y2.
Referenced by AnnotateImage(), DrawClipPath(), DrawPatternPath(), and VignetteImage().
MagickExport MagickBooleanType DrawPatternPath | ( | Image * | image, |
const DrawInfo * | draw_info, | ||
const char * | name, | ||
Image ** | pattern, | ||
ExceptionInfo * | exception | ||
) |
Definition at line 3465 of file draw.c.
References AcquireImage(), AcquireImageInfo(), AcquireString(), AllCompliance, CloneDrawInfo(), CloneString(), _Image::debug, DestroyDrawInfo(), DestroyImage(), DestroyImageInfo(), DrawEvent, DrawImage(), _Image::filename, _DrawInfo::fill_pattern, FormatLocaleString(), GetImageArtifact(), GetMagickModule, LogMagickEvent(), MagickFalse, MagickSignature, MaxTextExtent, NewImageList(), _DrawInfo::primitive, QueryColorCompliance(), SetImageBackgroundColor(), _Image::signature, _ImageInfo::size, _DrawInfo::stroke_pattern, and TraceEvent.
Referenced by DrawImage().
|
static |
Definition at line 3771 of file draw.c.
References AcquireAuthenticCacheView(), AcquirePolygonThreadSet(), _DrawInfo::affine, _PixelInfo::alpha, _Image::alpha_trait, BlendPixelTrait, _EdgeInfo::bounds, _Image::columns, CompositePixelOver(), _PrimitiveInfo::coordinates, _Image::debug, DestroyCacheView(), DestroyPolygonThreadSet(), DrawBoundingRectangles(), DrawEvent, ExpandAffine(), _Image::filename, _DrawInfo::fill_rule, FillToBorderMethod, FloodfillMethod, GetCacheViewAuthenticPixels(), GetFillAlpha(), GetFillColor(), GetMagickModule, GetOpenMPThreadId(), GetPixelAlpha(), GetPixelChannels(), GetPixelInfo(), GetStrokeColor(), LogMagickEvent(), MagickFalse, MagickSignature, MagickTrue, _PrimitiveInfo::method, OpaqueAlphaChannel, _PrimitiveInfo::point, _Image::rows, SetImageAlphaChannel(), SetPixelInfoPixel(), _DrawInfo::signature, _Image::signature, _DrawInfo::stroke_antialias, _DrawInfo::stroke_width, SyncCacheViewAuthenticPixels(), TraceEvent, _PointInfo::x, _SegmentInfo::x1, _SegmentInfo::x2, _PointInfo::y, _SegmentInfo::y1, and _SegmentInfo::y2.
Referenced by DrawPrimitive(), DrawRoundLinecap(), and DrawStrokePolygon().
MagickExport MagickBooleanType DrawPrimitive | ( | Image * | image, |
const DrawInfo * | draw_info, | ||
const PrimitiveInfo * | primitive_info, | ||
ExceptionInfo * | exception | ||
) |
Definition at line 4123 of file draw.c.
References AcquireAuthenticCacheView(), AcquireImageInfo(), _DrawInfo::affine, _PixelInfo::alpha, _DrawInfo::alpha, _Image::alpha_trait, AlphaChannel, AnnotateImage(), BlendPixelTrait, _PixelInfo::blue, _DrawInfo::border_color, ClampToQuantum(), CloneDrawInfo(), CloneString(), ColorPrimitive, _Image::colorspace, _Image::columns, _DrawInfo::compose, CompositeImage(), CompositePixelOver(), CopyMagickString(), _DrawInfo::dash_pattern, _Image::debug, DestroyCacheView(), DestroyDrawInfo(), DestroyImage(), DestroyImageInfo(), 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(), MagickEpsilon, MagickFalse, MagickTrue, MattePrimitive, MaxTextExtent, _PrimitiveInfo::method, OpaqueAlpha, OpaqueAlphaChannel, OverCompositeOp, ParseGravityGeometry(), _PrimitiveInfo::point, PointMethod, PointPrimitive, _PrimitiveInfo::primitive, ReadImage(), ReadInlineImage(), _PixelInfo::red, ReplaceMethod, ResetMethod, RoundCap, RoundJoin, _Image::rows, _AffineMatrix::rx, _AffineMatrix::ry, SetGeometry(), SetImageAlpha(), SetImageAlphaChannel(), SetImageChannelMask(), SetImageColorspace(), SetImageProgressMonitor(), SetPixelAlpha(), SetPixelInfoPixel(), sRGBColorspace, _DrawInfo::stroke, _DrawInfo::stroke_width, _AffineMatrix::sx, _AffineMatrix::sy, SyncCacheViewAuthenticPixels(), _DrawInfo::text, _PrimitiveInfo::text, TextPrimitive, TileVirtualPixelMethod, TransformImage(), TransparentAlpha, _AffineMatrix::tx, _AffineMatrix::ty, UndefinedPrimitive, _PointInfo::x, _RectangleInfo::x, _PointInfo::y, and _RectangleInfo::y.
Referenced by DrawBoundingRectangles(), and DrawImage().
|
static |
Definition at line 4620 of file draw.c.
References _PrimitiveInfo::coordinates, DrawPolygonPrimitive(), MagickEpsilon, _PrimitiveInfo::point, _PrimitiveInfo::primitive, UndefinedPrimitive, _PointInfo::x, and _PointInfo::y.
Referenced by DrawStrokePolygon().
|
static |
Definition at line 4640 of file draw.c.
References _PixelInfo::alpha, CloneDrawInfo(), CloneImage(), _PrimitiveInfo::coordinates, _Image::debug, DestroyDrawInfo(), DestroyImage(), DrawEvent, DrawPolygonPrimitive(), DrawRoundLinecap(), _DrawInfo::fill, _DrawInfo::fill_pattern, _DrawInfo::fill_rule, GetMagickModule, _DrawInfo::linecap, LogMagickEvent(), MagickFalse, MagickTrue, NonZeroRule, _PrimitiveInfo::point, _PrimitiveInfo::primitive, RelinquishMagickMemory(), RoundCap, _DrawInfo::stroke, _DrawInfo::stroke_pattern, _DrawInfo::stroke_width, TraceStrokePolygon(), TransparentAlpha, UndefinedPrimitive, _PointInfo::x, and _PointInfo::y.
Referenced by DrawDashPolygon(), and DrawPrimitive().
MagickExport void GetAffineMatrix | ( | AffineMatrix * | affine_matrix | ) |
Definition at line 4719 of file draw.c.
References GetMagickModule, LogMagickEvent(), ResetMagickMemory(), _AffineMatrix::sx, _AffineMatrix::sy, and TraceEvent.
Referenced by DrawImage(), GetDrawInfo(), and ParseAffineGeometry().
MagickExport void GetDrawInfo | ( | const ImageInfo * | image_info, |
DrawInfo * | draw_info | ||
) |
Definition at line 4752 of file draw.c.
References AcquireExceptionInfo(), AcquireString(), _DrawInfo::affine, AllCompliance, _PixelInfo::alpha, _DrawInfo::alpha, _ImageInfo::antialias, _DrawInfo::border_color, _ImageInfo::border_color, ButtCap, CloneString(), _DrawInfo::compose, _DrawInfo::debug, _DrawInfo::decorate, _DrawInfo::density, _ImageInfo::density, DestroyExceptionInfo(), _DrawInfo::direction, _DrawInfo::encoding, EvenOddRule, _DrawInfo::fill, _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(), MagickDirectionOptions, MagickFalse, MagickGravityOptions, MagickSignature, MagickTrue, MiterJoin, _DrawInfo::miterlimit, NoDecoration, OpaqueAlpha, OverCompositeOp, ParseCommandOption(), _DrawInfo::pointsize, _ImageInfo::pointsize, QueryColorCompliance(), _DrawInfo::render, ResetMagickMemory(), _DrawInfo::server_name, _ImageInfo::server_name, _DrawInfo::signature, StringToDouble(), _DrawInfo::stroke, _DrawInfo::stroke_antialias, _DrawInfo::stroke_width, _DrawInfo::text_antialias, TraceEvent, TransparentAlpha, UndefinedDirection, and _DrawInfo::undercolor.
Referenced by AcquireDrawInfo(), and CloneDrawInfo().
|
static |
Definition at line 3600 of file draw.c.
References _EdgeInfo::bounds, DestroyEdge(), _EdgeInfo::direction, _PolygonInfo::edges, _EdgeInfo::ghostline, _EdgeInfo::highwater, MagickAbsoluteValue(), MagickFalse, MagickMax(), NonZeroRule, _PolygonInfo::number_edges, _EdgeInfo::number_points, _EdgeInfo::points, _EdgeInfo::scanline, _PointInfo::x, _SegmentInfo::x1, _SegmentInfo::x2, _PointInfo::y, _SegmentInfo::y1, and _SegmentInfo::y2.
Referenced by DrawPolygonPrimitive().
|
inlinestatic |
Definition at line 3150 of file draw.c.
References _GradientInfo::center, _GradientInfo::gradient_vector, LinearGradient, PerceptibleReciprocal(), RadialGradient, _GradientInfo::radius, RepeatSpread, _GradientInfo::spread, _GradientInfo::type, UndefinedGradient, _PointInfo::x, _SegmentInfo::x1, _SegmentInfo::x2, _PointInfo::y, _SegmentInfo::y1, and _SegmentInfo::y2.
Referenced by DrawGradientImage().
|
static |
Definition at line 1039 of file draw.c.
References PerceptibleReciprocal(), _AffineMatrix::rx, _AffineMatrix::ry, _AffineMatrix::sx, _AffineMatrix::sy, _AffineMatrix::tx, and _AffineMatrix::ty.
Referenced by DrawAffineImage().
|
inlinestatic |
Definition at line 1654 of file draw.c.
References MagickFalse, MagickTrue, and StringToDouble().
Referenced by DrawImage(), and TracePath().
|
static |
Definition at line 678 of file draw.c.
References _PathInfo::code, DrawEvent, EndCode, GetMagickModule, GhostlineCode, LineToCode, LogMagickEvent(), MoveToCode, OpenCode, _PathInfo::point, _PointInfo::x, and _PointInfo::y.
Referenced by ConvertPrimitiveToPath().
|
static |
Definition at line 401 of file draw.c.
References _EdgeInfo::bounds, _EdgeInfo::direction, DrawEvent, _PolygonInfo::edges, GetMagickModule, _EdgeInfo::ghostline, LogMagickEvent(), MagickFalse, _PolygonInfo::number_edges, _EdgeInfo::number_points, _EdgeInfo::points, _PointInfo::x, _SegmentInfo::x1, _SegmentInfo::x2, _PointInfo::y, _SegmentInfo::y1, and _SegmentInfo::y2.
Referenced by ConvertPathToPolygon().
|
static |
Definition at line 4021 of file draw.c.
References ColorPrimitive, DrawEvent, GetMagickModule, ImagePrimitive, LogMagickEvent(), MagickEpsilon, MattePrimitive, _PrimitiveInfo::method, _PrimitiveInfo::point, PointPrimitive, _PrimitiveInfo::primitive, TextPrimitive, UndefinedPrimitive, _PointInfo::x, and _PointInfo::y.
Referenced by DrawPrimitive().
|
inlinestatic |
Definition at line 1060 of file draw.c.
Referenced by GetFillAlpha().
|
inlinestatic |
Definition at line 1067 of file draw.c.
Referenced by DrawAffineImage(), DrawImage(), GetFillAlpha(), and TraceEllipse().
|
inlinestatic |
Definition at line 1074 of file draw.c.
Referenced by DrawAffineImage(), and TraceBezier().
|
inlinestatic |
Definition at line 4864 of file draw.c.
Referenced by TraceBezier().
|
static |
Definition at line 431 of file draw.c.
Referenced by ConvertPathToPolygon().
|
static |
Definition at line 4896 of file draw.c.
References TraceEllipse(), _PointInfo::x, and _PointInfo::y.
Referenced by DrawImage().
static void TraceArcPath | ( | PrimitiveInfo * | primitive_info, |
const PointInfo | start, | ||
const PointInfo | end, | ||
const PointInfo | arc, | ||
const double | angle, | ||
const MagickBooleanType | large_arc, | ||
const MagickBooleanType | sweep | ||
) |
Definition at line 4910 of file draw.c.
References _PrimitiveInfo::coordinates, DegreesToRadians(), MagickEpsilon, MagickFalse, MagickPI, PerceptibleReciprocal(), _PrimitiveInfo::point, _PrimitiveInfo::primitive, TraceBezier(), TraceLine(), TracePoint(), _PointInfo::x, and _PointInfo::y.
Referenced by TracePath().
static void TraceBezier | ( | PrimitiveInfo * | primitive_info, |
const size_t | number_coordinates | ||
) |
Definition at line 5042 of file draw.c.
References AcquireQuantumMemory(), BezierQuantum, _PrimitiveInfo::coordinates, MagickMin(), Permutate(), _PrimitiveInfo::point, _PrimitiveInfo::primitive, RelinquishMagickMemory(), ResourceLimitFatalError, ThrowFatalException, TracePoint(), _PointInfo::x, and _PointInfo::y.
Referenced by DrawImage(), TraceArcPath(), and TracePath().
static void TraceCircle | ( | PrimitiveInfo * | primitive_info, |
const PointInfo | start, | ||
const PointInfo | end | ||
) |
Definition at line 5136 of file draw.c.
References TraceEllipse(), _PointInfo::x, and _PointInfo::y.
Referenced by DrawImage().
static void TraceEllipse | ( | PrimitiveInfo * | primitive_info, |
const PointInfo | start, | ||
const PointInfo | stop, | ||
const PointInfo | degrees | ||
) |
Definition at line 5158 of file draw.c.
References _PrimitiveInfo::coordinates, DegreesToRadians(), MagickMax(), MagickPI, _PrimitiveInfo::primitive, TracePoint(), _PointInfo::x, and _PointInfo::y.
Referenced by DrawImage(), TraceArc(), TraceCircle(), and TraceRoundRectangle().
static void TraceLine | ( | PrimitiveInfo * | primitive_info, |
const PointInfo | start, | ||
const PointInfo | end | ||
) |
Definition at line 5212 of file draw.c.
References _PrimitiveInfo::coordinates, MagickEpsilon, PointPrimitive, _PrimitiveInfo::primitive, TracePoint(), _PointInfo::x, and _PointInfo::y.
Referenced by DrawImage(), and TraceArcPath().
|
static |
Definition at line 5228 of file draw.c.
References _PrimitiveInfo::coordinates, FillToBorderMethod, FormatLocaleFile(), GetMagickToken(), IsPoint(), MagickFalse, MagickTrue, MaxTextExtent, _PrimitiveInfo::method, _PrimitiveInfo::primitive, StringToDouble(), StringToLong(), TraceArcPath(), TraceBezier(), TracePoint(), _PointInfo::x, and _PointInfo::y.
Referenced by DrawImage().
|
inlinestatic |
Definition at line 1666 of file draw.c.
References _PrimitiveInfo::coordinates, and _PrimitiveInfo::point.
Referenced by DrawImage(), TraceArcPath(), TraceBezier(), TraceEllipse(), TraceLine(), TracePath(), TraceRectangle(), and TraceRoundRectangle().
static void TraceRectangle | ( | PrimitiveInfo * | primitive_info, |
const PointInfo | start, | ||
const PointInfo | end | ||
) |
Definition at line 5601 of file draw.c.
References _PrimitiveInfo::coordinates, _PrimitiveInfo::primitive, TracePoint(), _PointInfo::x, and _PointInfo::y.
Referenced by DrawBoundingRectangles(), and DrawImage().
static void TraceRoundRectangle | ( | PrimitiveInfo * | primitive_info, |
const PointInfo | start, | ||
const PointInfo | end, | ||
PointInfo | arc | ||
) |
Definition at line 5636 of file draw.c.
References _PrimitiveInfo::coordinates, _PrimitiveInfo::point, _PrimitiveInfo::primitive, TraceEllipse(), TracePoint(), _PointInfo::x, and _PointInfo::y.
Referenced by DrawImage().
static void TraceSquareLinecap | ( | PrimitiveInfo * | primitive_info, |
const size_t | number_vertices, | ||
const double | offset | ||
) |
Definition at line 5691 of file draw.c.
References MagickEpsilon, _PrimitiveInfo::point, _PointInfo::x, and _PointInfo::y.
Referenced by TraceStrokePolygon().
|
static |
Definition at line 5749 of file draw.c.
References AcquireQuantumMemory(), _DrawInfo::affine, BevelJoin, BezierQuantum, _PrimitiveInfo::coordinates, CopyMagickMemory(), DegreesToRadians(), DrawEpsilonReciprocal(), ExpandAffine(), _DrawInfo::linecap, _DrawInfo::linejoin, MagickEpsilon, MagickFalse, MagickPI, MagickTrue, MiterJoin, _DrawInfo::miterlimit, _PrimitiveInfo::point, _PrimitiveInfo::primitive, RelinquishMagickMemory(), ResizeQuantumMemory(), RoundJoin, SquareCap, _DrawInfo::stroke_width, TraceSquareLinecap(), UndefinedPrimitive, _PointInfo::x, and _PointInfo::y.
Referenced by DrawStrokePolygon().