Artemis Artemis
Artemis Artemis

Search Results for

    Interface ILayerProperty

    Represents a property on a layer. Properties are saved in storage and can optionally be modified from the UI.

    Note: You cannot initialize layer properties yourself. If properly placed and annotated, the Artemis core will initialize these for you.

    Inherited Members
    IStorageModel.Load()
    IStorageModel.Save()
    IDisposable.Dispose()
    Namespace: Artemis.Core
    Assembly: Artemis.Core.dll
    Syntax
    public interface ILayerProperty : IStorageModel, IDisposable

    Properties

    BaseDataBinding

    Gets the data binding of this property

    Declaration
    IDataBinding BaseDataBinding { get; }
    Property Value
    Type Description
    IDataBinding

    DataBindingsSupported

    Gets a boolean indicating whether data bindings are supported on this type of property

    Declaration
    bool DataBindingsSupported { get; }
    Property Value
    Type Description
    bool

    HasDataBinding

    Gets a boolean indicating whether the layer has any data binding properties

    Declaration
    bool HasDataBinding { get; }
    Property Value
    Type Description
    bool

    IsHidden

    Gets or sets whether the property is hidden in the UI

    Declaration
    bool IsHidden { get; set; }
    Property Value
    Type Description
    bool

    IsLoadedFromStorage

    Indicates whether the BaseValue was loaded from storage, useful to check whether a default value must be applied

    Declaration
    bool IsLoadedFromStorage { get; }
    Property Value
    Type Description
    bool

    LayerPropertyGroup

    The parent group of this layer property, set after construction

    Declaration
    LayerPropertyGroup LayerPropertyGroup { get; }
    Property Value
    Type Description
    LayerPropertyGroup

    Path

    Gets the unique path of the property on the render element

    Declaration
    string Path { get; }
    Property Value
    Type Description
    string

    ProfileElement

    Gets the profile element (such as layer or folder) this property is applied to

    Declaration
    RenderProfileElement ProfileElement { get; }
    Property Value
    Type Description
    RenderProfileElement

    PropertyDescription

    Gets the description attribute applied to this property

    Declaration
    PropertyDescriptionAttribute PropertyDescription { get; }
    Property Value
    Type Description
    PropertyDescriptionAttribute

    PropertyType

    Gets the type of the property

    Declaration
    Type PropertyType { get; }
    Property Value
    Type Description
    Type

    UntypedKeyframes

    Gets a read-only list of all the keyframes on this layer property

    Declaration
    ReadOnlyCollection<ILayerPropertyKeyframe> UntypedKeyframes { get; }
    Property Value
    Type Description
    ReadOnlyCollection<ILayerPropertyKeyframe>

    Methods

    AddUntypedKeyframe(ILayerPropertyKeyframe)

    Adds a keyframe to the layer property without knowing it's type.

    Prefer AddKeyframe(LayerPropertyKeyframe<T>).

    Declaration
    void AddUntypedKeyframe(ILayerPropertyKeyframe keyframe)
    Parameters
    Type Name Description
    ILayerPropertyKeyframe keyframe

    ApplyDefaultValue()

    Overrides the property value with the default value

    Declaration
    void ApplyDefaultValue()

    CreateKeyframeFromEntity(KeyframeEntity)

    Attempts to create a keyframe for this property from the provided entity

    Declaration
    ILayerPropertyKeyframe? CreateKeyframeFromEntity(KeyframeEntity keyframeEntity)
    Parameters
    Type Name Description
    KeyframeEntity keyframeEntity

    The entity representing the keyframe to create

    Returns
    Type Description
    ILayerPropertyKeyframe

    If succeeded the resulting keyframe, otherwise null

    Initialize(RenderProfileElement, LayerPropertyGroup, PropertyEntity, bool, PropertyDescriptionAttribute)

    Initializes the layer property

    Note: This isn't done in the constructor to keep it parameterless which is easier for implementations of LayerProperty<T>

    Declaration
    void Initialize(RenderProfileElement profileElement, LayerPropertyGroup group, PropertyEntity entity, bool fromStorage, PropertyDescriptionAttribute description)
    Parameters
    Type Name Description
    RenderProfileElement profileElement
    LayerPropertyGroup group
    PropertyEntity entity
    bool fromStorage
    PropertyDescriptionAttribute description

    RemoveUntypedKeyframe(ILayerPropertyKeyframe)

    Removes a keyframe from the layer property without knowing it's type.

    Prefer RemoveKeyframe(LayerPropertyKeyframe<T>).

    Declaration
    void RemoveUntypedKeyframe(ILayerPropertyKeyframe keyframe)
    Parameters
    Type Name Description
    ILayerPropertyKeyframe keyframe

    Update(Timeline)

    Updates the layer properties internal state

    Declaration
    void Update(Timeline timeline)
    Parameters
    Type Name Description
    Timeline timeline

    The timeline to apply to the property

    UpdateDataBinding()

    Updates just the data binding instead of the entire layer

    Declaration
    void UpdateDataBinding()

    Events

    CurrentValueSet

    Occurs when the current value of the layer property was updated by some form of input

    Declaration
    event EventHandler<LayerPropertyEventArgs>? CurrentValueSet
    Event Type
    Type Description
    EventHandler<LayerPropertyEventArgs>

    Disposed

    Occurs when the layer property is disposed

    Declaration
    event EventHandler Disposed
    Event Type
    Type Description
    EventHandler

    KeyframeAdded

    Occurs when a new keyframe was added to the layer property

    Declaration
    event EventHandler<LayerPropertyKeyframeEventArgs>? KeyframeAdded
    Event Type
    Type Description
    EventHandler<LayerPropertyKeyframeEventArgs>

    KeyframeRemoved

    Occurs when a keyframe was removed from the layer property

    Declaration
    event EventHandler<LayerPropertyKeyframeEventArgs>? KeyframeRemoved
    Event Type
    Type Description
    EventHandler<LayerPropertyKeyframeEventArgs>

    KeyframesToggled

    Occurs when keyframes are enabled/disabled

    Declaration
    event EventHandler<LayerPropertyEventArgs>? KeyframesToggled
    Event Type
    Type Description
    EventHandler<LayerPropertyEventArgs>

    Updated

    Occurs once every frame when the layer property is updated

    Declaration
    event EventHandler<LayerPropertyEventArgs>? Updated
    Event Type
    Type Description
    EventHandler<LayerPropertyEventArgs>

    VisibilityChanged

    Occurs when the visibility value of the layer property was updated

    Declaration
    event EventHandler<LayerPropertyEventArgs>? VisibilityChanged
    Event Type
    Type Description
    EventHandler<LayerPropertyEventArgs>
    Content is available under the PolyForm Noncommercial License, by Artemis RGB.