Namespace Artemis.Core
Classes
AlwaysOnCondition
Represents a condition that is always true.
ArtemisCoreException
Represents errors that occur within the Artemis Core
ArtemisDevice
Represents an RGB device usable by Artemis, provided by a DeviceProvider
ArtemisDeviceInputIdentifier
Represents a device input identifier used by a specific InputProvider to identify the device
ArtemisGraphicsContextException
Represents SkiaSharp graphics-context related errors
ArtemisLayout
Represents a device layout decorated with extra Artemis-specific data
ArtemisLed
Represents an RGB LED contained in an ArtemisDevice
ArtemisLedLayout
Represents a LED layout decorated with extra Artemis-specific data
ArtemisPluginException
An exception thrown when a plugin-related error occurs
ArtemisPluginFeatureException
An exception thrown when a plugin feature-related error occurs
ArtemisPluginLockException
An exception thrown when a plugin lock file error occurs
ArtemisPluginPrerequisiteException
An exception thrown when a plugin prerequisite-related error occurs
BoolLayerProperty
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.
BreakableModel
Provides a default implementation for models that can have a broken state
CategoryAdaptionHint
Represents a hint that adapts layers to a certain category of devices
ColorGradient
A gradient containing a list of ColorGradientStops
ColorGradientLayerProperty
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.
ColorGradientStop
A color with a position, usually contained in a Artemis.Core.ColorGradientStop.ColorGradient
Constants
A few useful constant values
CopyFolderAction
Represents a plugin prerequisite action that copies a folder
CoreJson
A static helper class that serializes and deserializes JSON with the Artemis Core JSON settings
DataBindingEventArgs
Provides data for data binding events.
DataBindingPropertyUpdatedEvent<T>
Provides data for the DataBindingPropertyUpdatedEvent
event.
DataBindingProperty<TProperty>
DataBinding<TLayerProperty>
DataModelEvent
Represents a data model event without event arguments
DataModelEventArgs
Represents the base class for data model events that contain event data
DataModelEvent<T>
Represents a data model event with event arguments of type T
DataModelPath
Represents a path that points to a property in data model
DataModelPathEventArgs
Provides data about data model path related events
DataModelPathSegment
Represents a segment of a data model path
DataModelRegistration
Represents a data model registration
DefaultNode
Represents a kind of node that cannot be deleted inside a NodeScript.
DeleteFileAction
Represents a plugin prerequisite action that deletes a file
DeleteFolderAction
Represents a plugin prerequisite action that recursively deletes a folder
DeviceAdaptionHint
Represents a hint that adapts layers to a certain type of devices
DeviceEventArgs
Provides data about device related events
DoubleExtensions
A static class providing double extensions
DownloadFileAction
Represents a plugin prerequisite action that downloads a file
DynamicDataModelChildEventArgs
Provides data about dynamic data model child related events
Easings
EllipseShape
Represents an ellipse layer shape
EnumLayerProperty<T>
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.
EnumUtilities
Provides utilities for display enums in a human readable form
EventCondition
Represents a condition that is based on a DataModelEvent
ExecuteFileAction
Represents a plugin prerequisite action that executes a file
ExtractArchiveAction
Represents a plugin prerequisite action that extracts a ZIP file
FloatExtensions
A static class providing float extensions
FloatLayerProperty
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.
FloatRangeLayerProperty
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.
Folder
Represents a folder in a Profile
FrameRenderedEventArgs
Provides data about frame rendering related events
FrameRenderingEventArgs
Provides data about frame rendered related events
Hotkey
Represents a key or combination of keys that changes the suspension status of a ProfileConfiguration
IEnumerableExtensions
A static class providing IEnumerable<T> extensions
InputPin
Represents an input pin on a INode
InputPinCollection
Represents a collection of input pins
InputPinCollection<T>
Represents a collection of input pins containing values of type T
InputPin<T>
Represents an input pin containing a value of type T
on a INode
IntLayerProperty
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.
IntRangeLayerProperty
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.
KeyboardSectionAdaptionHint
Represents a hint that adapts layers to a certain region of keyboards
Layer
Represents a layer in a Profile
LayerAdapter
Represents an adapter that adapts a layer to a certain set of devices using IAdaptionHints
LayerAdapterHintEventArgs
Provides data for layer adapter hint events.
LayerBrushReference
A reference to a LayerBrushDescriptor
LayerBrushReferenceLayerProperty
A special layer property used to configure the selected layer brush
LayerBrushRegistration
Represents a layer brush registration returned by calling RegisterLayerBrush(LayerBrushDescriptor)
LayerEffectPropertyGroup
Represents a property group on a layer
Note: You cannot initialize property groups yourself. If properly placed and annotated, the Artemis core will initialize these for you.
LayerEffectRegistration
Represents a layer effect registration
LayerGeneralProperties
Represents the general properties of a layer
LayerPropertyEventArgs
Provides data for layer property events.
LayerPropertyGroup
Represents a property group on a layer
Note: You cannot initialize property groups yourself. If properly placed and annotated, the Artemis core will initialize these for you.
LayerPropertyIgnoreAttribute
Represents an attribute that marks a layer property to be ignored
LayerPropertyKeyframeEventArgs
Provides data for layer property events.
LayerPropertyKeyframe<T>
Represents a keyframe on a LayerProperty<T> containing a value and a timestamp
LayerPropertyPreview<T>
Represents a container for a preview value of a LayerProperty<T> that can be used to update and discard a temporary value.
LayerProperty<T>
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.
LayerShape
Represents the shape of a layer
LayerTransformProperties
Represents the transform properties of a layer
LayoutCustomDeviceData
Represents extra Artemis-specific information stored in RGB.NET layouts
LayoutCustomLedData
Represents extra Artemis-specific information stored in RGB.NET layouts
LayoutCustomLedDataLogicalLayout
Represents extra Artemis-specific information stored in RGB.NET layouts
LogEventEventArgs
Contains log event related data
LogStore
A static store containing the last 500 logging events
ModuleEventArgs
Provides data about module events
Node
Represents a kind of node inside a NodeScript
NodeAttribute
Represents an attribute that can be used to provide metadata on a node
NodeData
Represents node data describing a certain INode
NodeExtension
Provides extension methods for nodes.
NodeScript
Represents a node script
NodeScriptExtension
Provides extension methods for node scripts.
NodeScript<T>
Represents a node script with a result value of type T
NodeTypeRegistration
Represents a registration for a type of INode
NumericExtensions
Provides Numeric alternatives for common number-type extensions
ObjectOutputPins
Represents a collection of output pins for a node capable of outputting the properties of an object or value type.
OutputPin
Represents an output pin on a INode
OutputPinCollection<T>
Represents a collection of output pins containing values of type T
OutputPin<T>
Represents an output pin containing a value of type T
on a INode
Pin
Represents a pin containing a value on a INode
PinCollection
PlayOnceCondition
Represents a condition that plays once when its script evaluates to true.
Plugin
Represents a plugin
PluginBootstrapper
An optional entry point for your plugin
PluginEventArgs
Provides data about plugin related events
PluginFeature
Represents an feature of a certain type provided by a plugin
PluginFeatureAttribute
Represents an attribute that describes a plugin feature
PluginFeatureEventArgs
Provides data about plugin feature related events
PluginFeatureInfo
Represents basic info about a plugin feature and contains a reference to the instance of said feature
PluginFeatureInfoEventArgs
Provides data about plugin feature info related events
PluginInfo
Represents basic info about a plugin and contains a reference to the instance of said plugin
PluginPrerequisite
Represents a prerequisite for a Plugin or PluginFeature
PluginPrerequisiteAction
Represents an action that must be taken to install or uninstall a plugin prerequisite
PluginSetting<T>
Represents a setting tied to a plugin of type T
PluginSettings
This contains all the settings for your plugin. To access a setting use GetSetting<T>(string, T?).
To use this class, inject it into the constructor of your plugin.
PrerequisiteActionProgress
Represents progress on a plugin prerequisite action
ProcessExtensions
A static class providing Process extensions
Profile
Represents a profile containing folders and layers
ProfileCategory
Represents a category containing ProfileConfigurations
ProfileCategoryEventArgs
Provides data for profile configuration events.
ProfileConfiguration
Represents the configuration of a profile, contained in a ProfileCategory
ProfileConfigurationEventArgs
Provides data for profile configuration events.
ProfileConfigurationExportModel
A model that can be used to serialize a profile configuration, it's profile and it's icon
ProfileConfigurationIcon
Represents the icon of a ProfileConfiguration
ProfileElement
Represents an element of a Profile
ProfileElementEventArgs
Provides data for profile element events.
Profiler
Represents a profiler that can measure time between calls distinguished by identifiers
ProfilingMeasurement
Represents a set of profiling measurements
PropertyDescriptionAttribute
Represents a description attribute used to decorate layer properties
PropertyGroupDescriptionAttribute
Represents a description attribute used to decorate layer property groups
RectangleShape
Represents a rectangular layer shape
RenderProfileElement
Represents an element of a Profile that has advanced rendering capabilities
RestartEventArgs
Provides data about application restart events
RunInlinePowerShellAction
Represents a plugin prerequisite action runs inline powershell
RunPowerShellAction
Represents a plugin prerequisite action that runs a PowerShell script
Note: To run an inline script instead, use RunInlinePowerShellAction
SKColorExtensions
A static class providing SKColor extensions
SKColorLayerProperty
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.
SKPaintExtensions
A static class providing SKPaint extensions
SKPointLayerProperty
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.
SKSizeLayerProperty
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.
SKTexture
Represents a SkiaSharp-based RGB.NET PixelTexture
SingleLedAdaptionHint
Represents a hint that adapts layers to a single LED of one or more devices
StaticCondition
Represents a condition that is based on a data model value
SurfaceConfigurationEventArgs
Provides data about device configuration related events
TimedUpdateRegistration
Represents a registration for a timed plugin update
Timeline
Represents a timeline used by profile elements
TypeColorRegistration
Represents a registration for a SKColor to associate with a certain Type
TypeExtensions
A static class providing Type extensions
UpdateEventArgs
Provides data about application update events
Utilities
Provides a few general utilities for ease of use
WriteBytesToFileAction
Represents a plugin prerequisite action that copies a folder
WriteStringToFileAction
Represents a plugin prerequisite action that copies a folder
Structs
FloatRange
Represents a range between two single-precision floating point numbers
IntRange
Represents a range between two signed integers
Numeric
Represents a number, either decimal or not, with arbitrary precision.
Note: This struct is intended to be used by the node system when implementing your own Node. Usage outside that context is not recommended due to conversion overhead.
Interfaces
IAdaptionHint
Represents an adaption hint that's used to adapt a layer to a set of devices
IBreakableModel
Represents a model that can have a broken state
ICondition
Represents a condition applied to a ProfileElement
ICustomNodeViewModel
Represents a custom view model for a INode
ICustomViewModelNode
Represents a node that has a custom view model.
IDataBinding
Represents a data binding that binds a certain LayerProperty<T> to a value inside a DataModel
IDataBindingProperty
Represents a data binding registration
IDataModelEvent
Represents an event that is part of a data model
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.
ILayerPropertyKeyframe
Represents a keyframe on a ILayerProperty containing a value and a timestamp
INode
Represents a kind of node inside a INodeScript
INodeScript
Represents a node script
INodeScriptCondition
Represents a condition applied to a ProfileElement using a INodeScript
INodeScript<T>
Represents a node script with a result value of type T
IPin
Represents a pin containing a value on a INode
IPinCollection
IPluginConfigurationDialog
Represents a configuration dialog for a Plugin
IPluginConfigurationViewModel
Represents a view model for a plugin configuration window
IPluginSetting
Represents a setting tied to a plugin
IPrerequisitesSubject
Represents a type that has prerequisites
IStorageModel
Represents a model that can be loaded and saved to persistent storage
IUpdateModel
Represents a model that updates using a delta time
Enums
ActivationBehaviour
Represents a type of behaviour when this profile is activated
CustomNodeViewModelPosition
Represents the position of a node's custom view model.
DataModelPathSegmentType
Represents a type of data model path
DefaultCategoryName
Represents a name of one of the default categories
DeviceCategory
Represents a device category
Easings.Functions
Easing Functions enumeration
EventOverlapMode
Represents a mode for render elements to configure the behaviour of events that overlap i.e. trigger again before the timeline finishes.
EventToggleOffMode
Represents a mode for render elements when toggling off the event when using Toggle .
EventTriggerMode
Represents a mode for render elements to start their timeline when display conditions events are fired.
KeyboardLayoutType
Represents a physical layout type for a keyboard
KeyboardSection
Represents a section of LEDs on a keyboard
LayerShapeType
Represents a type of layer shape
LayerTransformMode
Represents a layer transform mode
LayoutSource
Represents a source from where a layout came
PinDirection
Represents a direction in which pin data flows
PluginPlatform
Specifies OS platforms a plugin may support.
PluginServiceScope
Represents a scope in which a plugin service is injected by the IOC container.
ProfileConfigurationHotkeyMode
Represents a hotkey mode for a profile configuration
ProfileConfigurationIconType
Represents a type of profile icon
ProfileRightSideType
An enum defining the right side type of a profile entity
StaticPlayMode
Represents a mode for render elements to start their timeline when display conditions are met
StaticStopMode
Represents a mode for render elements to stop their timeline when display conditions are no longer met