Share via


InkWordNode Class

Represents a ContextNode for a collection of strokes that make up a logical grouping to form a recognizable word.

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

Syntax

'Declaration
Public NotInheritable Class InkWordNode _
    Inherits ContextNode
'Usage
Dim instance As InkWordNode
public sealed class InkWordNode : ContextNode
public ref class InkWordNode sealed : public ContextNode
public final class InkWordNode extends ContextNode

Remarks

An InkWordNode object cannot contain any children.

Examples

The following example loops through all InkWordNode objects from an InkAnalyzer, theInkAnalyzer, and then draws lines that show the rotated bounding rectangle, the ascender, the descender, the midline, and the baseline. The lines are drawn on a Panel, theNotesPanel.

    Dim panelGraphics As Graphics = theNotesPanel.CreateGraphics()
    Dim theRenderer As Renderer = theInkCollector.Renderer

    ' Loop through all of the ink words 
    Dim inkWords As ContextNodeCollection = _
        theInkAnalyzer.FindNodesOfType(Microsoft.Ink.ContextNodeType.InkWord)
    Dim inkWord As InkWordNode
    For Each inkWord In inkWords
        ' Show rotated bounding box in blue 
        ' Convert corners to pixel coordinates 
        Dim corners As Point() = inkWord.GetRotatedBoundingBox()
        theRenderer.InkSpaceToPixel(panelGraphics, corners)
        ' Draw the rectangle
        panelGraphics.DrawPolygon(New Pen(Color.Blue), corners)

        ' Show the ascender line in green 
        Dim ascenderPoints As Point() = inkWord.GetAscender()
        ' Convert to pixel coordinates
        theRenderer.InkSpaceToPixel(panelGraphics, ascenderPoints)
        panelGraphics.DrawLines(New Pen(Color.Green), ascenderPoints)

        ' Show the baseline in purple 
        Dim basePoints As Point() = inkWord.GetBaseline()
        ' Convert to pixel coordinates
        theRenderer.InkSpaceToPixel(panelGraphics, basePoints)
        panelGraphics.DrawLines(New Pen(Color.Purple), basePoints)

        ' Show the descender line in yellow 
        Dim descenderPoints As Point() = inkWord.GetDescender()
        ' Convert to pixel coordinates
        theRenderer.InkSpaceToPixel(panelGraphics, descenderPoints)
        panelGraphics.DrawLines(New Pen(Color.Yellow), descenderPoints)

        ' Show the mid line in brown 
        Dim midlinePoints As Point() = inkWord.GetMidline()
        ' Convert to pixel coordinates
        theRenderer.InkSpaceToPixel(panelGraphics, midlinePoints)
        panelGraphics.DrawLines(New Pen(Color.Brown), midlinePoints)
    Next inkWord

    panelGraphics.Dispose()

End Sub 'inkWordMenuItem_Click
          Graphics panelGraphics = theNotesPanel.CreateGraphics();
            Renderer theRenderer = theInkCollector.Renderer;

            // Loop through all of the ink words
            ContextNodeCollection inkWords =
                theInkAnalyzer.FindNodesOfType(Microsoft.Ink.ContextNodeType.InkWord);
            foreach (InkWordNode inkWord in inkWords)
            {
                // Show rotated bounding box in blue 
                // Convert corners to pixel coordinates
                Point[] corners = inkWord.GetRotatedBoundingBox();
                theRenderer.InkSpaceToPixel(panelGraphics, ref corners);
                // Draw the rectangle
                panelGraphics.DrawPolygon(new Pen(Color.Blue), corners);

                // Show the ascender line in green
                Point[] ascenderPoints = inkWord.GetAscender();
                // Convert to pixel coordinates
                theRenderer.InkSpaceToPixel(panelGraphics, ref ascenderPoints);
                panelGraphics.DrawLines(new Pen(Color.Green), ascenderPoints);

                // Show the baseline in purple
                Point[] basePoints = inkWord.GetBaseline();
                // Convert to pixel coordinates
                theRenderer.InkSpaceToPixel(panelGraphics, ref basePoints);
                panelGraphics.DrawLines(new Pen(Color.Purple), basePoints);

                // Show the descender line in yellow
                Point[] descenderPoints = inkWord.GetDescender();
                // Convert to pixel coordinates
                theRenderer.InkSpaceToPixel(panelGraphics, ref descenderPoints);
                panelGraphics.DrawLines(new Pen(Color.Yellow), descenderPoints);

                // Show the mid line in brown
                Point[] midlinePoints = inkWord.GetMidline();
                // Convert to pixel coordinates
                theRenderer.InkSpaceToPixel(panelGraphics, ref midlinePoints);
                panelGraphics.DrawLines(new Pen(Color.Brown), midlinePoints);
            }

            panelGraphics.Dispose();

Inheritance Hierarchy

System.Object
  Microsoft.Ink.ContextNode
    Microsoft.Ink.InkWordNode

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

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

InkWordNode Members

Microsoft.Ink Namespace