From ca3c9fc5d382a017cc71b1a9f718c2e55a12ea6a Mon Sep 17 00:00:00 2001 From: Diogo Trindade Date: Fri, 2 Jun 2023 22:14:12 +0100 Subject: [PATCH 1/2] WIP - Fixed corsair partial devices getting longer the first device has the correct size, all following ones are larger than intended. tested with corsaid lighting node core and sp120 --- .../Generic/CorsairRGBDevice.cs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/RGB.NET.Devices.Corsair/Generic/CorsairRGBDevice.cs b/RGB.NET.Devices.Corsair/Generic/CorsairRGBDevice.cs index 94fd49c..e780de1 100644 --- a/RGB.NET.Devices.Corsair/Generic/CorsairRGBDevice.cs +++ b/RGB.NET.Devices.Corsair/Generic/CorsairRGBDevice.cs @@ -1,4 +1,4 @@ -using System.Collections.Generic; +using System.Collections.Generic; using System.Linq; using RGB.NET.Core; using RGB.NET.Devices.Corsair.Native; @@ -58,6 +58,18 @@ public abstract class CorsairRGBDevice : AbstractRGBDevice 0) + FixOffsetDeviceLayout(); + } + + protected virtual void FixOffsetDeviceLayout() + { + float minX = this.Min(x => x.Location.X); + float minY = this.Min(x => x.Location.Y); + + foreach (Led led in this) + led.Location = led.Location.Translate(-minX, -minY); } protected abstract LedMapping CreateMapping(IEnumerable ids); From d7fffb42136c9e46141821983be322bdd1d50b27 Mon Sep 17 00:00:00 2001 From: DarthAffe Date: Sat, 3 Jun 2023 19:28:15 +0000 Subject: [PATCH 2/2] Added comment to new corsai FixOffsetDeviceLayout-method --- RGB.NET.Devices.Corsair/Generic/CorsairRGBDevice.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/RGB.NET.Devices.Corsair/Generic/CorsairRGBDevice.cs b/RGB.NET.Devices.Corsair/Generic/CorsairRGBDevice.cs index e780de1..9fcbca6 100644 --- a/RGB.NET.Devices.Corsair/Generic/CorsairRGBDevice.cs +++ b/RGB.NET.Devices.Corsair/Generic/CorsairRGBDevice.cs @@ -63,6 +63,9 @@ public abstract class CorsairRGBDevice : AbstractRGBDevice + /// Fixes the locations for devices split by offset by aligning them to the top left. + /// protected virtual void FixOffsetDeviceLayout() { float minX = this.Min(x => x.Location.X);