mirror of
https://github.com/Artemis-RGB/Artemis
synced 2025-12-13 05:48:35 +00:00
Core port - Updated projects to new project layout Core port - Changed the way devices are identified to be consistent across different frameworks Core port - Updated plugin system to no longer use AppDomain but AssemblyLoadContext (through McMaster.NETCore.Plugins) Core port - Renamed a few events to keep Fody from getting confused
38 lines
1.1 KiB
C#
38 lines
1.1 KiB
C#
using System.ComponentModel;
|
|
using RGB.NET.Core;
|
|
using Stylet;
|
|
|
|
namespace Artemis.UI.Screens.SurfaceEditor.Visualization
|
|
{
|
|
public class SurfaceLedViewModel : PropertyChangedBase
|
|
{
|
|
public SurfaceLedViewModel(Led led)
|
|
{
|
|
Led = led;
|
|
ApplyLedToViewModel();
|
|
|
|
Led.PropertyChanged += ApplyViewModelOnLedChange;
|
|
}
|
|
|
|
public Led Led { get; set; }
|
|
|
|
public double X { get; set; }
|
|
public double Y { get; set; }
|
|
public double Width { get; set; }
|
|
public double Height { get; set; }
|
|
|
|
public void ApplyLedToViewModel()
|
|
{
|
|
// Don't want ActualLocation here since rotation is done in XAML
|
|
X = Led.Location.X * Led.Device.Scale.Horizontal;
|
|
Y = Led.Location.Y * Led.Device.Scale.Vertical;
|
|
Width = Led.ActualSize.Width;
|
|
Height = Led.ActualSize.Height;
|
|
}
|
|
|
|
private void ApplyViewModelOnLedChange(object sender, PropertyChangedEventArgs args)
|
|
{
|
|
if (args.PropertyName == "Location" || args.PropertyName == "ActualSize") ApplyLedToViewModel();
|
|
}
|
|
}
|
|
} |