Namespace Artemis.Core
Namespaces
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 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>
Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.
- DataBinding<TLayerProperty>
Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.
- 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
- DeviceProviderEventArgs
Provides data about device provider 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
- 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.
- 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
- 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
- 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
- LayoutSelection
Represents a reference to a layout for a device.
- 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
- 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.
- 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
- 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.
- 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
- StringUtilities
Provides some random string utilities.
- 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
- 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
- IPluginConfigurationDialog
Represents a configuration dialog for a Plugin
- IPluginConfigurationViewModel
Represents a view model for a plugin configuration window
- IPluginFeatureDependent
Represents a class that depends on plugin features
- 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
- 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