MatchesCriteriaCallback Delegate

Represents a function that is used to evaluate if a ContextNode object meets or fails a specified criteria.

Namespace: System.Windows.Ink
Assembly: IAWinFX (in iawinfx.dll)

Syntax

'Declaration
Public Delegate Function MatchesCriteriaCallback ( _
    visitingNode As ContextNode, _
    data As Object _
) As Boolean
'Usage
Dim instance As New MatchesCriteriaCallback(AddressOf HandlerMethod)
public delegate bool MatchesCriteriaCallback (
    ContextNode visitingNode,
    Object data
)
public delegate bool MatchesCriteriaCallback (
    ContextNode^ visitingNode, 
    Object^ data
)
/** @delegate */
public delegate boolean MatchesCriteriaCallback (
    ContextNode visitingNode, 
    Object data
)
Not applicable.

Parameters

  • visitingNode
    The ContextNode object that will be checked against the criteria.
  • data
    Optional data that can be used for the criteria.

Return Value

Whether the visitingNode object matches the criteria.

Example

The following example finds the collection of ContextNode objects in an InkAnalyzer, theInkAnalyzer, that satisfies the criteria specified in the MatchesCriteriaCallBack delegate function, LineIsLowerThan, by using an integer, yValue.

Dim lineIsLowerThanCallback As New MatchesCriteriaCallback(AddressOf LineIsLowerThan)
Dim nodesBelowYValue As ContextNodeCollection = theInkAnalyzer.FindNodes(lineIsLowerThanCallback, yValue)
MatchesCriteriaCallback
    lineIsLowerThanCallback = new MatchesCriteriaCallback(LineIsLowerThan);
ContextNodeCollection nodesBelowYValue =
    theInkAnalyzer.FindNodes(lineIsLowerThanCallback, yValue);

LineIsLowerThan returns a true if the ContextNode is a LineNode and if the bottom of the bounding box is lower than an integer that is passed in. Therefore, the nodesBelowYValue collection contains all lines with strokes below the value, yValue. Remember that higher y values appear lower on the screen.

Public Function LineIsLowerThan(ByVal node As ContextNode, ByVal data As Object) As Boolean 
    ' Return false if not a line
    If Not TypeOf node Is LineNode Then
        Return False
    End If 
    ' Check if bottom is lower than yValue passed in
    Dim yValue As Double = System.Convert.ToDouble(data)
    Return node.Location.GetBounds().Bottom > yValue

End Function 'LineIsLowerThan
public bool LineIsLowerThan(ContextNode node, object data)
{
    // Return false if not a line
    if (!(node is LineNode))
        return false;

    // Check if bottom is lower than yValue passed in
    double yValue = (double)data;
    return (node.Location.GetBounds().Bottom > yValue);
}

Platforms

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

Version Information

.NET Framework

Supported in: 3.0

See Also

Reference

System.Windows.Ink Namespace
System.Windows.Ink.InkAnalyzer.FindNodes