Files
Artemis/src/Artemis.Core/Services/Interfaces/IRgbService.cs
T
SpoinkyNL 8c0d62a00b Core - Add HidSharp to force plugins to share the HidSharp types
Core - For now, set default log level to debug
ColorGradient- Improved GetColor performance
ColorGradient - GetColor now handles colors not between two stops properly
Home - Fix links
Plugins - Only allow layer property registration through Brushes
Color brush - Default to solid color
2020-04-21 12:11:53 +02:00

53 lines
1.5 KiB
C#

using System;
using System.Collections.Generic;
using Artemis.Core.Events;
using Artemis.Core.RGB.NET;
using RGB.NET.Core;
namespace Artemis.Core.Services.Interfaces
{
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; }
/// <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();
}
}