Share via


InkAnalyzer.GetStrokeType Method

Returns the type of a Stroke.

Namespace:  Microsoft.Ink
Assembly:  Microsoft.Ink.Analysis (in Microsoft.Ink.Analysis.dll)

Syntax

'Declaration
Public Function GetStrokeType ( _
    stroke As Stroke _
) As StrokeType
'Usage
Dim instance As InkAnalyzer 
Dim stroke As Stroke 
Dim returnValue As StrokeType 

returnValue = instance.GetStrokeType(stroke)
public StrokeType GetStrokeType(
    Stroke stroke
)
public:
StrokeType GetStrokeType(
    Stroke^ stroke
)
public function GetStrokeType(
    stroke : Stroke
) : StrokeType

Parameters

Return Value

Type: Microsoft.Ink.StrokeType
The classification of stroke.

Remarks

If the stroke's type is the Microsoft.Ink.StrokeType value Unspecified, the InkAnalyzer classifies the stroke during ink analysis. Otherwise, the InkAnalyzer uses the type set on the stroke.

To specify or change the stroke type, use InkAnalyzer.SetStrokeType or InkAnalyzer.SetStrokesType.

Examples

This example defines a method, GetStrokeTypesInNode, for returning all the types for the strokes in a ContextNode.

''' <summary> 
''' Returns the locale identifiers for all the strokes in the node. 
''' </summary> 
''' <param name="theInkAnalyzer">The ink analyzer containing the node.</param> 
''' <param name="theContextNode">The node to check.</param> 
''' <returns>An array of unique locale identifiers.</returns> 
Private Function GetStrokeTypesInNode( _
    ByVal theInkAnalyzer As Microsoft.Ink.InkAnalyzer, _
    ByVal theContextNode As Microsoft.Ink.ContextNode) _
    As Microsoft.Ink.StrokeType()

    ' Iterate through the strokes within the context node and add the 
    ' stroke types to a collection. 
    Dim theLanguages As New System.Collections.ArrayList()
    Dim theStroke As Microsoft.Ink.Stroke
    For Each theStroke In theContextNode.Strokes
        Dim theStrokeType As Microsoft.Ink.StrokeType = _
            theInkAnalyzer.GetStrokeType(theStroke)
        If Not theLanguages.Contains(theStrokeType) Then
            theLanguages.Add(theStrokeType)
        End If 
    Next theStroke

    ' Return the elements of the collection as an array. 
    Return CType(theLanguages.ToArray(GetType(Microsoft.Ink.StrokeType)), _
        Microsoft.Ink.StrokeType())

End Function 'GetStrokeTypesInNode
/// <summary> 
/// Returns the locale identifiers for all the strokes in the node. 
/// </summary> 
/// <param name="theInkAnalyzer">The ink analyzer containing the node.</param>
/// <param name="theContextNode">The node to check.</param>
/// <returns>An array of unique locale identifiers.</returns> 
private Microsoft.Ink.StrokeType[] GetStrokeTypesInNode(
    Microsoft.Ink.InkAnalyzer theInkAnalyzer,
    Microsoft.Ink.ContextNode theContextNode)
{
    // Iterate through the strokes within the context node and add the 
    // stroke types to a collection.
    System.Collections.ArrayList theLanguages =
        new System.Collections.ArrayList();
    foreach (Microsoft.Ink.Stroke theStroke in theContextNode.Strokes)
    {
        Microsoft.Ink.StrokeType theStrokeType =
            theInkAnalyzer.GetStrokeType(theStroke);
        if (!theLanguages.Contains(theStrokeType))
        {
            theLanguages.Add(theStrokeType);
        }
    }

    // Return the elements of the collection as an array. 
    return (Microsoft.Ink.StrokeType[])
        (theLanguages.ToArray(typeof(Microsoft.Ink.StrokeType)));
}

Platforms

Windows 7, Windows Vista, Windows Server 2008 R2, Windows Server 2008

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Version Information

.NET Framework

Supported in: 3.0

See Also

Reference

InkAnalyzer Class

InkAnalyzer Members

Microsoft.Ink Namespace

Microsoft.Ink.StrokeType