Mac OSX

Implemented by

 addtogroup renderer_interfaces Rendering Engine Interfaces
 @{


 One of a number of interfaces (all starting with nsISVGRenderer*)
 to be implemented by an SVG rendering engine. 

 This interface serves as a factory for rendering engine-related
 objects. Each rendering engine needs to make available an
 nsIRenderer-object with a contract id of the form
 "@mozilla.org/svg/renderer;1?tech=NAME".

 Engines implemented at the moment include an ms windows gdi+ engine
 ("@mozilla.org/svg/renderer;1?tech=GDIPLUS") and a (somewhat)
 cross-platform libart engine
 ("@mozilla.org/svg/renderer;1?tech=LIBART").
[scriptable, uuid(14e914e0-f283-4fd0-9d71-d3e842927007)]
interface nsISVGRenderer : nsISupports

Methods

 Create a rendering engine-native canvas object for the
 Mozilla-native rendering context 'ctx' and presentation context
 'presContext'.

 @param ctx Mozilla-native rendering context.
 @param presContext Presentation context.
 @param dirtyRect Area that the canvas should cover.
 @return A rendering engine-native canvas object.
[noscript] nsISVGRendererCanvas createCanvas(in nsIRenderingContext ctx, in nsPresContext presContext, [const] in nsRectRef dirtyRect)
 Create a rendering engine-native glyph geometry object for the
 source object given by 'src'.

 @param src The source object describing the glyph for which
 this object is being created.
 @return A rendering engine-native glyph geometry object.
nsISVGRendererGlyphGeometry createGlyphGeometry(in nsISVGGlyphGeometrySource src)
 Create a rendering engine-native glyph metrics object for the
 source object given by 'src'.

 @param src The source object describing the glyph for which
 this metrics object is being created.
 @return A rendering engine-native glyph metrics object.
nsISVGRendererGlyphMetrics createGlyphMetrics(in nsISVGGlyphMetricsSource src)
 Create a rendering engine-native path geometry object for the
 source object given by 'src'.

 @param src The source object describing the path for which
 this object is being created.
 @return A rendering engine-native path geometry object.
nsISVGRendererPathGeometry createPathGeometry(in nsISVGPathGeometrySource src)
 Create a rendering engine-native region object for the
 given axis-aligned rectangle.

 @param x X-coordinate of rectangle (pixels).
 @param y Y-coordinate of rectangle (pixels).
 @param width Width of rectangle (pixels).
 @param height Height of rectangle (pixels).

 @return A rendering engine-native region object.
nsISVGRendererRegion createRectRegion(in float x, in float y, in float width, in float height)
 Create a rendering engine-native surface object.

 @param width Width of rectangle (pixels).
 @param height Height of rectangle (pixels).

 @return A rendering engine-native surface object.
[noscript] nsISVGRendererSurface createSurface(in unsigned long width, in unsigned long height)