SixLabors.ImageSharp.Drawing
Extensions methods fpor the class.
Evaluates if a given SOURCE color can completely replace a BACKDROP color given the current blending and composition settings.
The graphics options.
The source color.
true if the color can be considered opaque
Blending and composition is an expensive operation, in some cases, like
filling with a solid color, the blending can be avoided by a plain color replacement.
This method can be useful for such processors to select the fast path.
Represents a logical configuration of a brush which can be used to source pixel colors.
A brush is a simple class that will return an that will perform the
logic for retrieving pixel values for specific locations.
Creates the applicator for this brush.
The pixel type.
The configuration instance to use when performing operations.
The graphic options.
The source image.
The region the brush will be applied to.
The for this brush.
The when being applied to things like shapes would usually be the
bounding box of the shape not necessarily the bounds of the whole image.
Performs the application of an implementation against individual scanlines.
The pixel format.
Initializes a new instance of the class.
The configuration instance to use when performing operations.
The graphics options.
The target image frame.
Gets the configuration instance to use when performing operations.
Gets the pixel blender.
Gets the target image frame.
Gets the graphics options
Disposes the object and frees resources for the Garbage Collector.
Whether to dispose managed and unmanaged objects.
Applies the opacity weighting for each pixel in a scanline to the target based on the
pattern contained in the brush.
A collection of opacity values between 0 and 1 to be merged with the brushed color value
before being applied to the
target.
The x-position in the target pixel space that the start of the scanline data corresponds to.
The y-position in the target pixel space that whole scanline corresponds to.
A collection of methods for creating generic brushes.
A new
Percent10 Hatch Pattern
---> x axis
^
| y - axis
|
see PatternBrush for details about how to make new patterns work
Percent20 pattern.
Horizontal Hatch Pattern
Min Pattern
Vertical Pattern
Forward Diagonal Pattern
Backward Diagonal Pattern
Create as brush that will paint a solid color
The color.
A new
Create as brush that will paint a Percent10 Hatch Pattern with the specified colors
Color of the foreground.
A new
Create as brush that will paint a Percent10 Hatch Pattern with the specified colors
Color of the foreground.
Color of the background.
A new
Create as brush that will paint a Percent20 Hatch Pattern with the specified foreground color and a
transparent background.
Color of the foreground.
A new
Create as brush that will paint a Percent20 Hatch Pattern with the specified colors
Color of the foreground.
Color of the background.
A new
Create as brush that will paint a Horizontal Hatch Pattern with the specified foreground color and a
transparent background.
Color of the foreground.
A new
Create as brush that will paint a Horizontal Hatch Pattern with the specified colors
Color of the foreground.
Color of the background.
A new
Create as brush that will paint a Min Hatch Pattern with the specified foreground color and a
transparent background.
Color of the foreground.
A new
Create as brush that will paint a Min Hatch Pattern with the specified colors
Color of the foreground.
Color of the background.
A new
Create as brush that will paint a Vertical Hatch Pattern with the specified foreground color and a
transparent background.
Color of the foreground.
A new
Create as brush that will paint a Vertical Hatch Pattern with the specified colors
Color of the foreground.
Color of the background.
A new
Create as brush that will paint a Forward Diagonal Hatch Pattern with the specified foreground color and a
transparent background.
Color of the foreground.
A new
Create as brush that will paint a Forward Diagonal Hatch Pattern with the specified colors
Color of the foreground.
Color of the background.
A new
Create as brush that will paint a Backward Diagonal Hatch Pattern with the specified foreground color and a
transparent background.
Color of the foreground.
A new
Create as brush that will paint a Backward Diagonal Hatch Pattern with the specified colors
Color of the foreground.
Color of the background.
A new
A struct that defines a single color stop.
Initializes a new instance of the struct.
Where should it be? 0 is at the start, 1 at the end of the Gradient.
What color should be used at that point?
Gets the point along the defined gradient axis.
Gets the color to be used.
Convert a to a of the given pixel type.
Options for influencing the drawing functions.
Initializes a new instance of the class.
Gets or sets the Graphics Options.
Gets or sets the Shape Options.
Gets or sets the Transform to apply during rasterization.
Adds extensions that help working with .
Gets the default shape processing options against The source image processing context.
The image processing context to retrieve defaults from.
The globally configured default options.
Sets the 2D transformation matrix to be used during rasterization when drawing shapes or text.
The image processing context to store default against.
The matrix to use.
The passed in to allow chaining.
Sets the default 2D transformation matrix to be used during rasterization when drawing shapes or text.
The configuration to store default against.
The default matrix to use.
Gets the default 2D transformation matrix to be used during rasterization when drawing shapes or text.
The image processing context to retrieve defaults from.
The matrix.
Gets the default 2D transformation matrix to be used during rasterization when drawing shapes or text.
The configuration to retrieve defaults from.
The globally configured default matrix.
Gradient Brush with elliptic shape.
The ellipse is defined by a center point,
a point on the longest extension of the ellipse and
the ratio between longest and shortest extension.
The center of the elliptical gradient and 0 for the color stops.
The end point of the reference axis of the ellipse.
The ratio of the axis widths.
The second axis' is perpendicular to the reference axis and
it's length is the reference axis' length multiplied by this factor.
Defines how the colors of the gradients are repeated.
the color stops as defined in base class.
Initializes a new instance of the class.
The configuration instance to use when performing operations.
The graphics options.
The target image.
Center of the ellipse.
Point on one angular points of the ellipse.
Ratio of the axis length's. Used to determine the length of the second axis,
the first is defined by and .
Definition of colors.
Defines how the gradient colors are repeated.
Adds extensions that allow the flood filling of images without blending.
Flood fills the image with the specified color without any blending.
The source image processing context.
The color.
The to allow chaining of operations.
Flood fills the image with the specified color without any blending.
The source image processing context.
The drawing options.
The color.
The to allow chaining of operations.
Flood fills the image with the specified brush without any blending.
The source image processing context.
The brush.
The to allow chaining of operations.
Flood fills the image with the specified brush without any blending.
The source image processing context.
The drawing options.
The brush.
The to allow chaining of operations.
Clones the path graphic options and applies changes required to force clearing.
The drawing options to clone
A clone of shapeOptions with ColorBlendingMode, AlphaCompositionMode, and BlendPercentage set
Adds extensions that allow the flood filling of polygon outlines without blending.
Flood fills the image within the provided region defined by an using the specified
color without any blending.
The source image processing context.
The color.
The defining the region to fill.
The to allow chaining of operations.
Flood fills the image within the provided region defined by an using the specified color
without any blending.
The source image processing context.
The drawing options.
The color.
The defining the region to fill.
The to allow chaining of operations.
Flood fills the image within the provided region defined by an using the specified brush
without any blending.
The source image processing context.
The brush.
The defining the region to fill.
The to allow chaining of operations.
Flood fills the image within the provided region defined by an using the specified brush
without any blending.
The source image processing context.
The drawing options.
The brush.
The defining the region to fill.
The to allow chaining of operations.
Adds extensions that allow the flood filling of rectangle outlines without blending.
Flood fills the image in the rectangle of the provided rectangle with the specified color without any blending.
The source image processing context.
The color.
The rectangle defining the region to fill.
The to allow chaining of operations.
Flood fills the image in the rectangle of the provided rectangle with the specified color without any blending.
The source image processing context.
The drawing options.
The color.
The rectangle defining the region to fill.
The to allow chaining of operations.
Flood fills the image in the rectangle of the provided rectangle with the specified brush without any blending.
The source image processing context.
The brush.
The rectangle defining the region to fill.
The to allow chaining of operations.
Flood fills the image at the given rectangle bounds with the specified brush without any blending.
The source image processing context.
The drawing options.
The brush.
The rectangle defining the region to fill.
The to allow chaining of operations.
Adds extensions that allow the application of processors within a clipped path.
Applies the processing operation within the provided region defined by an .
The source image processing context.
The defining the region to operation within.
The operation to perform.
The to allow chaining of operations.
Adds extensions that allow the drawing of Bezier paths.
Draws the provided points as an open Bezier path with the supplied pen
The source image processing context.
The options.
The pen.
The points.
The to allow chaining of operations.
Draws the provided points as an open Bezier path with the supplied pen
The source image processing context.
The pen.
The points.
The to allow chaining of operations.
Draws the provided points as an open Bezier path at the provided thickness with the supplied brush
The source image processing context.
The options.
The brush.
The thickness.
The points.
The to allow chaining of operations.
Draws the provided points as an open Bezier path at the provided thickness with the supplied brush
The source image processing context.
The brush.
The thickness.
The points.
The to allow chaining of operations.
Draws the provided points as an open Bezier path at the provided thickness with the supplied brush
The source image processing context.
The color.
The thickness.
The points.
The to allow chaining of operations.
Draws the provided points as an open Bezier path at the provided thickness with the supplied brush
The source image processing context.
The options.
The color.
The thickness.
The points.
The to allow chaining of operations.
Adds extensions that allow the drawing of lines.
Draws the provided points as an open linear path at the provided thickness with the supplied brush.
The source image processing context.
The options.
The brush.
The line thickness.
The points.
The to allow chaining of operations.
Draws the provided points as an open linear path at the provided thickness with the supplied brush.
The source image processing context.
The brush.
The line thickness.
The points.
The to allow chaining of operations.
Draws the provided points as an open linear path at the provided thickness with the supplied brush.
The source image processing context.
The color.
The line thickness.
The points.
The to allow chaining of operations.
Draws the provided points as an open linear path at the provided thickness with the supplied brush.
The source image processing context.
The options.
The color.
The line thickness.
The points.
The to allow chaining of operations.>
Draws the provided points as an open linear path with the supplied pen.
The source image processing context.
The options.
The pen.
The points.
The to allow chaining of operations.
Draws the provided points as an open linear path with the supplied pen.
The source image processing context.
The pen.
The points.
The to allow chaining of operations.
Adds extensions that allow the drawing of collections of polygon outlines.
Draws the outline of the polygon with the provided pen.
The source image processing context.
The options.
The pen.
The paths.
The to allow chaining of operations.
Draws the outline of the polygon with the provided pen.
The source image processing context.
The pen.
The paths.
The to allow chaining of operations.
Draws the outline of the polygon with the provided brush at the provided thickness.
The source image processing context.
The options.
The brush.
The thickness.
The shapes.
The to allow chaining of operations.
Draws the outline of the polygon with the provided brush at the provided thickness.
The source image processing context.
The brush.
The thickness.
The paths.
The to allow chaining of operations.
Draws the outline of the polygon with the provided brush at the provided thickness.
The source image processing context.
The options.
The color.
The thickness.
The paths.
The to allow chaining of operations.
Draws the outline of the polygon with the provided brush at the provided thickness.
The source image processing context.
The color.
The thickness.
The paths.
The to allow chaining of operations.
Adds extensions that allow the drawing of polygon outlines.
Draws the outline of the polygon with the provided pen.
The source image processing context.
The options.
The pen.
The path.
The to allow chaining of operations.
Draws the outline of the polygon with the provided pen.
The source image processing context.
The pen.
The path.
The to allow chaining of operations.
Draws the outline of the polygon with the provided brush at the provided thickness.
The source image processing context.
The options.
The brush.
The thickness.
The shape.
The to allow chaining of operations.
Draws the outline of the polygon with the provided brush at the provided thickness.
The source image processing context.
The brush.
The thickness.
The path.
The to allow chaining of operations.
Draws the outline of the polygon with the provided brush at the provided thickness.
The source image processing context.
The options.
The color.
The thickness.
The path.
The to allow chaining of operations.
Draws the outline of the polygon with the provided brush at the provided thickness.
The source image processing context.
The color.
The thickness.
The path.
The to allow chaining of operations.
Adds extensions that allow the drawing of closed linear polygons.
Draws the provided points as a closed linear polygon with the provided pen.
The source image processing context.
The pen.
The points.
The to allow chaining of operations.
Draws the provided points as a closed linear polygon with the provided pen.
The source image processing context.
The options.
The pen.
The points.
The to allow chaining of operations.
Draws the provided points as a closed linear polygon with the provided brush at the provided thickness.
The source image processing context.
The options.
The brush.
The thickness.
The points.
The to allow chaining of operations.
Draws the provided points as a closed linear polygon with the provided brush at the provided thickness.
The source image processing context.
The brush.
The thickness.
The points.
The to allow chaining of operations.
Draws the provided points as a closed linear polygon with the provided brush at the provided thickness.
The source image processing context.
The color.
The thickness.
The points.
The to allow chaining of operations.
Draws the provided points as a closed linear polygon with the provided brush at the provided thickness.
The source image processing context.
The options.
The color.
The thickness.
The points.
The to allow chaining of operations.
Adds extensions that allow the drawing of rectangles.
Draws the outline of the rectangle with the provided pen.
The source image processing context.
The options.
The pen.
The shape.
The to allow chaining of operations.
Draws the outline of the rectangle with the provided pen.
The source image processing context.
The pen.
The shape.
The to allow chaining of operations.
Draws the outline of the rectangle with the provided brush at the provided thickness.
The source image processing context.
The options.
The brush.
The thickness.
The shape.
The to allow chaining of operations.
Draws the outline of the rectangle with the provided brush at the provided thickness.
The source image processing context.
The brush.
The thickness.
The shape.
The to allow chaining of operations.
Draws the outline of the rectangle with the provided brush at the provided thickness.
The source image processing context.
The options.
The color.
The thickness.
The shape.
The to allow chaining of operations.
Draws the outline of the rectangle with the provided brush at the provided thickness.
The source image processing context.
The color.
The thickness.
The shape.
The to allow chaining of operations.
Adds extensions that allow the drawing of text.
Draws the text onto the image filled with the given color.
The source image processing context.
The text to draw.
The font.
The color.
The location.
The to allow chaining of operations.
Draws the text using the supplied drawing options onto the image filled with the given color.
The source image processing context.
The drawing options.
The text to draw.
The font.
The color.
The location.
The to allow chaining of operations.
Draws the text using the supplied text options onto the image filled via the brush.
The source image processing context.
The text rendering options.
The text to draw.
The color.
The to allow chaining of operations.
Draws the text onto the image filled via the brush.
The source image processing context.
The text to draw.
The font.
The brush used to fill the text.
The location.
The to allow chaining of operations.
Draws the text onto the image outlined via the pen.
The source image processing context.
The text to draw.
The font.
The pen used to outline the text.
The location.
The to allow chaining of operations.
Draws the text onto the image filled via the brush then outlined via the pen.
The source image processing context.
The text to draw.
The font.
The brush used to fill the text.
The pen used to outline the text.
The location.
The to allow chaining of operations.
Draws the text using the given options onto the image filled via the brush.
The source image processing context.
The text rendering options.
The text to draw.
The brush used to fill the text.
The to allow chaining of operations.
Draws the text using the given options onto the image outlined via the pen.
The source image processing context.
The text rendering options.
The text to draw.
The pen used to outline the text.
The to allow chaining of operations.
Draws the text using the given options onto the image filled via the brush then outlined via the pen.
The source image processing context.
The text rendering options.
The text to draw.
The brush used to fill the text.
The pen used to outline the text.
The to allow chaining of operations.
Draws the text onto the image outlined via the pen.
The source image processing context.
The drawing options.
The text to draw.
The font.
The pen used to outline the text.
The location.
The to allow chaining of operations.
Draws the text onto the image filled via the brush.
The source image processing context.
The drawing options.
The text to draw.
The font.
The brush used to fill the text.
The location.
The to allow chaining of operations.
Draws the text using the given drawing options onto the image filled via the brush then outlined via the pen.
The source image processing context.
The drawing options.
The text to draw.
The font.
The brush used to fill the text.
The pen used to outline the text.
The location.
The to allow chaining of operations.
Draws the text using the given options onto the image filled via the brush then outlined via the pen.
The source image processing context.
The drawing options.
The text rendering options.
The text to draw.
The brush used to fill the text.
The pen used to outline the text.
The to allow chaining of operations.
Adds extensions that allow the flood filling of images.
Flood fills the image with the specified color.
The source image processing context.
The color.
The to allow chaining of operations.
Flood fills the image with the specified color.
The source image processing context.
The drawing options.
The color.
The to allow chaining of operations.
Flood fills the image with the specified brush.
The source image processing context.
The brush.
The to allow chaining of operations.
Flood fills the image with the specified brush.
The source image processing context.
The drawing options.
The brush.
The to allow chaining of operations.
Adds extensions that allow the flood filling of polygon outlines.
Flood fills the image within the provided region defined by an method
using the specified color.
The source image processing context.
The color.
The method defining the region to fill.
The to allow chaining of operations.
Flood fills the image within the provided region defined by an method
using the specified color.
The source image processing context.
The drawing options.
The color.
The method defining the region to fill.
The to allow chaining of operations.
Flood fills the image within the provided region defined by an method
using the specified brush.
The source image processing context.
The brush.
The method defining the region to fill.
The to allow chaining of operations.
Flood fills the image within the provided region defined by an method
using the specified brush.
The source image processing context.
The graphics options.
The brush.
The method defining the region to fill.
The to allow chaining of operations.
Adds extensions that allow the filling of collections of polygon outlines.
Flood fills the image in the shape of the provided polygon with the specified brush.
The source image processing context.
The graphics options.
The brush.
The shapes.
The to allow chaining of operations.
Flood fills the image in the shape of the provided polygon with the specified brush.
The source image processing context.
The brush.
The paths.
The to allow chaining of operations.
Flood fills the image in the shape of the provided polygon with the specified brush.
The source image processing context.
The options.
The color.
The paths.
The to allow chaining of operations.
Flood fills the image in the shape of the provided polygon with the specified brush.
The source image processing context.
The color.
The paths.
The to allow chaining of operations.
Adds extensions that allow the filling of polygon outlines.
Flood fills the image in the shape of the provided polygon with the specified brush.
The source image processing context.
The color.
The logic path.
The to allow chaining of operations.
Flood fills the image in the shape of the provided polygon with the specified brush.
The source image processing context.
The drawing options.
The color.
The logic path.
The to allow chaining of operations.
Flood fills the image in the shape of the provided polygon with the specified brush.
The source image processing context.
The brush.
The logic path.
The to allow chaining of operations.
Flood fills the image in the shape of the provided polygon with the specified brush.
The source image processing context.
The drawing options.
The brush.
The shape.
The to allow chaining of operations.
Adds extensions that allow the filling of closed linear polygons.
Flood fills the image in the shape of a linear polygon described by the points
The source image processing context.
The options.
The brush.
The points.
The to allow chaining of operations.
Flood fills the image in the shape of a linear polygon described by the points
The source image processing context.
The brush.
The points.
The to allow chaining of operations.
Flood fills the image in the shape of a linear polygon described by the points
The source image processing context.
The options.
The color.
The points.
The to allow chaining of operations.
Flood fills the image in the shape of a linear polygon described by the points
The source image processing context.
The color.
The points.
The to allow chaining of operations.
Adds extensions that allow the filling of rectangles.
Flood fills the image in the shape of the provided rectangle with the specified brush.
The source image processing context.
The options.
The brush.
The shape.
The to allow chaining of operations.
Flood fills the image in the shape of the provided rectangle with the specified brush.
The source image processing context.
The brush.
The shape.
The to allow chaining of operations.
Flood fills the image in the shape of the provided rectangle with the specified brush.
The source image processing context.
The options.
The color.
The shape.
The to allow chaining of operations.
Flood fills the image in the shape of the provided rectangle with the specified brush.
The source image processing context.
The color.
The shape.
The to allow chaining of operations.
Base class for Gradient brushes
Defines how the colors are repeated beyond the interval [0..1]
The gradient colors.
Gets how the colors are repeated beyond the interval [0..1].
Gets the list of color stops for this gradient.
Base class for gradient brush applicators
The pixel format.
Initializes a new instance of the class.
The configuration instance to use when performing operations.
The graphics options.
The target image.
An array of color stops sorted by their position.
Defines if and how the gradient should be repeated.
Calculates the position on the gradient for a given point.
This method is abstract as it's content depends on the shape of the gradient.
The x-coordinate of the point.
The y-coordinate of the point.
The position the given point has on the gradient.
The position is not bound to the [0..1] interval.
Values outside of that interval may be treated differently,
e.g. for the enum.
Modes to repeat a gradient.
Don't repeat, keep the color of start and end beyond those points stable.
Repeat the gradient.
If it's a black-white gradient, with Repeat it will be Black->{gray}->White|Black->{gray}->White|...
Reflect the gradient.
Similar to , but each other repetition uses inverse order of s.
Used on a Black-White gradient, Reflect leads to Black->{gray}->White->{gray}->White...
With DontFill a gradient does not touch any pixel beyond it's borders.
For the this is beyond the orthogonal through start and end,
For and it's beyond 1.0.
Provides an implementation of an image brush for painting images within areas.
The image to paint.
The region of the source image we will be using to paint.
Initializes a new instance of the class.
The image.
Initializes a new instance of the class.
The image.
The region of interest.
This overrides any region used to initialize the brush applicator.
The image brush applicator.
The pixel format.
The region of the source image we will be using to draw from.
The Y offset.
The X offset.
Initializes a new instance of the class.
The configuration instance to use when performing operations.
The graphics options.
The target image.
The image.
The region of the target image we will be drawing to.
The region of the source image we will be using to source pixels to draw from.
Whether to dispose the image on disposal of the applicator.
Provides an implementation of a brush for painting linear gradients within areas.
Supported right now:
- a set of colors in relative distances to each other.
Initializes a new instance of the class.
Start point
End point
defines how colors are repeated.
The linear gradient brush applicator.
The pixel format.
the vector along the gradient, x component
the vector along the gradient, y component
the vector perpendicular to the gradient, y component
the vector perpendicular to the gradient, x component
the result of ^2 + ^2
the length of the defined gradient (between source and end)
Initializes a new instance of the class.
The configuration instance to use when performing operations.
The graphics options.
The source image.
The start point of the gradient.
The end point of the gradient.
A tuple list of colors and their respective position between 0 and 1 on the line.
Defines how the gradient colors are repeated.
Provides an implementation of a brush for painting gradients between multiple color positions in 2D coordinates.
Initializes a new instance of the class.
Points that constitute a polygon that represents the gradient area.
Array of colors that correspond to each point in the polygon.
Initializes a new instance of the class.
Points that constitute a polygon that represents the gradient area.
Array of colors that correspond to each point in the polygon.
Color at the center of the gradient area to which the other colors converge.
An edge of the polygon that represents the gradient area.
The path gradient brush applicator.
The pixel format.
Initializes a new instance of the class.
The configuration instance to use when performing operations.
The graphics options.
The source image.
Edges of the polygon.
Color at the center of the gradient area to which the other colors converge.
Whether the center color is different from a smooth gradient between the edges.
Provides an implementation of a pattern brush for painting patterns.
The patterns that are used to create a custom pattern brush are made up of a repeating matrix of flags,
where each flag denotes whether to draw the foreground color or the background color.
so to create a new bool[,] with your flags
For example if you wanted to create a diagonal line that repeat every 4 pixels you would use a pattern like so
1000
0100
0010
0001
or you want a horizontal stripe which is 3 pixels apart you would use a pattern like
1
0
0
The pattern.
Initializes a new instance of the class.
Color of the fore.
Color of the back.
The pattern.
Initializes a new instance of the class.
Color of the fore.
Color of the back.
The pattern.
Initializes a new instance of the class.
The brush.
The pattern brush applicator.
The pixel format.
Initializes a new instance of the class.
The configuration instance to use when performing operations.
The graphics options.
The source image.
The pattern.
Defines a pen that can apply a pattern to a line with a set brush and thickness
The pattern will be in to the form of
new float[]{ 1f, 2f, 0.5f}
this will be converted into a pattern that is 3.5 times longer that the width with 3 sections.
- Section 1 will be width long (making a square) and will be filled by the brush.
- Section 2 will be width * 2 long and will be empty.
- Section 3 will be width/2 long and will be filled.
The pattern will immediately repeat without gap.
Initializes a new instance of the class.
The color.
The stroke pattern.
Initializes a new instance of the class.
The color.
The stroke width in px units.
The stroke pattern.
Initializes a new instance of the class.
The brush used to fill the stroke outline.
The stroke width in px units.
The stroke pattern.
Initializes a new instance of the class.
The pen options.
The base class for pens that can apply a pattern to a line with a set brush and thickness
The pattern will be in to the form of
new float[]{ 1f, 2f, 0.5f}
this will be converted into a pattern that is 3.5 times longer that the width with 3 sections.
- Section 1 will be width long (making a square) and will be filled by the brush.
- Section 2 will be width * 2 long and will be empty.
- Section 3 will be width/2 long and will be filled.
The pattern will immediately repeat without gap.
Initializes a new instance of the class.
The brush used to fill the stroke outline.
Initializes a new instance of the class.
The brush used to fill the stroke outline.
The stroke width in px units.
Initializes a new instance of the class.
The brush used to fill the stroke outline.
The stroke width in px units.
The stroke pattern.
Initializes a new instance of the class.
The pen options.
Applies the styling from the pen to a path and generate a new path with the final vector.
The source path
The with the pen styling applied.
Applies the styling from the pen to a path and generate a new path with the final vector.
The source path
The stroke width in px units.
The with the pen styling applied.
Provides a set of configurations options for pens.
Initializes a new instance of the struct.
The stroke width in px units.
Initializes a new instance of the struct.
The color.
The stroke width in px units.
Initializes a new instance of the struct.
The color.
The stroke width in px units.
The stroke pattern.
Initializes a new instance of the struct.
The brush used to fill the stroke outline.
The stroke width in px units.
The stroke pattern.
Gets the brush used to fill the stroke outline. Defaults to .
Gets the stroke width in px units. Defaults to 1px.
Gets the stroke pattern.
Gets or sets the joint style.
Gets or sets the end cap style.
Contains a collection of common pen styles.
Create a solid pen without any drawing patterns
The color.
The .
Create a solid pen without any drawing patterns
The brush.
The .
Create a solid pen without any drawing patterns
The color.
The width.
The .
Create a solid pen without any drawing patterns
The brush.
The width.
The .
Create a pen with a 'Dash' drawing patterns
The color.
The width.
The .
Create a pen with a 'Dash' drawing patterns
The brush.
The width.
The .
Create a pen with a 'Dot' drawing patterns
The color.
The width.
The .
Create a pen with a 'Dot' drawing patterns
The brush.
The width.
The .
Create a pen with a 'Dash Dot' drawing patterns
The color.
The width.
The .
Create a pen with a 'Dash Dot' drawing patterns
The brush.
The width.
The .
Create a pen with a 'Dash Dot Dot' drawing patterns
The color.
The width.
The .
Create a pen with a 'Dash Dot Dot' drawing patterns
The brush.
The width.
The .
Allows the recursive application of processing operations against an image within a given region.
Initializes a new instance of the class.
The drawing options.
The defining the region to operate within.
The operation to perform on the source.
Gets the drawing options.
Gets the defining the region to operate within.
Gets the operation to perform on the source.
The main workhorse class. This has access to the pixel buffer but
in an abstract/generic way.
The type of pixel.
Defines a processor to fill pixels withing a given
with the given and blending defined by the given .
Initializes a new instance of the class.
The graphics options.
The details how to outline the region of interest.
The path to be filled.
Gets the used for filling the destination image.
Gets the path that this processor applies to.
Gets the defining how to blend the brush pixels over the image pixels.
Defines a processor to fill pixels withing a given
with the given and blending defined by the given .
Minimum subpixel count for rasterization, being applied even if antialiasing is off.
Initializes a new instance of the class.
The graphics options.
The details how to fill the region of interest.
The logic path to be filled.
Gets the used for filling the destination image.
Gets the logic path that this processor applies to.
Gets the defining how to blend the brush pixels over the image pixels.
Uses a brush and a shape to fill the shape with contents of the brush.
The type of the color.
Defines a processor to fill an with the given
using blending defined by the given .
Initializes a new instance of the class.
The defining how to blend the brush pixels over the image pixels.
The brush to use for filling.
Gets the used for filling the destination image.
Gets the defining how to blend the brush pixels over the image pixels.
Using the brush as a source of pixels colors blends the brush color with source.
The pixel format.
Defines a processor to draw text on an .
Initializes a new instance of the class.
The drawing options.
The text rendering options.
The text we want to render
The brush to source pixel colors from.
The pen to outline text with.
Gets the brush used to fill the glyphs.
Gets the defining blending modes and shape drawing settings.
Gets the defining text-specific drawing settings.
Gets the text to draw.
Gets the pen used for outlining the text, if Null then we will not outline
Gets the location to draw the text at.
Using the brush as a source of pixels colors blends the brush color with source.
The pixel format.
Allows the rendering of rich text configured via .
A radial gradient brush, defined by center point and radius.
The center of the circular gradient and 0 for the color stops.
The radius of the circular gradient and 1 for the color stops.
Defines how the colors in the gradient are repeated.
the color stops as defined in base class.
Initializes a new instance of the class.
The configuration instance to use when performing operations.
The graphics options.
The target image.
Center point of the gradient.
Radius of the gradient.
Definition of colors.
How the colors are repeated beyond the first gradient.
As this is a circular gradient, the position on the gradient is based on
the distance of the point to the center.
The x-coordinate of the target pixel.
The y-coordinate of the target pixel.
the position on the color gradient.
Provides an implementation of a brush that can recolor an image
Initializes a new instance of the class.
Color of the source.
Color of the target.
The threshold as a value between 0 and 1.
Gets the threshold.
Gets the source color.
Gets the target color.
The recolor brush applicator.
The pixel format.
Initializes a new instance of the class.
The configuration instance to use when performing operations.
The options
The source image.
Color of the source.
Color of the target.
The threshold .
Provides configuration options for rendering and shaping of rich text.
Initializes a new instance of the class.
The font.
Initializes a new instance of the class from properties
copied from the given instance.
The options whose properties are copied into this instance.
Gets or sets an optional collection of text runs to apply to the body of text.
Gets or sets an optional path to draw the text along.
When this property is not the
property is automatically applied as a translation to a copy of the path for processing.
Represents a run of drawable text spanning a series of graphemes within a string.
Gets or sets the brush used for filling this run.
Gets or sets the pen used for outlining this run.
Gets or sets the pen used for drawing strikeout features for this run.
Gets or sets the pen used for drawing underline features for this run.
Gets or sets the pen used for drawing overline features for this run.
Adds extensions that allow the configuration of .
Sets the default shape processing options against The source image processing context.
The image processing context to store default against.
The action to update instance of the default options used.
The passed in to allow chaining.
Sets the default shape processing options against the configuration.
The configuration to store default against.
The default options to use.
Sets the default shape processing options against The source image processing context.
The image processing context to store default against.
The default options to use.
The passed in to allow chaining.
Sets the default shape processing options against the configuration.
The configuration to store default against.
The default options to use.
Gets the default shape processing options against The source image processing context.
The image processing context to retrieve defaults from.
The globally configured default options.
Gets the default shape processing options against The source image processing context.
The configuration to retrieve defaults from.
The globally configured default options.
Options for influencing the drawing functions.
Initializes a new instance of the class.
Gets or sets the clipping operation.
Defaults to .
Gets or sets the rule for calculating intersection points.
Defaults to .
Provides an implementation of a solid brush for painting solid color areas.
Initializes a new instance of the class.
The color.
Gets the color.
The solid brush applicator.
The pixel format.
Initializes a new instance of the class.
The configuration instance to use when performing operations.
The graphics options.
The source image.
The color.
Defines a pen that can apply a pattern to a line with a set brush and thickness.
Initializes a new instance of the class.
The color.
Initializes a new instance of the class.
The color.
The width.
Initializes a new instance of the class.
The brush used to fill the stroke outline.
Initializes a new instance of the class.
The brush used to fill the stroke outline.
The stroke width in px units.
Initializes a new instance of the class.
The pen options.
Represents a line segment that contains radii and angles that will be rendered as a elliptical arc.
Initializes a new instance of the class.
The absolute coordinates of the current point on the path.
The absolute coordinates of the final point of the arc.
The radii of the ellipse (also known as its semi-major and semi-minor axes).
The angle, in degrees, from the x-axis of the current coordinate system to the x-axis of the ellipse.
The large arc flag, and is if an arc spanning less than or equal to 180 degrees
is chosen, or if an arc spanning greater than 180 degrees is chosen.
The sweep flag, and is if the line joining center to arc sweeps through decreasing
angles, or if it sweeps through increasing angles.
Initializes a new instance of the class.
The coordinates of the center of the ellipse.
The radii of the ellipse (also known as its semi-major and semi-minor axes).
The angle, in degrees, from the x-axis of the current coordinate system to the x-axis of the ellipse.
The start angle of the elliptical arc prior to the stretch and rotate operations.
(0 is at the 3 o'clock position of the arc's circle).
The angle between and the end of the arc.
Transforms the current using specified matrix.
The transformation matrix.
An with the matrix applied to it.
Provides extension methods to that allow the clipping of shapes.
Clips the specified subject path with the provided clipping paths.
The subject path.
The clipping paths.
The clipped .
Thrown when an error occurred while attempting to clip the polygon.
Clips the specified subject path with the provided clipping paths.
The subject path.
The shape options.
The clipping paths.
The clipped .
Thrown when an error occurred while attempting to clip the polygon.
Clips the specified subject path with the provided clipping paths.
The subject path.
The clipping paths.
The clipped .
Thrown when an error occurred while attempting to clip the polygon.
Clips the specified subject path with the provided clipping paths.
The subject path.
The shape options.
The clipping paths.
The clipped .
Thrown when an error occurred while attempting to clip the polygon.
Provides options for boolean clipping operations.
All clipping operations except for Difference are commutative.
No clipping is performed.
Clips regions covered by both subject and clip polygons.
Clips regions covered by subject or clip polygons, or both polygons.
Clips regions covered by subject, but not clip polygons.
Clips regions covered by subject or clip polygons, but not both.
Represents a complex polygon made up of one or more shapes overlayed on each other,
where overlaps causes holes.
Initializes a new instance of the class.
The contour path.
The hole path.
Initializes a new instance of the class.
The paths.
Initializes a new instance of the class.
The paths.
Gets the collection of paths that make up this shape.
Represents a line segment that contains a lists of control points that will be rendered as a cubic bezier curve
The line points.
Initializes a new instance of the class.
The points.
Initializes a new instance of the class.
The start.
The control point1.
The control point2.
The end.
The additional points.
Gets the control points.
Transforms the current LineSegment using specified matrix.
The matrix.
A line segment with the matrix applied to it.
Calculates the bezier point along the line.
The position within the line.
The p 0.
The p 1.
The p 2.
The p 3.
The .
An elliptical shape made up of a single path made up of one of more s.
Initializes a new instance of the class.
The location the center of the ellipse will be placed.
The width/height of the final ellipse.
Initializes a new instance of the class.
The location the center of the circle will be placed.
The radius final circle.
Initializes a new instance of the class.
The x-coordinate of the center of the ellipse.
The y-coordinate of the center of the ellipse.
The width the ellipse should have.
The height the ellipse should have.
Initializes a new instance of the class.
The x-coordinate of the center of the circle.
The y-coordinate of the center of the circle.
The radius final circle.
A path that is always empty.
Gets the closed path instance of the empty path
Gets the open path instance of the empty path
The style to apply to the end cap when generating an outline.
The outline stops exactly at the end of the path.
The outline extends with a rounded style passed the end of the path.
The outlines ends squared off passed the end of the path.
The outline is treated as a polygon.
The outlines ends are joined and the path treated as a polyline
Extensions on arrays.
Merges the specified source2.
the type of the array
The source1.
The source2.
the Merged arrays
Implements some basic algorithms on raw data structures.
Polygons are represented with a span of points,
where first point should be repeated at the end.
Positive orientation means Clockwise in world coordinates (positive direction goes UP on paper).
Since the Drawing library deals mostly with Screen coordinates where this is opposite,
we use different terminology here to avoid confusion.
Positive: CCW in world coords (CW on screen)
Negative: CW in world coords (CCW on screen)
Zero: area is 0
Positive: CCW in world coords (CW on screen)
Negative: CW in world coords (CCW on screen)
Library to clip polygons.
Initializes a new instance of the class.
Generates the clipped shapes from the previously provided paths.
The clipping operation.
The intersection rule.
The .
Adds the shapes.
The paths.
The clipping type.
Adds the path.
The path.
The clipping type.
Adds the path.
The path.
Type of the poly.
The exception that is thrown when an error occurs clipping a polygon.
Initializes a new instance of the class.
Initializes a new instance of the class.
The message that describes the error.
Initializes a new instance of the class with a specified error message and a
reference to the inner exception that is the cause of this exception.
The error message that explains the reason for the exception.
The exception that is the cause of the current exception, or a
reference if no inner exception is specified.
Wrapper for clipper offset
Initializes a new instance of the class.
meter limit
arc tolerance
Calculates an offset polygon based on the given path and width.
Width
path offset
Adds the path points
The path points
Joint Style
Endcap Style
Adds the path.
The path.
Joint Style
Endcap Style
Adds the path.
The path.
Joint Style
Endcap Style
Defines the polygon clipping type.
Represents a shape to act as a subject which will be clipped or merged.
Represents a shape to act as a clipped path.
By far the most widely used filling rules for polygons are EvenOdd
and NonZero, sometimes called Alternate and Winding respectively.
TODO: This overlaps with the enum.
We should see if we can enhance the to support all these rules.
Contains functions that cover most polygon boolean and offsetting needs.
Ported from and originally licensed
under
Contains functions to offset paths (inflate/shrink).
Ported from and originally licensed
under
The list of active edges as an index buffer into .
Holds coordinates, and coefficients for a polygon edge to be horizontally scanned.
The edge's segment is defined with the reciprocal slope form:
x = p * y + q
Compact representation of a multipolygon.
Applies some rules which are optimal to implement geometric algorithms:
- Outer contour is oriented "Positive" (CCW in world coords, CW on screen)
- Holes are oriented "Negative" (CW in world, CCW on screen)
- First vertex is always repeated at the end of the span in each ring
Extensions on arrays.
Merges the specified source2.
The source1.
The source2.
The threshold.
the Merged arrays
Merges the specified source2.
The source1.
The source2.
The threshold.
the Merged arrays
An internal interface for shapes which are backed by
so we can have a fast path tessellating them.
Returns the rings as a readonly collection of elements.
The .
Represents a simple path segment
Gets the end point.
The end point.
Converts the into a simple linear path..
Returns the current as simple linear path.
Transforms the current LineSegment using specified matrix.
The matrix.
A line segment with the matrix applied to it.
Internal logic for integrating linear paths.
The epsilon for float comparison
The maximum vector
The points.
The closed path.
Initializes a new instance of the class.
The segments.
if set to true [is closed path].
Whether to remove close and collinear vertices
Initializes a new instance of the class.
The segment.
if set to true [is closed path].
Initializes a new instance of the class.
The points.
if set to true [is closed path].
Initializes a new instance of the class.
The points.
if set to true [is closed path].
Gets the bounds.
The bounds.
Gets the length.
The length.
Gets the length.
Gets the points.
The
Calculates the point a certain distance a path.
The distance along the path to find details of.
Returns details about a point along a path.
Thrown if no points found.
Simplifies the collection of segments.
The segments.
Weather the path is closed or open.
Whether to remove close and collinear vertices
The .
Provides options for calculating intersection points.
Only odd numbered sub-regions are filled.
Only non-zero sub-regions are filled.
Represents a logic path that can be drawn.
Gets a value indicating whether this instance is closed, open or a composite path with a mixture of open and closed figures.
Gets the bounds enclosing the path.
Converts the into a simple linear path.
Returns the current as simple linear path.
Transforms the path using the specified matrix.
The matrix.
A new path with the matrix applied to it.
Returns this path with all figures closed.
A new close .
Represents a logic path that can be drawn
Gets the bounds enclosing the path
Transforms the path using the specified matrix.
The matrix.
A new path with the matrix applied to it.
An interface for internal operations we don't want to expose on .
Returns information about a point at a given distance along a path.
The distance along the path to return details for.
The segment information.
Represents a simple (non-composite) path defined by a series of points.
Gets a value indicating whether this instance is a closed path.
Gets the points that make this up as a simple linear path.
The style to apply to the joints when generating an outline.
Joints are squared off 1 width distance from the corner.
Rounded joints. Joints generate with a rounded profile.
Joints will generate to a long point unless the end of the point will exceed 20 times the width then we generate the joint using .
Represents a series of control points that will be joined by straight lines
The collection of points.
Initializes a new instance of the class.
The start.
The end.
Initializes a new instance of the class.
The point1.
The point2.
Additional points
Initializes a new instance of the class.
The points.
Gets the end point.
The end point.
Converts the into a simple linear path..
Returns the current as simple linear path.
Transforms the current LineSegment using specified matrix.
The matrix.
A line segment with the matrix applied to it.
Transforms the current LineSegment using specified matrix.
The matrix.
A line segment with the matrix applied to it.
Extensions to that allow the generation of outlines.
Generates an outline of the path.
The path to outline
The outline width.
A new representing the outline.
Thrown when an offset cannot be calculated.
Generates an outline of the path.
The path to outline
The outline width.
The style to apply to the joints.
The style to apply to the end caps.
A new representing the outline.
Thrown when an offset cannot be calculated.
Generates an outline of the path with alternating on and off segments based on the pattern.
The path to outline
The outline width.
The pattern made of multiples of the width.
A new representing the outline.
Thrown when an offset cannot be calculated.
Generates an outline of the path with alternating on and off segments based on the pattern.
The path to outline
The outline width.
The pattern made of multiples of the width.
Whether the first item in the pattern is on or off.
A new representing the outline.
Thrown when an offset cannot be calculated.
Generates an outline of the path with alternating on and off segments based on the pattern.
The path to outline
The outline width.
The pattern made of multiples of the width.
The style to apply to the joints.
The style to apply to the end caps.
A new representing the outline.
Thrown when an offset cannot be calculated.
Generates an outline of the path with alternating on and off segments based on the pattern.
The path to outline
The outline width.
The pattern made of multiples of the width.
Whether the first item in the pattern is on or off.
The style to apply to the joints.
The style to apply to the end caps.
A new representing the outline.
Thrown when an offset cannot be calculated.
A aggregate of s making a single logical path.
Initializes a new instance of the class.
The collection of points; processed as a series of linear line segments.
Initializes a new instance of the class.
The segments.
Initializes a new instance of the class.
The path.
Initializes a new instance of the class.
The segments.
Gets the default empty path.
Gets the maximum number intersections that a shape can have when testing a line.
Gets readonly collection of line segments.
Gets or sets a value indicating whether close or collinear vertices should be removed. TEST ONLY!
Converts an SVG path string into an .
The string containing the SVG path data.
When this method returns, contains the logic path converted from the given SVG path string; otherwise, .
This parameter is passed uninitialized.
if the input value can be parsed and converted; otherwise, .
Converts an SVG path string into an .
The string containing the SVG path data.
When this method returns, contains the logic path converted from the given SVG path string; otherwise, .
This parameter is passed uninitialized.
if the input value can be parsed and converted; otherwise, .
Allow you to derivatively build shapes and paths.
Initializes a new instance of the class.
Initializes a new instance of the class.
The default transform.
Sets the translation to be applied to all items to follow being applied to the .
The transform.
The .
Sets the origin all subsequent point should be relative to.
The origin.
The .
Resets the transform to the default.
The .
Resets the origin to the default.
The .
Moves to current point to the supplied vector.
The point.
The .
Draws the line connecting the current the current point to the new point.
The point.
The .
Draws the line connecting the current the current point to the new point.
The x.
The y.
The
Adds the line connecting the current point to the new point.
The start.
The end.
The .
Adds the line connecting the current point to the new point.
The x1.
The y1.
The x2.
The y2.
The .
Adds a series of line segments connecting the current point to the new points.
The points.
The .
Adds a series of line segments connecting the current point to the new points.
The points.
The .
Adds the segment.
The segment.
The .
Draws a quadratic bezier from the current point to the
The second control point.
The point.
The .
Draws a quadratic bezier from the current point to the
The second control point.
The third control point.
The point.
The .
Adds a quadratic bezier curve to the current figure joining the point to the .
The start point.
The control point1.
The end point.
The .
Adds a cubic bezier curve to the current figure joining the point to the .
The start point.
The control point1.
The control point2.
The end point.
The .
Adds an elliptical arc to the current figure. The arc curves from the last point to ,
choosing one of four possible routes: clockwise or counterclockwise, and smaller or larger.
The arc sweep is always less than 360 degrees. The method appends a line
to the last point if either radii are zero, or if last point is equal to .
In addition the method scales the radii to fit last point and if both
are greater than zero but too small to describe an arc.
The x-radius of the ellipsis.
The y-radius of the ellipsis.
The rotation along the X-axis; measured in degrees clockwise.
The large arc flag, and is if an arc spanning less than or equal to 180 degrees
is chosen, or if an arc spanning greater than 180 degrees is chosen.
The sweep flag, and is if the line joining center to arc sweeps through decreasing
angles, or if it sweeps through increasing angles.
The end point of the arc.
The .
Adds an elliptical arc to the current figure. The arc curves from the to ,
choosing one of four possible routes: clockwise or counterclockwise, and smaller or larger.
The arc sweep is always less than 360 degrees. The method appends a line
to the last point if either radii are zero, or if last point is equal to .
In addition the method scales the radii to fit last point and if both
are greater than zero but too small to describe an arc.
The start point of the arc.
The x-radius of the ellipsis.
The y-radius of the ellipsis.
The rotation along the X-axis; measured in degrees clockwise.
The large arc flag, and is if an arc spanning less than or equal to 180 degrees
is chosen, or if an arc spanning greater than 180 degrees is chosen.
The sweep flag, and is if the line joining center to arc sweeps through decreasing
angles, or if it sweeps through increasing angles.
The end point of the arc.
The .
Adds an elliptical arc to the current figure.
A that represents the rectangular bounds of the ellipse from which the arc is taken.
The angle, in degrees, from the x-axis of the current coordinate system to the x-axis of the ellipse.
The start angle of the elliptical arc prior to the stretch and rotate operations. (0 is at the 3 o'clock position of the arc's circle).
The angle between and the end of the arc.
The .
Adds an elliptical arc to the current figure.
A that represents the rectangular bounds of the ellipse from which the arc is taken.
The angle, in degrees, from the x-axis of the current coordinate system to the x-axis of the ellipse.
The start angle of the elliptical arc prior to the stretch and rotate operations. (0 is at the 3 o'clock position of the arc's circle).
The angle between and the end of the arc.
The .
Adds an elliptical arc to the current figure.
The center of the ellipse from which the arc is taken.
The x-radius of the ellipsis.
The y-radius of the ellipsis.
The angle, in degrees, from the x-axis of the current coordinate system to the x-axis of the ellipse.
The start angle of the elliptical arc prior to the stretch and rotate operations. (0 is at the 3 o'clock position of the arc's circle).
The angle between and the end of the arc.
The .
Adds an elliptical arc to the current figure.
The center of the ellipse from which the arc is taken.
The x-radius of the ellipsis.
The y-radius of the ellipsis.
The angle, in degrees, from the x-axis of the current coordinate system to the x-axis of the ellipse.
The start angle of the elliptical arc prior to the stretch and rotate operations. (0 is at the 3 o'clock position of the arc's circle).
The angle between and the end of the arc.
The .
Adds an elliptical arc to the current figure.
The x-coordinate of the center point of the ellipse from which the arc is taken.
The y-coordinate of the center point of the ellipse from which the arc is taken.
The x-radius of the ellipsis.
The y-radius of the ellipsis.
The angle, in degrees, from the x-axis of the current coordinate system to the x-axis of the ellipse.
The start angle of the elliptical arc prior to the stretch and rotate operations. (0 is at the 3 o'clock position of the arc's circle).
The angle between and the end of the arc.
The .
Adds an elliptical arc to the current figure.
The x-coordinate of the center point of the ellipse from which the arc is taken.
The y-coordinate of the center point of the ellipse from which the arc is taken.
The x-radius of the ellipsis.
The y-radius of the ellipsis.
The angle, in degrees, from the x-axis of the current coordinate system to the x-axis of the ellipse.
The start angle of the elliptical arc prior to the stretch and rotate operations. (0 is at the 3 o'clock position of the arc's circle).
The angle between and the end of the arc.
The .
Starts a new figure but leaves the previous one open.
The .
Closes the current figure.
The .
Closes the current figure.
The .
Builds a complex polygon from the current working set of working operations.
The current set of operations as a complex polygon
Resets this instance, clearing any drawn paths and resetting any transforms.
The .
Clears all drawn paths, Leaving any applied transforms.
A aggregate of s to apply common operations to them.
Initializes a new instance of the class.
The collection of paths
Initializes a new instance of the class.
The collection of paths
Convenience methods that can be applied to shapes and paths.
Convenience methods that can be applied to shapes and paths.
Creates a path rotated by the specified radians around its center.
The path to rotate.
The radians to rotate the path.
A with a rotate transform applied.
Creates a path rotated by the specified degrees around its center.
The path to rotate.
The degree to rotate the path.
A with a rotate transform applied.
Creates a path translated by the supplied position
The path to translate.
The translation position.
A with a translate transform applied.
Creates a path translated by the supplied position
The path to translate.
The amount to translate along the X axis.
The amount to translate along the Y axis.
A with a translate transform applied.
Creates a path translated by the supplied position
The path to translate.
The amount to scale along the X axis.
The amount to scale along the Y axis.
A with a translate transform applied.
Creates a path translated by the supplied position
The path to translate.
The amount to scale along both the x and y axis.
A with a translate transform applied.
Creates a path rotated by the specified radians around its center.
The path to rotate.
The radians to rotate the path.
A with a rotate transform applied.
Creates a path rotated by the specified degrees around its center.
The path to rotate.
The degree to rotate the path.
A with a rotate transform applied.
Creates a path translated by the supplied position
The path to translate.
The translation position.
A with a translate transform applied.
Creates a path translated by the supplied position
The path to translate.
The amount to translate along the X axis.
The amount to translate along the Y axis.
A with a translate transform applied.
Creates a path translated by the supplied position
The path to translate.
The amount to scale along the X axis.
The amount to scale along the Y axis.
A with a translate transform applied.
Creates a path translated by the supplied position
The path to translate.
The amount to scale along both the x and y axis.
A with a translate transform applied.
Calculates the approximate length of the path as though each segment were unrolled into a line.
The path to compute the length for.
The representing the unrolled length.
For closed paths, the length includes an implicit closing segment.
Create a path with the segment order reversed.
The path to reverse.
The reversed .
Describes the different type of paths.
Denotes a path containing a single simple open path
Denotes a path describing a single simple closed shape
Denotes a path containing one or more child paths that could be open or closed.
Represents the orientation of a point from a line.
The point is collinear.
The point is clockwise.
The point is counter-clockwise.
A shape made up of a single closed path made up of one of more s
Initializes a new instance of the class.
The collection of points; processed as a series of linear line segments.
Initializes a new instance of the class.
The segments.
Initializes a new instance of the class.
The segments.
Initializes a new instance of the class.
The segment.
Initializes a new instance of the class.
The path.
A polygon tha allows the optimized drawing of rectangles.
Initializes a new instance of the class.
The horizontal position of the rectangle.
The vertical position of the rectangle.
The width of the rectangle.
The height of the rectangle.
Initializes a new instance of the class.
The which specifies the rectangles top/left point in a two-dimensional plane.
The which specifies the rectangles bottom/right point in a two-dimensional plane.
Initializes a new instance of the class.
The which specifies the rectangles point in a two-dimensional plane.
The which specifies the rectangles height and width.
Initializes a new instance of the class.
The rectangle.
Gets the location.
Gets the x-coordinate of the left edge.
Gets the x-coordinate.
Gets the x-coordinate of the right edge.
Gets the y-coordinate of the top edge.
Gets the y-coordinate.
Gets the y-coordinate of the bottom edge.
Gets the size.
Gets the width.
Gets the height.
Gets the center point.
Converts the polygon to a rectangular polygon from its bounds.
The polygon to convert.
A shape made up of a single path made up of one of more s
Initializes a new instance of the class.
The location the center of the polygon will be placed.
The number of vertices the should have.
The radius of the circle that would touch all vertices.
The angle of rotation in Radians
Initializes a new instance of the class.
The location the center of the polygon will be placed.
The number of vertices the should have.
The radius of the circle that would touch all vertices.
Initializes a new instance of the class.
The x-coordinate of the center of the polygon.
The y-coordinate of the center of the polygon.
The number of vertices the should have.
The radius of the circle that would touch all vertices.
The angle of rotation in Radians
Initializes a new instance of the class.
The x-coordinate of the center of the polygon.
The y-coordinate of the center of the polygon.
The number of vertices the should have.
The radius of the circle that would touch all vertices.
Returns metadata about the point along a path.
The point on the path
The angle of the segment. Measured in radians.
A shape made up of a single closed path made up of one of more s
Initializes a new instance of the class.
The location the center of the polygon will be placed.
The number of points the should have.
The inner radii.
The outer radii.
The angle of rotation in Radians
Initializes a new instance of the class.
The location the center of the polygon will be placed.
The number of vertices the should have.
The inner radii.
The outer radii.
Initializes a new instance of the class.
The x-coordinate of the center of the polygon.
The y-coordinate of the center of the polygon.
The number of vertices the should have.
The inner radii.
The outer radii.
The angle of rotation in Radians
Initializes a new instance of the class.
The x-coordinate of the center of the polygon.
The y-coordinate of the center of the polygon.
The number of vertices the should have.
The inner radii.
The outer radii.
Defines a rendering surface that Fonts can use to generate Shapes.
Initializes a new instance of the class.
Initializes a new instance of the class.
The default transform.
Gets the paths that have been rendered by the current instance.
Gets the path builder for the current instance.
Begins the figure.
Draws a cubic bezier from the current point to the
The second control point.
The third control point.
The point.
Ends the glyph.
Ends the figure.
Draws a line from the current point to the .
The point.
Moves to current point to the supplied vector.
The point.
Draws a quadratics bezier from the current point to the
The second control point.
The point.
Called before any glyphs have been rendered.
The bounds the text will be rendered at and at what size.
rendering surface that Fonts can use to generate Shapes.
Initializes a new instance of the class.
Initializes a new instance of the class.
The origin.
A rendering surface that Fonts can use to generate shapes by following a path.
Initializes a new instance of the class.
The path to render the glyphs along.
Provides mechanisms for building instances from text strings.
Generates the shapes corresponding the glyphs described by the text options.
The text to generate glyphs for.
The text rendering options.
The
Generates the shapes corresponding the glyphs described by the text options along the described path.
The text to generate glyphs for
The path to draw the text in relation to
The text rendering options.
The
Optimized quick sort implementation for Span{float} input
Sorts the elements of in ascending order
The items to sort
Sorts the elements of in ascending order
The items to sort on
The items to sort
Sorts the elements of in ascending order, and swapping items in and in sequance with them.
The items to sort on
The set of items to sort
The 2nd set of items to sort
Provides methods to protect against invalid parameters for a DEBUG build.
Ensures that the value is not null.
The target object, which cannot be null.
The name of the parameter that is to be checked.
The type of the value.
is null.
Ensures that the target value is not null, empty, or whitespace.
The target string, which should be checked against being null or empty.
Name of the parameter.
is null.
is empty or contains only blanks.
Ensures that the specified value is less than a maximum value.
The target value, which should be validated.
The maximum value.
The name of the parameter that is to be checked.
The type of the value.
is greater than the maximum value.
Verifies that the specified value is less than or equal to a maximum value
and throws an exception if it is not.
The target value, which should be validated.
The maximum value.
The name of the parameter that is to be checked.
The type of the value.
is greater than the maximum value.
Verifies that the specified value is greater than a minimum value
and throws an exception if it is not.
The target value, which should be validated.
The minimum value.
The name of the parameter that is to be checked.
The type of the value.
is less than the minimum value.
Verifies that the specified value is greater than or equal to a minimum value
and throws an exception if it is not.
The target value, which should be validated.
The minimum value.
The name of the parameter that is to be checked.
The type of the value.
is less than the minimum value.
Verifies that the specified value is greater than or equal to a minimum value and less than
or equal to a maximum value and throws an exception if it is not.
The target value, which should be validated.
The minimum value.
The maximum value.
The name of the parameter that is to be checked.
The type of the value.
is less than the minimum value of greater than the maximum value.
Verifies, that the method parameter with specified target value is true
and throws an exception if it is found to be so.
The target value, which cannot be false.
The name of the parameter that is to be checked.
The error message, if any to add to the exception.
is false.
Verifies, that the method parameter with specified target value is false
and throws an exception if it is found to be so.
The target value, which cannot be true.
The name of the parameter that is to be checked.
The error message, if any to add to the exception.
is true.
Verifies, that the `source` span has the length of 'minLength', or longer.
The element type of the spans.
The source span.
The minimum length.
The name of the parameter that is to be checked.
has less than items.
Verifies, that the `source` span has the length of 'minLength', or longer.
The element type of the spans.
The target span.
The minimum length.
The name of the parameter that is to be checked.
has less than items.
Verifies that the 'destination' span is not shorter than 'source'.
The source element type.
The destination element type.
The source span.
The destination span.
The name of the argument for 'destination'.
Verifies that the 'destination' span is not shorter than 'source'.
The source element type.
The destination element type.
The source span.
The destination span.
The name of the argument for 'destination'.
Provides methods to protect against invalid parameters.
Provides methods to protect against invalid parameters.
Ensures that the value is not null.
The target object, which cannot be null.
The name of the parameter that is to be checked.
The type of the value.
is null.
Ensures that the target value is not null, empty, or whitespace.
The target string, which should be checked against being null or empty.
Name of the parameter.
is null.
is empty or contains only blanks.
Ensures that the specified value is less than a maximum value.
The target value, which should be validated.
The maximum value.
The name of the parameter that is to be checked.
The type of the value.
is greater than the maximum value.
Verifies that the specified value is less than or equal to a maximum value
and throws an exception if it is not.
The target value, which should be validated.
The maximum value.
The name of the parameter that is to be checked.
The type of the value.
is greater than the maximum value.
Verifies that the specified value is greater than a minimum value
and throws an exception if it is not.
The target value, which should be validated.
The minimum value.
The name of the parameter that is to be checked.
The type of the value.
is less than the minimum value.
Verifies that the specified value is greater than or equal to a minimum value
and throws an exception if it is not.
The target value, which should be validated.
The minimum value.
The name of the parameter that is to be checked.
The type of the value.
is less than the minimum value.
Verifies that the specified value is greater than or equal to a minimum value and less than
or equal to a maximum value and throws an exception if it is not.
The target value, which should be validated.
The minimum value.
The maximum value.
The name of the parameter that is to be checked.
The type of the value.
is less than the minimum value of greater than the maximum value.
Verifies, that the method parameter with specified target value is true
and throws an exception if it is found to be so.
The target value, which cannot be false.
The name of the parameter that is to be checked.
The error message, if any to add to the exception.
is false.
Verifies, that the method parameter with specified target value is false
and throws an exception if it is found to be so.
The target value, which cannot be true.
The name of the parameter that is to be checked.
The error message, if any to add to the exception.
is true.
Verifies, that the `source` span has the length of 'minLength', or longer.
The element type of the spans.
The source span.
The minimum length.
The name of the parameter that is to be checked.
has less than items.
Verifies, that the `source` span has the length of 'minLength', or longer.
The element type of the spans.
The target span.
The minimum length.
The name of the parameter that is to be checked.
has less than items.
Verifies that the 'destination' span is not shorter than 'source'.
The source element type.
The destination element type.
The source span.
The destination span.
The name of the argument for 'destination'.
Verifies that the 'destination' span is not shorter than 'source'.
The source element type.
The destination element type.
The source span.
The destination span.
The name of the argument for 'destination'.
Ensures that the specified value is less than a maximum value.
The target value, which should be validated.
The maximum value.
The name of the parameter that is to be checked.
is greater than the maximum value.
Verifies that the specified value is less than or equal to a maximum value
and throws an exception if it is not.
The target value, which should be validated.
The maximum value.
The name of the parameter that is to be checked.
is greater than the maximum value.
Verifies that the specified value is greater than a minimum value
and throws an exception if it is not.
The target value, which should be validated.
The minimum value.
The name of the parameter that is to be checked.
is less than the minimum value.
Verifies that the specified value is greater than or equal to a minimum value
and throws an exception if it is not.
The target value, which should be validated.
The minimum value.
The name of the parameter that is to be checked.
is less than the minimum value.
Verifies that the specified value is greater than or equal to a minimum value and less than
or equal to a maximum value and throws an exception if it is not.
The target value, which should be validated.
The minimum value.
The maximum value.
The name of the parameter that is to be checked.
is less than the minimum value of greater than the maximum value.
Ensures that the specified value is less than a maximum value.
The target value, which should be validated.
The maximum value.
The name of the parameter that is to be checked.
is greater than the maximum value.
Verifies that the specified value is less than or equal to a maximum value
and throws an exception if it is not.
The target value, which should be validated.
The maximum value.
The name of the parameter that is to be checked.
is greater than the maximum value.
Verifies that the specified value is greater than a minimum value
and throws an exception if it is not.
The target value, which should be validated.
The minimum value.
The name of the parameter that is to be checked.
is less than the minimum value.
Verifies that the specified value is greater than or equal to a minimum value
and throws an exception if it is not.
The target value, which should be validated.
The minimum value.
The name of the parameter that is to be checked.
is less than the minimum value.
Verifies that the specified value is greater than or equal to a minimum value and less than
or equal to a maximum value and throws an exception if it is not.
The target value, which should be validated.
The minimum value.
The maximum value.
The name of the parameter that is to be checked.
is less than the minimum value of greater than the maximum value.
Ensures that the specified value is less than a maximum value.
The target value, which should be validated.
The maximum value.
The name of the parameter that is to be checked.
is greater than the maximum value.
Verifies that the specified value is less than or equal to a maximum value
and throws an exception if it is not.
The target value, which should be validated.
The maximum value.
The name of the parameter that is to be checked.
is greater than the maximum value.
Verifies that the specified value is greater than a minimum value
and throws an exception if it is not.
The target value, which should be validated.
The minimum value.
The name of the parameter that is to be checked.
is less than the minimum value.
Verifies that the specified value is greater than or equal to a minimum value
and throws an exception if it is not.
The target value, which should be validated.
The minimum value.
The name of the parameter that is to be checked.
is less than the minimum value.
Verifies that the specified value is greater than or equal to a minimum value and less than
or equal to a maximum value and throws an exception if it is not.
The target value, which should be validated.
The minimum value.
The maximum value.
The name of the parameter that is to be checked.
is less than the minimum value of greater than the maximum value.
Ensures that the specified value is less than a maximum value.
The target value, which should be validated.
The maximum value.
The name of the parameter that is to be checked.
is greater than the maximum value.
Verifies that the specified value is less than or equal to a maximum value
and throws an exception if it is not.
The target value, which should be validated.
The maximum value.
The name of the parameter that is to be checked.
is greater than the maximum value.
Verifies that the specified value is greater than a minimum value
and throws an exception if it is not.
The target value, which should be validated.
The minimum value.
The name of the parameter that is to be checked.
is less than the minimum value.
Verifies that the specified value is greater than or equal to a minimum value
and throws an exception if it is not.
The target value, which should be validated.
The minimum value.
The name of the parameter that is to be checked.
is less than the minimum value.
Verifies that the specified value is greater than or equal to a minimum value and less than
or equal to a maximum value and throws an exception if it is not.
The target value, which should be validated.
The minimum value.
The maximum value.
The name of the parameter that is to be checked.
is less than the minimum value of greater than the maximum value.
Ensures that the specified value is less than a maximum value.
The target value, which should be validated.
The maximum value.
The name of the parameter that is to be checked.
is greater than the maximum value.
Verifies that the specified value is less than or equal to a maximum value
and throws an exception if it is not.
The target value, which should be validated.
The maximum value.
The name of the parameter that is to be checked.
is greater than the maximum value.
Verifies that the specified value is greater than a minimum value
and throws an exception if it is not.
The target value, which should be validated.
The minimum value.
The name of the parameter that is to be checked.
is less than the minimum value.
Verifies that the specified value is greater than or equal to a minimum value
and throws an exception if it is not.
The target value, which should be validated.
The minimum value.
The name of the parameter that is to be checked.
is less than the minimum value.
Verifies that the specified value is greater than or equal to a minimum value and less than
or equal to a maximum value and throws an exception if it is not.
The target value, which should be validated.
The minimum value.
The maximum value.
The name of the parameter that is to be checked.
is less than the minimum value of greater than the maximum value.
Ensures that the specified value is less than a maximum value.
The target value, which should be validated.
The maximum value.
The name of the parameter that is to be checked.
is greater than the maximum value.
Verifies that the specified value is less than or equal to a maximum value
and throws an exception if it is not.
The target value, which should be validated.
The maximum value.
The name of the parameter that is to be checked.
is greater than the maximum value.
Verifies that the specified value is greater than a minimum value
and throws an exception if it is not.
The target value, which should be validated.
The minimum value.
The name of the parameter that is to be checked.
is less than the minimum value.
Verifies that the specified value is greater than or equal to a minimum value
and throws an exception if it is not.
The target value, which should be validated.
The minimum value.
The name of the parameter that is to be checked.
is less than the minimum value.
Verifies that the specified value is greater than or equal to a minimum value and less than
or equal to a maximum value and throws an exception if it is not.
The target value, which should be validated.
The minimum value.
The maximum value.
The name of the parameter that is to be checked.
is less than the minimum value of greater than the maximum value.
Ensures that the specified value is less than a maximum value.
The target value, which should be validated.
The maximum value.
The name of the parameter that is to be checked.
is greater than the maximum value.
Verifies that the specified value is less than or equal to a maximum value
and throws an exception if it is not.
The target value, which should be validated.
The maximum value.
The name of the parameter that is to be checked.
is greater than the maximum value.
Verifies that the specified value is greater than a minimum value
and throws an exception if it is not.
The target value, which should be validated.
The minimum value.
The name of the parameter that is to be checked.
is less than the minimum value.
Verifies that the specified value is greater than or equal to a minimum value
and throws an exception if it is not.
The target value, which should be validated.
The minimum value.
The name of the parameter that is to be checked.
is less than the minimum value.
Verifies that the specified value is greater than or equal to a minimum value and less than
or equal to a maximum value and throws an exception if it is not.
The target value, which should be validated.
The minimum value.
The maximum value.
The name of the parameter that is to be checked.
is less than the minimum value of greater than the maximum value.
Ensures that the specified value is less than a maximum value.
The target value, which should be validated.
The maximum value.
The name of the parameter that is to be checked.
is greater than the maximum value.
Verifies that the specified value is less than or equal to a maximum value
and throws an exception if it is not.
The target value, which should be validated.
The maximum value.
The name of the parameter that is to be checked.
is greater than the maximum value.
Verifies that the specified value is greater than a minimum value
and throws an exception if it is not.
The target value, which should be validated.
The minimum value.
The name of the parameter that is to be checked.
is less than the minimum value.
Verifies that the specified value is greater than or equal to a minimum value
and throws an exception if it is not.
The target value, which should be validated.
The minimum value.
The name of the parameter that is to be checked.
is less than the minimum value.
Verifies that the specified value is greater than or equal to a minimum value and less than
or equal to a maximum value and throws an exception if it is not.
The target value, which should be validated.
The minimum value.
The maximum value.
The name of the parameter that is to be checked.
is less than the minimum value of greater than the maximum value.
Ensures that the specified value is less than a maximum value.
The target value, which should be validated.
The maximum value.
The name of the parameter that is to be checked.
is greater than the maximum value.
Verifies that the specified value is less than or equal to a maximum value
and throws an exception if it is not.
The target value, which should be validated.
The maximum value.
The name of the parameter that is to be checked.
is greater than the maximum value.
Verifies that the specified value is greater than a minimum value
and throws an exception if it is not.
The target value, which should be validated.
The minimum value.
The name of the parameter that is to be checked.
is less than the minimum value.
Verifies that the specified value is greater than or equal to a minimum value
and throws an exception if it is not.
The target value, which should be validated.
The minimum value.
The name of the parameter that is to be checked.
is less than the minimum value.
Verifies that the specified value is greater than or equal to a minimum value and less than
or equal to a maximum value and throws an exception if it is not.
The target value, which should be validated.
The minimum value.
The maximum value.
The name of the parameter that is to be checked.
is less than the minimum value of greater than the maximum value.
Ensures that the specified value is less than a maximum value.
The target value, which should be validated.
The maximum value.
The name of the parameter that is to be checked.
is greater than the maximum value.
Verifies that the specified value is less than or equal to a maximum value
and throws an exception if it is not.
The target value, which should be validated.
The maximum value.
The name of the parameter that is to be checked.
is greater than the maximum value.
Verifies that the specified value is greater than a minimum value
and throws an exception if it is not.
The target value, which should be validated.
The minimum value.
The name of the parameter that is to be checked.
is less than the minimum value.
Verifies that the specified value is greater than or equal to a minimum value
and throws an exception if it is not.
The target value, which should be validated.
The minimum value.
The name of the parameter that is to be checked.
is less than the minimum value.
Verifies that the specified value is greater than or equal to a minimum value and less than
or equal to a maximum value and throws an exception if it is not.
The target value, which should be validated.
The minimum value.
The maximum value.
The name of the parameter that is to be checked.
is less than the minimum value of greater than the maximum value.
Ensures that the specified value is less than a maximum value.
The target value, which should be validated.
The maximum value.
The name of the parameter that is to be checked.
is greater than the maximum value.
Verifies that the specified value is less than or equal to a maximum value
and throws an exception if it is not.
The target value, which should be validated.
The maximum value.
The name of the parameter that is to be checked.
is greater than the maximum value.
Verifies that the specified value is greater than a minimum value
and throws an exception if it is not.
The target value, which should be validated.
The minimum value.
The name of the parameter that is to be checked.
is less than the minimum value.
Verifies that the specified value is greater than or equal to a minimum value
and throws an exception if it is not.
The target value, which should be validated.
The minimum value.
The name of the parameter that is to be checked.
is less than the minimum value.
Verifies that the specified value is greater than or equal to a minimum value and less than
or equal to a maximum value and throws an exception if it is not.
The target value, which should be validated.
The minimum value.
The maximum value.
The name of the parameter that is to be checked.
is less than the minimum value of greater than the maximum value.
Ensures that the specified value is less than a maximum value.
The target value, which should be validated.
The maximum value.
The name of the parameter that is to be checked.
is greater than the maximum value.
Verifies that the specified value is less than or equal to a maximum value
and throws an exception if it is not.
The target value, which should be validated.
The maximum value.
The name of the parameter that is to be checked.
is greater than the maximum value.
Verifies that the specified value is greater than a minimum value
and throws an exception if it is not.
The target value, which should be validated.
The minimum value.
The name of the parameter that is to be checked.
is less than the minimum value.
Verifies that the specified value is greater than or equal to a minimum value
and throws an exception if it is not.
The target value, which should be validated.
The minimum value.
The name of the parameter that is to be checked.
is less than the minimum value.
Verifies that the specified value is greater than or equal to a minimum value and less than
or equal to a maximum value and throws an exception if it is not.
The target value, which should be validated.
The minimum value.
The maximum value.
The name of the parameter that is to be checked.
is less than the minimum value of greater than the maximum value.
Helper methods to throw exceptions
Throws an when fails.
Throws an when fails.
Throws an when fails.
Throws an when fails.
Throws an when fails.
Throws an when fails.
Throws an when fails.
Throws an when fails.
Throws a new .
The message to include in the exception.
The argument name.
Thrown with and .
Throws a new .
The argument name.
The message to include in the exception.
Thrown with and .
Throws a new .
The argument name.
The message to include in the exception.
Thrown with and .