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)
Compare to: