Table of Contents

Class RenderProfileElement

Namespace
Artemis.Core
Assembly
Artemis.Core.dll

Represents an element of a Profile that has advanced rendering capabilities

public abstract class RenderProfileElement : ProfileElement, IBreakableModel, IDisposable, IPluginFeatureDependent
Inheritance
RenderProfileElement
Implements
Derived
Inherited Members

Properties

Bounds

The bounds of this entity

public SKRectI Bounds { get; }

Property Value

SKRectI

DisplayCondition

Gets or sets the display condition used to determine whether this element is active or not

public ICondition DisplayCondition { get; set; }

Property Value

ICondition

DisplayConditionMet

Gets whether the display conditions applied to this layer where met or not during last update

Always true if the layer has no display conditions

public bool DisplayConditionMet { get; }

Property Value

bool

Enabled

Gets a boolean indicating whether this render element and its layers/brushes are enabled

public bool Enabled { get; protected set; }

Property Value

bool

LayerEffects

Gets a read-only collection of the layer effects on this entity

public ReadOnlyCollection<BaseLayerEffect> LayerEffects { get; }

Property Value

ReadOnlyCollection<BaseLayerEffect>

Parent

Gets the parent of this element

public ProfileElement Parent { get; }

Property Value

ProfileElement

Path

Gets the path containing all the LEDs this entity is applied to, any rendering outside the entity Path is clipped.

public SKPath? Path { get; protected set; }

Property Value

SKPath

ShouldBeEnabled

Gets a boolean indicating whether this render element and its layers/brushes should be enabled

public abstract bool ShouldBeEnabled { get; }

Property Value

bool

Timeline

Gets the timeline associated with this render element

public Timeline Timeline { get; }

Property Value

Timeline

Methods

AddLayerEffect(BaseLayerEffect)

Adds a the provided layer effect to the render profile element

public void AddLayerEffect(BaseLayerEffect layerEffect)

Parameters

layerEffect BaseLayerEffect

The effect to add.

Disable()

Enables the render element and its brushes and effects

public abstract void Disable()

Dispose(bool)

Disposes the profile element

protected override void Dispose(bool disposing)

Parameters

disposing bool

Enable()

Disables the render element and its brushes and effects

public abstract void Enable()

GetAllLayerProperties()

Creates a list of all layer properties present on this render element

public abstract List<ILayerProperty> GetAllLayerProperties()

Returns

List<ILayerProperty>

A list of all layer properties present on this render element

OverrideTimelineAndApply(TimeSpan)

Overrides the main timeline to the specified time and clears any extra time lines

public abstract void OverrideTimelineAndApply(TimeSpan position)

Parameters

position TimeSpan

The position to set the timeline to

RemoveLayerEffect(BaseLayerEffect)

Removes the provided layer effect.

public void RemoveLayerEffect(BaseLayerEffect layerEffect)

Parameters

layerEffect BaseLayerEffect

The effect to remove.

UpdateDisplayCondition()

Evaluates the display conditions on this element and applies any required changes to the Timeline

public void UpdateDisplayCondition()

UpdateTimeline(double)

Updates the Timeline according to the provided deltaTime and current display condition

protected void UpdateTimeline(double deltaTime)

Parameters

deltaTime double

Events

LayerEffectsUpdated

Occurs when a layer effect has been added or removed to this render element

public event EventHandler? LayerEffectsUpdated

Event Type

EventHandler