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 path objects.
A path geometry object is instantiated by the rendering backend for
a given nsISVGPathGeometrySource object with a call to
nsISVGRenderer::createPathGeometry(). The path geometry object is
assumed to store a reference to its associated source object and
provide rendering, hit-testing and metrics for the path described
by the nsISVGPathGeometrySource members.
[scriptable, uuid(1e4a2bc7-96e6-4c4d-80a6-e284cec9e3aa)]
interface nsISVGRendererPathGeometry : nsISupports
Attributes
Bounding box (does not include stroke width)
readonly attribute
nsIDOMSVGRect
boundingBox
Methods
Hit-testing method. Does this path geometry (with all relevant transformations applied) contain the point x,y? Mode of operation (e.g. whether to test fill or stroke) is determined by nsISVGPathGeometrySource::hittestMask. @param x X-coordinate of test point. @param y Y-coordinate of test point. @return PR_TRUE if the path 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 path 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 nsISVGPathGeometrySource 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 nsISVGPathGeometrySource. @return Region that needs to be redrawn.
nsISVGRendererRegion
update(in unsigned long updatemask)
Compare to: