From 9148323ad53e15ad6007b579ff129de183d79249 Mon Sep 17 00:00:00 2001 From: SpoinkyNL Date: Sun, 1 Dec 2019 18:55:49 +0100 Subject: [PATCH] Implemented layer elements Added a brush layer element Corsair - Added ST100 RGB layout --- src/Artemis.Core/Artemis.Core.csproj | 11 +- .../Models/Profile/Abstract/ProfileElement.cs | 5 +- src/Artemis.Core/Models/Profile/Folder.cs | 10 +- src/Artemis.Core/Models/Profile/Layer.cs | 96 ++-- src/Artemis.Core/Models/Profile/Profile.cs | 18 +- .../Models/Surface/ArtemisSurface.cs | 2 +- .../Abstract/{Device.cs => DeviceProvider.cs} | 13 +- .../Plugins/Abstract/LayerType.cs | 29 - .../Plugins/Abstract/ModuleViewModel.cs | 2 +- .../Plugins/Abstract/ProfileModule.cs | 9 +- .../Interfaces/ILayerTypeConfiguration.cs | 6 - .../Plugins/LayerElement/LayerElement.cs | 47 ++ .../LayerElement/LayerElementDescriptor.cs | 22 + .../LayerElement/LayerElementProvider.cs | 28 + .../LayerElement/LayerElementSettings.cs | 8 + .../LayerElement/LayerElementViewModel.cs | 14 + src/Artemis.Core/RGB.NET/GraphicsDecorator.cs | 11 +- src/Artemis.Core/Services/CoreService.cs | 1 - src/Artemis.Core/Services/DeviceService.cs | 10 +- .../Services/Interfaces/ILayerService.cs | 18 + .../Services/Interfaces/IPluginService.cs | 7 - src/Artemis.Core/Services/LayerService.cs | 50 ++ src/Artemis.Core/Services/PluginService.cs | 15 +- .../Storage/Interfaces/IProfileService.cs | 7 + .../Services/Storage/ProfileService.cs | 130 ++--- src/Artemis.Core/packages.config | 1 + .../Artemis.Plugins.Devices.Corsair.csproj | 2 +- ...sairDevice.cs => CorsairDeviceProvider.cs} | 10 +- .../Images/Corsair/HeadsetStands/ST100RGB.png | Bin 0 -> 282909 bytes .../Corsair/HeadsetStands/ST100RGB.xml | 138 +++++ .../Layouts/Corsair/Keyboards/K65RGB/UK.xml | 496 ++++++++++++++++++ .../Artemis.Plugins.Devices.Logitech.csproj | 2 +- ...echDevice.cs => LogitechDeviceProvider.cs} | 10 +- .../app.config | 1 + ...rtemis.Plugins.LayerElements.Brush.csproj} | 32 +- .../BrushConfiguration.cs | 9 - .../BrushLayerElement.cs | 40 ++ .../BrushLayerElementProvider.cs | 25 + .../BrushLayerElementSettings.cs | 9 + .../BrushLayerElementView.xaml | 54 ++ .../BrushLayerElementViewModel.cs | 14 + .../BrushLayerType.cs | 42 -- .../Properties/AssemblyInfo.cs | 2 +- .../packages.config | 2 +- .../plugin.json | 4 +- .../GeneralModule.cs | 17 +- .../Entities/Profile/LayerElementEntity.cs | 4 +- .../Entities/Profile/LayerEntity.cs | 1 - .../Interfaces/IProfileRepository.cs | 1 - .../Interfaces/ISurfaceRepository.cs | 1 - .../Repositories/PluginSettingRepository.cs | 2 +- src/Artemis.UI/App.xaml | 4 +- src/Artemis.UI/Artemis.UI.csproj | 14 +- .../ColorToDrawingColorConverter.cs | 33 ++ src/Artemis.UI/Ninject/UiModule.cs | 4 +- .../GradientEditor/GradientEditorView.xaml | 16 + .../GradientEditor/GradientEditorViewModel.cs | 10 + .../Dialogs/ProfileElementRenameView.xaml | 2 +- .../ElementPropertiesView.xaml | 14 +- .../ElementPropertiesViewModel.cs | 21 +- .../ElementPropertyView.xaml | 10 - .../ElementPropertyViewModel.cs | 6 - .../Dialogs/AddLayerElementView.xaml | 45 ++ .../Dialogs/AddLayerElementViewModel.cs | 53 ++ .../LayerElements/LayerElementView.xaml | 10 - .../LayerElements/LayerElementViewModel.cs | 15 +- .../LayerElements/LayerElementsView.xaml | 74 ++- .../LayerElements/LayerElementsViewModel.cs | 91 +++- .../ProfileEditor/ProfileEditorViewModel.cs | 11 +- .../ProfileTree/ProfileTreeView.xaml | 2 +- .../ProfileTree/ProfileTreeViewModel.cs | 4 +- .../ProfileTree/TreeItem/FolderView.xaml | 8 +- .../Visualization/ProfileLedViewModel.cs | 1 - src/Artemis.UI/Screens/RootViewModel.cs | 7 +- .../SurfaceEditor/SurfaceEditorViewModel.cs | 2 +- .../Screens/Workshop/WorkshopView.xaml | 1 + .../Services/Dialog/DialogService.cs | 8 +- .../Interfaces/IProfileEditorService.cs | 4 + .../Services/ProfileEditorService.cs | 14 + src/Artemis.UI/packages.config | 1 + src/Artemis.sln | 2 +- 81 files changed, 1610 insertions(+), 365 deletions(-) rename src/Artemis.Core/Plugins/Abstract/{Device.cs => DeviceProvider.cs} (60%) delete mode 100644 src/Artemis.Core/Plugins/Abstract/LayerType.cs delete mode 100644 src/Artemis.Core/Plugins/Interfaces/ILayerTypeConfiguration.cs create mode 100644 src/Artemis.Core/Plugins/LayerElement/LayerElement.cs create mode 100644 src/Artemis.Core/Plugins/LayerElement/LayerElementDescriptor.cs create mode 100644 src/Artemis.Core/Plugins/LayerElement/LayerElementProvider.cs create mode 100644 src/Artemis.Core/Plugins/LayerElement/LayerElementSettings.cs create mode 100644 src/Artemis.Core/Plugins/LayerElement/LayerElementViewModel.cs create mode 100644 src/Artemis.Core/Services/Interfaces/ILayerService.cs create mode 100644 src/Artemis.Core/Services/LayerService.cs rename src/Artemis.Plugins.Devices.Corsair/{CorsairDevice.cs => CorsairDeviceProvider.cs} (62%) create mode 100644 src/Artemis.Plugins.Devices.Corsair/Images/Corsair/HeadsetStands/ST100RGB.png create mode 100644 src/Artemis.Plugins.Devices.Corsair/Layouts/Corsair/HeadsetStands/ST100RGB.xml create mode 100644 src/Artemis.Plugins.Devices.Corsair/Layouts/Corsair/Keyboards/K65RGB/UK.xml rename src/Artemis.Plugins.Devices.Logitech/{LogitechDevice.cs => LogitechDeviceProvider.cs} (51%) rename src/Artemis.Plugins.LayerTypes.Brush/{Artemis.Plugins.LayerTypes.Brush.csproj => Artemis.Plugins.LayerElements.Brush.csproj} (78%) delete mode 100644 src/Artemis.Plugins.LayerTypes.Brush/BrushConfiguration.cs create mode 100644 src/Artemis.Plugins.LayerTypes.Brush/BrushLayerElement.cs create mode 100644 src/Artemis.Plugins.LayerTypes.Brush/BrushLayerElementProvider.cs create mode 100644 src/Artemis.Plugins.LayerTypes.Brush/BrushLayerElementSettings.cs create mode 100644 src/Artemis.Plugins.LayerTypes.Brush/BrushLayerElementView.xaml create mode 100644 src/Artemis.Plugins.LayerTypes.Brush/BrushLayerElementViewModel.cs delete mode 100644 src/Artemis.Plugins.LayerTypes.Brush/BrushLayerType.cs create mode 100644 src/Artemis.UI/Converters/ColorToDrawingColorConverter.cs create mode 100644 src/Artemis.UI/Screens/GradientEditor/GradientEditorView.xaml create mode 100644 src/Artemis.UI/Screens/GradientEditor/GradientEditorViewModel.cs delete mode 100644 src/Artemis.UI/Screens/Module/ProfileEditor/ElementProperties/ElementPropertyView.xaml delete mode 100644 src/Artemis.UI/Screens/Module/ProfileEditor/ElementProperties/ElementPropertyViewModel.cs create mode 100644 src/Artemis.UI/Screens/Module/ProfileEditor/LayerElements/Dialogs/AddLayerElementView.xaml create mode 100644 src/Artemis.UI/Screens/Module/ProfileEditor/LayerElements/Dialogs/AddLayerElementViewModel.cs delete mode 100644 src/Artemis.UI/Screens/Module/ProfileEditor/LayerElements/LayerElementView.xaml diff --git a/src/Artemis.Core/Artemis.Core.csproj b/src/Artemis.Core/Artemis.Core.csproj index 4a17e3e64..e1b091e70 100644 --- a/src/Artemis.Core/Artemis.Core.csproj +++ b/src/Artemis.Core/Artemis.Core.csproj @@ -172,11 +172,14 @@ - - - + + + + + + @@ -189,9 +192,11 @@ + + diff --git a/src/Artemis.Core/Models/Profile/Abstract/ProfileElement.cs b/src/Artemis.Core/Models/Profile/Abstract/ProfileElement.cs index 06f08c99e..8fec27918 100644 --- a/src/Artemis.Core/Models/Profile/Abstract/ProfileElement.cs +++ b/src/Artemis.Core/Models/Profile/Abstract/ProfileElement.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Collections.ObjectModel; using System.Drawing; using System.Linq; +using Artemis.Core.Models.Surface; using Stylet; namespace Artemis.Core.Models.Profile.Abstract @@ -44,7 +45,7 @@ namespace Artemis.Core.Models.Profile.Abstract /// /// Renders the element /// - public abstract void Render(double deltaTime, Surface.ArtemisSurface surface, Graphics graphics); + public abstract void Render(double deltaTime, ArtemisSurface surface, Graphics graphics); /// /// Applies the profile element's properties to the underlying storage entity @@ -73,7 +74,7 @@ namespace Artemis.Core.Models.Profile.Abstract layers.AddRange(Children.Where(c => c is Layer).Cast()); // Add all layers in folders inside this element - foreach (var childFolder in Children.Where(c => c is Folder).Cast()) + foreach (var childFolder in Children.Where(c => c is Folder).Cast()) layers.AddRange(childFolder.GetAllLayers()); return layers; diff --git a/src/Artemis.Core/Models/Profile/Folder.cs b/src/Artemis.Core/Models/Profile/Folder.cs index 72527628b..41fde07ae 100644 --- a/src/Artemis.Core/Models/Profile/Folder.cs +++ b/src/Artemis.Core/Models/Profile/Folder.cs @@ -2,7 +2,7 @@ using System; using System.Drawing; using System.Linq; using Artemis.Core.Models.Profile.Abstract; -using Artemis.Core.Services.Interfaces; +using Artemis.Core.Models.Surface; using Artemis.Storage.Entities.Profile; namespace Artemis.Core.Models.Profile @@ -19,7 +19,7 @@ namespace Artemis.Core.Models.Profile Name = name; } - public Folder(Profile profile, ProfileElement parent, FolderEntity folderEntity, IPluginService pluginService) + internal Folder(Profile profile, ProfileElement parent, FolderEntity folderEntity) { FolderEntity = folderEntity; EntityId = folderEntity.Id; @@ -33,10 +33,10 @@ namespace Artemis.Core.Models.Profile // Load child folders foreach (var childFolder in Profile.ProfileEntity.Folders.Where(f => f.ParentId == EntityId)) - _children.Add(new Folder(profile, this, childFolder, pluginService)); + _children.Add(new Folder(profile, this, childFolder)); // Load child layers foreach (var childLayer in Profile.ProfileEntity.Layers.Where(f => f.ParentId == EntityId)) - _children.Add(new Layer(profile, this, childLayer, pluginService)); + _children.Add(new Layer(profile, this, childLayer)); // Ensure order integrity, should be unnecessary but no one is perfect specially me _children = _children.OrderBy(c => c.Order).ToList(); @@ -56,7 +56,7 @@ namespace Artemis.Core.Models.Profile profileElement.Update(deltaTime); } - public override void Render(double deltaTime, Surface.ArtemisSurface surface, Graphics graphics) + public override void Render(double deltaTime, ArtemisSurface surface, Graphics graphics) { // Folders don't render but their children do foreach (var profileElement in Children) diff --git a/src/Artemis.Core/Models/Profile/Layer.cs b/src/Artemis.Core/Models/Profile/Layer.cs index 4acf2ecbf..aee7eab8b 100644 --- a/src/Artemis.Core/Models/Profile/Layer.cs +++ b/src/Artemis.Core/Models/Profile/Layer.cs @@ -7,15 +7,15 @@ using System.Linq; using Artemis.Core.Extensions; using Artemis.Core.Models.Profile.Abstract; using Artemis.Core.Models.Surface; -using Artemis.Core.Plugins.Abstract; -using Artemis.Core.Plugins.Interfaces; -using Artemis.Core.Services.Interfaces; +using Artemis.Core.Plugins.LayerElement; using Artemis.Storage.Entities.Profile; +using Newtonsoft.Json; namespace Artemis.Core.Models.Profile { public sealed class Layer : ProfileElement { + private readonly List _layerElements; private List _leds; public Layer(Profile profile, ProfileElement parent, string name) @@ -26,10 +26,12 @@ namespace Artemis.Core.Models.Profile Profile = profile; Parent = parent; Name = name; + _leds = new List(); + _layerElements = new List(); } - internal Layer(Profile profile, ProfileElement parent, LayerEntity layerEntity, IPluginService pluginService) + internal Layer(Profile profile, ProfileElement parent, LayerEntity layerEntity) { LayerEntity = layerEntity; EntityId = layerEntity.Id; @@ -39,46 +41,44 @@ namespace Artemis.Core.Models.Profile Name = layerEntity.Name; Order = layerEntity.Order; - LayerType = pluginService.GetLayerTypeByGuid(layerEntity.LayerTypeGuid); _leds = new List(); + _layerElements = new List(); } internal LayerEntity LayerEntity { get; set; } public ReadOnlyCollection Leds => _leds.AsReadOnly(); - public LayerType LayerType { get; private set; } - public ILayerTypeConfiguration LayerTypeConfiguration { get; set; } + public ReadOnlyCollection LayerElements => _layerElements.AsReadOnly(); public Rectangle RenderRectangle { get; set; } public GraphicsPath RenderPath { get; set; } public override void Update(double deltaTime) { - if (LayerType == null) - return; - - lock (LayerType) - { - LayerType.Update(this); - } + foreach (var layerElement in LayerElements) + layerElement.Update(deltaTime); } public override void Render(double deltaTime, ArtemisSurface surface, Graphics graphics) { - if (LayerType == null) - return; + graphics.SetClip(RenderPath); - lock (LayerType) - { - LayerType.Render(this, surface, graphics); - } + foreach (var layerElement in LayerElements) + layerElement.RenderPreProcess(surface, graphics); + + foreach (var layerElement in LayerElements) + layerElement.Render(surface, graphics); + + foreach (var layerElement in LayerElements) + layerElement.RenderPostProcess(surface, graphics); + + graphics.ResetClip(); } internal override void ApplyToEntity() { LayerEntity.Id = EntityId; LayerEntity.ParentId = Parent?.EntityId ?? new Guid(); - LayerEntity.LayerTypeGuid = LayerType?.PluginInfo.Guid ?? new Guid(); LayerEntity.Order = Order; LayerEntity.Name = Name; @@ -97,26 +97,18 @@ namespace Artemis.Core.Models.Profile } LayerEntity.Condition.Clear(); - + LayerEntity.Elements.Clear(); - } - - public void ApplySurface(ArtemisSurface surface) - { - var leds = new List(); - - // Get the surface LEDs for this layer - var availableLeds = surface.Devices.SelectMany(d => d.Leds).ToList(); - foreach (var ledEntity in LayerEntity.Leds) + foreach (var layerElement in LayerElements) { - var match = availableLeds.FirstOrDefault(a => a.Device.RgbDevice.GetDeviceHashCode() == ledEntity.DeviceHash && - a.RgbLed.Id.ToString() == ledEntity.LedName); - if (match != null) - leds.Add(match); + var layerElementEntity = new LayerElementEntity + { + PluginGuid = layerElement.Descriptor.LayerElementProvider.PluginInfo.Guid, + LayerElementType = layerElement.GetType().Name, + Configuration = JsonConvert.SerializeObject(layerElement.Settings) + }; + LayerEntity.Elements.Add(layerElementEntity); } - - _leds = leds; - CalculateRenderProperties(); } public void AddLed(ArtemisLed led) @@ -143,17 +135,27 @@ namespace Artemis.Core.Models.Profile CalculateRenderProperties(); } - public void UpdateLayerType(LayerType layerType) + internal void AddLayerElement(LayerElement layerElement) { - if (LayerType != null) + _layerElements.Add(layerElement); + } + + public void ApplySurface(ArtemisSurface surface) + { + var leds = new List(); + + // Get the surface LEDs for this layer + var availableLeds = surface.Devices.SelectMany(d => d.Leds).ToList(); + foreach (var ledEntity in LayerEntity.Leds) { - lock (LayerType) - { - LayerType.Dispose(); - } + var match = availableLeds.FirstOrDefault(a => a.Device.RgbDevice.GetDeviceHashCode() == ledEntity.DeviceHash && + a.RgbLed.Id.ToString() == ledEntity.LedName); + if (match != null) + leds.Add(match); } - LayerType = layerType; + _leds = leds; + CalculateRenderProperties(); } internal void CalculateRenderProperties() @@ -167,8 +169,8 @@ namespace Artemis.Core.Models.Profile // Determine to top-left and bottom-right var minX = Leds.Min(l => l.AbsoluteRenderRectangle.X); var minY = Leds.Min(l => l.AbsoluteRenderRectangle.Y); - var maxX = Leds.Max(l => l.AbsoluteRenderRectangle.X); - var maxY = Leds.Max(l => l.AbsoluteRenderRectangle.Y); + var maxX = Leds.Max(l => l.AbsoluteRenderRectangle.X + l.AbsoluteRenderRectangle.Width); + var maxY = Leds.Max(l => l.AbsoluteRenderRectangle.Y + l.AbsoluteRenderRectangle.Height); RenderRectangle = new Rectangle(minX, minY, maxX - minX, maxY - minY); diff --git a/src/Artemis.Core/Models/Profile/Profile.cs b/src/Artemis.Core/Models/Profile/Profile.cs index 5caac88bf..2f6f17395 100644 --- a/src/Artemis.Core/Models/Profile/Profile.cs +++ b/src/Artemis.Core/Models/Profile/Profile.cs @@ -3,8 +3,8 @@ using System.Drawing; using System.Linq; using Artemis.Core.Exceptions; using Artemis.Core.Models.Profile.Abstract; +using Artemis.Core.Models.Surface; using Artemis.Core.Plugins.Models; -using Artemis.Core.Services.Interfaces; using Artemis.Storage.Entities.Profile; namespace Artemis.Core.Models.Profile @@ -23,7 +23,7 @@ namespace Artemis.Core.Models.Profile ApplyToEntity(); } - internal Profile(PluginInfo pluginInfo, ProfileEntity profileEntity, IPluginService pluginService) + internal Profile(PluginInfo pluginInfo, ProfileEntity profileEntity) { ProfileEntity = profileEntity; EntityId = profileEntity.Id; @@ -36,7 +36,7 @@ namespace Artemis.Core.Models.Profile if (rootFolder == null) AddChild(new Folder(this, null, "Root folder")); else - AddChild(new Folder(this, null, rootFolder, pluginService)); + AddChild(new Folder(this, null, rootFolder)); } public PluginInfo PluginInfo { get; } @@ -56,7 +56,7 @@ namespace Artemis.Core.Models.Profile } } - public override void Render(double deltaTime, Surface.ArtemisSurface surface, Graphics graphics) + public override void Render(double deltaTime, ArtemisSurface surface, Graphics graphics) { lock (this) { @@ -86,12 +86,14 @@ namespace Artemis.Core.Models.Profile } - internal void Activate() + internal void Activate(ArtemisSurface surface) { lock (this) { - if (IsActivated) return; + if (IsActivated) + return; + ApplySurface(surface); OnActivated(); IsActivated = true; } @@ -113,7 +115,7 @@ namespace Artemis.Core.Models.Profile return $"{nameof(Order)}: {Order}, {nameof(Name)}: {Name}, {nameof(PluginInfo)}: {PluginInfo}"; } - public void ApplySurface(Surface.ArtemisSurface surface) + public void ApplySurface(ArtemisSurface surface) { foreach (var layer in GetAllLayers()) layer.ApplySurface(surface); @@ -140,7 +142,7 @@ namespace Artemis.Core.Models.Profile { Deactivated?.Invoke(this, EventArgs.Empty); } - + #endregion } } \ No newline at end of file diff --git a/src/Artemis.Core/Models/Surface/ArtemisSurface.cs b/src/Artemis.Core/Models/Surface/ArtemisSurface.cs index 0260df1d8..bc04acd54 100644 --- a/src/Artemis.Core/Models/Surface/ArtemisSurface.cs +++ b/src/Artemis.Core/Models/Surface/ArtemisSurface.cs @@ -36,7 +36,7 @@ namespace Artemis.Core.Models.Surface IsActive = surfaceEntity.IsActive; // Devices are not populated here but as they are detected - Devices = new List(); + Devices = new List(); } public RGBSurface RgbSurface { get; } diff --git a/src/Artemis.Core/Plugins/Abstract/Device.cs b/src/Artemis.Core/Plugins/Abstract/DeviceProvider.cs similarity index 60% rename from src/Artemis.Core/Plugins/Abstract/Device.cs rename to src/Artemis.Core/Plugins/Abstract/DeviceProvider.cs index d417b3c5d..39651d56f 100644 --- a/src/Artemis.Core/Plugins/Abstract/Device.cs +++ b/src/Artemis.Core/Plugins/Abstract/DeviceProvider.cs @@ -1,4 +1,5 @@ using System; +using System.Diagnostics; using System.IO; using Artemis.Core.Extensions; using Artemis.Core.Plugins.Models; @@ -8,22 +9,24 @@ namespace Artemis.Core.Plugins.Abstract { /// /// - /// Allows you to implement your own RGB device + /// Allows you to implement and register your own device provider /// - public abstract class Device : Plugin + public abstract class DeviceProvider : Plugin { - protected Device(PluginInfo pluginInfo, IRGBDeviceProvider deviceProvider) : base(pluginInfo) + protected DeviceProvider(PluginInfo pluginInfo, IRGBDeviceProvider rgbDeviceProvider) : base(pluginInfo) { - DeviceProvider = deviceProvider ?? throw new ArgumentNullException(nameof(deviceProvider)); + RgbDeviceProvider = rgbDeviceProvider ?? throw new ArgumentNullException(nameof(rgbDeviceProvider)); } - public IRGBDeviceProvider DeviceProvider { get; } + public IRGBDeviceProvider RgbDeviceProvider { get; } protected void ResolveAbsolutePath(Type type, object sender, ResolvePathEventArgs e) { if (sender.GetType().IsGenericType(type)) { + Debug.WriteLine(e.RelativePart); + Debug.WriteLine(e.FileName); // Start from the plugin directory if (e.RelativePart != null && e.FileName != null) e.FinalPath = Path.Combine(PluginInfo.Directory.FullName, e.RelativePart, e.FileName); diff --git a/src/Artemis.Core/Plugins/Abstract/LayerType.cs b/src/Artemis.Core/Plugins/Abstract/LayerType.cs deleted file mode 100644 index 53987f8e9..000000000 --- a/src/Artemis.Core/Plugins/Abstract/LayerType.cs +++ /dev/null @@ -1,29 +0,0 @@ -using System.Drawing; -using Artemis.Core.Models.Profile; -using Artemis.Core.Models.Surface; -using Artemis.Core.Plugins.Models; - -namespace Artemis.Core.Plugins.Abstract -{ - /// - /// - /// Allows you to create your own layer type - /// - public abstract class LayerType : Plugin - { - protected LayerType(PluginInfo pluginInfo) : base(pluginInfo) - { - } - - /// - /// Updates the layer type - /// - /// - public abstract void Update(Layer layer); - - /// - /// Renders the layer type - /// - public abstract void Render(Layer device, ArtemisSurface surface, Graphics graphics); - } -} \ No newline at end of file diff --git a/src/Artemis.Core/Plugins/Abstract/ModuleViewModel.cs b/src/Artemis.Core/Plugins/Abstract/ModuleViewModel.cs index baacbe5bf..809960d57 100644 --- a/src/Artemis.Core/Plugins/Abstract/ModuleViewModel.cs +++ b/src/Artemis.Core/Plugins/Abstract/ModuleViewModel.cs @@ -9,7 +9,7 @@ namespace Artemis.Core.Plugins.Abstract Module = module; DisplayName = displayName; } - + public Module Module { get; } } } \ No newline at end of file diff --git a/src/Artemis.Core/Plugins/Abstract/ProfileModule.cs b/src/Artemis.Core/Plugins/Abstract/ProfileModule.cs index bb0f73e95..69d4f52ed 100644 --- a/src/Artemis.Core/Plugins/Abstract/ProfileModule.cs +++ b/src/Artemis.Core/Plugins/Abstract/ProfileModule.cs @@ -1,5 +1,6 @@ using System; using System.Drawing; +using Artemis.Core.Exceptions; using Artemis.Core.Models.Profile; using Artemis.Core.Models.Surface; using Artemis.Core.Plugins.Models; @@ -34,8 +35,10 @@ namespace Artemis.Core.Plugins.Abstract } } - public void ChangeActiveProfile(Profile profile) + internal void ChangeActiveProfile(Profile profile, ArtemisSurface surface) { + if (profile != null && profile.PluginInfo != PluginInfo) + throw new ArtemisCoreException($"Cannot activate a profile of plugin {profile.PluginInfo} on a module of plugin {PluginInfo}."); lock (this) { if (profile == ActiveProfile) @@ -44,7 +47,7 @@ namespace Artemis.Core.Plugins.Abstract ActiveProfile?.Deactivate(); ActiveProfile = profile; - ActiveProfile?.Activate(); + ActiveProfile?.Activate(surface); } OnActiveProfileChanged(); @@ -53,7 +56,7 @@ namespace Artemis.Core.Plugins.Abstract #region Events public event EventHandler ActiveProfileChanged; - + protected virtual void OnActiveProfileChanged() { ActiveProfileChanged?.Invoke(this, EventArgs.Empty); diff --git a/src/Artemis.Core/Plugins/Interfaces/ILayerTypeConfiguration.cs b/src/Artemis.Core/Plugins/Interfaces/ILayerTypeConfiguration.cs deleted file mode 100644 index 6d9bb15ae..000000000 --- a/src/Artemis.Core/Plugins/Interfaces/ILayerTypeConfiguration.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace Artemis.Core.Plugins.Interfaces -{ - public interface ILayerTypeConfiguration - { - } -} \ No newline at end of file diff --git a/src/Artemis.Core/Plugins/LayerElement/LayerElement.cs b/src/Artemis.Core/Plugins/LayerElement/LayerElement.cs new file mode 100644 index 000000000..b4df0ab4e --- /dev/null +++ b/src/Artemis.Core/Plugins/LayerElement/LayerElement.cs @@ -0,0 +1,47 @@ +using System.Drawing; +using Artemis.Core.Models.Profile; +using Artemis.Core.Models.Surface; + +namespace Artemis.Core.Plugins.LayerElement +{ + public abstract class LayerElement + { + protected LayerElement(Layer layer, LayerElementSettings settings, LayerElementDescriptor descriptor) + { + Layer = layer; + Settings = settings; + Descriptor = descriptor; + } + + public Layer Layer { get; } + public LayerElementSettings Settings { get; } + public LayerElementDescriptor Descriptor { get; } + + /// + /// Called by the profile editor to populate the layer element properties panel + /// + /// + public abstract LayerElementViewModel GetViewModel(); + + /// + /// Called before rendering every frame, write your update logic here + /// + /// + public abstract void Update(double deltaTime); + + /// + /// Called before rendering, in the order configured on the layer + /// + public abstract void RenderPreProcess(ArtemisSurface surface, Graphics graphics); + + /// + /// Called during rendering, in the order configured on the layer + /// + public abstract void Render(ArtemisSurface surface, Graphics graphics); + + /// + /// Called after rendering, in the order configured on the layer + /// + public abstract void RenderPostProcess(ArtemisSurface surface, Graphics graphics); + } +} \ No newline at end of file diff --git a/src/Artemis.Core/Plugins/LayerElement/LayerElementDescriptor.cs b/src/Artemis.Core/Plugins/LayerElement/LayerElementDescriptor.cs new file mode 100644 index 000000000..ee94d20b4 --- /dev/null +++ b/src/Artemis.Core/Plugins/LayerElement/LayerElementDescriptor.cs @@ -0,0 +1,22 @@ +using System; + +namespace Artemis.Core.Plugins.LayerElement +{ + public class LayerElementDescriptor + { + internal LayerElementDescriptor(string displayName, string description, string icon, Type layerElementType, LayerElementProvider layerElementProvider) + { + DisplayName = displayName; + Description = description; + Icon = icon; + LayerElementType = layerElementType; + LayerElementProvider = layerElementProvider; + } + + public string DisplayName { get; } + public string Description { get; } + public string Icon { get; } + public Type LayerElementType { get; } + public LayerElementProvider LayerElementProvider { get; } + } +} \ No newline at end of file diff --git a/src/Artemis.Core/Plugins/LayerElement/LayerElementProvider.cs b/src/Artemis.Core/Plugins/LayerElement/LayerElementProvider.cs new file mode 100644 index 000000000..699e2a86b --- /dev/null +++ b/src/Artemis.Core/Plugins/LayerElement/LayerElementProvider.cs @@ -0,0 +1,28 @@ +using System.Collections.Generic; +using System.Collections.ObjectModel; +using Artemis.Core.Plugins.Abstract; +using Artemis.Core.Plugins.Models; + +namespace Artemis.Core.Plugins.LayerElement +{ + /// + /// + /// Allows you to create one or more s usable by profile layers. + /// + public abstract class LayerElementProvider : Plugin + { + private readonly List _layerElementDescriptors; + + protected LayerElementProvider(PluginInfo pluginInfo) : base(pluginInfo) + { + _layerElementDescriptors = new List(); + } + + public ReadOnlyCollection LayerElementDescriptors => _layerElementDescriptors.AsReadOnly(); + + protected void AddLayerElementDescriptor(string displayName, string description, string icon) where T : LayerElement + { + _layerElementDescriptors.Add(new LayerElementDescriptor(displayName, description, icon, typeof(T), this)); + } + } +} \ No newline at end of file diff --git a/src/Artemis.Core/Plugins/LayerElement/LayerElementSettings.cs b/src/Artemis.Core/Plugins/LayerElement/LayerElementSettings.cs new file mode 100644 index 000000000..c7bc34236 --- /dev/null +++ b/src/Artemis.Core/Plugins/LayerElement/LayerElementSettings.cs @@ -0,0 +1,8 @@ +using Stylet; + +namespace Artemis.Core.Plugins.LayerElement +{ + public abstract class LayerElementSettings : PropertyChangedBase + { + } +} \ No newline at end of file diff --git a/src/Artemis.Core/Plugins/LayerElement/LayerElementViewModel.cs b/src/Artemis.Core/Plugins/LayerElement/LayerElementViewModel.cs new file mode 100644 index 000000000..125d0c37f --- /dev/null +++ b/src/Artemis.Core/Plugins/LayerElement/LayerElementViewModel.cs @@ -0,0 +1,14 @@ +using Stylet; + +namespace Artemis.Core.Plugins.LayerElement +{ + public abstract class LayerElementViewModel : PropertyChangedBase + { + protected LayerElementViewModel(LayerElement layerElement) + { + LayerElement = layerElement; + } + + public LayerElement LayerElement { get; } + } +} \ No newline at end of file diff --git a/src/Artemis.Core/RGB.NET/GraphicsDecorator.cs b/src/Artemis.Core/RGB.NET/GraphicsDecorator.cs index c9433f1ec..25c126c96 100644 --- a/src/Artemis.Core/RGB.NET/GraphicsDecorator.cs +++ b/src/Artemis.Core/RGB.NET/GraphicsDecorator.cs @@ -54,7 +54,16 @@ namespace Artemis.Core.RGB.NET public Graphics GetGraphics() { - return _bitmap == null ? null : Graphics.FromImage(_bitmap.Bitmap); + try + { + return _bitmap == null ? null : Graphics.FromImage(_bitmap.Bitmap); + } + catch (AccessViolationException) + { + // ignored + } + + return null; } public Bitmap GetBitmap() diff --git a/src/Artemis.Core/Services/CoreService.cs b/src/Artemis.Core/Services/CoreService.cs index a1fae6776..5f099afd9 100644 --- a/src/Artemis.Core/Services/CoreService.cs +++ b/src/Artemis.Core/Services/CoreService.cs @@ -5,7 +5,6 @@ using Artemis.Core.Events; using Artemis.Core.Exceptions; using Artemis.Core.Plugins.Abstract; using Artemis.Core.Services.Interfaces; -using Artemis.Core.Services.Storage; using Artemis.Core.Services.Storage.Interfaces; using RGB.NET.Core; using Serilog; diff --git a/src/Artemis.Core/Services/DeviceService.cs b/src/Artemis.Core/Services/DeviceService.cs index 6594f8e8d..c511a1593 100644 --- a/src/Artemis.Core/Services/DeviceService.cs +++ b/src/Artemis.Core/Services/DeviceService.cs @@ -1,8 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Drawing; -using System.Linq; -using System.Text; +using System.Drawing; using System.Threading.Tasks; using Artemis.Core.Events; using Artemis.Core.Models.Surface; @@ -56,9 +52,9 @@ namespace Artemis.Core.Services public interface IDeviceService : IArtemisService { /// - /// Identifies the device by making it blink white 5 times + /// Identifies the device by making it blink white 5 times /// /// void IdentifyDevice(ArtemisDevice device); } -} +} \ No newline at end of file diff --git a/src/Artemis.Core/Services/Interfaces/ILayerService.cs b/src/Artemis.Core/Services/Interfaces/ILayerService.cs new file mode 100644 index 000000000..a5da4b0a9 --- /dev/null +++ b/src/Artemis.Core/Services/Interfaces/ILayerService.cs @@ -0,0 +1,18 @@ +using Artemis.Core.Models.Profile; +using Artemis.Core.Plugins.LayerElement; + +namespace Artemis.Core.Services.Interfaces +{ + public interface ILayerService : IArtemisService + { + /// + /// Instantiates and adds the described by the provided + /// to the provided . + /// + /// The layer to add the new layer element to + /// The descriptor of the new layer element + /// JSON settings to be deserialized and injected into the layer element + /// + LayerElement InstantiateLayerElement(Layer layer, LayerElementDescriptor layerElementDescriptor, string settings = null); + } +} \ No newline at end of file diff --git a/src/Artemis.Core/Services/Interfaces/IPluginService.cs b/src/Artemis.Core/Services/Interfaces/IPluginService.cs index 031b1a788..57c102e97 100644 --- a/src/Artemis.Core/Services/Interfaces/IPluginService.cs +++ b/src/Artemis.Core/Services/Interfaces/IPluginService.cs @@ -55,13 +55,6 @@ namespace Artemis.Core.Services.Interfaces /// A list containing all the plugin info List GetAllPluginInfo(); - /// - /// Finds an instance of the layer type matching the given GUID - /// - /// The GUID of the layer type to find - /// An instance of the layer type - LayerType GetLayerTypeByGuid(Guid layerTypeGuid); - /// /// Finds all enabled instances of type /// diff --git a/src/Artemis.Core/Services/LayerService.cs b/src/Artemis.Core/Services/LayerService.cs new file mode 100644 index 000000000..0fca51b5e --- /dev/null +++ b/src/Artemis.Core/Services/LayerService.cs @@ -0,0 +1,50 @@ +using Artemis.Core.Models.Profile; +using Artemis.Core.Plugins.Exceptions; +using Artemis.Core.Plugins.LayerElement; +using Artemis.Core.Services.Interfaces; +using Newtonsoft.Json; +using Ninject; +using Ninject.Parameters; + +namespace Artemis.Core.Services +{ + public class LayerService : ILayerService + { + private readonly IKernel _kernel; + + public LayerService(IKernel kernel) + { + _kernel = kernel; + } + + public LayerElement InstantiateLayerElement(Layer layer, LayerElementDescriptor layerElementDescriptor, string settings) + { + // Deserialize the settings, if provided + object deserializedSettings = null; + if (settings != null) + { + var settingsType = layerElementDescriptor.LayerElementType.GetProperty(nameof(LayerElement.Settings))?.PropertyType; + if (settingsType == null) + { + throw new ArtemisPluginException( + layerElementDescriptor.LayerElementProvider.PluginInfo, + $"Layer element of type {layerElementDescriptor.LayerElementType} has no Settings property." + ); + } + + deserializedSettings = JsonConvert.DeserializeObject(settings, settingsType); + } + + var arguments = new IParameter[] + { + new ConstructorArgument("layer", layer), + new ConstructorArgument("settings", deserializedSettings), + new ConstructorArgument("descriptor", layerElementDescriptor) + }; + var layerElement = (LayerElement) _kernel.Get(layerElementDescriptor.LayerElementType, arguments); + layer.AddLayerElement(layerElement); + + return layerElement; + } + } +} \ No newline at end of file diff --git a/src/Artemis.Core/Services/PluginService.cs b/src/Artemis.Core/Services/PluginService.cs index 1aea17fbf..8ec9b04da 100644 --- a/src/Artemis.Core/Services/PluginService.cs +++ b/src/Artemis.Core/Services/PluginService.cs @@ -285,19 +285,6 @@ namespace Artemis.Core.Services return new List(_plugins); } - /// - public LayerType GetLayerTypeByGuid(Guid layerTypeGuid) - { - var pluginInfo = _plugins.FirstOrDefault(p => p.Guid == layerTypeGuid); - if (pluginInfo == null) - return null; - - if (!(pluginInfo.Instance is LayerType layerType)) - throw new ArtemisPluginException(pluginInfo, "Plugin is expected to implement exactly one LayerType"); - - return layerType; - } - /// public List GetPluginsOfType() where T : Plugin { @@ -309,7 +296,7 @@ namespace Artemis.Core.Services public Plugin GetDevicePlugin(IRGBDevice rgbDevice) { - return GetPluginsOfType().First(d => d.DeviceProvider.Devices.Contains(rgbDevice)); + return GetPluginsOfType().First(d => d.RgbDeviceProvider.Devices.Contains(rgbDevice)); } public void Dispose() diff --git a/src/Artemis.Core/Services/Storage/Interfaces/IProfileService.cs b/src/Artemis.Core/Services/Storage/Interfaces/IProfileService.cs index ee144a633..269db16ea 100644 --- a/src/Artemis.Core/Services/Storage/Interfaces/IProfileService.cs +++ b/src/Artemis.Core/Services/Storage/Interfaces/IProfileService.cs @@ -12,5 +12,12 @@ namespace Artemis.Core.Services.Storage.Interfaces Profile GetActiveProfile(ProfileModule module); void UpdateProfile(Profile profile, bool includeChildren); void DeleteProfile(Profile profile); + + /// + /// Activates the profile for the given with the currently active surface + /// + /// The module to activate the profile for + /// The profile to activate + void ActivateProfile(ProfileModule module, Profile profile); } } \ No newline at end of file diff --git a/src/Artemis.Core/Services/Storage/ProfileService.cs b/src/Artemis.Core/Services/Storage/ProfileService.cs index 1e226638c..59d8de400 100644 --- a/src/Artemis.Core/Services/Storage/ProfileService.cs +++ b/src/Artemis.Core/Services/Storage/ProfileService.cs @@ -16,8 +16,8 @@ namespace Artemis.Core.Services.Storage public class ProfileService : IProfileService { private readonly IPluginService _pluginService; - private readonly ISurfaceService _surfaceService; private readonly IProfileRepository _profileRepository; + private readonly ISurfaceService _surfaceService; internal ProfileService(IPluginService pluginService, ISurfaceService surfaceService, IProfileRepository profileRepository) { @@ -29,6 +29,73 @@ namespace Artemis.Core.Services.Storage _surfaceService.SurfaceConfigurationUpdated += SurfaceServiceOnSurfaceConfigurationUpdated; } + public List GetProfiles(ProfileModule module) + { + var profileEntities = _profileRepository.GetByPluginGuid(module.PluginInfo.Guid); + var profiles = new List(); + foreach (var profileEntity in profileEntities) + { + // If the profile entity matches the module's currently active profile, use that instead + if (module.ActiveProfile != null && module.ActiveProfile.EntityId == profileEntity.Id) + profiles.Add(module.ActiveProfile); + else + profiles.Add(new Profile(module.PluginInfo, profileEntity)); + } + + return profiles; + } + + public Profile GetActiveProfile(ProfileModule module) + { + if (module.ActiveProfile != null) + return module.ActiveProfile; + + var moduleProfiles = _profileRepository.GetByPluginGuid(module.PluginInfo.Guid); + var profileEntity = moduleProfiles.FirstOrDefault(p => p.IsActive) ?? moduleProfiles.FirstOrDefault(); + if (profileEntity == null) + return null; + + return new Profile(module.PluginInfo, profileEntity); + } + + public Profile CreateProfile(ProfileModule module, string name) + { + var profile = new Profile(module.PluginInfo, name); + _profileRepository.Add(profile.ProfileEntity); + + if (_surfaceService.ActiveSurface != null) + profile.ApplySurface(_surfaceService.ActiveSurface); + return profile; + } + + + public void ActivateProfile(ProfileModule module, Profile profile) + { + module.ChangeActiveProfile(profile, _surfaceService.ActiveSurface); + } + + public void DeleteProfile(Profile profile) + { + _profileRepository.Remove(profile.ProfileEntity); + } + + public void UpdateProfile(Profile profile, bool includeChildren) + { + profile.ApplyToEntity(); + if (includeChildren) + { + foreach (var folder in profile.GetAllFolders()) + folder.ApplyToEntity(); + foreach (var layer in profile.GetAllLayers()) + layer.ApplyToEntity(); + + if (_surfaceService.ActiveSurface != null) + profile.ApplySurface(_surfaceService.ActiveSurface); + } + + _profileRepository.Save(profile.ProfileEntity); + } + private void SurfaceServiceOnActiveSurfaceConfigurationChanged(object sender, SurfaceConfigurationEventArgs e) { ApplySurfaceToProfiles(e.Surface); @@ -47,66 +114,5 @@ namespace Artemis.Core.Services.Storage foreach (var profileModule in profileModules.Where(p => p.ActiveProfile != null).ToList()) profileModule.ActiveProfile.ApplySurface(surface); } - - public List GetProfiles(ProfileModule module) - { - var profileEntities = _profileRepository.GetByPluginGuid(module.PluginInfo.Guid); - var profiles = new List(); - foreach (var profileEntity in profileEntities) - { - // If the profile entity matches the module's currently active profile, use that instead - if (module.ActiveProfile != null && module.ActiveProfile.EntityId == profileEntity.Id) - profiles.Add(module.ActiveProfile); - else - profiles.Add(new Profile(module.PluginInfo, profileEntity, _pluginService)); - } - - return profiles; - } - - public Profile GetActiveProfile(ProfileModule module) - { - if (module.ActiveProfile != null) - return module.ActiveProfile; - - var moduleProfiles = _profileRepository.GetByPluginGuid(module.PluginInfo.Guid); - var profileEntity = moduleProfiles.FirstOrDefault(p => p.IsActive) ?? moduleProfiles.FirstOrDefault(); - if (profileEntity == null) - return null; - - return new Profile(module.PluginInfo, profileEntity, _pluginService); - } - - public Profile CreateProfile(ProfileModule module, string name) - { - var profile = new Profile(module.PluginInfo, name); - _profileRepository.Add(profile.ProfileEntity); - - if (_surfaceService.ActiveSurface != null) - profile.ApplySurface(_surfaceService.ActiveSurface); - return profile; - } - - public void DeleteProfile(Profile profile) - { - _profileRepository.Remove(profile.ProfileEntity); - } - - public void UpdateProfile(Profile profile, bool includeChildren) - { - profile.ApplyToEntity(); - if (includeChildren) - { - foreach (var folder in profile.GetAllFolders()) - folder.ApplyToEntity(); - foreach (var layer in profile.GetAllLayers()) - layer.ApplyToEntity(); - - if (_surfaceService.ActiveSurface != null) - profile.ApplySurface(_surfaceService.ActiveSurface); - } - - _profileRepository.Save(profile.ProfileEntity); - } } } \ No newline at end of file diff --git a/src/Artemis.Core/packages.config b/src/Artemis.Core/packages.config index 868ed378e..2733bfdeb 100644 --- a/src/Artemis.Core/packages.config +++ b/src/Artemis.Core/packages.config @@ -1,4 +1,5 @@  + diff --git a/src/Artemis.Plugins.Devices.Corsair/Artemis.Plugins.Devices.Corsair.csproj b/src/Artemis.Plugins.Devices.Corsair/Artemis.Plugins.Devices.Corsair.csproj index a35f6590c..5ffeb1d0e 100644 --- a/src/Artemis.Plugins.Devices.Corsair/Artemis.Plugins.Devices.Corsair.csproj +++ b/src/Artemis.Plugins.Devices.Corsair/Artemis.Plugins.Devices.Corsair.csproj @@ -54,7 +54,7 @@ - + diff --git a/src/Artemis.Plugins.Devices.Corsair/CorsairDevice.cs b/src/Artemis.Plugins.Devices.Corsair/CorsairDeviceProvider.cs similarity index 62% rename from src/Artemis.Plugins.Devices.Corsair/CorsairDevice.cs rename to src/Artemis.Plugins.Devices.Corsair/CorsairDeviceProvider.cs index e20f81def..43b68e493 100644 --- a/src/Artemis.Plugins.Devices.Corsair/CorsairDevice.cs +++ b/src/Artemis.Plugins.Devices.Corsair/CorsairDeviceProvider.cs @@ -8,11 +8,11 @@ using RGB.NET.Devices.Corsair; namespace Artemis.Plugins.Devices.Corsair { // ReSharper disable once UnusedMember.Global - public class CorsairDevice : Device + public class CorsairDeviceProvider : DeviceProvider { private readonly IRgbService _rgbService; - public CorsairDevice(PluginInfo pluginInfo, IRgbService rgbService) : base(pluginInfo, CorsairDeviceProvider.Instance) + public CorsairDeviceProvider(PluginInfo pluginInfo, IRgbService rgbService) : base(pluginInfo, RGB.NET.Devices.Corsair.CorsairDeviceProvider.Instance) { _rgbService = rgbService; } @@ -20,9 +20,9 @@ namespace Artemis.Plugins.Devices.Corsair public override void EnablePlugin() { PathHelper.ResolvingAbsolutePath += (sender, args) => ResolveAbsolutePath(typeof(CorsairRGBDevice<>), sender, args); - CorsairDeviceProvider.PossibleX64NativePaths.Add(Path.Combine(PluginInfo.Directory.FullName, "x64", "CUESDK.x64_2017.dll")); - CorsairDeviceProvider.PossibleX86NativePaths.Add(Path.Combine(PluginInfo.Directory.FullName, "x86", "CUESDK_2017.dll")); - _rgbService.AddDeviceProvider(DeviceProvider); + RGB.NET.Devices.Corsair.CorsairDeviceProvider.PossibleX64NativePaths.Add(Path.Combine(PluginInfo.Directory.FullName, "x64", "CUESDK.x64_2017.dll")); + RGB.NET.Devices.Corsair.CorsairDeviceProvider.PossibleX86NativePaths.Add(Path.Combine(PluginInfo.Directory.FullName, "x86", "CUESDK_2017.dll")); + _rgbService.AddDeviceProvider(RgbDeviceProvider); } public override void DisablePlugin() diff --git a/src/Artemis.Plugins.Devices.Corsair/Images/Corsair/HeadsetStands/ST100RGB.png b/src/Artemis.Plugins.Devices.Corsair/Images/Corsair/HeadsetStands/ST100RGB.png new file mode 100644 index 0000000000000000000000000000000000000000..0f10cad25ea4c8d485615c88a231e3519810d386 GIT binary patch literal 282909 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

QVlL3_CcW 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μuUuz4 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 + + Corsair MM800 RGB + Physical layout of Corsairs ST100 RGB + HeadsetStand + Key + Corsair + ST100RGB + 145 + 148 + 42 + 44 + Images\Corsair\HeadsetStands + ST100RGB.png + + + 5 + 10 + + + = + + + + + = + + + + + ~ + 1.2 + 1 + + + 1 + 1 + + + ~ + - + + + ~ + - + + + M0.442,0.467 L0.456,0.518 L0.456,0.567 L0.446,0.62 L0.438,0.645 L0.469,0.613 L0.52,0.579 L0.564,0.569 L0.583,0.596 L0.593,0.564 L0.59,0.528 L0.566,0.474 L0.545,0.43 L0.516,0.384 L0.523,0.445 L0.521,0.491 L0.516,0.55 L0.518,0.496 L0.519,0.469 L0.501,0.447 L0.486,0.425 L0.489,0.469 L0.492,0.528 L0.484,0.564 L0.484,0.499z M0.451,0.411 L0.463,0.443 L0.464,0.467 L0.484,0.479 L0.478,0.435z M0.488,0.379 L0.497,0.43 L0.516,0.447 L0.513,0.406z M0.52,0.318 L0.528,0.37 L0.532,0.394 L0.557,0.418 L0.568,0.457 L0.572,0.425 L0.559,0.377 L0.543,0.343z + -3.75 + 0 + 0.45 + + + = + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Artemis.Plugins.Devices.Corsair/Layouts/Corsair/Keyboards/K65RGB/UK.xml b/src/Artemis.Plugins.Devices.Corsair/Layouts/Corsair/Keyboards/K65RGB/UK.xml new file mode 100644 index 000000000..7fd6642c3 --- /dev/null +++ b/src/Artemis.Plugins.Devices.Corsair/Layouts/Corsair/Keyboards/K65RGB/UK.xml @@ -0,0 +1,496 @@ + + + Corsair K70 RGB - Physical UK + Physical UK-Layout of Corsairs K70 RGB (Logical: BE, CH, DE, ES, EU, FR, IT, ND, MEX, RU, UK, US_Int) + Darth Affe + Keyboard + Key + Corsair + K70 RGB + 436 + 165 + Images\Corsair\Keyboards + K70RGB.png + + + + Circle + 298 + 6 + 10mm + 10mm + + + Circle + +9 + 10mm + 10mm + + + + 375 + 6 + 12mm + + + + + 4 + 28 + + + + +12.667 + + + + + + + +12.667 + + + + + + + +12.667 + + + + + + + +5 + + + + + + +5 + 12mm + + + 12mm + + + 12mm + + + 12mm + + + + + 4 + 49 + + + + + + + + + + + + + + + 2 + + + + +5 + + + + + + +5 + + + + + + + + 4 + + + 1.5 + + + + + + + + + + + + + + + M0,0 L0,0.5 L0.16666666666,0.5 L0.16666666666,1 L1,1 L1,0 Z + 1.5 + 2 + + + + +5 + + + + + + +5 + + + + + 2 + + + + + 4 + ~ + 1.75 + + + + + + + + + + + + + + + + +90.75 + + + + + + + 4 + + + 1.25 + + + + + + + + + + + + + + 2.75 + + + + +24 + + + + +24 + + + + + 2 + + + + + 4 + ~ + 1.5 + + + + 1.25 + + + 6.5 + + + 1.25 + + + + + 1.5 + + + + +5 + + + + + + +5 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Artemis.Plugins.Devices.Logitech/Artemis.Plugins.Devices.Logitech.csproj b/src/Artemis.Plugins.Devices.Logitech/Artemis.Plugins.Devices.Logitech.csproj index 492b0902e..6f4b09ced 100644 --- a/src/Artemis.Plugins.Devices.Logitech/Artemis.Plugins.Devices.Logitech.csproj +++ b/src/Artemis.Plugins.Devices.Logitech/Artemis.Plugins.Devices.Logitech.csproj @@ -47,7 +47,7 @@ - + diff --git a/src/Artemis.Plugins.Devices.Logitech/LogitechDevice.cs b/src/Artemis.Plugins.Devices.Logitech/LogitechDeviceProvider.cs similarity index 51% rename from src/Artemis.Plugins.Devices.Logitech/LogitechDevice.cs rename to src/Artemis.Plugins.Devices.Logitech/LogitechDeviceProvider.cs index c2411e8ed..2c66497cb 100644 --- a/src/Artemis.Plugins.Devices.Logitech/LogitechDevice.cs +++ b/src/Artemis.Plugins.Devices.Logitech/LogitechDeviceProvider.cs @@ -7,11 +7,11 @@ using RGB.NET.Devices.Logitech; namespace Artemis.Plugins.Devices.Logitech { - public class LogitechDevice : Device + public class LogitechDeviceProvider : DeviceProvider { private readonly IRgbService _rgbService; - public LogitechDevice(PluginInfo pluginInfo, IRgbService rgbService) : base(pluginInfo, LogitechDeviceProvider.Instance) + public LogitechDeviceProvider(PluginInfo pluginInfo, IRgbService rgbService) : base(pluginInfo, RGB.NET.Devices.Logitech.LogitechDeviceProvider.Instance) { _rgbService = rgbService; } @@ -19,9 +19,9 @@ namespace Artemis.Plugins.Devices.Logitech public override void EnablePlugin() { PathHelper.ResolvingAbsolutePath += (sender, args) => ResolveAbsolutePath(typeof(LogitechRGBDevice<>), sender, args); - LogitechDeviceProvider.PossibleX64NativePaths.Add(Path.Combine(PluginInfo.Directory.FullName, "x64", "LogitechLedEnginesWrapper.dll")); - LogitechDeviceProvider.PossibleX86NativePaths.Add(Path.Combine(PluginInfo.Directory.FullName, "x86", "LogitechLedEnginesWrapper.dll")); - _rgbService.AddDeviceProvider(DeviceProvider); + RGB.NET.Devices.Logitech.LogitechDeviceProvider.PossibleX64NativePaths.Add(Path.Combine(PluginInfo.Directory.FullName, "x64", "LogitechLedEnginesWrapper.dll")); + RGB.NET.Devices.Logitech.LogitechDeviceProvider.PossibleX86NativePaths.Add(Path.Combine(PluginInfo.Directory.FullName, "x86", "LogitechLedEnginesWrapper.dll")); + _rgbService.AddDeviceProvider(RgbDeviceProvider); } public override void DisablePlugin() diff --git a/src/Artemis.Plugins.Devices.Logitech/app.config b/src/Artemis.Plugins.Devices.Logitech/app.config index e995f3d3b..c8bc187aa 100644 --- a/src/Artemis.Plugins.Devices.Logitech/app.config +++ b/src/Artemis.Plugins.Devices.Logitech/app.config @@ -1,4 +1,5 @@  + diff --git a/src/Artemis.Plugins.LayerTypes.Brush/Artemis.Plugins.LayerTypes.Brush.csproj b/src/Artemis.Plugins.LayerTypes.Brush/Artemis.Plugins.LayerElements.Brush.csproj similarity index 78% rename from src/Artemis.Plugins.LayerTypes.Brush/Artemis.Plugins.LayerTypes.Brush.csproj rename to src/Artemis.Plugins.LayerTypes.Brush/Artemis.Plugins.LayerElements.Brush.csproj index b2da4aa8a..f39c66274 100644 --- a/src/Artemis.Plugins.LayerTypes.Brush/Artemis.Plugins.LayerTypes.Brush.csproj +++ b/src/Artemis.Plugins.LayerTypes.Brush/Artemis.Plugins.LayerElements.Brush.csproj @@ -7,8 +7,8 @@ {0F288A66-6EB0-4589-8595-E33A3A3EAEA2} Library Properties - Artemis.Plugins.LayerTypes.Brush - Artemis.Plugins.LayerTypes.Brush + Artemis.Plugins.LayerElements.Brush + Artemis.Plugins.LayerElements.Brush v4.7.2 512 true @@ -33,14 +33,20 @@ 4 + + ..\packages\MaterialDesignColors.1.2.0\lib\net45\MaterialDesignColors.dll + False + + + ..\packages\MaterialDesignThemes.2.6.0\lib\net45\MaterialDesignThemes.Wpf.dll + False + - - ..\packages\QRCoder.1.2.5\lib\net40\QRCoder.dll - False ..\..\..\RGB.NET\bin\net45\RGB.NET.Core.dll + False ..\packages\Stylet.1.2.0\lib\net45\Stylet.dll @@ -52,6 +58,7 @@ ..\packages\System.ValueTuple.4.5.0\lib\net47\System.ValueTuple.dll False + @@ -59,14 +66,13 @@ - - ..\packages\QRCoder.1.2.5\lib\net40\UnityEngine.dll - - - + + + + @@ -83,6 +89,12 @@ PreserveNewest + + + Designer + MSBuild:Compile + + echo Copying plugin to Artemis.UI output directory diff --git a/src/Artemis.Plugins.LayerTypes.Brush/BrushConfiguration.cs b/src/Artemis.Plugins.LayerTypes.Brush/BrushConfiguration.cs deleted file mode 100644 index cd6b6c2d9..000000000 --- a/src/Artemis.Plugins.LayerTypes.Brush/BrushConfiguration.cs +++ /dev/null @@ -1,9 +0,0 @@ -using Artemis.Core.Plugins.Interfaces; - -namespace Artemis.Plugins.LayerTypes.Brush -{ - public class BrushConfiguration : ILayerTypeConfiguration - { - public System.Windows.Media.Brush Brush { get; set; } - } -} \ No newline at end of file diff --git a/src/Artemis.Plugins.LayerTypes.Brush/BrushLayerElement.cs b/src/Artemis.Plugins.LayerTypes.Brush/BrushLayerElement.cs new file mode 100644 index 000000000..37153dd13 --- /dev/null +++ b/src/Artemis.Plugins.LayerTypes.Brush/BrushLayerElement.cs @@ -0,0 +1,40 @@ +using System.Drawing; +using Artemis.Core.Models.Profile; +using Artemis.Core.Models.Surface; +using Artemis.Core.Plugins.LayerElement; + +namespace Artemis.Plugins.LayerElements.Brush +{ + public class BrushLayerElement : LayerElement + { + public BrushLayerElement(Layer layer, BrushLayerElementSettings settings, LayerElementDescriptor descriptor) : base(layer, settings, descriptor) + { + Settings = settings ?? new BrushLayerElementSettings {Brush = new SolidBrush(Color.Red)}; + } + + public new BrushLayerElementSettings Settings { get; } + + public override LayerElementViewModel GetViewModel() + { + return new BrushLayerElementViewModel(this); + } + + public override void Update(double deltaTime) + { + } + + public override void RenderPreProcess(ArtemisSurface surface, Graphics graphics) + { + } + + public override void Render(ArtemisSurface surface, Graphics graphics) + { + if (Settings?.Brush != null) + graphics.FillRectangle(Settings.Brush, Layer.RenderRectangle); + } + + public override void RenderPostProcess(ArtemisSurface surface, Graphics graphics) + { + } + } +} \ No newline at end of file diff --git a/src/Artemis.Plugins.LayerTypes.Brush/BrushLayerElementProvider.cs b/src/Artemis.Plugins.LayerTypes.Brush/BrushLayerElementProvider.cs new file mode 100644 index 000000000..3d124573b --- /dev/null +++ b/src/Artemis.Plugins.LayerTypes.Brush/BrushLayerElementProvider.cs @@ -0,0 +1,25 @@ +using Artemis.Core.Plugins.LayerElement; +using Artemis.Core.Plugins.Models; + +namespace Artemis.Plugins.LayerElements.Brush +{ + public class BrushLayerElementProvider : LayerElementProvider + { + public BrushLayerElementProvider(PluginInfo pluginInfo) : base(pluginInfo) + { + AddLayerElementDescriptor("Brush", "A brush of a specific type and colors", "Brush"); + } + + public override void EnablePlugin() + { + } + + public override void DisablePlugin() + { + } + + public override void Dispose() + { + } + } +} \ No newline at end of file diff --git a/src/Artemis.Plugins.LayerTypes.Brush/BrushLayerElementSettings.cs b/src/Artemis.Plugins.LayerTypes.Brush/BrushLayerElementSettings.cs new file mode 100644 index 000000000..b274810e8 --- /dev/null +++ b/src/Artemis.Plugins.LayerTypes.Brush/BrushLayerElementSettings.cs @@ -0,0 +1,9 @@ +using Artemis.Core.Plugins.LayerElement; + +namespace Artemis.Plugins.LayerElements.Brush +{ + public class BrushLayerElementSettings : LayerElementSettings + { + public System.Drawing.Brush Brush { get; set; } + } +} \ No newline at end of file diff --git a/src/Artemis.Plugins.LayerTypes.Brush/BrushLayerElementView.xaml b/src/Artemis.Plugins.LayerTypes.Brush/BrushLayerElementView.xaml new file mode 100644 index 000000000..8f7aa534d --- /dev/null +++ b/src/Artemis.Plugins.LayerTypes.Brush/BrushLayerElementView.xaml @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + Setting title + Setting subtitle + + + + + + + + + Setting title + Setting subtitle + + + + + + + \ No newline at end of file diff --git a/src/Artemis.Plugins.LayerTypes.Brush/BrushLayerElementViewModel.cs b/src/Artemis.Plugins.LayerTypes.Brush/BrushLayerElementViewModel.cs new file mode 100644 index 000000000..ba3dab6a9 --- /dev/null +++ b/src/Artemis.Plugins.LayerTypes.Brush/BrushLayerElementViewModel.cs @@ -0,0 +1,14 @@ +using Artemis.Core.Plugins.LayerElement; + +namespace Artemis.Plugins.LayerElements.Brush +{ + public class BrushLayerElementViewModel : LayerElementViewModel + { + public BrushLayerElementViewModel(BrushLayerElement layerElement) : base(layerElement) + { + LayerElement = layerElement; + } + + public new BrushLayerElement LayerElement { get; } + } +} \ No newline at end of file diff --git a/src/Artemis.Plugins.LayerTypes.Brush/BrushLayerType.cs b/src/Artemis.Plugins.LayerTypes.Brush/BrushLayerType.cs deleted file mode 100644 index 26e8ba980..000000000 --- a/src/Artemis.Plugins.LayerTypes.Brush/BrushLayerType.cs +++ /dev/null @@ -1,42 +0,0 @@ -using System.Drawing; -using Artemis.Core.Models.Profile; -using Artemis.Core.Models.Surface; -using Artemis.Core.Plugins.Abstract; -using Artemis.Core.Plugins.Models; -using QRCoder; - -namespace Artemis.Plugins.LayerTypes.Brush -{ - public class BrushLayerType : LayerType - { - public BrushLayerType(PluginInfo pluginInfo) : base(pluginInfo) - { - } - - public override void EnablePlugin() - { - var qrGenerator = new QRCodeGenerator(); - } - - public override void DisablePlugin() - { - } - - public override void Update(Layer layer) - { - var config = layer.LayerTypeConfiguration as BrushConfiguration; - if (config == null) - return; - - // Update the brush - } - - public override void Render(Layer device, ArtemisSurface surface, Graphics graphics) - { - } - - public override void Dispose() - { - } - } -} \ No newline at end of file diff --git a/src/Artemis.Plugins.LayerTypes.Brush/Properties/AssemblyInfo.cs b/src/Artemis.Plugins.LayerTypes.Brush/Properties/AssemblyInfo.cs index 6a3d074b2..54e9088c8 100644 --- a/src/Artemis.Plugins.LayerTypes.Brush/Properties/AssemblyInfo.cs +++ b/src/Artemis.Plugins.LayerTypes.Brush/Properties/AssemblyInfo.cs @@ -4,7 +4,7 @@ using System.Runtime.InteropServices; // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information // associated with an assembly. -[assembly: AssemblyTitle("Artemis.Plugins.LayerTypes.Brush")] +[assembly: AssemblyTitle("Artemis.Plugins.LayerElements.Brush")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] diff --git a/src/Artemis.Plugins.LayerTypes.Brush/packages.config b/src/Artemis.Plugins.LayerTypes.Brush/packages.config index 1b85e127f..ca0c2406c 100644 --- a/src/Artemis.Plugins.LayerTypes.Brush/packages.config +++ b/src/Artemis.Plugins.LayerTypes.Brush/packages.config @@ -1,7 +1,7 @@  - + \ No newline at end of file diff --git a/src/Artemis.Plugins.LayerTypes.Brush/plugin.json b/src/Artemis.Plugins.LayerTypes.Brush/plugin.json index 3f2ac043d..95eee07a0 100644 --- a/src/Artemis.Plugins.LayerTypes.Brush/plugin.json +++ b/src/Artemis.Plugins.LayerTypes.Brush/plugin.json @@ -1,10 +1,10 @@ { "Guid": "92a9d6ba-6f7a-4937-94d5-c1d715b4141a", - "Name": "Brush layer", + "Name": "Brush layer elements", "Version": { "Major": 1, "Minor": 0, "Build": 0 }, - "Main": "Artemis.Plugins.LayerTypes.Brush.dll" + "Main": "Artemis.Plugins.LayerElements.Brush.dll" } \ No newline at end of file diff --git a/src/Artemis.Plugins.Modules.General/GeneralModule.cs b/src/Artemis.Plugins.Modules.General/GeneralModule.cs index b3858df98..775ac0455 100644 --- a/src/Artemis.Plugins.Modules.General/GeneralModule.cs +++ b/src/Artemis.Plugins.Modules.General/GeneralModule.cs @@ -8,6 +8,8 @@ using Artemis.Core.Plugins.Abstract; using Artemis.Core.Plugins.Models; using Artemis.Core.Services.Storage.Interfaces; using Artemis.Plugins.Modules.General.ViewModels; +using RGB.NET.Core; +using Color = System.Drawing.Color; namespace Artemis.Plugins.Modules.General { @@ -45,6 +47,8 @@ namespace Artemis.Plugins.Modules.General public int[] Hues { get; set; } public int MovePercentage { get; set; } + public Dictionary DeviceBrushes { get; set; } + public override void EnablePlugin() { } @@ -65,16 +69,20 @@ namespace Artemis.Plugins.Modules.General MovePercentage++; if (MovePercentage > 100) MovePercentage = 0; + + base.Update(deltaTime); } public override void Render(double deltaTime, ArtemisSurface surface, Graphics graphics) { // Per-device coloring, slower - RenderPerDevice(surface, graphics); + // RenderPerDevice(surface, graphics); // Per-LED coloring, slowest // RenderPerLed(surface, graphics); + + base.Render(deltaTime, surface, graphics); } public void RenderFullSurface(ArtemisSurface surface, Graphics graphics) @@ -97,8 +105,6 @@ namespace Artemis.Plugins.Modules.General } } - public Dictionary DeviceBrushes { get; set; } - private Image RenderGradientForDevice(ArtemisDevice device) { var brush = new LinearGradientBrush(device.RenderRectangle, Color.Black, Color.Black, 0, false) @@ -119,7 +125,10 @@ namespace Artemis.Plugins.Modules.General var index = 0; foreach (var led in surface.Devices.SelectMany(d => d.Leds)) { - graphics.FillRectangle(new SolidBrush(ColorHelpers.ColorFromHSV(Hues[index], 1, 1)), led.AbsoluteRenderRectangle); + if (led.RgbLed.Id == LedId.HeadsetStand1) + graphics.FillRectangle(new SolidBrush(Color.Red), led.AbsoluteRenderRectangle); + else + graphics.FillRectangle(new SolidBrush(ColorHelpers.ColorFromHSV(Hues[index], 1, 1)), led.AbsoluteRenderRectangle); index++; } } diff --git a/src/Artemis.Storage/Entities/Profile/LayerElementEntity.cs b/src/Artemis.Storage/Entities/Profile/LayerElementEntity.cs index 4c0145ef6..c1dac0d09 100644 --- a/src/Artemis.Storage/Entities/Profile/LayerElementEntity.cs +++ b/src/Artemis.Storage/Entities/Profile/LayerElementEntity.cs @@ -4,6 +4,8 @@ namespace Artemis.Storage.Entities.Profile { public class LayerElementEntity { - public Guid Id { get; set; } + public Guid PluginGuid { get; set; } + public string LayerElementType { get; set; } + public string Configuration { get; set; } } } \ No newline at end of file diff --git a/src/Artemis.Storage/Entities/Profile/LayerEntity.cs b/src/Artemis.Storage/Entities/Profile/LayerEntity.cs index 378e9d7cf..59d1ed26c 100644 --- a/src/Artemis.Storage/Entities/Profile/LayerEntity.cs +++ b/src/Artemis.Storage/Entities/Profile/LayerEntity.cs @@ -15,7 +15,6 @@ namespace Artemis.Storage.Entities.Profile public Guid Id { get; set; } public Guid ParentId { get; set; } - public Guid LayerTypeGuid { get; set; } public int Order { get; set; } public string Name { get; set; } diff --git a/src/Artemis.Storage/Repositories/Interfaces/IProfileRepository.cs b/src/Artemis.Storage/Repositories/Interfaces/IProfileRepository.cs index b130a9642..d0f559b16 100644 --- a/src/Artemis.Storage/Repositories/Interfaces/IProfileRepository.cs +++ b/src/Artemis.Storage/Repositories/Interfaces/IProfileRepository.cs @@ -1,6 +1,5 @@ using System; using System.Collections.Generic; -using Artemis.Storage.Entities; using Artemis.Storage.Entities.Profile; namespace Artemis.Storage.Repositories.Interfaces diff --git a/src/Artemis.Storage/Repositories/Interfaces/ISurfaceRepository.cs b/src/Artemis.Storage/Repositories/Interfaces/ISurfaceRepository.cs index e113cb17f..afbd7743b 100644 --- a/src/Artemis.Storage/Repositories/Interfaces/ISurfaceRepository.cs +++ b/src/Artemis.Storage/Repositories/Interfaces/ISurfaceRepository.cs @@ -1,5 +1,4 @@ using System.Collections.Generic; -using Artemis.Storage.Entities; using Artemis.Storage.Entities.Surface; namespace Artemis.Storage.Repositories.Interfaces diff --git a/src/Artemis.Storage/Repositories/PluginSettingRepository.cs b/src/Artemis.Storage/Repositories/PluginSettingRepository.cs index 3ea1564ff..a50de948f 100644 --- a/src/Artemis.Storage/Repositories/PluginSettingRepository.cs +++ b/src/Artemis.Storage/Repositories/PluginSettingRepository.cs @@ -31,7 +31,7 @@ namespace Artemis.Storage.Repositories { return _repository.FirstOrDefault(p => p.Name == name && p.PluginGuid == pluginGuid); } - + public void Save(PluginSettingEntity pluginSettingEntity) { _repository.Upsert(pluginSettingEntity); diff --git a/src/Artemis.UI/App.xaml b/src/Artemis.UI/App.xaml index a41e55ad4..2497d359f 100644 --- a/src/Artemis.UI/App.xaml +++ b/src/Artemis.UI/App.xaml @@ -27,11 +27,11 @@ - + - + diff --git a/src/Artemis.UI/Artemis.UI.csproj b/src/Artemis.UI/Artemis.UI.csproj index c7b7f18dd..d29501b6e 100644 --- a/src/Artemis.UI/Artemis.UI.csproj +++ b/src/Artemis.UI/Artemis.UI.csproj @@ -148,11 +148,14 @@ Designer + + + @@ -179,7 +182,6 @@ - @@ -226,6 +228,10 @@ Designer MSBuild:Compile + + Designer + MSBuild:Compile + MSBuild:Compile Designer @@ -246,7 +252,7 @@ Designer MSBuild:Compile - + Designer MSBuild:Compile @@ -254,10 +260,6 @@ Designer MSBuild:Compile - - Designer - MSBuild:Compile - Designer MSBuild:Compile diff --git a/src/Artemis.UI/Converters/ColorToDrawingColorConverter.cs b/src/Artemis.UI/Converters/ColorToDrawingColorConverter.cs new file mode 100644 index 000000000..4299912ab --- /dev/null +++ b/src/Artemis.UI/Converters/ColorToDrawingColorConverter.cs @@ -0,0 +1,33 @@ +using System; +using System.Drawing; +using System.Globalization; +using System.Windows.Data; + +namespace Artemis.UI.Converters +{ + /// + ///

+ /// Converts into . + /// + [ValueConversion(typeof(Color), typeof(System.Windows.Media.Color))] + public class ColorToDrawingColorConverter : IValueConverter + { + /// + public object Convert(object value, Type targetType, object parameter, CultureInfo culture) + { + if (value is Color drawingColor) + return System.Windows.Media.Color.FromArgb(drawingColor.A, drawingColor.R, drawingColor.G, drawingColor.B); + + return default(System.Windows.Media.Color); + } + + /// + public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) + { + if (value is System.Windows.Media.Color mediaColor) + return Color.FromArgb(mediaColor.A, mediaColor.R, mediaColor.G, mediaColor.B); + + return default(Color); + } + } +} \ No newline at end of file diff --git a/src/Artemis.UI/Ninject/UiModule.cs b/src/Artemis.UI/Ninject/UiModule.cs index ad577220c..cb36d7088 100644 --- a/src/Artemis.UI/Ninject/UiModule.cs +++ b/src/Artemis.UI/Ninject/UiModule.cs @@ -20,7 +20,7 @@ namespace Artemis.UI.Ninject { if (Kernel == null) throw new ArgumentNullException("Kernel shouldn't be null here."); - + // Bind all built-in VMs Kernel.Bind(x => { @@ -51,7 +51,7 @@ namespace Artemis.UI.Ninject Kernel.Bind().ToFactory(); Kernel.Bind().ToFactory(); Kernel.Bind().ToFactory(); - + // Bind profile editor VMs Kernel.Bind(x => { diff --git a/src/Artemis.UI/Screens/GradientEditor/GradientEditorView.xaml b/src/Artemis.UI/Screens/GradientEditor/GradientEditorView.xaml new file mode 100644 index 000000000..db4b7c8c7 --- /dev/null +++ b/src/Artemis.UI/Screens/GradientEditor/GradientEditorView.xaml @@ -0,0 +1,16 @@ + + + + + \ No newline at end of file diff --git a/src/Artemis.UI/Screens/GradientEditor/GradientEditorViewModel.cs b/src/Artemis.UI/Screens/GradientEditor/GradientEditorViewModel.cs new file mode 100644 index 000000000..473f40b9a --- /dev/null +++ b/src/Artemis.UI/Screens/GradientEditor/GradientEditorViewModel.cs @@ -0,0 +1,10 @@ +using System.Windows.Media; +using Stylet; + +namespace Artemis.UI.Screens.GradientEditor +{ + public class GradientEditorViewModel : Screen + { + public Color CurrentColor { get; set; } + } +} \ No newline at end of file diff --git a/src/Artemis.UI/Screens/Module/ProfileEditor/Dialogs/ProfileElementRenameView.xaml b/src/Artemis.UI/Screens/Module/ProfileEditor/Dialogs/ProfileElementRenameView.xaml index 3b61a050e..ec975ae0e 100644 --- a/src/Artemis.UI/Screens/Module/ProfileEditor/Dialogs/ProfileElementRenameView.xaml +++ b/src/Artemis.UI/Screens/Module/ProfileEditor/Dialogs/ProfileElementRenameView.xaml @@ -16,7 +16,7 @@ Margin="0 8 0 16" Style="{StaticResource MaterialDesignFloatingHintTextBox}" Text="{Binding ElementName, UpdateSourceTrigger=PropertyChanged}" - Loaded="FrameworkElement_OnLoaded"/> + Loaded="FrameworkElement_OnLoaded" /> + + + + \ No newline at end of file diff --git a/src/Artemis.UI/Screens/Module/ProfileEditor/LayerElements/Dialogs/AddLayerElementViewModel.cs b/src/Artemis.UI/Screens/Module/ProfileEditor/LayerElements/Dialogs/AddLayerElementViewModel.cs new file mode 100644 index 000000000..9c4aec276 --- /dev/null +++ b/src/Artemis.UI/Screens/Module/ProfileEditor/LayerElements/Dialogs/AddLayerElementViewModel.cs @@ -0,0 +1,53 @@ +using System.Windows.Input; +using Artemis.Core.Models.Profile; +using Artemis.Core.Plugins.LayerElement; +using Artemis.Core.Services.Interfaces; +using Artemis.UI.ViewModels.Dialogs; +using Stylet; + +namespace Artemis.UI.Screens.Module.ProfileEditor.LayerElements.Dialogs +{ + public class AddLayerElementViewModel : DialogViewModelBase + { + private readonly ILayerService _layerService; + + + public AddLayerElementViewModel(IPluginService pluginService, ILayerService layerService, Layer layer) + { + _layerService = layerService; + Layer = layer; + + LayerElementDescriptors = new BindableCollection(); + var layerElementProviders = pluginService.GetPluginsOfType(); + foreach (var layerElementProvider in layerElementProviders) + LayerElementDescriptors.AddRange(layerElementProvider.LayerElementDescriptors); + } + + public Layer Layer { get; } + + public LayerElementDescriptor SelectedLayerElementDescriptor { get; set; } + public BindableCollection LayerElementDescriptors { get; set; } + public bool CanAccept => SelectedLayerElementDescriptor != null; + + public void Accept() + { + var layerElement = _layerService.InstantiateLayerElement(Layer, SelectedLayerElementDescriptor); + Session.Close(layerElement); + } + + public void Cancel() + { + Session.Close(); + } + + #region View event handlers + + public void ListBoxItemMouseClick(object sender, MouseButtonEventArgs args) + { + if (args.ClickCount > 1 && SelectedLayerElementDescriptor != null) + Accept(); + } + + #endregion + } +} \ No newline at end of file diff --git a/src/Artemis.UI/Screens/Module/ProfileEditor/LayerElements/LayerElementView.xaml b/src/Artemis.UI/Screens/Module/ProfileEditor/LayerElements/LayerElementView.xaml deleted file mode 100644 index c2f1efe5f..000000000 --- a/src/Artemis.UI/Screens/Module/ProfileEditor/LayerElements/LayerElementView.xaml +++ /dev/null @@ -1,10 +0,0 @@ - - - \ No newline at end of file diff --git a/src/Artemis.UI/Screens/Module/ProfileEditor/LayerElements/LayerElementViewModel.cs b/src/Artemis.UI/Screens/Module/ProfileEditor/LayerElements/LayerElementViewModel.cs index 26d65f42c..62ad2762a 100644 --- a/src/Artemis.UI/Screens/Module/ProfileEditor/LayerElements/LayerElementViewModel.cs +++ b/src/Artemis.UI/Screens/Module/ProfileEditor/LayerElements/LayerElementViewModel.cs @@ -1,6 +1,19 @@ -namespace Artemis.UI.Screens.Module.ProfileEditor.LayerElements +using Artemis.Core.Models.Profile; +using Artemis.Core.Plugins.LayerElement; + +namespace Artemis.UI.Screens.Module.ProfileEditor.LayerElements { public class LayerElementViewModel { + public LayerElementViewModel(LayerElement layerElement) + { + Layer = layerElement.Layer; + LayerElement = layerElement; + LayerElementDescriptor = layerElement.Descriptor; + } + + public Layer Layer { get; set; } + public LayerElement LayerElement { get; set; } + public LayerElementDescriptor LayerElementDescriptor { get; set; } } } \ No newline at end of file diff --git a/src/Artemis.UI/Screens/Module/ProfileEditor/LayerElements/LayerElementsView.xaml b/src/Artemis.UI/Screens/Module/ProfileEditor/LayerElements/LayerElementsView.xaml index 9053f62a0..a48a84a99 100644 --- a/src/Artemis.UI/Screens/Module/ProfileEditor/LayerElements/LayerElementsView.xaml +++ b/src/Artemis.UI/Screens/Module/ProfileEditor/LayerElements/LayerElementsView.xaml @@ -3,15 +3,69 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" - xmlns:local="clr-namespace:Artemis.UI.Screens.Module.ProfileEditor.LayerElements" + xmlns:layerElements="clr-namespace:Artemis.UI.Screens.Module.ProfileEditor.LayerElements" + xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes" + xmlns:s="https://github.com/canton7/Stylet" mc:Ignorable="d" - d:DesignHeight="450" d:DesignWidth="800"> - - - - Layer elements - - - - + d:DesignHeight="450" d:DesignWidth="800" + d:DataContext="{d:DesignInstance {x:Type layerElements:LayerElementsViewModel}}"> + + + + + + + + + + Layer elements + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Artemis.UI/Screens/Module/ProfileEditor/LayerElements/LayerElementsViewModel.cs b/src/Artemis.UI/Screens/Module/ProfileEditor/LayerElements/LayerElementsViewModel.cs index 52e9a1f79..815e67af3 100644 --- a/src/Artemis.UI/Screens/Module/ProfileEditor/LayerElements/LayerElementsViewModel.cs +++ b/src/Artemis.UI/Screens/Module/ProfileEditor/LayerElements/LayerElementsViewModel.cs @@ -1,6 +1,95 @@ -namespace Artemis.UI.Screens.Module.ProfileEditor.LayerElements +using System; +using System.Collections.Generic; +using System.Linq; +using Artemis.Core.Models.Profile; +using Artemis.Core.Models.Profile.Abstract; +using Artemis.Core.Plugins.LayerElement; +using Artemis.UI.Screens.Module.ProfileEditor.LayerElements.Dialogs; +using Artemis.UI.Services.Interfaces; +using Stylet; + +namespace Artemis.UI.Screens.Module.ProfileEditor.LayerElements { public class LayerElementsViewModel : ProfileEditorPanelViewModel { + private readonly IDialogService _dialogService; + private readonly IProfileEditorService _profileEditorService; + private LayerElementViewModel _selectedLayerElement; + + public LayerElementsViewModel(IProfileEditorService profileEditorService, IDialogService dialogService) + { + _profileEditorService = profileEditorService; + _dialogService = dialogService; + + LayerElements = new BindableCollection(); + SelectedProfileElement = _profileEditorService.SelectedProfileElement; + PopulateLayerElements(); + + _profileEditorService.SelectedProfileElementChanged += OnSelectedProfileElementChanged; + _profileEditorService.SelectedLayerElementChanged += OnSelectedLayerElementChanged; + } + + public ProfileElement SelectedProfileElement { get; private set; } + public BindableCollection LayerElements { get; set; } + + public LayerElementViewModel SelectedLayerElement + { + get => _selectedLayerElement; + set + { + _selectedLayerElement = value; + _profileEditorService.ChangeSelectedLayerElement(value?.LayerElement); + } + } + + public bool CanAddLayerElement => SelectedProfileElement is Layer; + public bool CanDeleteSelectedLayerElement => SelectedLayerElement != null; + + private void OnSelectedLayerElementChanged(object sender, EventArgs e) + { + _selectedLayerElement = LayerElements.FirstOrDefault(l => l.LayerElement == _profileEditorService.SelectedLayerElement); + NotifyOfPropertyChange(() => SelectedLayerElement); + } + + private void OnSelectedProfileElementChanged(object sender, EventArgs e) + { + SelectedProfileElement = _profileEditorService.SelectedProfileElement; + PopulateLayerElements(); + } + + private void PopulateLayerElements() + { + LayerElements.Clear(); + if (SelectedProfileElement is Layer layer) + { + foreach (var layerElement in layer.LayerElements) + LayerElements.Add(new LayerElementViewModel(layerElement)); + } + } + + public async void AddLayerElement() + { + var result = await _dialogService.ShowDialogAt( + "LayerElementsDialogHost", + new Dictionary {{"layer", (Layer) SelectedProfileElement}} + ); + + if (result is LayerElement layerElement) + LayerElements.Add(new LayerElementViewModel(layerElement)); + } + + public async void DeleteSelectedLayerElement() + { + if (SelectedLayerElement == null) + return; + + var result = await _dialogService.ShowConfirmDialogAt( + "LayerElementsDialogHost", + "Delete layer element", + "Are you sure you want to delete the selected layer element?" + ); + if (!result) + return; + } } } \ No newline at end of file diff --git a/src/Artemis.UI/Screens/Module/ProfileEditor/ProfileEditorViewModel.cs b/src/Artemis.UI/Screens/Module/ProfileEditor/ProfileEditorViewModel.cs index 831660ead..cdad6a569 100644 --- a/src/Artemis.UI/Screens/Module/ProfileEditor/ProfileEditorViewModel.cs +++ b/src/Artemis.UI/Screens/Module/ProfileEditor/ProfileEditorViewModel.cs @@ -8,7 +8,6 @@ using Artemis.Core.Plugins.Abstract; using Artemis.Core.Plugins.Models; using Artemis.Core.Services; using Artemis.Core.Services.Storage.Interfaces; -using Artemis.UI.Events; using Artemis.UI.Screens.Module.ProfileEditor.Dialogs; using Artemis.UI.Screens.Module.ProfileEditor.DisplayConditions; using Artemis.UI.Screens.Module.ProfileEditor.ElementProperties; @@ -29,8 +28,8 @@ namespace Artemis.UI.Screens.Module.ProfileEditor public ProfileEditorViewModel(ProfileModule module, ICollection viewModels, IProfileEditorService profileEditorService, - IProfileService profileService, - IDialogService dialogService, + IProfileService profileService, + IDialogService dialogService, ISettingsService settingsService) { _profileEditorService = profileEditorService; @@ -81,8 +80,8 @@ namespace Artemis.UI.Screens.Module.ProfileEditor return; var oldProfile = Module.ActiveProfile; - Module.ChangeActiveProfile(profile); - + _profileService.ActivateProfile(Module, profile); + if (oldProfile != null) _profileService.UpdateProfile(oldProfile, false); if (profile != null) @@ -186,7 +185,7 @@ namespace Artemis.UI.Screens.Module.ProfileEditor _profileEditorService.ChangeSelectedProfile(SelectedProfile); if (!activeProfile.IsActivated) - Module.ChangeActiveProfile(activeProfile); + _profileService.ActivateProfile(Module, activeProfile); } } } \ No newline at end of file diff --git a/src/Artemis.UI/Screens/Module/ProfileEditor/ProfileTree/ProfileTreeView.xaml b/src/Artemis.UI/Screens/Module/ProfileEditor/ProfileTree/ProfileTreeView.xaml index 86cad251d..72aca0e22 100644 --- a/src/Artemis.UI/Screens/Module/ProfileEditor/ProfileTree/ProfileTreeView.xaml +++ b/src/Artemis.UI/Screens/Module/ProfileEditor/ProfileTree/ProfileTreeView.xaml @@ -25,7 +25,7 @@ - + vm.ProfileElement == _profileEditorService.SelectedProfileElement); + _selectedTreeItem = vms?.FirstOrDefault(vm => vm.ProfileElement == _profileEditorService.SelectedProfileElement); NotifyOfPropertyChange(() => SelectedTreeItem); } diff --git a/src/Artemis.UI/Screens/Module/ProfileEditor/ProfileTree/TreeItem/FolderView.xaml b/src/Artemis.UI/Screens/Module/ProfileEditor/ProfileTree/TreeItem/FolderView.xaml index 8575bf087..2180909ce 100644 --- a/src/Artemis.UI/Screens/Module/ProfileEditor/ProfileTree/TreeItem/FolderView.xaml +++ b/src/Artemis.UI/Screens/Module/ProfileEditor/ProfileTree/TreeItem/FolderView.xaml @@ -37,9 +37,11 @@ - - - + + + diff --git a/src/Artemis.UI/Screens/Module/ProfileEditor/Visualization/ProfileLedViewModel.cs b/src/Artemis.UI/Screens/Module/ProfileEditor/Visualization/ProfileLedViewModel.cs index f8b99ca97..8d63bb0e7 100644 --- a/src/Artemis.UI/Screens/Module/ProfileEditor/Visualization/ProfileLedViewModel.cs +++ b/src/Artemis.UI/Screens/Module/ProfileEditor/Visualization/ProfileLedViewModel.cs @@ -38,7 +38,6 @@ namespace Artemis.UI.Screens.Module.ProfileEditor.Visualization public Geometry StrokeGeometry { get; private set; } public Color DisplayColor { get; private set; } - private void CreateLedGeometry() { switch (Led.RgbLed.Shape) diff --git a/src/Artemis.UI/Screens/RootViewModel.cs b/src/Artemis.UI/Screens/RootViewModel.cs index 2520feb93..368d4aa9a 100644 --- a/src/Artemis.UI/Screens/RootViewModel.cs +++ b/src/Artemis.UI/Screens/RootViewModel.cs @@ -1,7 +1,5 @@ -using System; -using System.Collections.Generic; +using System.Collections.Generic; using System.ComponentModel; -using System.Diagnostics; using System.Linq; using System.Threading.Tasks; using System.Windows; @@ -15,7 +13,6 @@ using Artemis.UI.Screens.News; using Artemis.UI.Screens.Settings; using Artemis.UI.Screens.SurfaceEditor; using Artemis.UI.Screens.Workshop; -using MahApps.Metro.Controls; using Stylet; namespace Artemis.UI.Screens @@ -23,8 +20,8 @@ namespace Artemis.UI.Screens public class RootViewModel : Conductor { private readonly ICollection _artemisViewModels; - private readonly IModuleViewModelFactory _moduleViewModelFactory; private readonly IEventAggregator _eventAggregator; + private readonly IModuleViewModelFactory _moduleViewModelFactory; private readonly IPluginService _pluginService; private bool _lostFocus; diff --git a/src/Artemis.UI/Screens/SurfaceEditor/SurfaceEditorViewModel.cs b/src/Artemis.UI/Screens/SurfaceEditor/SurfaceEditorViewModel.cs index b9690a93b..363b77661 100644 --- a/src/Artemis.UI/Screens/SurfaceEditor/SurfaceEditorViewModel.cs +++ b/src/Artemis.UI/Screens/SurfaceEditor/SurfaceEditorViewModel.cs @@ -332,7 +332,7 @@ namespace Artemis.UI.Screens.SurfaceEditor { if (IsPanKeyDown()) return; - + var selectedRect = new Rect(_mouseDragStartPoint, position); SelectionRectangle.Rect = selectedRect; diff --git a/src/Artemis.UI/Screens/Workshop/WorkshopView.xaml b/src/Artemis.UI/Screens/Workshop/WorkshopView.xaml index edef5de79..5a6d3dbdf 100644 --- a/src/Artemis.UI/Screens/Workshop/WorkshopView.xaml +++ b/src/Artemis.UI/Screens/Workshop/WorkshopView.xaml @@ -4,6 +4,7 @@ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:local="clr-namespace:Artemis.UI.Screens.Workshop" + xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes" mc:Ignorable="d" d:DesignHeight="450" d:DesignWidth="800"> diff --git a/src/Artemis.UI/Services/Dialog/DialogService.cs b/src/Artemis.UI/Services/Dialog/DialogService.cs index 7771ef1a1..c9541798e 100644 --- a/src/Artemis.UI/Services/Dialog/DialogService.cs +++ b/src/Artemis.UI/Services/Dialog/DialogService.cs @@ -29,8 +29,8 @@ namespace Artemis.UI.Services.Dialog { new ConstructorArgument("header", header), new ConstructorArgument("text", text), - new ConstructorArgument("confirmText", confirmText), - new ConstructorArgument("cancelText", cancelText) + new ConstructorArgument("confirmText", confirmText.ToUpper()), + new ConstructorArgument("cancelText", cancelText.ToUpper()) }; var result = await ShowDialog(arguments); return (bool) result; @@ -42,8 +42,8 @@ namespace Artemis.UI.Services.Dialog { new ConstructorArgument("header", header), new ConstructorArgument("text", text), - new ConstructorArgument("confirmText", confirmText), - new ConstructorArgument("cancelText", cancelText) + new ConstructorArgument("confirmText", confirmText.ToUpper()), + new ConstructorArgument("cancelText", cancelText.ToUpper()) }; var result = await ShowDialogAt(identifier, arguments); return (bool) result; diff --git a/src/Artemis.UI/Services/Interfaces/IProfileEditorService.cs b/src/Artemis.UI/Services/Interfaces/IProfileEditorService.cs index 6a0187571..64e272465 100644 --- a/src/Artemis.UI/Services/Interfaces/IProfileEditorService.cs +++ b/src/Artemis.UI/Services/Interfaces/IProfileEditorService.cs @@ -1,6 +1,7 @@ using System; using Artemis.Core.Models.Profile; using Artemis.Core.Models.Profile.Abstract; +using Artemis.Core.Plugins.LayerElement; namespace Artemis.UI.Services.Interfaces { @@ -8,15 +9,18 @@ namespace Artemis.UI.Services.Interfaces { Profile SelectedProfile { get; } ProfileElement SelectedProfileElement { get; } + LayerElement SelectedLayerElement { get; } void ChangeSelectedProfile(Profile profile); void UpdateSelectedProfile(); void ChangeSelectedProfileElement(ProfileElement profileElement); void UpdateSelectedProfileElement(); + void ChangeSelectedLayerElement(LayerElement layerElement); event EventHandler SelectedProfileChanged; event EventHandler SelectedProfileUpdated; event EventHandler SelectedProfileElementChanged; event EventHandler SelectedProfileElementUpdated; + event EventHandler SelectedLayerElementChanged; } } \ No newline at end of file diff --git a/src/Artemis.UI/Services/ProfileEditorService.cs b/src/Artemis.UI/Services/ProfileEditorService.cs index d345fe013..1aa347fba 100644 --- a/src/Artemis.UI/Services/ProfileEditorService.cs +++ b/src/Artemis.UI/Services/ProfileEditorService.cs @@ -1,6 +1,7 @@ using System; using Artemis.Core.Models.Profile; using Artemis.Core.Models.Profile.Abstract; +using Artemis.Core.Plugins.LayerElement; using Artemis.Core.Services.Storage.Interfaces; using Artemis.UI.Services.Interfaces; @@ -17,6 +18,7 @@ namespace Artemis.UI.Services public Profile SelectedProfile { get; private set; } public ProfileElement SelectedProfileElement { get; private set; } + public LayerElement SelectedLayerElement { get; private set; } public void ChangeSelectedProfile(Profile profile) { @@ -42,10 +44,17 @@ namespace Artemis.UI.Services OnSelectedProfileElementUpdated(); } + public void ChangeSelectedLayerElement(LayerElement layerElement) + { + SelectedLayerElement = layerElement; + OnSelectedLayerElementChanged(); + } + public event EventHandler SelectedProfileChanged; public event EventHandler SelectedProfileUpdated; public event EventHandler SelectedProfileElementChanged; public event EventHandler SelectedProfileElementUpdated; + public event EventHandler SelectedLayerElementChanged; protected virtual void OnSelectedProfileElementUpdated() { @@ -66,5 +75,10 @@ namespace Artemis.UI.Services { SelectedProfileChanged?.Invoke(this, EventArgs.Empty); } + + protected virtual void OnSelectedLayerElementChanged() + { + SelectedLayerElementChanged?.Invoke(this, EventArgs.Empty); + } } } \ No newline at end of file diff --git a/src/Artemis.UI/packages.config b/src/Artemis.UI/packages.config index 00b1df5f3..73fe590d2 100644 --- a/src/Artemis.UI/packages.config +++ b/src/Artemis.UI/packages.config @@ -1,4 +1,5 @@  + diff --git a/src/Artemis.sln b/src/Artemis.sln index b4da0e2d6..71bccf436 100644 --- a/src/Artemis.sln +++ b/src/Artemis.sln @@ -19,7 +19,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Plugins", "Plugins", "{E830 EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Artemis.Plugins.Modules.General", "Artemis.Plugins.Modules.General\Artemis.Plugins.Modules.General.csproj", "{E592F239-FAA0-4840-9C85-46E5867D06D5}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Artemis.Plugins.LayerTypes.Brush", "Artemis.Plugins.LayerTypes.Brush\Artemis.Plugins.LayerTypes.Brush.csproj", "{0F288A66-6EB0-4589-8595-E33A3A3EAEA2}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Artemis.Plugins.LayerElements.Brush", "Artemis.Plugins.LayerTypes.Brush\Artemis.Plugins.LayerElements.Brush.csproj", "{0F288A66-6EB0-4589-8595-E33A3A3EAEA2}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Artemis.Plugins.Devices.Corsair", "Artemis.Plugins.Devices.Corsair\Artemis.Plugins.Devices.Corsair.csproj", "{A779B2F8-C253-4C4B-8634-6EB8F594E96D}" EndProject