Class BackgroundRendererRegistry
- Namespace
- FlowGraph.Avalonia.Rendering.BackgroundRenderers
- Assembly
- FlowGraph.Avalonia.dll
Manages registration and rendering of custom background renderers.
public class BackgroundRendererRegistry
- Inheritance
-
BackgroundRendererRegistry
- Inherited Members
Examples
var registry = new BackgroundRendererRegistry();
// Add multiple renderers (rendered in order)
registry.Add(new GradientBackgroundRenderer());
registry.Add(new LifelineRenderer());
// Or use single mode
registry.SetSingle(new SwimlaneBackgroundRenderer());
Remarks
Background renderers are rendered in registration order, allowing layered backgrounds. The registry supports both multiple concurrent renderers and a single-renderer mode for simpler use cases.
Properties
HasRenderers
Gets whether there are any background renderers registered.
public bool HasRenderers { get; }
Property Value
Methods
Add(IBackgroundRenderer)
Adds a background renderer to the registry. Renderers are called in the order they were added.
public void Add(IBackgroundRenderer renderer)
Parameters
rendererIBackgroundRendererThe renderer to add.
Clear()
Clears all registered background renderers.
public void Clear()
HasRenderersForTarget(BackgroundRenderTarget)
Gets whether there are any renderers registered for the specified target.
public bool HasRenderersForTarget(BackgroundRenderTarget target)
Parameters
targetBackgroundRenderTarget
Returns
OnGraphChanged(Graph?)
Notifies all renderers of a graph change.
public void OnGraphChanged(Graph? graph)
Parameters
graphGraphThe updated graph.
OnViewportChanged(BackgroundRenderContext)
Notifies all renderers of a viewport change.
public void OnViewportChanged(BackgroundRenderContext context)
Parameters
contextBackgroundRenderContextThe updated context.
Remove(IBackgroundRenderer)
Removes a background renderer from the registry.
public bool Remove(IBackgroundRenderer renderer)
Parameters
rendererIBackgroundRendererThe renderer to remove.
Returns
- bool
True if the renderer was found and removed.
Render(Canvas, BackgroundRenderContext)
Renders all registered backgrounds (legacy method for backward compatibility). Assumes GridCanvas target.
[Obsolete("Use Render(canvas, context, target) overload for explicit canvas targeting")]
public void Render(Canvas canvas, BackgroundRenderContext context)
Parameters
canvasCanvasThe canvas to render to.
contextBackgroundRenderContextThe rendering context.
Render(Canvas, BackgroundRenderContext, BackgroundRenderTarget)
Renders all registered backgrounds to the specified canvas. Only renders renderers that target the specified canvas type.
public void Render(Canvas canvas, BackgroundRenderContext context, BackgroundRenderTarget target)
Parameters
canvasCanvasThe canvas to render to.
contextBackgroundRenderContextThe rendering context.
targetBackgroundRenderTargetThe target canvas type to filter by.
SetSingle(IBackgroundRenderer?)
Sets a single background renderer, replacing any existing renderers.
public void SetSingle(IBackgroundRenderer? renderer)
Parameters
rendererIBackgroundRendererThe renderer to use, or null to clear.