mirror of
https://github.com/Artemis-RGB/Artemis
synced 2025-12-13 05:48:35 +00:00
Made Device, DeviceLed and Surface implement INotifyPropertChange
This commit is contained in:
parent
9f0d5fd7e0
commit
1935b72199
@ -1,5 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<Import Project="..\packages\PropertyChanged.Fody.3.1.3\build\PropertyChanged.Fody.props" Condition="Exists('..\packages\PropertyChanged.Fody.3.1.3\build\PropertyChanged.Fody.props')" />
|
||||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
@ -81,6 +82,9 @@
|
|||||||
<HintPath>..\packages\Ninject.Extensions.Factory.3.3.2\lib\net45\Ninject.Extensions.Factory.dll</HintPath>
|
<HintPath>..\packages\Ninject.Extensions.Factory.3.3.2\lib\net45\Ninject.Extensions.Factory.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="PresentationCore" />
|
<Reference Include="PresentationCore" />
|
||||||
|
<Reference Include="PropertyChanged, Version=3.1.3.0, Culture=neutral, PublicKeyToken=ee3ee20bcf148ddd, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\PropertyChanged.Fody.3.1.3\lib\net40\PropertyChanged.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="RGB.NET.Brushes, Version=0.1.25.0, Culture=neutral, processorArchitecture=MSIL">
|
<Reference Include="RGB.NET.Brushes, Version=0.1.25.0, Culture=neutral, processorArchitecture=MSIL">
|
||||||
<SpecificVersion>False</SpecificVersion>
|
<SpecificVersion>False</SpecificVersion>
|
||||||
<HintPath>..\..\..\RGB.NET\bin\net45\RGB.NET.Brushes.dll</HintPath>
|
<HintPath>..\..\..\RGB.NET\bin\net45\RGB.NET.Brushes.dll</HintPath>
|
||||||
@ -214,5 +218,16 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Folder Include="ProfileElements\Interfaces\" />
|
<Folder Include="ProfileElements\Interfaces\" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Resource Include="FodyWeavers.xml" />
|
||||||
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
|
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||||
|
<PropertyGroup>
|
||||||
|
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Error Condition="!Exists('..\packages\PropertyChanged.Fody.3.1.3\build\PropertyChanged.Fody.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\PropertyChanged.Fody.3.1.3\build\PropertyChanged.Fody.props'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\Fody.6.0.5\build\Fody.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Fody.6.0.5\build\Fody.targets'))" />
|
||||||
|
</Target>
|
||||||
|
<Import Project="..\packages\Fody.6.0.5\build\Fody.targets" Condition="Exists('..\packages\Fody.6.0.5\build\Fody.targets')" />
|
||||||
</Project>
|
</Project>
|
||||||
5
src/Artemis.Core/FodyWeavers.xml
Normal file
5
src/Artemis.Core/FodyWeavers.xml
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
|
||||||
|
<Weavers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="FodyWeavers.xsd">
|
||||||
|
<PropertyChanged />
|
||||||
|
</Weavers>
|
||||||
54
src/Artemis.Core/FodyWeavers.xsd
Normal file
54
src/Artemis.Core/FodyWeavers.xsd
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||||
|
<!-- This file was generated by Fody. Manual changes to this file will be lost when your project is rebuilt. -->
|
||||||
|
<xs:element name="Weavers">
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:all>
|
||||||
|
<xs:element name="PropertyChanged" minOccurs="0" maxOccurs="1">
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:attribute name="InjectOnPropertyNameChanged" type="xs:boolean">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Used to control if the On_PropertyName_Changed feature is enabled.</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="EventInvokerNames" type="xs:string">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Used to change the name of the method that fires the notify event. This is a string that accepts multiple values in a comma separated form.</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="CheckForEquality" type="xs:boolean">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Used to control if equality checks should be inserted. If false, equality checking will be disabled for the project.</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="CheckForEqualityUsingBaseEquals" type="xs:boolean">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Used to control if equality checks should use the Equals method resolved from the base class.</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="UseStaticEqualsFromBase" type="xs:boolean">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Used to control if equality checks should use the static Equals method resolved from the base class.</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:attribute>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
</xs:all>
|
||||||
|
<xs:attribute name="VerifyAssembly" type="xs:boolean">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed.</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="VerifyIgnoreCodes" type="xs:string">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>A comma-separated list of error codes that can be safely ignored in assembly verification.</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="GenerateXsd" type="xs:boolean">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>'false' to turn off automatic generation of the XML Schema file.</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:attribute>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
</xs:schema>
|
||||||
@ -1,16 +1,19 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.ObjectModel;
|
using System.Collections.ObjectModel;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Diagnostics;
|
||||||
using System.Drawing.Drawing2D;
|
using System.Drawing.Drawing2D;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using Artemis.Core.Extensions;
|
using Artemis.Core.Extensions;
|
||||||
using Artemis.Core.Plugins.Abstract;
|
using Artemis.Core.Plugins.Abstract;
|
||||||
using Artemis.Storage.Entities.Surface;
|
using Artemis.Storage.Entities.Surface;
|
||||||
using RGB.NET.Core;
|
using RGB.NET.Core;
|
||||||
|
using Stylet;
|
||||||
using Rectangle = System.Drawing.Rectangle;
|
using Rectangle = System.Drawing.Rectangle;
|
||||||
|
|
||||||
namespace Artemis.Core.Models.Surface
|
namespace Artemis.Core.Models.Surface
|
||||||
{
|
{
|
||||||
public class Device
|
public class Device : PropertyChangedBase
|
||||||
{
|
{
|
||||||
internal Device(IRGBDevice rgbDevice, Plugin plugin, Surface surface)
|
internal Device(IRGBDevice rgbDevice, Plugin plugin, Surface surface)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,10 +1,11 @@
|
|||||||
using System;
|
using System;
|
||||||
using RGB.NET.Core;
|
using RGB.NET.Core;
|
||||||
|
using Stylet;
|
||||||
using Rectangle = System.Drawing.Rectangle;
|
using Rectangle = System.Drawing.Rectangle;
|
||||||
|
|
||||||
namespace Artemis.Core.Models.Surface
|
namespace Artemis.Core.Models.Surface
|
||||||
{
|
{
|
||||||
public class DeviceLed
|
public class DeviceLed : PropertyChangedBase
|
||||||
{
|
{
|
||||||
public DeviceLed(Led led, Device device)
|
public DeviceLed(Led led, Device device)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -3,10 +3,11 @@ using System.Collections.Generic;
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using Artemis.Storage.Entities.Surface;
|
using Artemis.Storage.Entities.Surface;
|
||||||
using RGB.NET.Core;
|
using RGB.NET.Core;
|
||||||
|
using Stylet;
|
||||||
|
|
||||||
namespace Artemis.Core.Models.Surface
|
namespace Artemis.Core.Models.Surface
|
||||||
{
|
{
|
||||||
public class Surface
|
public class Surface : PropertyChangedBase
|
||||||
{
|
{
|
||||||
internal Surface(RGBSurface rgbSurface, string name, double scale)
|
internal Surface(RGBSurface rgbSurface, string name, double scale)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -3,12 +3,14 @@
|
|||||||
<package id="AppDomainToolkit" version="1.0.4.3" targetFramework="net461" />
|
<package id="AppDomainToolkit" version="1.0.4.3" targetFramework="net461" />
|
||||||
<package id="Ben.Demystifier" version="0.1.4" targetFramework="net472" />
|
<package id="Ben.Demystifier" version="0.1.4" targetFramework="net472" />
|
||||||
<package id="Castle.Core" version="4.4.0" targetFramework="net461" />
|
<package id="Castle.Core" version="4.4.0" targetFramework="net461" />
|
||||||
|
<package id="Fody" version="6.0.5" targetFramework="net472" developmentDependency="true" />
|
||||||
<package id="LiteDB" version="4.1.4" targetFramework="net472" />
|
<package id="LiteDB" version="4.1.4" targetFramework="net472" />
|
||||||
<package id="Newtonsoft.Json" version="12.0.2" targetFramework="net472" />
|
<package id="Newtonsoft.Json" version="12.0.2" targetFramework="net472" />
|
||||||
<package id="Ninject" version="3.3.4" targetFramework="net461" />
|
<package id="Ninject" version="3.3.4" targetFramework="net461" />
|
||||||
<package id="Ninject.Extensions.ChildKernel" version="3.3.0" targetFramework="net461" />
|
<package id="Ninject.Extensions.ChildKernel" version="3.3.0" targetFramework="net461" />
|
||||||
<package id="Ninject.Extensions.Conventions" version="3.3.0" targetFramework="net461" />
|
<package id="Ninject.Extensions.Conventions" version="3.3.0" targetFramework="net461" />
|
||||||
<package id="Ninject.Extensions.Factory" version="3.3.2" targetFramework="net461" />
|
<package id="Ninject.Extensions.Factory" version="3.3.2" targetFramework="net461" />
|
||||||
|
<package id="PropertyChanged.Fody" version="3.1.3" targetFramework="net472" />
|
||||||
<package id="Serilog" version="2.8.0" targetFramework="net472" />
|
<package id="Serilog" version="2.8.0" targetFramework="net472" />
|
||||||
<package id="Serilog.Enrichers.Demystify" version="1.0.0-dev-00019" targetFramework="net472" />
|
<package id="Serilog.Enrichers.Demystify" version="1.0.0-dev-00019" targetFramework="net472" />
|
||||||
<package id="Serilog.Sinks.File" version="4.0.0" targetFramework="net472" />
|
<package id="Serilog.Sinks.File" version="4.0.0" targetFramework="net472" />
|
||||||
|
|||||||
@ -90,6 +90,8 @@ namespace Artemis.Plugins.Modules.General
|
|||||||
brush.TranslateTransform((int) Math.Round(device.RenderRectangle.Width / 100.0 * MovePercentage), 0);
|
brush.TranslateTransform((int) Math.Round(device.RenderRectangle.Width / 100.0 * MovePercentage), 0);
|
||||||
graphics.FillPath(brush, device.RenderPath);
|
graphics.FillPath(brush, device.RenderPath);
|
||||||
brush.TranslateTransform((int) Math.Round(device.RenderRectangle.Width / 100.0 * MovePercentage) * -1, 0);
|
brush.TranslateTransform((int) Math.Round(device.RenderRectangle.Width / 100.0 * MovePercentage) * -1, 0);
|
||||||
|
|
||||||
|
graphics.DrawRectangle(new Pen(Color.Red), device.RenderRectangle);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<Import Project="..\packages\PropertyChanged.Fody.3.0.1\build\PropertyChanged.Fody.props" Condition="Exists('..\packages\PropertyChanged.Fody.3.0.1\build\PropertyChanged.Fody.props')" />
|
<Import Project="..\packages\PropertyChanged.Fody.3.1.3\build\PropertyChanged.Fody.props" Condition="Exists('..\packages\PropertyChanged.Fody.3.1.3\build\PropertyChanged.Fody.props')" />
|
||||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
@ -100,8 +100,8 @@
|
|||||||
<Reference Include="Ninject.Extensions.Factory, Version=3.3.2.0, Culture=neutral, PublicKeyToken=c7192dc5380945e7, processorArchitecture=MSIL">
|
<Reference Include="Ninject.Extensions.Factory, Version=3.3.2.0, Culture=neutral, PublicKeyToken=c7192dc5380945e7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Ninject.Extensions.Factory.3.3.2\lib\net45\Ninject.Extensions.Factory.dll</HintPath>
|
<HintPath>..\packages\Ninject.Extensions.Factory.3.3.2\lib\net45\Ninject.Extensions.Factory.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="PropertyChanged, Version=3.0.1.0, Culture=neutral, PublicKeyToken=ee3ee20bcf148ddd, processorArchitecture=MSIL">
|
<Reference Include="PropertyChanged, Version=3.1.3.0, Culture=neutral, PublicKeyToken=ee3ee20bcf148ddd, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\PropertyChanged.Fody.3.0.1\lib\net452\PropertyChanged.dll</HintPath>
|
<HintPath>..\packages\PropertyChanged.Fody.3.1.3\lib\net40\PropertyChanged.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="RGB.NET.Core, Version=0.1.25.0, Culture=neutral, processorArchitecture=MSIL">
|
<Reference Include="RGB.NET.Core, Version=0.1.25.0, Culture=neutral, processorArchitecture=MSIL">
|
||||||
<SpecificVersion>False</SpecificVersion>
|
<SpecificVersion>False</SpecificVersion>
|
||||||
@ -379,8 +379,8 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Error Condition="!Exists('..\packages\PropertyChanged.Fody.3.0.1\build\PropertyChanged.Fody.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\PropertyChanged.Fody.3.0.1\build\PropertyChanged.Fody.props'))" />
|
<Error Condition="!Exists('..\packages\PropertyChanged.Fody.3.1.3\build\PropertyChanged.Fody.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\PropertyChanged.Fody.3.1.3\build\PropertyChanged.Fody.props'))" />
|
||||||
<Error Condition="!Exists('..\packages\Fody.5.0.6\build\Fody.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Fody.5.0.6\build\Fody.targets'))" />
|
<Error Condition="!Exists('..\packages\Fody.6.0.5\build\Fody.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Fody.6.0.5\build\Fody.targets'))" />
|
||||||
</Target>
|
</Target>
|
||||||
<Import Project="..\packages\Fody.5.0.6\build\Fody.targets" Condition="Exists('..\packages\Fody.5.0.6\build\Fody.targets')" />
|
<Import Project="..\packages\Fody.6.0.5\build\Fody.targets" Condition="Exists('..\packages\Fody.6.0.5\build\Fody.targets')" />
|
||||||
</Project>
|
</Project>
|
||||||
@ -104,8 +104,8 @@
|
|||||||
</ItemsControl.ItemsPanel>
|
</ItemsControl.ItemsPanel>
|
||||||
<ItemsControl.ItemContainerStyle>
|
<ItemsControl.ItemContainerStyle>
|
||||||
<Style TargetType="ContentPresenter">
|
<Style TargetType="ContentPresenter">
|
||||||
<Setter Property="Canvas.Left" Value="{Binding RgbDeviceRectangle.Location.X}" />
|
<Setter Property="Canvas.Left" Value="{Binding Device.X}" />
|
||||||
<Setter Property="Canvas.Top" Value="{Binding RgbDeviceRectangle.Location.Y}" />
|
<Setter Property="Canvas.Top" Value="{Binding Device.Y}" />
|
||||||
</Style>
|
</Style>
|
||||||
</ItemsControl.ItemContainerStyle>
|
</ItemsControl.ItemContainerStyle>
|
||||||
<ItemsControl.ItemTemplate>
|
<ItemsControl.ItemTemplate>
|
||||||
|
|||||||
@ -15,7 +15,6 @@ using Artemis.UI.Screens.Shared;
|
|||||||
using Artemis.UI.Screens.SurfaceEditor.Dialogs;
|
using Artemis.UI.Screens.SurfaceEditor.Dialogs;
|
||||||
using Artemis.UI.Screens.SurfaceEditor.Visualization;
|
using Artemis.UI.Screens.SurfaceEditor.Visualization;
|
||||||
using Artemis.UI.Services.Interfaces;
|
using Artemis.UI.Services.Interfaces;
|
||||||
using Ninject.Parameters;
|
|
||||||
using Stylet;
|
using Stylet;
|
||||||
|
|
||||||
namespace Artemis.UI.Screens.SurfaceEditor
|
namespace Artemis.UI.Screens.SurfaceEditor
|
||||||
|
|||||||
@ -19,11 +19,12 @@
|
|||||||
<converters:NullToVisibilityConverter x:Key="NullToVisibilityConverter" />
|
<converters:NullToVisibilityConverter x:Key="NullToVisibilityConverter" />
|
||||||
</UserControl.Resources>
|
</UserControl.Resources>
|
||||||
<Grid>
|
<Grid>
|
||||||
<Grid.LayoutTransform>
|
|
||||||
<RotateTransform Angle="{Binding Device.RgbDevice.Rotation.Degrees}"></RotateTransform>
|
|
||||||
</Grid.LayoutTransform>
|
|
||||||
<!-- Device image with fallback -->
|
<!-- Device image with fallback -->
|
||||||
<Image Source="{Binding Device.RgbDevice.DeviceInfo.Image, Converter={StaticResource NullToImageConverter}}" />
|
<Image Source="{Binding Device.RgbDevice.DeviceInfo.Image, Converter={StaticResource NullToImageConverter}}" VerticalAlignment="Top" HorizontalAlignment="Left">
|
||||||
|
<Image.LayoutTransform>
|
||||||
|
<RotateTransform Angle="{Binding Device.Rotation}" />
|
||||||
|
</Image.LayoutTransform>
|
||||||
|
</Image>
|
||||||
|
|
||||||
<Rectangle Fill="{DynamicResource ControlBackgroundBrush}"
|
<Rectangle Fill="{DynamicResource ControlBackgroundBrush}"
|
||||||
Stroke="{DynamicResource ControlBorderBrush}"
|
Stroke="{DynamicResource ControlBorderBrush}"
|
||||||
@ -38,6 +39,9 @@
|
|||||||
|
|
||||||
<!-- LEDs -->
|
<!-- LEDs -->
|
||||||
<ItemsControl ItemsSource="{Binding Leds}">
|
<ItemsControl ItemsSource="{Binding Leds}">
|
||||||
|
<ItemsControl.LayoutTransform>
|
||||||
|
<RotateTransform Angle="{Binding Device.Rotation}" />
|
||||||
|
</ItemsControl.LayoutTransform>
|
||||||
<ItemsControl.ItemsPanel>
|
<ItemsControl.ItemsPanel>
|
||||||
<ItemsPanelTemplate>
|
<ItemsPanelTemplate>
|
||||||
<Canvas />
|
<Canvas />
|
||||||
|
|||||||
@ -1,12 +1,11 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Diagnostics;
|
||||||
using System.Windows;
|
using System.Windows;
|
||||||
using System.Windows.Input;
|
using System.Windows.Input;
|
||||||
using Artemis.Core.Models.Surface;
|
using Artemis.Core.Models.Surface;
|
||||||
using PropertyChanged;
|
|
||||||
using RGB.NET.Core;
|
|
||||||
using Stylet;
|
using Stylet;
|
||||||
using Point = System.Windows.Point;
|
|
||||||
|
|
||||||
namespace Artemis.UI.Screens.SurfaceEditor.Visualization
|
namespace Artemis.UI.Screens.SurfaceEditor.Visualization
|
||||||
{
|
{
|
||||||
@ -26,24 +25,12 @@ namespace Artemis.UI.Screens.SurfaceEditor.Visualization
|
|||||||
foreach (var led in Device.RgbDevice)
|
foreach (var led in Device.RgbDevice)
|
||||||
_leds.Add(new SurfaceLedViewModel(led));
|
_leds.Add(new SurfaceLedViewModel(led));
|
||||||
}
|
}
|
||||||
|
|
||||||
Device.DeviceUpdated += DeviceOnDeviceUpdated;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void DeviceOnDeviceUpdated(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
NotifyOfPropertyChange(() => RgbDeviceRectangle);
|
|
||||||
NotifyOfPropertyChange(() => RgbDeviceRectangle.Location.X);
|
|
||||||
NotifyOfPropertyChange(() => RgbDeviceRectangle.Location.Y);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public Device Device { get; set; }
|
public Device Device { get; set; }
|
||||||
public SelectionStatus SelectionStatus { get; set; }
|
public SelectionStatus SelectionStatus { get; set; }
|
||||||
public Cursor Cursor { get; set; }
|
public Cursor Cursor { get; set; }
|
||||||
|
|
||||||
public Rectangle RgbDeviceRectangle => Device.RgbDevice.DeviceRectangle;
|
|
||||||
|
|
||||||
public IReadOnlyCollection<SurfaceLedViewModel> Leds => _leds.AsReadOnly();
|
public IReadOnlyCollection<SurfaceLedViewModel> Leds => _leds.AsReadOnly();
|
||||||
|
|
||||||
public Rect DeviceRectangle => Device.RgbDevice == null
|
public Rect DeviceRectangle => Device.RgbDevice == null
|
||||||
@ -86,10 +73,7 @@ namespace Artemis.UI.Screens.SurfaceEditor.Visualization
|
|||||||
|
|
||||||
public MouseDevicePosition GetMouseDevicePosition(Point position)
|
public MouseDevicePosition GetMouseDevicePosition(Point position)
|
||||||
{
|
{
|
||||||
if ((new Point(0, 0) - position).LengthSquared < 5)
|
if ((new Point(0, 0) - position).LengthSquared < 5) return MouseDevicePosition.TopLeft;
|
||||||
{
|
|
||||||
return MouseDevicePosition.TopLeft;
|
|
||||||
}
|
|
||||||
|
|
||||||
return MouseDevicePosition.Regular;
|
return MouseDevicePosition.Regular;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
<package id="ControlzEx" version="3.0.2.4" targetFramework="net472" />
|
<package id="ControlzEx" version="3.0.2.4" targetFramework="net472" />
|
||||||
<package id="Dragablz" version="0.0.3.203" targetFramework="net472" />
|
<package id="Dragablz" version="0.0.3.203" targetFramework="net472" />
|
||||||
<package id="FluentValidation" version="8.5.0" targetFramework="net472" />
|
<package id="FluentValidation" version="8.5.0" targetFramework="net472" />
|
||||||
<package id="Fody" version="5.0.6" targetFramework="net472" developmentDependency="true" />
|
<package id="Fody" version="6.0.5" targetFramework="net472" developmentDependency="true" />
|
||||||
<package id="Humanizer.Core" version="2.6.2" targetFramework="net461" />
|
<package id="Humanizer.Core" version="2.6.2" targetFramework="net461" />
|
||||||
<package id="MahApps.Metro" version="1.6.5" targetFramework="net472" />
|
<package id="MahApps.Metro" version="1.6.5" targetFramework="net472" />
|
||||||
<package id="MaterialDesignColors" version="1.2.0" targetFramework="net472" />
|
<package id="MaterialDesignColors" version="1.2.0" targetFramework="net472" />
|
||||||
@ -13,7 +13,7 @@
|
|||||||
<package id="Ninject" version="3.3.4" targetFramework="net461" />
|
<package id="Ninject" version="3.3.4" targetFramework="net461" />
|
||||||
<package id="Ninject.Extensions.Conventions" version="3.3.0" targetFramework="net461" />
|
<package id="Ninject.Extensions.Conventions" version="3.3.0" targetFramework="net461" />
|
||||||
<package id="Ninject.Extensions.Factory" version="3.3.2" targetFramework="net461" />
|
<package id="Ninject.Extensions.Factory" version="3.3.2" targetFramework="net461" />
|
||||||
<package id="PropertyChanged.Fody" version="3.0.1" targetFramework="net472" />
|
<package id="PropertyChanged.Fody" version="3.1.3" targetFramework="net472" />
|
||||||
<package id="Serilog" version="2.8.0" targetFramework="net472" />
|
<package id="Serilog" version="2.8.0" targetFramework="net472" />
|
||||||
<package id="Stylet" version="1.3.0" targetFramework="net472" />
|
<package id="Stylet" version="1.3.0" targetFramework="net472" />
|
||||||
<package id="System.ComponentModel.Annotations" version="4.6.0" targetFramework="net472" />
|
<package id="System.ComponentModel.Annotations" version="4.6.0" targetFramework="net472" />
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user