Products | Support | Email a link to this topic. | Send comments on this topic. | Back to Introduction - All Topics | Help Version 19.0.6.22
|
Leadtools.Annotations.Rendering Namespace > AnnD2DObjectRenderer Class : Render Method |
public abstract void Render( AnnContainerMapper mapper, AnnObject annObject )
'Declaration
Public MustOverride Sub Render( _ ByVal mapper As AnnContainerMapper, _ ByVal annObject As AnnObject _ )
'Usage
Dim instance As AnnD2DObjectRenderer Dim mapper As AnnContainerMapper Dim annObject As AnnObject instance.Render(mapper, annObject)
public abstract void Render( AnnContainerMapper mapper, AnnObject annObject )
This method is called by the framework to render an object. The AnnD2DObjectRenderer class is a base class and does not have any information on how to render an annObject. Thus the Render method is an abstract method. Derived classes such as the AnnRectangleObjectRenderer class or the AnnD2DPolylineObjectRenderer class implements the Render method to do the actual rendering of the object.
For example, the AnnRectangleObjectRenderer class will implements this method as follows:
Casts an annObject to AnnD2DRectangleObjectRenderer, (and will fail if the object is not of the correct type).
Gets the points of the object stored in the annObject.Points property of the annObject. Since this is a rectangle object, an array of 4 points is retrieved.
These points are in container coordinates, therefore, mapper.PointsFromContainerCoordinates is called to convert these points to physical coordinates.
The AnnRenderingEngine.Context property contains the destination context to render to. The renderer creates a closed path on this context for the rectangle shape. Note that the rectangle object might be rotated and hence the points returned in step 2 above are the 4 edges of the rectangle in its current transformation (top left, top right, right bottom and left bottom). This is why the renderer draws a path instead of a rectangle.
Finally, the path is optionally stroked using the AnnObject.Stroke method and filled using the AnnObject.Fill method.