ImageGear for .NET User Guide > Using ImageGear for .NET > Using ImageGear.ART Namespace > Custom Marks |
ImageGear custom mark support allows you to implement a mark with a custom look-and-feel. It is supported in the ART serialization subsystem, ART drawing and ART annotator. To implement a custom mark, you will need to implement the mark and controllers outlined in the following table and register them using ImageGear ART API.
The following table lists the classes required for the custom mark implementation. The Sector mark demonstrated in the ImageGear ART samples used as an example:
Class | Example Name | Derived From | Registration | Purpose |
Custom Mark Class | SectorMark | ImGearARTCustomMark | ImGearARTCustomController.RegisterCustomMark | Implements custom mark properties. |
Custom Mark Controller | SectorMarkController |
ImGearARTCustomDrawingController (WinForms version) ImGearARTCustomPresentationController(WPF version) |
ImGearARTCustomDrawingController.RegisterCustomController (WinForms version) ImGearARTCustomPresentationController.RegisterCustomController (WPF version) |
Implements mark’s drawing and hit testing. |
Custom Mark Annotator Controller | SectorEditController | ImGearARTFormsMarkController, ImGearARTFormsPolyController or ImGearARTFormsRectangleController(WinForms version) ImGearAnnotatorMarkController and ImGearAnnotatorRectangleController (WPF version) |
ImGearARTFormsMarkController.RegisterCustomController(WinForms version) ImGearAnnotatorMarkController.RegisterCustomController (WPF version) |
Responsible for user interaction: mark creation, move/resize actions, property window creation and integration with toolbar. |
Custom Mark Statistics Calculator (Optional) | SectorMarkStatistics | ImGearARTMarkStatistics | No registration is required. The user should create the statistics object in the Custom mark class implementation. |
Responsible for calculation of statistics properties, such as Area, Length, Perimeter (if applicable), or statistics values specific for a given custom mark. |
The following topics are covered in this section: