SvgDeferredPaintServer Class

Definition

Namespace Svg
Assembly Svg.Custom.dll
Show inherited members (107)

A wrapper for a paint server which isn't defined currently in the parse process, but should be defined by the time the image needs to render.

Compared to the original upstream file, this Svg.Custom override keeps track of the document that originally parsed the deferred paint server. The upstream implementation resolved deferred url(...) paint servers through styleOwner.OwnerDocument only, which is fine for direct rendering but breaks our retained-scene expansion of external/internal <use> content because referenced elements are temporarily reparented to inherit local styles. When that happens, the style owner can point at a different document than the one that actually declared the gradient or pattern.

This override mirrors the old submodule fix from Svg.Custom instead: it captures the source document during parsing, prefers that document during deferred resolution, and preserves it across deep copies so the original paint server lookup stays stable.

[TypeConverter(typeof(SvgDeferredPaintServerFactory))]
public class SvgDeferredPaintServer : SvgPaintServer, ISvgElement, ISvgTransformable, ICloneable, ISvgNode
Tip: use kind:method, kind:property, kind:ctor. Press Esc to clear.

Constructors (5)

Properties (3)

Methods (7)