Share via


InkAnalyzer.ReadyToReconcile Event

Occurs when the ink analyzer is ready to reconcile background analysis results with the current state of the analyzer.

Namespace: Microsoft.Ink
Assembly: Microsoft.Ink.Analysis (in microsoft.ink.analysis.dll)

Syntax

'Declaration
Public Event ReadyToReconcile As ReadyToReconcileEventHandler
'Usage
Dim instance As InkAnalyzer
Dim handler As ReadyToReconcileEventHandler

AddHandler instance.ReadyToReconcile, handler
public event ReadyToReconcileEventHandler ReadyToReconcile
public:
event ReadyToReconcileEventHandler^ ReadyToReconcile {
    void add (ReadyToReconcileEventHandler^ value);
    void remove (ReadyToReconcileEventHandler^ value);
}
/** @event */
public void add_ReadyToReconcile (ReadyToReconcileEventHandler value)

/** @event */
public void remove_ReadyToReconcile (ReadyToReconcileEventHandler value)
In JScript, you can handle the events defined by a class, but you cannot define your own.
Not applicable.

Remarks

The InkAnalyzer performs automatic reconciliation when the AnalysisModes property has the AnalysisModes flag AutomaticReconciliationEnabled set. When the AutomaticReconciliationEnabled flag is not set, your application needs to reconcile background analysis results manually.

To handle manual reconciliation, follow these steps.

  1. Clear the AutomaticReconciliationEnabled flag in the AnalysisModes property of the InkAnalyzer.

  2. Add an event handler for the ReadyToReconcile event.

  3. To reconcile the analysis results, call the Reconcile method from the event handler for the ReadyToReconcile event. To cancel the current background analysis operation, call the Abort method from the event handler for the ReadyToReconcile event.

The ink analyzer raises this event before it raises the InkAnalyzerStateChanging event.

For more information about synchronizing your application data with the InkAnalyzer, see Data Proxy with Ink Analysis.

The ink analyzer raises this event during background analysis.

Example

The following example defines a method, theInkAnalyzer_ReadyToReconcile, that handles the ReadyToReconcile event of an InkAnalyzer. If the Boolean value abortAnalysis is set, theInkAnalyzerBase_ReadyToReconcile aborts the analysis operation. Otherwise, it performs manual reconciliation and continues with the analysis operation.

''' <summary>
''' Handles the StrokeReparentedBase event of an InkAnalyzerBase.
''' </summary>
''' <param name="sender">The source of the event.</param>
''' <param name="e">The event data.</param>
Sub theInkAnalyzer_ReadyToReconcile( _
ByVal sender As Object, _
ByVal e As EventArgs)
    ' The source is an InkAnalyzerBase.
    Dim theInkAnalyzerBase As Microsoft.Ink.InkAnalyzer = _
        DirectCast(sender, Microsoft.Ink.InkAnalyzer)

    ' Check whether or not to abort analysis before continuing.
    If Me.abortAnalysis Then
        ' Abort analysis and update the analyzer's dirty region.
        Dim unanalyzedRegion As Microsoft.Ink.AnalysisRegion = _
            theInkAnalyzerBase.Abort()
        theInkAnalyzerBase.DirtyRegion.Union(unanalyzedRegion)
    Else
        ' Manually reconcile the analysis results for this analysis phase.
        theInkAnalyzerBase.Reconcile()
    End If

End Sub 'theInkAnalyzer_ReadyToReconcile
/// <summary>
/// Handles the ReadyToReconcile event of an InkAnalyzerBase.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The event data.</param>
void theInkAnalyzer_ReadyToReconcile(object sender, EventArgs e)
{
    // The source is an InkAnalyzer.
    Microsoft.Ink.InkAnalyzer theInkAnalyzerBase =
        sender as Microsoft.Ink.InkAnalyzer;

    // Check whether or not to abort analysis before continuing.
    if (this.abortAnalysis)
    {
        // Abort analysis and update the analyzer's dirty region.
        Microsoft.Ink.AnalysisRegion unanalyzedRegion =
            theInkAnalyzerBase.Abort();
        theInkAnalyzerBase.DirtyRegion.Union(unanalyzedRegion);
    }
    else
    {
        // Manually reconcile the analysis results for this analysis phase.
        theInkAnalyzerBase.Reconcile();
    }
}

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

InkAnalyzer Class
InkAnalyzer Members
Microsoft.Ink Namespace