StrokeCollection.HitTest Method (IEnumerable<Point>, Int32)

 

Returns a collection of strokes that have at least the specified percentage of length within the specified area.

Namespace:   System.Windows.Ink
Assembly:  PresentationCore (in PresentationCore.dll)

public StrokeCollection HitTest(
	IEnumerable<Point> lassoPoints,
	int percentageWithinLasso
)

Parameters

lassoPoints
Type: System.Collections.Generic.IEnumerable<Point>

An array of type Point that represents the bounds of the area to be hit tested.

percentageWithinLasso
Type: System.Int32

The acceptable length of the Stroke, as a percentage, for lassoPoints to contain.

Return Value

Type: System.Windows.Ink.StrokeCollection

A StrokeCollection that has strokes with at least the specified percentage within the Point array.

Exception Condition
ArgumentNullException

lassoPoints is null.

-or-

percentageWithinLasso is null.

ArgumentException

lassoPoints contains an empty array.

ArgumentOutOfRangeException

percentageWithinLasso is less than 0 or greater than 100.

The following example demonstrates how to remove all strokes that are at least 80 percent within the specified lasso from a StrokeCollection. This is useful when a custom control enables the user to select ink with a lasso. To create a control that enables a user to select ink with a lasso, see How to: Select Ink from a Custom Control.

// Remove the strokes within the lasso from the InkPresenter
public void RemoveStrokes(Point[] lasso)
{
    StrokeCollection strokes = presenter.Strokes.HitTest(lasso, 80);

    presenter.Strokes.Remove(strokes);

}

.NET Framework
Available since 3.0
Return to top
Show: