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);
}
JScript does not support events.

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.

Examples

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 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