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 > AnnObjectRenderer Class : Render Method |
public virtual void Render( AnnContainerMapper mapper, AnnObject annObject )
'Declaration
Public Overridable Sub Render( _ ByVal mapper As AnnContainerMapper, _ ByVal annObject As AnnObject _ )
'Usage
Dim instance As AnnObjectRenderer Dim mapper As AnnContainerMapper Dim annObject As AnnObject instance.Render(mapper, annObject)
public virtual void Render( AnnContainerMapper mapper, AnnObject annObject )
- (void)renderMapper:(LTAnnContainerMapper *)mapper object:(LTAnnObject *)annObject
public abstract void render(AnnContainerMapper mapper, AnnObject annObject)
This method is called by the framework to render an object. The AnnObjectRenderer 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 AnnPolylineObjectRenderer 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 AnnRectangleObject, (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.