←Select platform

InvalidRectangle Property

Summary

Gets the physical bounding rectangle of this AnnObject.

Syntax

C#
VB
C++
public virtual Rectangle InvalidRectangle { get; } 
  
Public Overridable ReadOnly Property InvalidRectangle As Rectangle 
public: 
virtual property Rectangle InvalidRectangle { 
   Rectangle get(); 
} 

Property Value

The physical bounding rectangle of this AnnObject.

Remarks

This method returns the physical bounding rectangle of this AnnObject. This bounding rectangle consists of the union of the following rectangles:

  • The bounding rectangle of the graphics path returned from the GetGraphicsPath method with a AnnGetGraphicsPathMode value of Bound. This rectangle is then transformed using the PhysicalTransform matrix to convert the rectangle to physical coordinates. Finally this rectangle is adjusted by the physical width of the pen used to draw this object.
  • The physical bounding rectangle of the locked picture if this object is locked. Refer to Lock, LockPicture.
  • The physical bounding rectangle of the name text if the name of this AnnObject is visible. Refer to Name, NameFont, NameOffset and NameVisible.

This rectangle can be used to calculate the invalid region needed to re-paint this object inside its container. The annotation automation toolkit uses this value to speed up re-painting the owner control when an object changes position or appearance.

Example

This example will change an object's name and then re-paint it inside its container.

C#
VB
using Leadtools; 
using Leadtools.Annotations; 
using Leadtools.Codecs; 
using Leadtools.WinForms; 
using Leadtools.Drawing; 
 
private void AnnObject_InvalidRectangle(AnnObject obj, string name, RasterImageViewer viewer) 
{ 
   // first save the old invalid rectangle 
   Rectangle rcOld = obj.InvalidRectangle; 
 
   // set the name 
   obj.Name = name; 
   obj.NameVisible = true; 
   obj.NameFont = new AnnFont("Arial", new AnnLength(10, AnnUnit.Point), FontStyle.Bold | FontStyle.Italic); 
 
   // get the new invalid rectangle 
   Rectangle rcNew = obj.InvalidRectangle; 
 
   // re-paint this object by invalidating the union of both rectangles 
   viewer.Invalidate(Rectangle.Union(rcOld, rcNew)); 
} 
Imports Leadtools 
Imports Leadtools.Annotations 
Imports Leadtools.Codecs 
Imports Leadtools.WinForms 
Imports Leadtools.Drawing 
 
Private Sub AnnObject_InvalidRectangle(ByVal obj As AnnObject, ByVal name As String, ByVal viewer As RasterImageViewer) 
   ' first save the old invalid rectangle 
   Dim rcOld As Rectangle = obj.InvalidRectangle 
 
   ' set the name 
   obj.Name = name 
   obj.NameVisible = True 
   obj.NameFont = New AnnFont("Arial", New AnnLength(10, AnnUnit.Point), FontStyle.Bold Or FontStyle.Italic) 
 
   ' get the new invalid rectangle 
   Dim rcNew As Rectangle = obj.InvalidRectangle 
 
   ' re-paint this object by invalidating the union of both rectangles 
   viewer.Invalidate(Rectangle.Union(rcOld, rcNew)) 
End Sub 

Requirements

Target Platforms

See Also

Reference

AnnObject Class

AnnObject Members

Help Version 19.0.2017.10.27
Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Annotations Assembly