Share via


InkAnalyzer.AddStrokes Method (Strokes)

Adds a collection of strokes to the InkAnalyzer and assigns the active input thread's locale identifier to each stroke.

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

Syntax

'Declaration
Public Function AddStrokes ( _
    strokesToAdd As Strokes _
) As ContextNode
'Usage
Dim instance As InkAnalyzer 
Dim strokesToAdd As Strokes 
Dim returnValue As ContextNode 

returnValue = instance.AddStrokes(strokesToAdd)
public ContextNode AddStrokes(
    Strokes strokesToAdd
)
public:
ContextNode^ AddStrokes(
    Strokes^ strokesToAdd
)
public function AddStrokes(
    strokesToAdd : Strokes
) : ContextNode

Parameters

Return Value

Type: Microsoft.Ink.ContextNode
The ContextNode to which strokesToAdd was added.

Remarks

The InkAnalyzer adds the Strokes to an UnclassifiedInkNode in the RootNode property's SubNodes collection. Each stroke in the Strokes collection, strokesToAdd, is assigned the locale identifier of the active input thread and is added to the first UnclassifiedInkNode containing strokes with the same locale identifier. If no such UnclassifiedInkNode exists, a new UnclassifiedInkNode is created and strokeToAdd is added to the new UnclassifiedInkNode.

This method expands the DirtyRegion to the union of the region's current value and the bounding box of the added strokes.

If any of the strokes are already attached to the InkAnalyzer, the InkAnalyzer throws an exception.

Examples

This example does the following.

  • Initializes a new Microsoft.Ink.Ink object, theInk.

  • Attaches a Ink.InkAdded event handler, theInk_InkAdded, to theInk

  • Initializes a new InkAnalyzer, theInkAnalyzer, that can analyze stroke data from theInk.

' Create the Ink for use with the InkCollector and attach 
' event handlers. 
Me.theInk = New Microsoft.Ink.Ink()
AddHandler Me.theInk.InkAdded, AddressOf theInk_InkAdded

' Create the InkAnalyzer. 
Me.theInkAnalyzer = New Microsoft.Ink.InkAnalyzer(Me.theInk, Me)
// Create the Ink for use with the InkCollector and attach 
// event handlers. 
this.theInk = new Microsoft.Ink.Ink();
this.theInk.InkAdded +=
    new Microsoft.Ink.StrokesEventHandler(theInk_InkAdded);

// Create the InkAnalyzer. 
this.theInkAnalyzer =
    new Microsoft.Ink.InkAnalyzer(this.theInk, this);

In this example, the theInk_InkAdded event handler then takes the strokes that have been added to the theInk and adds them to theInkAnalyzer.

''' <summary> 
''' The ink's InkAdded event handler. 
''' </summary> 
''' <param name="sender">The source of the event.</param> 
''' <param name="e">The event data.</param> 
Sub theInk_InkAdded( _
    ByVal sender As Object, ByVal e As Microsoft.Ink.StrokesEventArgs)

    ' This event handler is attached to an Ink object. 
    Dim theInk As Microsoft.Ink.Ink = DirectCast(sender, Microsoft.Ink.Ink)

    ' Add the new strokes to the InkAnalyzer. 
    Me.theInkAnalyzer.AddStrokes(theInk.CreateStrokes(e.StrokeIds))

End Sub 'theInk_InkAdded
/// <summary> 
/// The ink's InkAdded event handler. 
/// </summary> 
/// <param name="sender">The source of the event.</param>
/// <param name="e">The event data.</param>
void theInk_InkAdded(object sender, Microsoft.Ink.StrokesEventArgs e)
{
    // This event handler is attached to an Ink object.
    Microsoft.Ink.Ink theInk = sender as Microsoft.Ink.Ink;

    // Add the new strokes to the InkAnalyzer. 
    this.theInkAnalyzer.AddStrokes(theInk.CreateStrokes(e.StrokeIds));
}

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

AddStrokes Overload

Microsoft.Ink Namespace

InkAnalyzer.AddStroke

InkAnalyzer.RemoveStroke

InkAnalyzer.RemoveStrokes