Ink​Manager Ink​Manager Ink​Manager Class

Definition

Note

For Universal Windows app using Extensible Application Markup Language (XAML), we recommend using InkPresenter and the InkCanvas control instead of InkManager.

Provides properties and methods to manage the input, manipulation, and processing (including handwriting recognition) of one or more InkStroke objects.

public : sealed class InkManager : IInkManager, IInkRecognizerContainer, IInkStrokeContainerpublic sealed class InkManager : IInkManager, IInkRecognizerContainer, IInkStrokeContainerPublic NotInheritable Class InkManager Implements IInkManager, IInkRecognizerContainer, IInkStrokeContainer
Attributes
Windows 10 requirements
Device family
Windows 10 (introduced v10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
API contract
Windows.Foundation.UniversalApiContract (introduced v1)

Examples

This example shows how to create an InkManager object.


var inkManager = new Windows.UI.Input.Inking.InkManager();

The following function demonstrates how to select all ink strokes on a canvas that are part of the stroke collection of this InkManager (inkManager).


function selectAll()
{
    inkManager.getStrokes().forEach(
        function (stroke) 
        {
            stroke.selected = 1;
        }
    );
}

For the complete example, see Ink App sample.

Remarks

If recognition is not required, use an InkStrokeContainer object instead of an InkManager. Previous recognition results are still available through GetRecognitionResults.

If only recognition is required, and not storage, use an InkRecognizerContainer instead of an InkManager.

Note

: This class is not agile, which means that you need to consider its threading model and marshaling behavior. For more info, see Threading and Marshaling (C++/CX) and Using Windows Runtime objects in a multithreaded environment (.NET).

Constructors

InkManager() InkManager() InkManager()

Note

For Universal Windows app using Extensible Application Markup Language (XAML), we recommend using InkPresenter and the InkCanvas control instead of InkManager.

Creates a new InkManager object that is used to manage InkStroke objects.

public : InkManager()public InkManager()Public Sub New()
Attributes
See Also

Properties

BoundingRect BoundingRect BoundingRect

Note

For Universal Windows app using Extensible Application Markup Language (XAML), we recommend using InkPresenter and the InkCanvas control instead of InkManager.

Gets the bounding rectangle of the InkStroke collection that is managed by the InkManager.

public : Rect BoundingRect { get; }public Rect BoundingRect { get; }Public ReadOnly Property BoundingRect As Rect
Value
Rect Rect Rect

The bounding rectangle of the InkStroke collection.

Attributes

Examples

This example shows how to get the BoundingRect for the InkStroke collection of an InkManager object.

var rect = inkManager.boundingRect;

For the complete example, see Ink App sample.

See Also

Mode Mode Mode

Note

For Universal Windows app using Extensible Application Markup Language (XAML), we recommend using InkPresenter and the InkCanvas control instead of InkManager.

Gets or sets the ink input mode.

public : InkManipulationMode Mode { get; set; }public InkManipulationMode Mode { get; set; }Public ReadWrite Property Mode As InkManipulationMode
Attributes
See Also

Methods

AddStroke(InkStroke) AddStroke(InkStroke) AddStroke(InkStroke)

Note

For Universal Windows app using Extensible Application Markup Language (XAML), we recommend using InkPresenter and the InkCanvas control instead of InkManager.

Adds one or more InkStroke objects to the collection managed by the InkManager.

public : void AddStroke(InkStroke stroke)public void AddStroke(InkStroke stroke)Public Function AddStroke(stroke As InkStroke) As void
Parameters
stroke
InkStroke InkStroke InkStroke

The ink stroke to be added.

stroke must be created by using the Clone method, or through a call to EndStroke or ProcessPointerUp. Empty or existing strokes are not valid.

Attributes
See Also

CanPasteFromClipboard() CanPasteFromClipboard() CanPasteFromClipboard()

Note

For Universal Windows app using Extensible Application Markup Language (XAML), we recommend using InkPresenter and the InkCanvas control instead of InkManager.

Identifies whether content on the clipboard can be added to the InkStroke collection that is managed by the InkManager.

Note

Clipboard content must be in Ink Serialized Format (ISF).

public : PlatForm::Boolean CanPasteFromClipboard()public bool CanPasteFromClipboard()Public Function CanPasteFromClipboard() As bool
Returns
PlatForm::Boolean bool bool

True if content can be pasted from the clipboard; otherwise, false.

Attributes
See Also

CopySelectedToClipboard() CopySelectedToClipboard() CopySelectedToClipboard()

Note

For Universal Windows app using Extensible Application Markup Language (XAML), we recommend using InkPresenter and the InkCanvas control instead of InkManager.

Copies the selected InkStroke objects (from the InkStroke collection managed by the InkManager ) to the clipboard in Ink Serialized Format (ISF) format.

public : void CopySelectedToClipboard()public void CopySelectedToClipboard()Public Function CopySelectedToClipboard() As void
Attributes
See Also

DeleteSelected() DeleteSelected() DeleteSelected()

Note

For Universal Windows app using Extensible Application Markup Language (XAML), we recommend using InkPresenter and the InkCanvas control instead of InkManager.

Deletes the selected InkStroke objects from the InkStroke collection managed by the InkManager.

public : Rect DeleteSelected()public Rect DeleteSelected()Public Function DeleteSelected() As Rect
Returns

The bounding rectangle of the selected ink strokes, or the invalidated rectangle (0, 0, 0, 0) if no strokes were removed (no selected strokes).

Attributes
See Also

GetRecognitionResults() GetRecognitionResults() GetRecognitionResults()

Note

For Universal Windows app using Extensible Application Markup Language (XAML), we recommend using InkPresenter and the InkCanvas control instead of InkManager.

Retrieves the collection of words returned by handwriting recognition.

public : IVectorView<InkRecognitionResult> GetRecognitionResults()public IReadOnlyList<InkRecognitionResult> GetRecognitionResults()Public Function GetRecognitionResults() As IReadOnlyList( Of InkRecognitionResult )
Returns
IVectorView<InkRecognitionResult> IReadOnlyList<InkRecognitionResult> IReadOnlyList<InkRecognitionResult>

The words returned by the handwriting recognizer as a collection of InkRecognitionResult objects.

Attributes
See Also

GetRecognizers() GetRecognizers() GetRecognizers()

Note

For Universal Windows app using Extensible Application Markup Language (XAML), we recommend using InkPresenter and the InkCanvas control instead of InkManager.

Gets the collection of installed handwriting recognizers.

public : IVectorView<InkRecognizer> GetRecognizers()public IReadOnlyList<InkRecognizer> GetRecognizers()Public Function GetRecognizers() As IReadOnlyList( Of InkRecognizer )
Returns
IVectorView<InkRecognizer> IReadOnlyList<InkRecognizer> IReadOnlyList<InkRecognizer>

The installed handwriting recognizers as a collection of InkRecognizer objects.

Attributes
See Also

GetStrokes() GetStrokes() GetStrokes()

Note

For Universal Windows app using Extensible Application Markup Language (XAML), we recommend using InkPresenter and the InkCanvas control instead of InkManager.

Retrieves all ink strokes in the collection managed by the InkManager.

public : IVectorView<InkStroke> GetStrokes()public IReadOnlyList<InkStroke> GetStrokes()Public Function GetStrokes() As IReadOnlyList( Of InkStroke )
Returns
IVectorView<InkStroke> IReadOnlyList<InkStroke> IReadOnlyList<InkStroke>

The ink strokes managed by the InkManager as a collection of InkStroke objects.

Attributes
See Also

LoadAsync(IInputStream) LoadAsync(IInputStream) LoadAsync(IInputStream)

Note

For Universal Windows app using Extensible Application Markup Language (XAML), we recommend using InkPresenter and the InkCanvas control instead of InkManager.

Asynchronously loads all InkStroke objects from the specified stream to the InkStroke collection that is managed by the InkManager.

Ink data is serialized as Ink Serialized Format (ISF) metadata and embedded into a Graphics Interchange Format (GIF) file.

public : IAsyncActionWithProgress<ulong> LoadAsync(IInputStream inputStream)public IAsyncActionWithProgress<ulong> LoadAsync(IInputStream inputStream)Public Function LoadAsync(inputStream As IInputStream) As IAsyncActionWithProgress( Of ulong )
Parameters
inputStream
IInputStream IInputStream IInputStream

The stream that contains the stroke collection. An IRandomAccessStream (requires IOutputStream ) object can be specified instead.

Returns

The status of the asynchronous operation as the number of bytes fetched. For more information, see ReadAsync method.

Attributes

Examples

The loadStrokes function in this example demonstrates how to:

  • Display a file open screen where the file type is constrained to Graphics Interchange Format (GIF) format using the FileOpenPicker object.
  • Set up an input stream through the OpenAsync method.
  • Use the LoadAsync method of an InkManager object (inkManager) to de-serialize the ink data from a Graphics Interchange Format (GIF) file (storageFile).
// Load strokes into an inkManager.
function loadStrokes()
{
    // Set up the file open screen.
    var openPicker = Windows.Storage.Pickers.FileOpenPicker();
    openPicker.suggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.picturesLibrary;
    openPicker.fileTypeFilter.replaceAll([".gif"]);

    // Set up the stream.
    var loadStream = null;

    // Asynchronously load the ink data from the stream.
    openPicker.pickSingleFileAsync().done(
        function (file)
        {
            if (null != file)
            {
                file.openAsync(Windows.Storage.FileAccessMode.read).then(
                    function (stream) {
                        loadStream = stream;
                        return inkManager.loadAsync(loadStream);
                    }).done(
                        function()
                        {
                            var strokes = inkManager.getStrokes().length;
                            if (strokes === 0)
                            {
                                statusMessage.innerText = "No strokes in file.";
                            }
                            else
                            {
                                statusMessage.innerText = strokes + " strokes loaded.";
                            }
                            renderAllStrokes();
                            loadStream.close();
                        },
                        function (e)
                        {
                            statusMessage.innerText = "Load failed.";
                            if (loadStream)
                            {
                                // Close the stream if open.
                                loadStream.close();
                            }
                        });
            }
        });
}

Remarks

Embedding the metadata into a Graphics Interchange Format (GIF) file enables ink to be viewed in applications that are not ink-enabled while maintaining full fidelity for ink-enabled applications. This format is ideal for transporting ink content within an HTML file and making it usable by both ink and non-ink applications.

Note

Ink Serialized Format (ISF) is the most compact persistent representation of ink. It can be embedded within a binary document format or placed directly on the Clipboard while preserving various ink properties such as pressure, width, color, tilt, twist, and so on.

See Also

MoveSelected(Point) MoveSelected(Point) MoveSelected(Point)

Note

For Universal Windows app using Extensible Application Markup Language (XAML), we recommend using InkPresenter and the InkCanvas control instead of InkManager.

Moves the selected strokes. All affected strokes are re-rendered.

public : Rect MoveSelected(Point translation)public Rect MoveSelected(Point translation)Public Function MoveSelected(translation As Point) As Rect
Parameters
translation
Point Point Point

The destination screen coordinates for the upper-left corner of the bounding rectangle of the selected strokes.

Returns

The bounding rectangle of the selected ink strokes.

Attributes

Remarks

The following can result from a call to MoveSelected:

  • Moving one or more strokes that make up part of a word results in the reprocessing of existing ink recognition results.
  • Moving all strokes that make up a word results in the recalculation of the BoundingRect of the InkRecognitionResult. Ink recognition is not reprocessed.
  • Moving one or more strokes results in the recalculation of the BoundingRect for each stroke.
  • Moving one or more strokes results in the recalculation of the BoundingRect of the InkManager.
See Also

PasteFromClipboard(Point) PasteFromClipboard(Point) PasteFromClipboard(Point)

Note

For Universal Windows app using Extensible Application Markup Language (XAML), we recommend using InkPresenter and the InkCanvas control instead of InkManager.

Adds the InkStroke content from the clipboard to the InkStroke collection that is managed by the InkManager and renders the new strokes..

public : Rect PasteFromClipboard(Point position)public Rect PasteFromClipboard(Point position)Public Function PasteFromClipboard(position As Point) As Rect
Parameters
position
Point Point Point

The screen coordinates for the upper-left corner of the bounding rectangle of the clipboard content.

Returns

The invalidated bounding rectangle of the InkStroke collection.

Attributes

Examples

Here we show how to test whether the content on the clipboard can be added to an InkStroke collection before calling the PasteFromClipboard method.

This example specifies the insertion point for the bounding rectangle at (100, 60), but this can be customized as required.


function paste(evt)
{
    var insertionPoint = {x: 100, y: 60};
    var canPaste = inkManager.canPasteFromClipboard();
    if (canPaste)
    {
        inkManager.pasteFromClipboard(insertionPoint);
        sdkSample.displayStatus("Pasted");
        renderAllStrokes();
    }
    else
    {
        sdkSample.displayStatus("Cannot paste");
    }
}

For the complete example, see Ink App sample.

Remarks

The content of the clipboard must be in Ink Serialized Format (ISF) format.

The InkStroke content from the clipboard is selected. Any existing selection is discarded.

See Also

ProcessPointerDown(PointerPoint) ProcessPointerDown(PointerPoint) ProcessPointerDown(PointerPoint)

Note

For Universal Windows app using Extensible Application Markup Language (XAML), we recommend using InkPresenter and the InkCanvas control instead of InkManager.

Processes information about the position and features of the contact point, like pressure and tilt, on initial down contact. You must call this method before you call ProcessPointerUpdate, and then ProcessPointerUp.

Important

This method is not supported in desktop apps.

public : void ProcessPointerDown(PointerPoint pointerPoint)public void ProcessPointerDown(PointerPoint pointerPoint)Public Function ProcessPointerDown(pointerPoint As PointerPoint) As void
Parameters
pointerPoint
PointerPoint PointerPoint PointerPoint

Information about the position and features of the contact point.

Attributes
See Also

ProcessPointerUp(PointerPoint) ProcessPointerUp(PointerPoint) ProcessPointerUp(PointerPoint)

Note

For Universal Windows app using Extensible Application Markup Language (XAML), we recommend using InkPresenter and the InkCanvas control instead of InkManager.

Processes information about the position and features of the contact point, like pressure and tilt, on up contact. You must call this method after you call ProcessPointerUpdate.

Important

This method is not supported in desktop apps.

public : Rect ProcessPointerUp(PointerPoint pointerPoint)public Rect ProcessPointerUp(PointerPoint pointerPoint)Public Function ProcessPointerUp(pointerPoint As PointerPoint) As Rect
Parameters
pointerPoint
PointerPoint PointerPoint PointerPoint

Information about the position and features of the contact point.

Returns

For Inking and Selecting modes, this is the bounding box for the stroke (invalidated rectangle). For Erasing mode, the invalidated rectangle is (0,0,0,0).

Attributes
See Also

ProcessPointerUpdate(PointerPoint) ProcessPointerUpdate(PointerPoint) ProcessPointerUpdate(PointerPoint)

Note

For Universal Windows app using Extensible Application Markup Language (XAML), we recommend using InkPresenter and the InkCanvas control instead of InkManager.

Processes position and state properties, such as pressure and tilt, for the specified pointer, from the last pointer event up to and including the current pointer event.Call this method after ProcessPointerDown and before ProcessPointerUp.

Important

This method is not supported in desktop apps.

public : PlatForm::Object ProcessPointerUpdate(PointerPoint pointerPoint)public object ProcessPointerUpdate(PointerPoint pointerPoint)Public Function ProcessPointerUpdate(pointerPoint As PointerPoint) As object
Parameters
pointerPoint
PointerPoint PointerPoint PointerPoint

The input pointer for which updates are to be processed.

Returns
PlatForm::Object object object

When the current InkManipulationMode is Inking or Selecting, this method returns the Point (screen position in ink space) associated with the last ProcessPointerUpdate of pointerPoint.

Attributes

Examples

The following example demonstrates a handler for an onmspointermove event.

Here, the unprocessed intermediate points (pts) since the last update are processed by the InkManager (inkManager) in the call to ProcessPointerUpdate.

function handlePointerMove(evt)
{
    try
    {
        evt.preventManipulation();
        if (evt.pointerId === penID)
        {
            var pt = evt.currentPoint;
            context.lineTo(pt.rawPosition.x, pt.rawPosition.y);
            context.stroke();
            var pts = evt.intermediatePoints;
            var i;
            for (i = pts.length - 1; i >= 0 ; i--)
            {
                inkManager.processPointerUpdate(pts[i]);
            }
        }
    }
    catch (e)
    {
        displayError("handlePointerMove " + e.toString());
    }
}

For the complete example, see Ink App sample.

See Also

RecognizeAsync(InkRecognitionTarget) RecognizeAsync(InkRecognitionTarget) RecognizeAsync(InkRecognitionTarget)

Note

For Universal Windows app using Extensible Application Markup Language (XAML), we recommend using InkPresenter and the InkCanvas control instead of InkManager.

Performs handwriting recognition on one or more InkStroke objects.

public : IAsyncOperation<IVectorView<InkRecognitionResult>> RecognizeAsync(InkRecognitionTarget recognitionTarget)public IAsyncOperation<IReadOnlyList<InkRecognitionResult>> RecognizeAsync(InkRecognitionTarget recognitionTarget)Public Function RecognizeAsync(recognitionTarget As InkRecognitionTarget) As IAsyncOperation( Of IReadOnlyListInkRecognitionResult )
Parameters
recognitionTarget
InkRecognitionTarget InkRecognitionTarget InkRecognitionTarget

One of the values from the InkRecognitionTarget enumeration.

Returns
IAsyncOperation<IVectorView<InkRecognitionResult>> IAsyncOperation<IReadOnlyList<InkRecognitionResult>> IAsyncOperation<IReadOnlyList<InkRecognitionResult>>

The results of the recognition as a collection of InkRecognitionResult objects. Each item in the results returned by recognition represents one written word. Each word is associated with a ranked list of text strings (retrieved through a call to GetTextCandidates ) as potential matches for the word.

Attributes

Remarks

Because RecognizeAsync does not automatically update the existing recognition results stored in the InkManager, UpdateRecognitionResults is typically called after RecognizeAsync has completed.

See Also

RecognizeAsync(InkStrokeContainer, InkRecognitionTarget) RecognizeAsync(InkStrokeContainer, InkRecognitionTarget) RecognizeAsync(InkStrokeContainer, InkRecognitionTarget)

Note

For Universal Windows app using Extensible Application Markup Language (XAML), we recommend using InkPresenter and the InkCanvas control instead of InkManager.

Performs handwriting recognition on one or more InkStroke objects.

public : IAsyncOperation<IVectorView<InkRecognitionResult>> RecognizeAsync(InkStrokeContainer strokeCollection, InkRecognitionTarget recognitionTarget)public IAsyncOperation<IReadOnlyList<InkRecognitionResult>> RecognizeAsync(InkStrokeContainer strokeCollection, InkRecognitionTarget recognitionTarget)Public Function RecognizeAsync(strokeCollection As InkStrokeContainer, recognitionTarget As InkRecognitionTarget) As IAsyncOperation( Of IReadOnlyListInkRecognitionResult )
Parameters
strokeCollection
InkStrokeContainer InkStrokeContainer InkStrokeContainer

The set of strokes on which recognition is performed.

recognitionTarget
InkRecognitionTarget InkRecognitionTarget InkRecognitionTarget

One of the values from the InkRecognitionTarget enumeration.

Returns
IAsyncOperation<IVectorView<InkRecognitionResult>> IAsyncOperation<IReadOnlyList<InkRecognitionResult>> IAsyncOperation<IReadOnlyList<InkRecognitionResult>>

The results of the recognition as a collection of InkRecognitionResult objects.Each item in the results returned by recognition represents one written word. Each word is associated with a ranked list of text strings (retrieved through a call to GetTextCandidates ) as potential matches for the word.

Attributes

Remarks

Because RecognizeAsync does not automatically update the existing recognition results stored in the InkManager, UpdateRecognitionResults is typically called after RecognizeAsync has completed.

See Also

SaveAsync(IOutputStream) SaveAsync(IOutputStream) SaveAsync(IOutputStream)

Note

For Universal Windows app using Extensible Application Markup Language (XAML), we recommend using InkPresenter and the InkCanvas control instead of InkManager.

Asynchronously saves all InkStroke objects in the InkStroke collection that is managed by the InkManager to the specified stream.

Ink data is serialized as Ink Serialized Format (ISF) metadata and embedded into a Graphics Interchange Format (GIF) file.

public : IAsyncOperationWithProgress<unsigned short, unsigned short> SaveAsync(IOutputStream outputStream)public IAsyncOperationWithProgress<uint, uint> SaveAsync(IOutputStream outputStream)Public Function SaveAsync(outputStream As IOutputStream) As IAsyncOperationWithProgress( Of uint, uint )
Parameters
outputStream
IOutputStream IOutputStream IOutputStream

The target stream. An IRandomAccessStream (requires IOutputStream ) object can be specified instead.

Returns
IAsyncOperationWithProgress<unsigned short, unsigned short> IAsyncOperationWithProgress<uint, uint> IAsyncOperationWithProgress<uint, uint>

The size of the saved stream and the status of the asynchronous operation as the number of bytes sent. For more information, see WriteAsync method.

Attributes

Examples

The saveStrokes function in this example demonstrates how to:

  • Display a file save screen where the file type is constrained to Graphics Interchange Format (GIF) format using the FileSavePicker object.
  • Set up an output stream through the OpenAsync method.
  • Use the SaveAsync method of an InkManager object (inkManager) to serialize the ink data to an output stream and embed it into a Graphics Interchange Format (GIF) file (storageFile).
// Save all strokes owned by inkManager.
function saveStrokes()
{
    // Ensure that strokes exist before calling saveAsync.
    if (inkManager.getStrokes().size > 0)
    {
        // Set up the file save screen.
        var savePicker = Windows.Storage.Pickers.FileSavePicker();
        savePicker.suggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.picturesLibrary;
        savePicker.fileTypeChoices.insert("GIF with embedded ISF", [".gif"]);
        savePicker.defaultFileExtension = ".gif";

        // Set up the stream.
        var saveStream = null;

        // Asynchronously save the ink data to the stream.
        savePicker.pickSaveFileAsync().done(
        function (file)
        {
            if (null !== file)
            {
                file.openAsync(Windows.Storage.FileAccessMode.readWrite).then(
                    function (stream)
                    {
                        saveStream = stream;
                        return inkManager.saveAsync(saveStream);
                    }
                ).then(
                    function ()
                    {
                        return saveStream.flushAsync(); 
                    },
                    function (e) {
                        // Override the standard saveAsync error with our own.
                        throw new Error("saveAsync");
                    }
                ).done(
                    function ()
                    {
                        statusMessage.innerText = "Strokes saved as GIF with embedded ISF (.gif).";
                        saveStream.close();
                    },
                    function (e) {
                        statusMessage.innerText = "Save: " + e.toString();
                        // Close the stream if open.
                        if (saveStream) {
                            saveStream.close();
                        }
                    }
                );
            }
        }
    );
    }
    else
    {
        statusMessage.innerText = "No strokes to save.";
    }
}

Remarks

Embedding the metadata into a Graphics Interchange Format (GIF) file enables ink to be viewed in applications that are not ink-enabled while maintaining full fidelity for ink-enabled applications. This format is ideal for transporting ink content within an HTML file and making it usable by both ink and non-ink applications.

Note

Ink Serialized Format (ISF) is the most compact persistent representation of ink. It can be embedded within a binary document format or placed directly on the Clipboard while preserving various ink properties such as pressure, width, color, tilt, twist, and so on.

See Also

SelectWithLine(Point, Point) SelectWithLine(Point, Point) SelectWithLine(Point, Point)

Note

For Universal Windows app using Extensible Application Markup Language (XAML), we recommend using InkPresenter and the InkCanvas control instead of InkManager.

Selects all strokes intersected by the new stroke.

Note

The Selected flag is reset for all other strokes in the collection.

public : Rect SelectWithLine(Point from, Point to)public Rect SelectWithLine(Point from, Point to)Public Function SelectWithLine(from As Point, to As Point) As Rect
Parameters
from
Point Point Point

The start of the stroke.

to
Point Point Point

The end of the stroke.

Returns

The bounding rectangle of the selected ink strokes.

Attributes
See Also

SelectWithPolyLine(IIterable<Point>) SelectWithPolyLine(IIterable<Point>) SelectWithPolyLine(IIterable<Point>)

Note

For Universal Windows app using Extensible Application Markup Language (XAML), we recommend using InkPresenter and the InkCanvas control instead of InkManager.

Selects all strokes contained entirely within the polyline.

Note

The Selected flag is reset for all other strokes in the collection.

.

public : Rect SelectWithPolyLine(IIterable<Point> polyline)public Rect SelectWithPolyLine(IEnumerable<Point> polyline)Public Function SelectWithPolyLine(polyline As IEnumerable<Point>) As Rect
Parameters
polyline
IIterable<Point> IEnumerable<Point> IEnumerable<Point>

The points of the polyline.

Returns

The bounding rectangle of the selected ink strokes.

Attributes
See Also

SetDefaultDrawingAttributes(InkDrawingAttributes) SetDefaultDrawingAttributes(InkDrawingAttributes) SetDefaultDrawingAttributes(InkDrawingAttributes)

Note

For Universal Windows app using Extensible Application Markup Language (XAML), we recommend using InkPresenter and the InkCanvas control instead of InkManager.

Sets the default InkDrawingAttributes for all new InkStroke objects added to the InkStroke collection managed by the InkManager.

SetDefaultDrawingAttributes does not affect the current stroke, or any existing strokes.

public : void SetDefaultDrawingAttributes(InkDrawingAttributes drawingAttributes)public void SetDefaultDrawingAttributes(InkDrawingAttributes drawingAttributes)Public Function SetDefaultDrawingAttributes(drawingAttributes As InkDrawingAttributes) As void
Parameters
drawingAttributes
InkDrawingAttributes InkDrawingAttributes InkDrawingAttributes

The default attributes applied to a new ink stroke.

Attributes
See Also

SetDefaultRecognizer(InkRecognizer) SetDefaultRecognizer(InkRecognizer) SetDefaultRecognizer(InkRecognizer)

Note

For Universal Windows app using Extensible Application Markup Language (XAML), we recommend using InkPresenter and the InkCanvas control instead of InkManager.

Sets the default InkRecognizer used for handwriting recognition.

public : void SetDefaultRecognizer(InkRecognizer recognizer)public void SetDefaultRecognizer(InkRecognizer recognizer)Public Function SetDefaultRecognizer(recognizer As InkRecognizer) As void
Parameters
Attributes
See Also

UpdateRecognitionResults(IVectorView<InkRecognitionResult>) UpdateRecognitionResults(IVectorView<InkRecognitionResult>) UpdateRecognitionResults(IVectorView<InkRecognitionResult>)

Note

For Universal Windows app using Extensible Application Markup Language (XAML), we recommend using InkPresenter and the InkCanvas control instead of InkManager.

Updates the collection of potential text matches from handwriting recognition.

public : void UpdateRecognitionResults(IVectorView<InkRecognitionResult> recognitionResults)public void UpdateRecognitionResults(IReadOnlyList<InkRecognitionResult> recognitionResults)Public Function UpdateRecognitionResults(recognitionResults As IReadOnlyList<InkRecognitionResult>) As void
Parameters
recognitionResults
IVectorView<InkRecognitionResult> IReadOnlyList<InkRecognitionResult> IReadOnlyList<InkRecognitionResult>

The results returned by recognition, where each InkRecognitionResult object represents one written word.

Note

Each word is associated with a ranked list of text strings (retrieved through a call to GetTextCandidates ) as potential matches for the word.

Attributes
See Also

See Also