InkAnalyzer.DirtyRegion Property

Gets the area that has changed since the last analysis operation.

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

Syntax

'Declaration
Public ReadOnly Property DirtyRegion As AnalysisRegion
'Usage
Dim instance As InkAnalyzer 
Dim value As AnalysisRegion 

value = instance.DirtyRegion
public AnalysisRegion DirtyRegion { get; }
public:
property AnalysisRegion^ DirtyRegion {
    AnalysisRegion^ get ();
}
public function get DirtyRegion () : AnalysisRegion

Property Value

Type: Microsoft.Ink.AnalysisRegion
The area that has changed since the last analysis operation.

Remarks

This property identifies the areas that need to be analyzed or reanalyzed. All of the InkAnalyzer methods that add, remove, or update stroke data update the DirtyRegion. To manually mark an area for reanalysis, use the DirtyRegion object's Union method.

Only ink within the DirtyRegion of the InkAnalyzer is analyzed during a call to the Analyze or BackgroundAnalyze method.

This property may contain nonadjacent areas.

Examples

This example demonstrates user-initiated ink analysis within a form application. An event handler, theInkAnalyzeMenuItem_Click, handles the user request for analysis results. The event handler performs analysis only if the InkAnalyzer object's DirtyRegion is not empty.

''' <summary> 
''' The Analyze menu item's Click event handler. 
''' </summary> 
''' <param name="sender">The source of the event.</param> 
''' <param name="e">The event data.</param> 
Private Sub theInkAnalyzeMenuItem_Click( _
    ByVal sender As System.Object, ByVal e As System.EventArgs) _
    Handles theInkAnalyzeMenuItem.Click

    ' Only start ink analysis if the dirty region is not empty. 
    If Not Me.theInkAnalyzer.DirtyRegion.IsEmpty Then 
        ' Perform the ink analysis. 
        Dim theStatus As Microsoft.Ink.AnalysisStatus = _
            Me.theInkAnalyzer.Analyze()

        ' Update the analysis results on the form. 
        Me.UpdateResults(theStatus)
    End If 

End Sub 'theInkAnalyzeMenuItem_Click
/// <summary> 
/// The Ink menu's Analyze menu item's Click event handler. 
/// </summary> 
/// <param name="sender">The source of the event.</param>
/// <param name="e">The event data.</param>
private void theInkAnalyzeMenuItem_Click(object sender, EventArgs e)
{
    // Only start ink analysis if the dirty region is not empty. 
    if (!this.theInkAnalyzer.DirtyRegion.IsEmpty)
    {
        // Perform the ink analysis.
        Microsoft.Ink.AnalysisStatus theStatus =
            this.theInkAnalyzer.Analyze();

        // Update the analysis results on the form. 
        this.UpdateResults(theStatus);
    }
}

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

InkAnalyzer.Analyze

InkAnalyzer.BackgroundAnalyze

InkAnalyzer.AddStroke

InkAnalyzer.AddStrokes

InkAnalyzer.RemoveStroke

InkAnalyzer.RemoveStrokes