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);