Table of Contents

Class Profile

Namespace
Artemis.Core
Assembly
Artemis.Core.dll

Represents a profile containing folders and layers

public sealed class Profile : ProfileElement, IBreakableModel, IDisposable, IPluginFeatureDependent
Inheritance
object
CorePropertyChanged
Profile
Implements
Inherited Members

Properties

Configuration

Gets the profile configuration of this profile

public ProfileConfiguration Configuration { get; }

Property Value

ProfileConfiguration

IsFreshImport

Gets or sets a boolean indicating whether this profile is freshly imported i.e. no changes have been made to it since import

Note: As long as this is true, profile adaption will be performed on load and any surface changes

public bool IsFreshImport { get; set; }

Property Value

bool

ProfileEntity

Gets the profile entity this profile uses for persistent storage

public ProfileEntity ProfileEntity { get; }

Property Value

ProfileEntity

Methods

Dispose(bool)

Disposes the profile element

protected override void Dispose(bool disposing)

Parameters

disposing bool

GetBrokenHierarchy()

Returns a list containing all broken models, including self and any children

public override IEnumerable<IBreakableModel> GetBrokenHierarchy()

Returns

IEnumerable<IBreakableModel>

GetFeatureDependencies()

Gets the plugin features this class depends on, may contain the same plugin feature twice if depending on it in multiple ways.

public override IEnumerable<PluginFeature> GetFeatureDependencies()

Returns

IEnumerable<PluginFeature>

A List<T> of PluginFeature this class depends on.

GetRootFolder()

Retrieves the root folder of this profile

public Folder GetRootFolder()

Returns

Folder

The root folder of the profile

Exceptions

ObjectDisposedException

PopulateLeds(IEnumerable<ArtemisDevice>)

Populates all the LEDs on the elements in this profile

public void PopulateLeds(IEnumerable<ArtemisDevice> devices)

Parameters

devices IEnumerable<ArtemisDevice>

The devices to use while populating LEDs

Render(SKCanvas, SKPointI, ProfileElement?)

Renders the element

public override void Render(SKCanvas canvas, SKPointI basePosition, ProfileElement? editorFocus)

Parameters

canvas SKCanvas

The canvas to render upon.

basePosition SKPointI

The base position to use to translate relative positions to absolute positions.

editorFocus ProfileElement

An optional element to focus on while rendering (other elements will not render).

Reset()

Resets the internal state of the element

public override void Reset()

ToString()

Returns a string that represents the current object.

public override string ToString()

Returns

string

A string that represents the current object.

Update(double)

Updates the element

public override void Update(double deltaTime)

Parameters

deltaTime double