Refactored the positionen to be stored in the LED

This commit is contained in:
DarthAffe committed 2016-09-10 10:40:44 +02:00
1 parent 4b5263221a
commit bfe51add66
8 files changed
+56 -45

No files matched your search

+1 -8
View File
@@ -24,11 +24,6 @@ namespace CUE.NET.Devices.Keyboard.Keys
/// </summary>
public CorsairLed Led { get; }
/// <summary>
/// Gets a rectangle representing the physical location of the key.
/// </summary>
public RectangleF KeyRectangle { get; }
#endregion
#region Constructors
@@ -38,12 +33,10 @@ namespace CUE.NET.Devices.Keyboard.Keys
/// </summary>
/// <param name="keyId">The key-ID of the key.</param>
/// <param name="led">The LED of the key.</param>
/// <param name="keyRectangle">The rectangle representing the physical location of the key.</param>
internal CorsairKey(CorsairKeyboardKeyId keyId, CorsairLed led, RectangleF keyRectangle)
internal CorsairKey(CorsairKeyboardKeyId keyId, CorsairLed led)
{
this.KeyId = keyId;
this.Led = led;
this.KeyRectangle = keyRectangle;
}
#endregion
+2 -2
View File
@@ -65,7 +65,7 @@ namespace CUE.NET.Devices.Keyboard.Keys
/// <param name="minOverlayPercentage">(optional) The minimal percentage overlay a key must have with the <see cref="Rectangle" /> to be taken into the keygroup. (default: 0.5f)</param>
/// <param name="autoAttach">(optional) Specifies whether this group should be automatically attached or not. (default: true)</param>
public RectangleKeyGroup(CorsairKeyboard keyboard, CorsairKey fromKey, CorsairKey toKey, float minOverlayPercentage = 0.5f, bool autoAttach = true)
: this(keyboard, RectangleHelper.CreateRectangleFromRectangles(fromKey.KeyRectangle, toKey.KeyRectangle), minOverlayPercentage, autoAttach)
: this(keyboard, RectangleHelper.CreateRectangleFromRectangles(fromKey.Led.LedRectangle, toKey.Led.LedRectangle), minOverlayPercentage, autoAttach)
{ }
/// <summary>
@@ -104,7 +104,7 @@ namespace CUE.NET.Devices.Keyboard.Keys
/// <returns>The list containing the keys.</returns>
protected override IList<CorsairKey> GetGroupKeys()
{
return _keyCache ?? (_keyCache = Keyboard.Where(x => RectangleHelper.CalculateIntersectPercentage(x.KeyRectangle, Rectangle) >= MinOverlayPercentage).ToList());
return _keyCache ?? (_keyCache = Keyboard.Where(x => RectangleHelper.CalculateIntersectPercentage(x.Led.LedRectangle, Rectangle) >= MinOverlayPercentage).ToList());
}
#endregion