public abstract void Render( AnnContainerMapper mapper, AnnObject annObject )
public abstract 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 Leadtools.Annotations.Core.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 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.