From c611675355b6941a5834ba28ecba65ccca12ab83 Mon Sep 17 00:00:00 2001 From: Darth Affe Date: Sun, 11 Sep 2016 19:39:15 +0200 Subject: [PATCH] Fixed wrong device-rectangle initialize --- Devices/Generic/AbstractCueDevice.cs | 9 +++++---- Devices/Headset/CorsairHeadset.cs | 2 ++ Devices/Keyboard/CorsairKeyboard.cs | 2 ++ Devices/Mouse/CorsairMouse.cs | 2 ++ Devices/Mousemat/CorsairMousemat.cs | 2 ++ 5 files changed, 13 insertions(+), 4 deletions(-) diff --git a/Devices/Generic/AbstractCueDevice.cs b/Devices/Generic/AbstractCueDevice.cs index 309cf19..c33c29a 100644 --- a/Devices/Generic/AbstractCueDevice.cs +++ b/Devices/Generic/AbstractCueDevice.cs @@ -37,7 +37,7 @@ namespace CUE.NET.Devices.Generic /// /// Gets the rectangle containing all LEDs of the device. /// - public RectangleF DeviceRectangle { get; } + public RectangleF DeviceRectangle { get; protected set; } /// /// Gets a dictionary containing all LEDs of the device. @@ -139,8 +139,6 @@ namespace CUE.NET.Devices.Generic protected AbstractCueDevice(IDeviceInfo info) { this.DeviceInfo = info; - - DeviceRectangle = RectangleHelper.CreateRectangleFromRectangles((this).Select(x => x.LedRectangle)); } #endregion @@ -152,7 +150,10 @@ namespace CUE.NET.Devices.Generic /// /// Initializes the device. /// - public abstract void Initialize(); + public virtual void Initialize() + { + DeviceRectangle = RectangleHelper.CreateRectangleFromRectangles((this).Select(x => x.LedRectangle)); + } /// /// Initializes the LED-Object with the specified id. diff --git a/Devices/Headset/CorsairHeadset.cs b/Devices/Headset/CorsairHeadset.cs index 422e7df..6fcae95 100644 --- a/Devices/Headset/CorsairHeadset.cs +++ b/Devices/Headset/CorsairHeadset.cs @@ -45,6 +45,8 @@ namespace CUE.NET.Devices.Headset { InitializeLed(CorsairHeadsetLedId.LeftLogo, new RectangleF(0, 0, 1, 1)); InitializeLed(CorsairHeadsetLedId.RightLogo, new RectangleF(1, 0, 1, 1)); + + base.Initialize(); } #endregion diff --git a/Devices/Keyboard/CorsairKeyboard.cs b/Devices/Keyboard/CorsairKeyboard.cs index 6491a1e..2b3494c 100644 --- a/Devices/Keyboard/CorsairKeyboard.cs +++ b/Devices/Keyboard/CorsairKeyboard.cs @@ -77,6 +77,8 @@ namespace CUE.NET.Devices.Keyboard ptr = new IntPtr(ptr.ToInt64() + structSize); } + + base.Initialize(); } #endregion diff --git a/Devices/Mouse/CorsairMouse.cs b/Devices/Mouse/CorsairMouse.cs index d712e57..864ac94 100644 --- a/Devices/Mouse/CorsairMouse.cs +++ b/Devices/Mouse/CorsairMouse.cs @@ -67,6 +67,8 @@ namespace CUE.NET.Devices.Mouse default: throw new WrapperException($"Can't initial mouse with layout '{MouseDeviceInfo.PhysicalLayout}'"); } + + base.Initialize(); } #endregion diff --git a/Devices/Mousemat/CorsairMousemat.cs b/Devices/Mousemat/CorsairMousemat.cs index 54cf9e8..704ee8c 100644 --- a/Devices/Mousemat/CorsairMousemat.cs +++ b/Devices/Mousemat/CorsairMousemat.cs @@ -82,6 +82,8 @@ namespace CUE.NET.Devices.Mousemat // Sort for easy iteration by clients foreach (_CorsairLedPosition ledPosition in positions.OrderBy(p => p.ledId)) InitializeLed(ledPosition.ledId, new RectangleF((float)ledPosition.left, (float)ledPosition.top, (float)ledPosition.width, (float)ledPosition.height)); + + base.Initialize(); } #endregion