Files
Artemis/src/Artemis.Core/Services/Interfaces/IRgbService.cs
T
SpoinkyNL 29d4db55db Core - Flattened namespaces
Shared UI - Flattened namespaces
Shared UI - General housekeeping
Project - Code cleanup
2020-09-01 00:14:08 +02:00

52 lines
1.5 KiB
C#

using System;
using System.Collections.Generic;
using RGB.NET.Core;
namespace Artemis.Core.Services
{
public interface IRgbService : IArtemisService
{
/// <summary>
/// Gets or sets the RGB surface rendering is performed on
/// </summary>
RGBSurface Surface { get; set; }
/// <summary>
/// Gets the bitmap brush used to convert the rendered frame to LED-colors
/// </summary>
BitmapBrush BitmapBrush { get; }
/// <summary>
/// Gets the scale the frames are rendered on, a scale of 1.0 means 1 pixel = 1mm
/// </summary>
double RenderScale { get; }
/// <summary>
/// Gets all loaded RGB devices
/// </summary>
IReadOnlyCollection<IRGBDevice> LoadedDevices { get; }
TimerUpdateTrigger UpdateTrigger { get; }
bool IsRenderPaused { get; set; }
/// <summary>
/// Adds the given device provider to the <see cref="Surface" />
/// </summary>
/// <param name="deviceProvider"></param>
void AddDeviceProvider(IRGBDeviceProvider deviceProvider);
void Dispose();
/// <summary>
/// Occurs when a single device has loaded
/// </summary>
event EventHandler<DeviceEventArgs> DeviceLoaded;
/// <summary>
/// Occurs when a single device has reloaded
/// </summary>
event EventHandler<DeviceEventArgs> DeviceReloaded;
void UpdateSurfaceLedGroup();
}
}