Mac OSX
 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.
[scriptable, uuid(cd302675-b093-4018-8081-3e65af962aa8)]
interface nsISVGRendererGlyphGeometry : nsISupports

Methods

 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.

 @param x X-coordinate of test point.  @param y Y-coordinate of
 test point.
 @return PR_TRUE if the glyph geometry contains the point,
 PR_FALSE otherwise.
boolean containsPoint(in float x, in float y)
 Get a region object describing the area covered with paint by
 this glyph geometry.

 @return Covered region.
nsISVGRendererRegion getCoveredRegion()
 Paint this object.

 @param canvas The canvas to render to.
void render(in nsISVGRendererCanvas canvas)
 Called by this object's corresponding nsISVGGlyphGeometrySource
 as a notification that some of the source's data (identified by
 paramter 'updatemask') has changed.

 @param updatemask An OR-ed combination of the UPDATEMASK_*
 constants defined in nsISVGGlyphGeometrySource.
 @return Region that needs to be redrawn.
nsISVGRendererRegion update(in unsigned long updatemask)