Table of Contents

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

bool

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

renderer IBackgroundRenderer

The 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

target BackgroundRenderTarget

Returns

bool

OnGraphChanged(Graph?)

Notifies all renderers of a graph change.

public void OnGraphChanged(Graph? graph)

Parameters

graph Graph

The updated graph.

OnViewportChanged(BackgroundRenderContext)

Notifies all renderers of a viewport change.

public void OnViewportChanged(BackgroundRenderContext context)

Parameters

context BackgroundRenderContext

The updated context.

Remove(IBackgroundRenderer)

Removes a background renderer from the registry.

public bool Remove(IBackgroundRenderer renderer)

Parameters

renderer IBackgroundRenderer

The 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

canvas Canvas

The canvas to render to.

context BackgroundRenderContext

The 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

canvas Canvas

The canvas to render to.

context BackgroundRenderContext

The rendering context.

target BackgroundRenderTarget

The target canvas type to filter by.

SetSingle(IBackgroundRenderer?)

Sets a single background renderer, replacing any existing renderers.

public void SetSingle(IBackgroundRenderer? renderer)

Parameters

renderer IBackgroundRenderer

The renderer to use, or null to clear.