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