Inherits From:nsISupports

\addtogroup renderer_interfaces Rendering Engine Interfaces One of a number of interfaces (all starting with nsISVGRenderer*) to be implemented by an SVG rendering engine. See nsISVGRenderer for more details.

The SVG rendering backend uses this interface to communicate to the rendering engine-native glyph objects.

A glyph object is instantiated by the rendering backend for a given nsISVGGlyphGeometrySource object with a call to nsISVGRenderer::createGlyphGeometry(). The glyph object is assumed to store a reference to its associated source object and provide glyph rendering and hit-testing for the (composite) glyph described by the nsISVGGlyphGeometrySource members.


PRBool containsPoint ( float x , float y ) nsISVGRendererRegion getCoveredRegion ( ) void render ( nsISVGRendererCanvas canvas ) nsISVGRendererRegion update ( PRUint32 updatemask )

PRBool containsPoint ( float x , float y )

Hit-testing method. Does this glyph geometry (with all relevant transformations applied) contain the point x,y? Should work on a character-cell basis, rather than the actual character outline.

x: X-coordinate of test point. @param y Y-coordinate of test point.
PR_TRUE if the glyph geometry contains the point, PR_FALSE otherwise.

nsISVGRendererRegion getCoveredRegion ( )

Get a region object describing the area covered with paint by this glyph geometry.

Covered region.

void render ( nsISVGRendererCanvas canvas )

Paint this object.

canvas: The canvas to render to.

nsISVGRendererRegion update ( PRUint32 updatemask )

Called by this object's corresponding nsISVGGlyphGeometrySource as a notification that some of the source's data (identified by paramter 'updatemask') has changed.

updatemask: An OR-ed combination of the UPDATEMASK_* constants defined in nsISVGGlyphGeometrySource.
Region that needs to be redrawn.


This interface is returned from the following methods:


Reference documentation is generated from Mozilla's source.

Add a note User Contributed Notes
No comments available

Copyright © 1999 - 2005 XULPlanet.com