- From: Jon Ferraiolo <jferraio@adobe.com>
- Date: Thu, 16 Aug 2001 01:10:56 -0700
- To: "Sigurd Lerstad" <sigler@bredband.no>
- Cc: <www-svg@w3.org>
Yes, forward references in SVG are legal, but generally recommended as something to avoid if possible. In general, when using a forward references such as referring to a gradient that is defined later, then there are two distinct cases: (1) when there a backup paint specified after the gradient (e.g., fill="url(#ForwardRefToGradient) black" specifies that black paint is the backup), or (2) when there is no backup paint specified. There are also three distinct time periods to consider during progressive rendering of an SVG: (a) Before parsing/processing the forward reference, (b) After parsing/processing the forward reference, and (c) After resolving the forward reference. For 1a, haven't reached the referencing element yet For 1b, render the backup paint (i.e., black) For 1c, render the gradient For 2a, haven't reached the referencing element yet For 2b, temporary error state - render only up to the forward reference For 2c, render the gradient As an exercise, folks can attempt to work through this logic by reading relevant parts of the specification: Specifying paint talks about backup paint servers: http://www.w3.org/TR/SVG/painting.html#SpecifyingPaint Invalid references are discussed toward the end of: http://www.w3.org/TR/SVG/struct.html#HeadOverview Error processing is discussed at: http://www.w3.org/TR/SVG/implnote.html#ErrorProcessing Jon Ferraiolo SVG 1.0 Editor jferraio@adobe.com At 06:13 AM 8/16/01 +0200, Sigurd Lerstad wrote: >Hello > >Is forward referencing of gradients/patterns etc legal? > >I mean that can en element A for example contain style fill:url(#grad) > >if the grad element B is declared later in the document than A > >thanks, > >-- >Sigurd Lerstad
Received on Thursday, 16 August 2001 04:46:08 UTC