[]
ID2D1Geometry
[Guid("2cd906a1-12e2-11dc-9fed-001143a055f9")]
public class Geometry : Resource, IDisposable, IUnknown
Initializes a new instance of the Geometry class.
public Geometry(IntPtr nativePtr)
nativePtr
System.IntPtrThe native pointer.
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
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; }
Combines this geometry with the specified geometry and stores the result in an ISimplifiedGeometrySink.
public void Combine(Geometry inputGeometry, CombineMode combineMode, IGeometrySink geometrySink)
inputGeometry
GeometryThe geometry to combine with this instance.
combineMode
CombineModeThe type of combine operation to perform.
geometrySink
IGeometrySinkThe result of the combine operation.
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)
inputGeometry
GeometryThe geometry to combine with this instance.
combineMode
CombineModeThe type of combine operation to perform.
inputGeometryTransform
Matrix3x2?The transform to apply to inputGeometry before combining, or NULL.
flatteningTolerance
floatThe 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
IGeometrySinkThe result of the combine operation.
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)
inputGeometry
GeometryThe geometry to combine with this instance.
combineMode
CombineModeThe type of combine operation to perform.
flatteningTolerance
floatThe 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
IGeometrySinkThe result of the combine operation.
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)
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)
inputGeometry
GeometryThe geometry to test.
flatteningTolerance
floatThe maximum bounds on the distance between points in the polygonal approximation of the geometries. Smaller values produce more accurate results but cause slower execution.
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.
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.
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)
inputGeometry
GeometryThe geometry to test.
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.
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.
Computes the area of the geometry after it has been transformed by the specified matrix and flattened using the specified tolerance.
public float ComputeArea()
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.
HRESULT ID2D1Geometry::ComputeArea([In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float flatteningTolerance,[Out] float* area)
public float ComputeArea(Matrix3x2? worldTransform, float flatteningTolerance)
worldTransform
Matrix3x2?flatteningTolerance
floatComputes 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)
flatteningTolerance
floatThe maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution.
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.
Calculates the length of the geometry as though each segment were unrolled into a line.
public float ComputeLength()
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.
HRESULT ID2D1Geometry::ComputeLength([In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[In] float flatteningTolerance,[Out] float* length)
public float ComputeLength(Matrix3x2? worldTransform, float flatteningTolerance)
worldTransform
Matrix3x2?flatteningTolerance
floatCalculates the length of the geometry as though each segment were unrolled into a line.
public float ComputeLength(float flatteningTolerance)
flatteningTolerance
floatThe maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution.
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.
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)
length
floatThe 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
Point2FWhenthis 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.
The location at the specified distance along the geometry. If the geometry is empty, this point contains NaN as its x and y values.
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)
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)
length
floatThe 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
floatThe 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
Point2FWhenthis 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.
The location at the specified distance along the geometry. If the geometry is empty, this point contains NaN as its x and y values.
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)
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)
point
Point2FThe point to test.
flatteningTolerance
floatThe 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.
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.
Indicates whether the area filled by the geometry would contain the specified point given the specified flattening tolerance.
public bool FillContainsPoint(Point2F point)
point
Point2FThe point to test.
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.
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)
point
Point2LThe point to test.
worldTransform
Matrix3x2The transform to apply to the geometry prior to testing for containment, or NULL.
flatteningTolerance
floatThe 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.
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.
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)
point
Point2LThe point to test.
flatteningTolerance
floatThe 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.
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.
Indicates whether the area filled by the geometry would contain the specified point given the specified flattening tolerance.
public bool FillContainsPoint(Point2L point)
point
Point2LThe point to test.
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.
Retrieves the bounds of the geometry.
public RectF GetBounds()
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.
HRESULT ID2D1Geometry::GetBounds([In, Optional] const D2D_MATRIX_3X2_F* worldTransform,[Out] D2D_RECT_F* bounds)
public RectF GetBounds(Matrix3x2? worldTransform)
worldTransform
Matrix3x2?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)
strokeWidth
floatstrokeStyle
StrokeStyleworldTransform
Matrix3x2?flatteningTolerance
floatGets 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)
strokeWidth
floatThe amount by which to widen the geometry by stroking its outline.
strokeStyle
StrokeStyleThe style of the stroke that widens the geometry.
flatteningTolerance
floatThe maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution.
When this method returns, contains the bounds of the widened geometry. You must allocate storage for this parameter.
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)
strokeWidth
floatThe amount by which to widen the geometry by stroking its outline.
flatteningTolerance
floatThe maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution.
When this method returns, contains the bounds of the widened geometry. You must allocate storage for this parameter.
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)
strokeWidth
floatThe amount by which to widen the geometry by stroking its outline.
When this method returns, contains the bounds of the widened geometry. You must allocate storage for this parameter.
Computes the outline of the geometry and writes the result to an ISimplifiedGeometrySink.
public void Outline(IGeometrySink geometrySink)
geometrySink
IGeometrySinkThe ISimplifiedGeometrySink to which the geometry's transformed outline is appended.
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.
Computes the outline of the geometry and writes the result to an ISimplifiedGeometrySink.
public void Outline(Matrix3x2? worldTransform, float flatteningTolerance, IGeometrySink geometrySink)
worldTransform
Matrix3x2?The transform to apply to the geometry outline, or NULL.
flatteningTolerance
floatThe 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
IGeometrySinkThe ISimplifiedGeometrySink to which the geometry's transformed outline is appended.
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.
Computes the outline of the geometry and writes the result to an ISimplifiedGeometrySink.
public void Outline(float flatteningTolerance, IGeometrySink geometrySink)
flatteningTolerance
floatThe 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
IGeometrySinkThe ISimplifiedGeometrySink to which the geometry's transformed outline is appended.
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.
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)
simplificationOption
GeometrySimplificationOptionA value that specifies whether the simplified geometry should contain curves.
geometrySink
IGeometrySinkThe ISimplifiedGeometrySink to which the simplified geometry is appended.
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)
simplificationOption
GeometrySimplificationOptionA value that specifies whether the simplified geometry should contain curves.
worldTransform
Matrix3x2?The transform to apply to the simplified geometry, or NULL.
flatteningTolerance
floatThe 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
IGeometrySinkThe ISimplifiedGeometrySink to which the simplified geometry is appended.
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)
simplificationOption
GeometrySimplificationOptionA value that specifies whether the simplified geometry should contain curves.
flatteningTolerance
floatThe 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
IGeometrySinkThe ISimplifiedGeometrySink to which the simplified geometry is appended.
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)
point
Point2FThe point to test for containment.
strokeWidth
floatThe thickness of the stroke to apply.
strokeStyle
StrokeStyleThe style of stroke to apply.
transform
Matrix3x2The transform to apply to the stroked geometry.
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.
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)
point
Point2FstrokeWidth
floatstrokeStyle
StrokeStyleworldTransform
Matrix3x2?flatteningTolerance
floatDetermines 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)
point
Point2FThe point to test for containment.
strokeWidth
floatThe thickness of the stroke to apply.
strokeStyle
StrokeStyleThe style of stroke to apply.
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.
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)
point
Point2FThe point to test for containment.
strokeWidth
floatThe thickness of the stroke to apply.
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.
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)
point
Point2LThe point to test for containment.
strokeWidth
floatThe thickness of the stroke to apply.
strokeStyle
StrokeStyleThe style of stroke to apply.
transform
Matrix3x2The transform to apply to the stroked geometry.
flatteningTolerance
floatThe 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.
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.
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)
point
Point2LThe point to test for containment.
strokeWidth
floatThe thickness of the stroke to apply.
strokeStyle
StrokeStyleThe style of stroke to apply.
transform
Matrix3x2The transform to apply to the stroked geometry.
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.
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)
point
Point2LThe point to test for containment.
strokeWidth
floatThe thickness of the stroke to apply.
strokeStyle
StrokeStyleThe style of stroke to apply.
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.
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)
point
Point2LThe point to test for containment.
strokeWidth
floatThe thickness of the stroke to apply.
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.
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)
tessellationSink
ITessellationSinkThe C1.Win.DX.Direct2D.TessellationSink to which the tessellated is appended.
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)
worldTransform
Matrix3x2?The transform to apply to this geometry, or NULL.
flatteningTolerance
floatThe 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
ITessellationSinkThe ITessellationSink to which the tessellated is appended.
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)
flatteningTolerance
floatThe 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
ITessellationSinkThe ITessellationSink to which the tessellated is appended.
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)
strokeWidth
floatThe amount by which to widen the geometry.
geometrySink
IGeometrySinkThe ISimplifiedGeometrySink to which the widened geometry is appended.
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)
strokeWidth
floatThe amount by which to widen the geometry.
strokeStyle
StrokeStyleThe 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
floatThe 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
IGeometrySinkThe ISimplifiedGeometrySink to which the widened geometry is appended.
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)
strokeWidth
floatThe amount by which to widen the geometry.
strokeStyle
StrokeStyleThe style of stroke to apply to the geometry, or NULL.
flatteningTolerance
floatThe 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
IGeometrySinkThe ISimplifiedGeometrySink to which the widened geometry is appended.
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)
strokeWidth
floatThe amount by which to widen the geometry.
flatteningTolerance
floatThe 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
IGeometrySinkThe ISimplifiedGeometrySink to which the widened geometry is appended.
Performs an explicit conversion from System.IntPtr to Geometry.
public static explicit operator Geometry(IntPtr nativePointer)
nativePointer
System.IntPtr