\addtogroup rendering_backend_interfaces Rendering Backend Interfaces
 @{


 Describes a 'geometry' object (either a path or a glyph) in the SVG
 rendering backend. The rendering backend maintains an object
 implementing this interface for each rendering engine-native
 geometry object.

 An engine-native geometry object will be informed of changes in a
 geometry's description with a call to its 'update' method with an
 OR-ed combination of the UPDATEMASK_* constants defined in this
 interface (or one of its sub-interfaces).

 @nosubgrouping
[uuid(b2c3119b-a27d-4b25-97a9-a9d60981a95e)]
interface nsISVGGeometrySource : nsISupports

Constants

 @name Generic updatemasks
 @{
const unsigned long UPDATEMASK_NOTHING = 0

          
const unsigned long UPDATEMASK_ALL = 4294967295

          
const unsigned long UPDATEMASK_PRES_CONTEXT = 1

          
const unsigned long UPDATEMASK_CANVAS_TM = 2

          
const unsigned long UPDATEMASK_STROKE_OPACITY = 4

          
const unsigned long UPDATEMASK_STROKE_WIDTH = 8

          
const unsigned long UPDATEMASK_STROKE_DASH_ARRAY = 16

          
const unsigned long UPDATEMASK_STROKE_DASHOFFSET = 32
 @} */

 @name Stroke line-cap
 @{
const unsigned short STROKE_LINECAP_BUTT = 0

          
const unsigned short STROKE_LINECAP_ROUND = 1

          
const unsigned short STROKE_LINECAP_SQUARE = 2

          
const unsigned long UPDATEMASK_STROKE_LINECAP = 64
 @} */

 @name Stroke line-join
 @{
const unsigned short STROKE_LINEJOIN_MITER = 0

          
const unsigned short STROKE_LINEJOIN_ROUND = 1

          
const unsigned short STROKE_LINEJOIN_BEVEL = 2

          
const unsigned long UPDATEMASK_STROKE_LINEJOIN = 128

          
const unsigned long UPDATEMASK_STROKE_MITERLIMIT = 256

          
const unsigned long UPDATEMASK_FILL_OPACITY = 512
 @} */

 @name Fill rule
 @{
const unsigned short FILL_RULE_NONZERO = 0

          
const unsigned short FILL_RULE_EVENODD = 1

          
const unsigned long UPDATEMASK_FILL_RULE = 1024
 @} */

 @name Paint type constants for stroke and fill paint
 @{
const unsigned short PAINT_TYPE_NONE = 0

          
const unsigned short PAINT_TYPE_SOLID_COLOR = 1

          
const unsigned short PAINT_TYPE_SERVER = 2

          
const unsigned short PAINT_TYPE_GRADIENT = 3

          
const unsigned short PAINT_TYPE_PATTERN = 4

          
const unsigned long UPDATEMASK_STROKE_PAINT_TYPE = 2048

          
const unsigned long UPDATEMASK_STROKE_PAINT = 4096

          
const unsigned long UPDATEMASK_FILL_PAINT_TYPE = 16384

          
const unsigned long UPDATEMASK_FILL_PAINT = 32768

Attributes

 @} */

 @name Canvas transform matrix
 @{
readonly attribute nsIDOMSVGMatrix canvasTM

          
readonly attribute unsigned short clipRule
 @} */

 @name Fill opacity
 @{
readonly attribute float fillOpacity

          
readonly attribute nscolor fillPaint

          
readonly attribute unsigned short fillPaintServerType
 @} */

 @name Fill paint
 @{
readonly attribute unsigned short fillPaintType

          
readonly attribute unsigned short fillRule
 @} */

 @name Presentation context
 @{
readonly attribute nsPresContext presContext
 @} */

 @name Stroke dash-offset
 @{
readonly attribute float strokeDashoffset

          
readonly attribute unsigned short strokeLinecap

          
readonly attribute unsigned short strokeLinejoin
 @} */

 @name Miterlimit
 @{
readonly attribute float strokeMiterlimit
 @} */

 @name Stroke opacity
 @{
readonly attribute float strokeOpacity

          
readonly attribute nscolor strokePaint

          
readonly attribute unsigned short strokePaintServerType
 @} */

 @name Stroke paint
 @{
readonly attribute unsigned short strokePaintType
 @} */

 @name Stroke width
 @{
readonly attribute float strokeWidth

Methods


          
void GetFillGradient(out nsISVGGradient aGrad)

          
void GetStrokeGradient(out nsISVGGradient aGrad)
 @} */
boolean IsClipChild()
 @} */

 @name Stroke dash-array
 @{
void getStrokeDashArray([array, size_is(count)] out float arr, out unsigned long count)