AnnDeserializeOptions Object

Summary

Options to use when loading annotation objects.

Syntax

JavaScript Syntax
function lt.Annotations.Core.AnnDeserializeOptions
TypeScript Syntax
class lt.Annotations.Core.AnnDeserializeOptions()

Remarks

This class is used as the type for AnnCodecs.DeserializeOptions and contains the following members:

Member Description
DeserializeObject Event to trigger for each annotation object being loaded. Allows you to monitor and skip any object.
DeserializeObjectError Event to trigger when an error occurs during loading an annotation object. Allows you to handle the error or skip it.
Example

This example creates a container, adds both line and rectangle objects to it and saves it. Then it show hows to monitor the objects being loaded.

JavaScript Example
example: function SiteLibrary_DefaultPage$example() { 
   // Create a new annotation container, 8.5 by 11 inches 
   var container = new lt.Annotations.Core.AnnContainer(); 
   // Size must be in annotation units (1/720 of an inch) 
   container.set_size(lt.LeadSizeD.create(8.5 * 720, 11 * 720)); 
 
   var inch = 720.0; 
   // Add a red line object, from 1in 1in to 2in 2in 
   var lineObj = new lt.Annotations.Core.AnnPolylineObject(); 
   lineObj.get_points().add(lt.LeadPointD.create(1 * inch, 1 * inch)); 
   lineObj.get_points().add(lt.LeadPointD.create(2 * inch, 2 * inch)); 
   lineObj.set_stroke(lt.Annotations.Core.AnnStroke.create(lt.Annotations.Core.AnnSolidColorBrush.create("red"), lt.LeadLengthD.create(1))); 
   container.get_children().add(lineObj); 
 
   // Add a blue on yellow rectangle from 3in 3in to 4in 4in 
   var rectObj = new lt.Annotations.Core.AnnRectangleObject(); 
   rectObj.set_rect(lt.LeadRectD.create(3 * inch, 3 * inch, 1 * inch, 1 * inch)); 
   rectObj.set_stroke(lt.Annotations.Core.AnnStroke.create(lt.Annotations.Core.AnnSolidColorBrush.create("blue"), lt.LeadLengthD.create(1))); 
   rectObj.set_fill(lt.Annotations.Core.AnnSolidColorBrush.create("yellow")); 
   container.get_children().add(rectObj); 
 
   // Show the container 
   this.showContainer("Before save", container); 
 
   // Create the codecs object to save and load annotations 
   var codecs = new lt.Annotations.Core.AnnCodecs(); 
 
   // Save the container 
   var xmlData = codecs.save(container, lt.Annotations.Core.AnnFormat.annotations, null, 1); 
 
   // delete the container 
   container = null; 
 
   // Create a new instance of AnnDeserializeOptions and Hook to the DeserializeObject and DeserializeObjectError events 
   var deserializeOptions = new lt.Annotations.Core.AnnDeserializeOptions(); 
   deserializeOptions.add_deserializeObject(function(sender, e) { 
      // e is of type AnnSerializeObjectEventArgs 
      alert("loading object of type: " + e.get_typeName()); 
   }); 
   deserializeOptions.add_deserializeObjectError(function(sender, e) { 
      // e is of type AnnSerializeObjectEventArgs 
      alert(e.get_error().message); 
   }); 
 
   // Set it as our deserialize options 
   codecs.set_deserializeOptions(deserializeOptions); 
 
   // Load the container we just saved 
   container = codecs.load(xmlData, 1); 
 
   // Show it 
   this.showContainer("After load", container); 
}, 
 
showContainer: function SiteLibrary_DefaultPage$showContainer(message, container) { 
   var str = message + "\nContainer size: "; 
 
   // Add the size 
   var inch = 720; 
   var width = container.get_size().get_width() / inch; 
   var height = container.get_size().get_height() / inch; 
   str += width + " by " + height + " inches" + "\n"; 
 
   // Add the objects 
   str += "Contains " + container.get_children().get_count() + " objects(s)\n"; 
   for (var i = 0; i < container.get_children().get_count(); i++) { 
      var annObj = container.get_children().get_item(i); 
 
      str += "Object: " + annObj.get_friendlyName() + " at "; 
      for (var j = 0; j < annObj.get_points().get_count(); j++) { 
         var pt = annObj.get_points().get_item(j); 
         var x = pt.get_x() / inch; 
         var y = pt.get_y() / inch; 
         str += "(" + x + ", " + y + ") "; 
      } 
 
      str += "\n"; 
   } 
 
   alert(str); 
}, 

Requirements

Target Platforms

Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.
Leadtools.Annotations.Core Assembly
Click or drag to resize