[]
        
(Showing Draft Content)

GrapeCity.Documents.DX.Direct2D.Geometry

Class Geometry

Namespace
GrapeCity.Documents.DX.Direct2D
Assembly
GcDocs.DX.Windows.dll

ID2D1Geometry

[Guid("2cd906a1-12e2-11dc-9fed-001143a055f9")]
public class Geometry : Resource, IDisposable, IUnknown
Inheritance
object
Geometry
Implements
System.IDisposable
Inherited Members
object.ToString()
object.Equals(object)
object.Equals(object, object)
object.ReferenceEquals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()

Constructors

Geometry(IntPtr)

Initializes a new instance of the Geometry class.

public Geometry(IntPtr nativePtr)

Parameters

nativePtr System.IntPtr

The native pointer.

Fields

DefaultFlatteningTolerance

Default flattening tolerance used for all methods that are not explicitly using it. Default is set to 0.25f.

public const float DefaultFlatteningTolerance = 0.25

Field Value

float

Properties

FlatteningTolerance

Get or set the default flattening tolerance used for all methods that are not explicitly using it. Default is set to 0.25f.

public float FlatteningTolerance { get; set; }

Property Value

float

Methods

Combine(Geometry, CombineMode, IGeometrySink)

Combines this geometry with the specified geometry and stores the result in an ISimplifiedGeometrySink.

public void Combine(Geometry inputGeometry, CombineMode combineMode, IGeometrySink geometrySink)

Parameters

inputGeometry Geometry

The geometry to combine with this instance.

combineMode CombineMode

The type of combine operation to perform.

geometrySink IGeometrySink

The result of the combine operation.

Combine(Geometry, CombineMode, Matrix3x2?, float, IGeometrySink)

Combines this geometry with the specified geometry and stores the result in an ISimplifiedGeometrySink.

public void Combine(Geometry inputGeometry, CombineMode combineMode, Matrix3x2? inputGeometryTransform, float flatteningTolerance, IGeometrySink geometrySink)

Parameters

inputGeometry Geometry

The geometry to combine with this instance.

combineMode CombineMode

The type of combine operation to perform.

inputGeometryTransform Matrix3x2?

The transform to apply to inputGeometry before combining, or NULL.

flatteningTolerance float

The maximum bounds on the distance between points in the polygonal approximation of the geometries. Smaller values produce more accurate results but cause slower execution.

geometrySink IGeometrySink

The result of the combine operation.

Combine(Geometry, CombineMode, float, IGeometrySink)

Combines this geometry with the specified geometry and stores the result in an ISimplifiedGeometrySink.

public void Combine(Geometry inputGeometry, CombineMode combineMode, float flatteningTolerance, IGeometrySink geometrySink)

Parameters

inputGeometry Geometry

The geometry to combine with this instance.

combineMode CombineMode

The type of combine operation to perform.

flatteningTolerance float

The maximum bounds on the distance between points in the polygonal approximation of the geometries. Smaller values produce more accurate results but cause slower execution.

geometrySink IGeometrySink

The result of the combine operation.

Compare(Geometry, Matrix3x2?, float)

HRESULT ID2D1Geometry::CompareWithGeometry([In] ID2D1Geometry* inputGeometry,[In, Optional] const D2D_MATRIX_3X2_F* inputGeometryTransform,[In] float flatteningTolerance,[Out] D2D1_GEOMETRY_RELATION* relation)

public GeometryRelation Compare(Geometry inputGeometry, Matrix3x2? inputGeometryTransform, float flatteningTolerance)

Parameters

inputGeometry Geometry
inputGeometryTransform Matrix3x2?
flatteningTolerance float

Returns

GeometryRelation

Compare(Geometry, float)

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

public GeometryRelation Compare(Geometry inputGeometry, float flatteningTolerance)

Parameters

inputGeometry Geometry

The geometry to test.

flatteningTolerance float

The maximum bounds on the distance between points in the polygonal approximation of the geometries. Smaller values produce more accurate results but cause slower execution.

Returns

GeometryRelation

When this method returns, contains a reference to a value that describes how this geometry is related to inputGeometry. You must allocate storage for this parameter.

Remarks

When interpreting the returned relation value, it is important to remember that the member C1.Win.DX.Direct2D.GeometryRelation.IsContained of the D2D1_GEOMETRY_RELATION enumeration type means that this geometry is contained inside inputGeometry, not that this geometry contains inputGeometry. For more information about how to interpret other possible return values, see C1.Win.DX.Direct2D.GeometryRelation.

Compare(Geometry)

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

public GeometryRelation Compare(Geometry inputGeometry)

Parameters

inputGeometry Geometry

The geometry to test.

Returns

GeometryRelation

When this method returns, contains a reference to a value that describes how this geometry is related to inputGeometry. You must allocate storage for this parameter.

Remarks

When interpreting the returned relation value, it is important to remember that the member C1.Win.DX.Direct2D.GeometryRelation.IsContained of the D2D1_GEOMETRY_RELATION enumeration type means that this geometry is contained inside inputGeometry, not that this geometry contains inputGeometry. For more information about how to interpret other possible return values, see C1.Win.DX.Direct2D.GeometryRelation.

ComputeArea()

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

public float ComputeArea()

Returns

float

When this this method returns, contains a reference to the area of the transformed, flattened version of this geometry. You must allocate storage for this parameter.

ComputeArea(Matrix3x2?, float)

HRESULT ID2D1Geometry::ComputeArea([In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float flatteningTolerance,[Out] float* area)

public float ComputeArea(Matrix3x2? worldTransform, float flatteningTolerance)

Parameters

worldTransform Matrix3x2?
flatteningTolerance float

Returns

float

ComputeArea(float)

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

public float ComputeArea(float flatteningTolerance)

Parameters

flatteningTolerance float

The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution.

Returns

float

When this this method returns, contains a reference to the area of the transformed, flattened version of this geometry. You must allocate storage for this parameter.

ComputeLength()

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

public float ComputeLength()

Returns

float

When this method returns, contains a reference to the length of the geometry. For closed geometries, the length includes an implicit closing segment. You must allocate storage for this parameter.

ComputeLength(Matrix3x2?, float)

HRESULT ID2D1Geometry::ComputeLength([In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float flatteningTolerance,[Out] float* length)

public float ComputeLength(Matrix3x2? worldTransform, float flatteningTolerance)

Parameters

worldTransform Matrix3x2?
flatteningTolerance float

Returns

float

ComputeLength(float)

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

public float ComputeLength(float flatteningTolerance)

Parameters

flatteningTolerance float

The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution.

Returns

float

When this method returns, contains a reference to the length of the geometry. For closed geometries, the length includes an implicit closing segment. You must allocate storage for this parameter.

ComputePointAtLength(float, out Point2F)

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.

public Point2F ComputePointAtLength(float length, out Point2F unitTangentVector)

Parameters

length float

The distance along the geometry of the point and tangent to find. If this distance is less then 0, this method calculates the first point in the geometry. If this distance is greater than the length of the geometry, this method calculates the last point in the geometry.

unitTangentVector Point2F

Whenthis method returns, contains a reference to the tangent vector at the specified distance along the geometry. If the geometry is empty, this vector contains NaN as its x and y values. You must allocate storage for this parameter.

Returns

Point2F

The location at the specified distance along the geometry. If the geometry is empty, this point contains NaN as its x and y values.

ComputePointAtLength(float, Matrix3x2?, float, out Point2F)

HRESULT ID2D1Geometry::ComputePointAtLength([In] float length,[In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float flatteningTolerance,[Out, Optional] D2D_POINT_2F* point,[Out, Optional] D2D_POINT_2F* unitTangentVector)

public Point2F ComputePointAtLength(float length, Matrix3x2? worldTransform, float flatteningTolerance, out Point2F unitTangentVector)

Parameters

length float
worldTransform Matrix3x2?
flatteningTolerance float
unitTangentVector Point2F

Returns

Point2F

ComputePointAtLength(float, float, out Point2F)

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.

public Point2F ComputePointAtLength(float length, float flatteningTolerance, out Point2F unitTangentVector)

Parameters

length float

The distance along the geometry of the point and tangent to find. If this distance is less then 0, this method calculates the first point in the geometry. If this distance is greater than the length of the geometry, this method calculates the last point in the geometry.

flatteningTolerance float

The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution.

unitTangentVector Point2F

Whenthis method returns, contains a reference to the tangent vector at the specified distance along the geometry. If the geometry is empty, this vector contains NaN as its x and y values. You must allocate storage for this parameter.

Returns

Point2F

The location at the specified distance along the geometry. If the geometry is empty, this point contains NaN as its x and y values.

FillContainsPoint(Point2F, Matrix3x2?, float)

HRESULT ID2D1Geometry::FillContainsPoint([In] D2D_POINT_2F point,[In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float flatteningTolerance,[Out] BOOL* contains)

public bool FillContainsPoint(Point2F point, Matrix3x2? worldTransform, float flatteningTolerance)

Parameters

point Point2F
worldTransform Matrix3x2?
flatteningTolerance float

Returns

bool

FillContainsPoint(Point2F, float)

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

public bool FillContainsPoint(Point2F point, float flatteningTolerance)

Parameters

point Point2F

The point to test.

flatteningTolerance float

The numeric accuracy with which the precise geometric path and path intersection is calculated. Points missing the fill by less than the tolerance are still considered inside. Smaller values produce more accurate results but cause slower execution.

Returns

bool

When this method returns, contains a bool value that is true if the area filled by the geometry contains point; otherwise, false.You must allocate storage for this parameter.

FillContainsPoint(Point2F)

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

public bool FillContainsPoint(Point2F point)

Parameters

point Point2F

The point to test.

Returns

bool

When this method returns, contains a bool value that is true if the area filled by the geometry contains point; otherwise, false.You must allocate storage for this parameter.

FillContainsPoint(Point2L, Matrix3x2, float)

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

public bool FillContainsPoint(Point2L point, Matrix3x2 worldTransform, float flatteningTolerance)

Parameters

point Point2L

The point to test.

worldTransform Matrix3x2

The transform to apply to the geometry prior to testing for containment, or NULL.

flatteningTolerance float

The numeric accuracy with which the precise geometric path and path intersection is calculated. Points missing the fill by less than the tolerance are still considered inside. Smaller values produce more accurate results but cause slower execution.

Returns

bool

When this method returns, contains a bool value that is true if the area filled by the geometry contains point; otherwise, false.You must allocate storage for this parameter.

FillContainsPoint(Point2L, float)

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

public bool FillContainsPoint(Point2L point, float flatteningTolerance)

Parameters

point Point2L

The point to test.

flatteningTolerance float

The numeric accuracy with which the precise geometric path and path intersection is calculated. Points missing the fill by less than the tolerance are still considered inside. Smaller values produce more accurate results but cause slower execution.

Returns

bool

When this method returns, contains a bool value that is true if the area filled by the geometry contains point; otherwise, false.You must allocate storage for this parameter.

FillContainsPoint(Point2L)

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

public bool FillContainsPoint(Point2L point)

Parameters

point Point2L

The point to test.

Returns

bool

When this method returns, contains a bool value that is true if the area filled by the geometry contains point; otherwise, false.You must allocate storage for this parameter.

GetBounds()

Retrieves the bounds of the geometry.

public RectF GetBounds()

Returns

RectF

When this method returns, contains the bounds of this geometry. If the bounds are empty, this will be a rect where bounds.left > bounds.right. You must allocate storage for this parameter.

GetBounds(Matrix3x2?)

HRESULT ID2D1Geometry::GetBounds([In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[Out] D2D_RECT_F* bounds)

public RectF GetBounds(Matrix3x2? worldTransform)

Parameters

worldTransform Matrix3x2?

Returns

RectF

GetWidenedBounds(float, StrokeStyle, Matrix3x2?, float)

HRESULT ID2D1Geometry::GetWidenedBounds([In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float flatteningTolerance,[Out] D2D_RECT_F* bounds)

public RectF GetWidenedBounds(float strokeWidth, StrokeStyle strokeStyle, Matrix3x2? worldTransform, float flatteningTolerance)

Parameters

strokeWidth float
strokeStyle StrokeStyle
worldTransform Matrix3x2?
flatteningTolerance float

Returns

RectF

GetWidenedBounds(float, StrokeStyle, 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.

public RectF GetWidenedBounds(float strokeWidth, StrokeStyle strokeStyle, float flatteningTolerance)

Parameters

strokeWidth float

The amount by which to widen the geometry by stroking its outline.

strokeStyle StrokeStyle

The style of the stroke that widens the geometry.

flatteningTolerance float

The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution.

Returns

RectF

When this method returns, contains the bounds of the widened geometry. You must allocate storage for this parameter.

GetWidenedBounds(float, 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.

public RectF GetWidenedBounds(float strokeWidth, float flatteningTolerance)

Parameters

strokeWidth float

The amount by which to widen the geometry by stroking its outline.

flatteningTolerance float

The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution.

Returns

RectF

When this method returns, contains the bounds of the widened geometry. You must allocate storage for this parameter.

GetWidenedBounds(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.

public RectF GetWidenedBounds(float strokeWidth)

Parameters

strokeWidth float

The amount by which to widen the geometry by stroking its outline.

Returns

RectF

When this method returns, contains the bounds of the widened geometry. You must allocate storage for this parameter.

Outline(IGeometrySink)

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

public void Outline(IGeometrySink geometrySink)

Parameters

geometrySink IGeometrySink

The ISimplifiedGeometrySink to which the geometry's transformed outline is appended.

Remarks

The {{Outline}} method allows the caller to produce a geometry with an equivalent fill to the input geometry, with the following additional properties: The output geometry contains no transverse intersections; that is, segments may touch, but they never cross.The outermost figures in the output geometry are all oriented counterclockwise. The output geometry is fill-mode invariant; that is, the fill of the geometry does not depend on the choice of the fill mode. For more information about the fill mode, see FillMode.Additionally, the {{Outline}} method can be useful in removing redundant portions of said geometries to simplify complex geometries. It can also be useful in combination with GeometryGroup to create unions among several geometries simultaneously.

Outline(Matrix3x2?, float, IGeometrySink)

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

public void Outline(Matrix3x2? worldTransform, float flatteningTolerance, IGeometrySink geometrySink)

Parameters

worldTransform Matrix3x2?

The transform to apply to the geometry outline, or NULL.

flatteningTolerance float

The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution.

geometrySink IGeometrySink

The ISimplifiedGeometrySink to which the geometry's transformed outline is appended.

Remarks

The {{Outline}} method allows the caller to produce a geometry with an equivalent fill to the input geometry, with the following additional properties: The output geometry contains no transverse intersections; that is, segments may touch, but they never cross.The outermost figures in the output geometry are all oriented counterclockwise. The output geometry is fill-mode invariant; that is, the fill of the geometry does not depend on the choice of the fill mode. For more information about the fill mode, see FillMode.Additionally, the {{Outline}} method can be useful in removing redundant portions of said geometries to simplify complex geometries. It can also be useful in combination with GeometryGroup to create unions among several geometries simultaneously.

Outline(float, IGeometrySink)

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

public void Outline(float flatteningTolerance, IGeometrySink geometrySink)

Parameters

flatteningTolerance float

The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution.

geometrySink IGeometrySink

The ISimplifiedGeometrySink to which the geometry's transformed outline is appended.

Remarks

The {{Outline}} method allows the caller to produce a geometry with an equivalent fill to the input geometry, with the following additional properties: The output geometry contains no transverse intersections; that is, segments may touch, but they never cross.The outermost figures in the output geometry are all oriented counterclockwise. The output geometry is fill-mode invariant; that is, the fill of the geometry does not depend on the choice of the fill mode. For more information about the fill mode, see FillMode.Additionally, the {{Outline}} method can be useful in removing redundant portions of said geometries to simplify complex geometries. It can also be useful in combination with GeometryGroup to create unions among several geometries simultaneously.

Simplify(GeometrySimplificationOption, IGeometrySink)

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

public void Simplify(GeometrySimplificationOption simplificationOption, IGeometrySink geometrySink)

Parameters

simplificationOption GeometrySimplificationOption

A value that specifies whether the simplified geometry should contain curves.

geometrySink IGeometrySink

The ISimplifiedGeometrySink to which the simplified geometry is appended.

Simplify(GeometrySimplificationOption, Matrix3x2?, float, IGeometrySink)

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

public void Simplify(GeometrySimplificationOption simplificationOption, Matrix3x2? worldTransform, float flatteningTolerance, IGeometrySink geometrySink)

Parameters

simplificationOption GeometrySimplificationOption

A value that specifies whether the simplified geometry should contain curves.

worldTransform Matrix3x2?

The transform to apply to the simplified geometry, or NULL.

flatteningTolerance float

The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution.

geometrySink IGeometrySink

The ISimplifiedGeometrySink to which the simplified geometry is appended.

Simplify(GeometrySimplificationOption, float, IGeometrySink)

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

public void Simplify(GeometrySimplificationOption simplificationOption, float flatteningTolerance, IGeometrySink geometrySink)

Parameters

simplificationOption GeometrySimplificationOption

A value that specifies whether the simplified geometry should contain curves.

flatteningTolerance float

The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution.

geometrySink IGeometrySink

The ISimplifiedGeometrySink to which the simplified geometry is appended.

StrokeContainsPoint(Point2F, float, StrokeStyle, Matrix3x2)

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

public bool StrokeContainsPoint(Point2F point, float strokeWidth, StrokeStyle strokeStyle, Matrix3x2 transform)

Parameters

point Point2F

The point to test for containment.

strokeWidth float

The thickness of the stroke to apply.

strokeStyle StrokeStyle

The style of stroke to apply.

transform Matrix3x2

The transform to apply to the stroked geometry.

Returns

bool

When this method returns, contains a boolean value set to true if the geometry's stroke contains the specified point; otherwise, false. You must allocate storage for this parameter.

StrokeContainsPoint(Point2F, float, StrokeStyle, Matrix3x2?, float)

HRESULT ID2D1Geometry::StrokeContainsPoint([In] D2D_POINT_2F point,[In] float strokeWidth,[In, Optional] ID2D1StrokeStyle* strokeStyle,[In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float flatteningTolerance,[Out] BOOL* contains)

public bool StrokeContainsPoint(Point2F point, float strokeWidth, StrokeStyle strokeStyle, Matrix3x2? worldTransform, float flatteningTolerance)

Parameters

point Point2F
strokeWidth float
strokeStyle StrokeStyle
worldTransform Matrix3x2?
flatteningTolerance float

Returns

bool

StrokeContainsPoint(Point2F, float, StrokeStyle)

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

public bool StrokeContainsPoint(Point2F point, float strokeWidth, StrokeStyle strokeStyle)

Parameters

point Point2F

The point to test for containment.

strokeWidth float

The thickness of the stroke to apply.

strokeStyle StrokeStyle

The style of stroke to apply.

Returns

bool

When this method returns, contains a boolean value set to true if the geometry's stroke contains the specified point; otherwise, false. You must allocate storage for this parameter.

StrokeContainsPoint(Point2F, float)

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

public bool StrokeContainsPoint(Point2F point, float strokeWidth)

Parameters

point Point2F

The point to test for containment.

strokeWidth float

The thickness of the stroke to apply.

Returns

bool

When this method returns, contains a boolean value set to true if the geometry's stroke contains the specified point; otherwise, false. You must allocate storage for this parameter.

StrokeContainsPoint(Point2L, float, StrokeStyle, Matrix3x2, float)

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

public bool StrokeContainsPoint(Point2L point, float strokeWidth, StrokeStyle strokeStyle, Matrix3x2 transform, float flatteningTolerance)

Parameters

point Point2L

The point to test for containment.

strokeWidth float

The thickness of the stroke to apply.

strokeStyle StrokeStyle

The style of stroke to apply.

transform Matrix3x2

The transform to apply to the stroked geometry.

flatteningTolerance float

The numeric accuracy with which the precise geometric path and path intersection is calculated. Points missing the stroke by less than the tolerance are still considered inside. Smaller values produce more accurate results but cause slower execution.

Returns

bool

When this method returns, contains a boolean value set to true if the geometry's stroke contains the specified point; otherwise, false. You must allocate storage for this parameter.

StrokeContainsPoint(Point2L, float, StrokeStyle, Matrix3x2)

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

public bool StrokeContainsPoint(Point2L point, float strokeWidth, StrokeStyle strokeStyle, Matrix3x2 transform)

Parameters

point Point2L

The point to test for containment.

strokeWidth float

The thickness of the stroke to apply.

strokeStyle StrokeStyle

The style of stroke to apply.

transform Matrix3x2

The transform to apply to the stroked geometry.

Returns

bool

When this method returns, contains a boolean value set to true if the geometry's stroke contains the specified point; otherwise, false. You must allocate storage for this parameter.

StrokeContainsPoint(Point2L, float, StrokeStyle)

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

public bool StrokeContainsPoint(Point2L point, float strokeWidth, StrokeStyle strokeStyle)

Parameters

point Point2L

The point to test for containment.

strokeWidth float

The thickness of the stroke to apply.

strokeStyle StrokeStyle

The style of stroke to apply.

Returns

bool

When this method returns, contains a boolean value set to true if the geometry's stroke contains the specified point; otherwise, false. You must allocate storage for this parameter.

StrokeContainsPoint(Point2L, float)

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

public bool StrokeContainsPoint(Point2L point, float strokeWidth)

Parameters

point Point2L

The point to test for containment.

strokeWidth float

The thickness of the stroke to apply.

Returns

bool

When this method returns, contains a boolean value set to true if the geometry's stroke contains the specified point; otherwise, false. You must allocate storage for this parameter.

Tessellate(ITessellationSink)

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

public void Tessellate(ITessellationSink tessellationSink)

Parameters

tessellationSink ITessellationSink

The C1.Win.DX.Direct2D.TessellationSink to which the tessellated is appended.

Tessellate(Matrix3x2?, float, ITessellationSink)

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

public void Tessellate(Matrix3x2? worldTransform, float flatteningTolerance, ITessellationSink tessellationSink)

Parameters

worldTransform Matrix3x2?

The transform to apply to this geometry, or NULL.

flatteningTolerance float

The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution.

tessellationSink ITessellationSink

The ITessellationSink to which the tessellated is appended.

Tessellate(float, ITessellationSink)

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

public void Tessellate(float flatteningTolerance, ITessellationSink tessellationSink)

Parameters

flatteningTolerance float

The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution.

tessellationSink ITessellationSink

The ITessellationSink to which the tessellated is appended.

Widen(float, IGeometrySink)

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.

public void Widen(float strokeWidth, IGeometrySink geometrySink)

Parameters

strokeWidth float

The amount by which to widen the geometry.

geometrySink IGeometrySink

The ISimplifiedGeometrySink to which the widened geometry is appended.

Widen(float, StrokeStyle, Matrix3x2?, float, IGeometrySink)

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.

public void Widen(float strokeWidth, StrokeStyle strokeStyle, Matrix3x2? worldTransform, float flatteningTolerance, IGeometrySink geometrySink)

Parameters

strokeWidth float

The amount by which to widen the geometry.

strokeStyle StrokeStyle

The style of stroke to apply to the geometry, or NULL.

worldTransform Matrix3x2?

The transform to apply to the geometry after widening it, or NULL.

flatteningTolerance float

The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution.

geometrySink IGeometrySink

The ISimplifiedGeometrySink to which the widened geometry is appended.

Widen(float, StrokeStyle, float, IGeometrySink)

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.

public void Widen(float strokeWidth, StrokeStyle strokeStyle, float flatteningTolerance, IGeometrySink geometrySink)

Parameters

strokeWidth float

The amount by which to widen the geometry.

strokeStyle StrokeStyle

The style of stroke to apply to the geometry, or NULL.

flatteningTolerance float

The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution.

geometrySink IGeometrySink

The ISimplifiedGeometrySink to which the widened geometry is appended.

Widen(float, float, IGeometrySink)

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.

public void Widen(float strokeWidth, float flatteningTolerance, IGeometrySink geometrySink)

Parameters

strokeWidth float

The amount by which to widen the geometry.

flatteningTolerance float

The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution.

geometrySink IGeometrySink

The ISimplifiedGeometrySink to which the widened geometry is appended.

Operators

explicit operator Geometry(IntPtr)

Performs an explicit conversion from System.IntPtr to Geometry.

public static explicit operator Geometry(IntPtr nativePointer)

Parameters

nativePointer System.IntPtr

Returns

Geometry