Table of Contents

Interface IGeometry

Namespace
PaintDotNet.Direct2D1
Assembly
PaintDotNet.Windows.dll

Represents a geometry resource and defines a set of helper methods for manipulating and measuring geometric shapes. Interfaces that inherit from IGeometry define specific shapes.
ID2D1Geometry

public interface IGeometry : IDirect2DResource, IObjectRef, IIsDisposed, IDisposable, IFactoryProperty, IInternalImpl
Inherited Members
Extension Methods

Methods

CombineWithGeometry(ISimplifiedGeometrySink, IGeometry, GeometryCombineMode, in Matrix3x2Float?, float?)

Combines this geometry with the specified geometry and writes the result to an ISimplifiedGeometrySink.

CompareWithGeometry(IGeometry, in Matrix3x2Float?, float?)

Describes the intersection between this geometry and the specified geometry. The comparison is performed by using the specified flattening tolerance.

ComputeArea(in Matrix3x2Float?, float?)

Computes the area of the geometry after it has been transformed by the specified matrix and flattened using the specified tolerance.

ComputeLength(in Matrix3x2Float?, float?)

Calculates the length of the geometry as though each segment were unrolled into a line.

ComputePointAtLength(float, in Matrix3x2Float?, float?, out Vector2Float)

Calculates the point and tangent vector at the specified distance along the geometry after it has been transformed by the specified matrix and flattened using the specified tolerance.

FillContainsPoint(Point2Float, in Matrix3x2Float?, float?)

Indicates whether the area filled by the geometry would contain the specified point given the specified flattening tolerance.

GetBounds(in Matrix3x2Float?)

Retrieves the bounds of the geometry.

GetWidenedBounds(float, IStrokeStyle?, in Matrix3x2Float?, float?)

Gets the bounds of the geometry after it has been widened by the specified stroke width and style and transformed by the specified matrix.

Outline(ISimplifiedGeometrySink, in Matrix3x2Float?, float?)

Computes the outline of the geometry and writes the result to an ISimplifiedGeometrySink.

Simplify(ISimplifiedGeometrySink, GeometrySimplificationOption, in Matrix3x2Float?, float?)

Creates a simplified version of the geometry that contains only lines and (optionally) cubic Bezier curves and writes the result to an ISimplifiedGeometrySink.

StrokeContainsPoint(Point2Float, float, IStrokeStyle?, in Matrix3x2Float?, float?)

Determines whether the geometry's stroke contains the specified point given the specified stroke thickness, style, and transform.

Tessellate(ITessellationSink, in Matrix3x2Float?, float?)

Creates a set of clockwise-wound triangles that cover the geometry after it has been transformed using the specified matrix and flattened using the specified tolerance.

Widen(ISimplifiedGeometrySink, float, IStrokeStyle?, in Matrix3x2Float?, float?)

Widens the geometry by the specified stroke and writes the result to an ISimplifiedGeometrySink after it has been transformed by the specified matrix and flattened using the specified tolerance.