mirror of
https://github.com/Artemis-RGB/Artemis
synced 2025-12-13 05:48:35 +00:00
Nearly fully implemented surface rearranging
This commit is contained in:
parent
5106195450
commit
8951e61bd9
@ -23,8 +23,13 @@ namespace Artemis.Core.RGB.NET
|
|||||||
public Color ManipulateColor(Rectangle rectangle, BrushRenderTarget renderTarget, Color color)
|
public Color ManipulateColor(Rectangle rectangle, BrushRenderTarget renderTarget, Color color)
|
||||||
{
|
{
|
||||||
var point = renderTarget.Point;
|
var point = renderTarget.Point;
|
||||||
var pixel = _bitmap.GetPixel((int) point.X, (int) point.Y);
|
if (_bitmap.Width - 1 >= point.X && _bitmap.Height - 1 >= point.Y)
|
||||||
return new Color(pixel.A, pixel.R, pixel.G, pixel.B);
|
{
|
||||||
|
var pixel = _bitmap.GetPixel((int) point.X, (int) point.Y);
|
||||||
|
return new Color(pixel.A, pixel.R, pixel.G, pixel.B);
|
||||||
|
}
|
||||||
|
|
||||||
|
return new Color(0, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Graphics GetGraphics()
|
public Graphics GetGraphics()
|
||||||
|
|||||||
@ -72,421 +72,6 @@
|
|||||||
</None>
|
</None>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Content Include="Images\Corsair\Customs\LEDSTRIP.png">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="Images\Corsair\Customs\LLFAN.png">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="Images\Corsair\Customs\PUMP.png">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="Images\Corsair\empty.png">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K70RGB.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K95RGB.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K95RGBPLATINUM.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\0_BracketRight.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\0_Equals_CurlyBracketRight.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\1_ExclamationMark.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\2_At.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\2_QuotationMark_Exponent2.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\3_Hash.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\3_SectionSign_Exponent3.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\4_Dollar.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\5_Percent.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\5_Percent_Euro.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\6_Ampersand.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\6_Circumflex.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\7_Ampersand.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\7_Slash_CurlyBracketLeft.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\8_Asterisk.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\8_BracketLeft_SquareBracketLeft.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\9_BracketRight.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\9_BracketRight_SquareBracketRight.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\A.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\AccentGrave_AccentAcute.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\AccentGrave_Tilde.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\AE.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Alt.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\AltGr.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Apostrophe_QuotationMark.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Asterisk.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\B.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Backspace.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\BildDown.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\BildUp.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Blackslash_Pipe.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Brightness.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\C.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\CapsLock.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\CapsLockText.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\CaretDown.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\CaretLeft.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\CaretRight.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\CaretUp.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Circumflex_Degree.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Comma_Del.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Comma_Entf.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Comma_Semicolon.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Ctrl.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\D.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Delete.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Dot_Colon.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Drucken.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\E.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Einfg.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\End.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Ende.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Enter.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\EnterWText.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Entf.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Equals_Plus.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Escape.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\E_Euro.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\F.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\F1.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\F10.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\F11.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\F12.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\F2.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\F3.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\F4.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\F5.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\F6.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\F7.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\F8.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\F9.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\G.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\G1.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\G10.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\G11.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\G12.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\G13.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\G14.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\G15.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\G16.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\G17.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\G18.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\G2.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\G3.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\G4.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\G5.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\G6.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\G7.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\G8.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\G9.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\GreaterThan_Dot.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\H.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Hash_Apostrophe.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Home.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Hyphen_Underscore.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\I.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Insert.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\J.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\K.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\L.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\LessThan_Comma.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\LessThan_GreaterThan_Pipe.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\M.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\M1.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\M2.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\M3.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Menu.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Minus.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\MR.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Mute.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\M_Mu.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\N.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\NextTrack.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Num.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Num0_Einfg.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Num0_Ins.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Num1_End.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Num1_Ende.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Num2_ArrowDown.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Num3_BildDown.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Num3_PgDn.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Num4_ArrowLeft.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Num5.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Num6_ArrowRight.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Num7_Home.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Num7_Pos1.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Num8_ArrowUp.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Num9_BildUp.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Num9_PgUp.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\NumEnter.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\NumLock.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\NumPlus.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\O.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\OE.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\P.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\PageDown.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\PageUp.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\PauseBreak.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\PauseUntbr.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\PlayPause.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Plus_Asterisk_Tilde.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Pos1.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\PreviousTrack.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\PrtScnSysRq.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Q.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\QuestionMark_SharpS_Backslash.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\QuestionMark_Slash.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Q_At.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\R.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Rollen.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\S.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\ScrollLock.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Semicolon_Colon.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Shift.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\ShiftBig.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\ShiftWText.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\ShiftWTextBig.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Slash.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Space.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\SquareBracketLeft_CurlyBracketLeft.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\SquareBracketRight_CurlyBracketRight.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Stop.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Strg.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\T.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Tab.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\TabWText.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\U.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\UE.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\V.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\W.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\windows.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\WinLock.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\X.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Y.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\K_Keys\Z.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Missing.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\0_BracketRight.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\0_Equals_CurlyBracketRight.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\1_ExclamationMark.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\2_At.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\2_QuotationMark_Exponent2.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\3_Hash.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\3_SectionSign_Exponent3.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\4_Dollar.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\5.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\5_Percent.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\5_Percent_Euro.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\6_Ampersand.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\6_Circumflex.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\7_Ampersand.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\7_Slash_CurlyBracketLeft.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\8_Asterisk.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\8_BracketLeft_SquareBracketLeft.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\9_BracketRight.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\9_BracketRight_SquareBracketRight.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\A.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\AccentGrave_AccentAcute.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\AccentGrave_Tilde.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\AE.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Alt.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\AltGr.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Apostrophe_QuotationMark.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Asterisk.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\B.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Backspace.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\BildDown.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\BildUp.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Blackslash_Pipe.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Brightness.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\C.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\CapsLock.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\CaretDown.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\CaretLeft.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\CaretRight.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\CaretUp.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Circumflex_Degree.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Comma_Entf.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Comma_Semicolon.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Ctrl.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\D.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Delete.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Dot_Colon.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Dot_Del.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Drucken.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\E.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Einfg.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\End.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Ende.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Enter.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Entf.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Equals_Plus.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Escape.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\E_Euro.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\F.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\F1.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\F10.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\F11.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\F12.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\F2.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\F3.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\F4.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\F5.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\F6.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\F7.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\F8.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\F9.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\G.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\G1.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\G2.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\G3.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\G4.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\G5.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\G6.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\GreaterThan_Dot.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\H.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Hash_Apostrophe.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Home.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Hyphen_Underscore.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\I.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Insert.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\J.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\K.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\L.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\LessThan_Comma.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\LessThan_GreaterThan_Pipe.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\M.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Menu.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Minus.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Mute.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\M_Mu.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\N.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\NextTrack.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Num.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Num0_Einfg.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Num0_Ins.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Num1_End.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Num1_Ende.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Num2_ArrowDown.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Num3_BildDown.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Num3_PgDwn.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Num4_ArrowLeft.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Num5.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Num6_ArrowRight.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Num7_Home.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Num7_Pos1.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Num8_ArrowUp.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Num9_BildUp.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Num9_PgUp.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\NumEnter.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\NumLock.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\NumPlus.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\O.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\OE.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\P.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\PageDown.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\PageUp.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\PauseBreak.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\PauseUntbr.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\PlayPause.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Plus_Asterisk_Tilde.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Pos1.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\PreviousTrack.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\PrintScreen.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Q.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\QuestionMark_SharpS_Backslash.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\QuestionMark_Slash.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Q_At.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\R.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Rollen.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\S.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\ScrollLock.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Semicolon_Colon.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Shift.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\ShiftBig.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Slash.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Space.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\SquareBracketLeft_CurlyBracketLeft.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\SquareBracketRight_CurlyBracketRight.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Stop.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Strg.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\T.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Tab.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\U.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\UE.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\V.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\W.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Windows.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\WinLock.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\X.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Y.png" />
|
|
||||||
<Content Include="Images\Corsair\Keyboards\Strafe_Keys\Z.png" />
|
|
||||||
<Content Include="Images\Corsair\Mice\DARKCORERGB.png">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="Images\Corsair\Mice\GLAIVERGB.png" />
|
|
||||||
<Content Include="Images\Corsair\Mice\HARPOONRGB.png">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="Images\Corsair\Mice\IRONCLAWRGB.png">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="Images\Corsair\Mice\M55RGB.png">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="Images\Corsair\Mice\M65RGB.png">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="Images\Corsair\Mice\NIGHTSWORDRGB.png">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="Images\Corsair\Mice\SABRERGB.png">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="Images\Corsair\Mice\SCIMITARRGB.png">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="Images\Corsair\Mousepads\MM800RGB.png">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="Layouts\Corsair\Customs\LLFAN.xml">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="Layouts\Corsair\Customs\LEDSTRIP.xml">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="Layouts\Corsair\Customs\PUMP.xml">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="Layouts\Corsair\Keyboards\K70RGB\UK.xml" />
|
|
||||||
<Content Include="Layouts\Corsair\Keyboards\K95RGBPLATINUM\UK.xml" />
|
|
||||||
<Content Include="Layouts\Corsair\Keyboards\K95RGBPLATINUM\US.xml" />
|
|
||||||
<Content Include="Layouts\Corsair\Keyboards\K95RGB\UK.xml" />
|
|
||||||
<Content Include="Layouts\Corsair\Mice\DARKCORERGB.xml">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="Layouts\Corsair\Mice\GLAIVERGB.xml" />
|
|
||||||
<Content Include="Layouts\Corsair\Mice\HARPOONRGB.xml">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="Layouts\Corsair\Mice\IRONCLAWRGB.xml">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="Layouts\Corsair\Mice\M55RGB.xml">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="Layouts\Corsair\Mice\M65RGB.xml">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="Layouts\Corsair\Mice\NIGHTSWORDRGB.xml">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="Layouts\Corsair\Mice\SABRERGB.xml">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="Layouts\Corsair\Mice\SCIMITARPRORGB.xml">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="Layouts\Corsair\Mousepads\MM800RGB.xml">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="x64\CUESDK.dll">
|
<Content Include="x64\CUESDK.dll">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</Content>
|
</Content>
|
||||||
@ -496,6 +81,14 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<PostBuildEvent>(robocopy $(TargetDir) $(SolutionDir)\Artemis.UI\$(OutDir)\Plugins\$(ProjectName) /E /NFL /NDL /NJH /NJS /nc /ns /np) ^& IF %25ERRORLEVEL%25 LEQ 4 exit /B 0</PostBuildEvent>
|
<PostBuildEvent>echo Copying resources to plugin output directory
|
||||||
|
XCOPY "$(ProjectDir)Images" "$(TargetDir)Images" /s /q /i /y
|
||||||
|
XCOPY "$(ProjectDir)Layouts" "$(TargetDir)Layouts" /s /q /i /y
|
||||||
|
echo Copying plugin to Artemis.UI output directory
|
||||||
|
XCOPY "$(TargetDir.TrimEnd('\'))" "$(SolutionDir)\Artemis.UI\$(OutDir)Plugins\$(ProjectName)" /s /q /i /y</PostBuildEvent>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup>
|
||||||
|
<PreBuildEvent>
|
||||||
|
</PreBuildEvent>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
</Project>
|
</Project>
|
||||||
@ -86,6 +86,7 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<PostBuildEvent>(robocopy $(TargetDir) $(SolutionDir)\Artemis.UI\$(OutDir)\Plugins\$(ProjectName) /E /NFL /NDL /NJH /NJS /nc /ns /np) ^& IF %25ERRORLEVEL%25 LEQ 4 exit /B 0</PostBuildEvent>
|
<PostBuildEvent>echo Copying plugin to Artemis.UI output directory
|
||||||
|
XCOPY "$(TargetDir.TrimEnd('\'))" "$(SolutionDir)\Artemis.UI\$(OutDir)Plugins\$(ProjectName)" /s /q /i /y</PostBuildEvent>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
</Project>
|
</Project>
|
||||||
@ -95,6 +95,7 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<PostBuildEvent>(robocopy $(TargetDir) $(SolutionDir)\Artemis.UI\$(OutDir)\Plugins\$(ProjectName) /E /NFL /NDL /NJH /NJS /nc /ns /np) ^& IF %25ERRORLEVEL%25 LEQ 4 exit /B 0</PostBuildEvent>
|
<PostBuildEvent>echo Copying plugin to Artemis.UI output directory
|
||||||
|
XCOPY "$(TargetDir.TrimEnd('\'))" "$(SolutionDir)\Artemis.UI\$(OutDir)Plugins\$(ProjectName)" /s /q /i /y</PostBuildEvent>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
</Project>
|
</Project>
|
||||||
@ -1,18 +1,13 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.Linq;
|
|
||||||
using Artemis.Core;
|
|
||||||
using Artemis.Core.Extensions;
|
using Artemis.Core.Extensions;
|
||||||
using Artemis.Core.Plugins.Abstract;
|
using Artemis.Core.Plugins.Abstract;
|
||||||
using Artemis.Core.Plugins.Models;
|
using Artemis.Core.Plugins.Models;
|
||||||
using Artemis.Core.Services.Interfaces;
|
using Artemis.Core.Services.Interfaces;
|
||||||
using Artemis.Plugins.Modules.General.ViewModels;
|
using Artemis.Plugins.Modules.General.ViewModels;
|
||||||
using QRCoder;
|
|
||||||
using RGB.NET.Core;
|
using RGB.NET.Core;
|
||||||
using Stylet;
|
using Stylet;
|
||||||
using Color = System.Drawing.Color;
|
using Color = System.Drawing.Color;
|
||||||
using Rectangle = System.Drawing.Rectangle;
|
|
||||||
|
|
||||||
namespace Artemis.Plugins.Modules.General
|
namespace Artemis.Plugins.Modules.General
|
||||||
{
|
{
|
||||||
@ -20,8 +15,6 @@ namespace Artemis.Plugins.Modules.General
|
|||||||
{
|
{
|
||||||
private readonly PluginSettings _settings;
|
private readonly PluginSettings _settings;
|
||||||
private readonly RGBSurface _surface;
|
private readonly RGBSurface _surface;
|
||||||
private Dictionary<Led, Color> _colors;
|
|
||||||
private double _circlePosition;
|
|
||||||
private Color _color;
|
private Color _color;
|
||||||
|
|
||||||
public GeneralModule(PluginInfo pluginInfo, IRgbService rgbService, PluginSettings settings) : base(pluginInfo)
|
public GeneralModule(PluginInfo pluginInfo, IRgbService rgbService, PluginSettings settings) : base(pluginInfo)
|
||||||
@ -31,10 +24,6 @@ namespace Artemis.Plugins.Modules.General
|
|||||||
ExpandsMainDataModel = true;
|
ExpandsMainDataModel = true;
|
||||||
|
|
||||||
_surface = rgbService.Surface;
|
_surface = rgbService.Surface;
|
||||||
_colors = new Dictionary<Led, Color>();
|
|
||||||
|
|
||||||
rgbService.DeviceLoaded += (sender, args) => PopulateColors();
|
|
||||||
rgbService.DeviceReloaded += (sender, args) => PopulateColors();
|
|
||||||
|
|
||||||
var testSetting = _settings.GetSetting("TestSetting", DateTime.Now);
|
var testSetting = _settings.GetSetting("TestSetting", DateTime.Now);
|
||||||
_color = ColorHelpers.GetRandomRainbowColor();
|
_color = ColorHelpers.GetRandomRainbowColor();
|
||||||
@ -42,8 +31,6 @@ namespace Artemis.Plugins.Modules.General
|
|||||||
|
|
||||||
public override void EnablePlugin()
|
public override void EnablePlugin()
|
||||||
{
|
{
|
||||||
var qrGenerator = new QRCodeGenerator();
|
|
||||||
PopulateColors();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void DisablePlugin()
|
public override void DisablePlugin()
|
||||||
@ -52,56 +39,16 @@ namespace Artemis.Plugins.Modules.General
|
|||||||
|
|
||||||
public override void Update(double deltaTime)
|
public override void Update(double deltaTime)
|
||||||
{
|
{
|
||||||
if (_colors == null)
|
_color = ColorHelpers.ShiftColor(_color, (int) (deltaTime * 200));
|
||||||
return;
|
|
||||||
|
|
||||||
foreach (var surfaceLed in _surface.Leds)
|
|
||||||
UpdateLedColor(surfaceLed, deltaTime);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void Render(double deltaTime, RGBSurface surface, Graphics graphics)
|
public override void Render(double deltaTime, RGBSurface surface, Graphics graphics)
|
||||||
{
|
{
|
||||||
_circlePosition += deltaTime * 50;
|
|
||||||
if (_circlePosition > 600)
|
|
||||||
{
|
|
||||||
_circlePosition = -200;
|
|
||||||
_color = ColorHelpers.GetRandomRainbowColor();
|
|
||||||
}
|
|
||||||
|
|
||||||
var rect = new Rectangle((int) _circlePosition * 4, 0, 200, (int) surface.Leds.Max(l => l.AbsoluteLedRectangle.Y + l.AbsoluteLedRectangle.Height));
|
|
||||||
graphics.FillRectangle(new SolidBrush(_color), rect);
|
|
||||||
|
|
||||||
// // Lets do this in the least performant way possible
|
|
||||||
// foreach (var surfaceLed in _surface.Leds)
|
|
||||||
// {
|
|
||||||
// var rectangle = surfaceLed.AbsoluteLedRectangle.ToDrawingRectangle();
|
|
||||||
// if (surfaceLed.Id == LedId.Fan1)
|
|
||||||
// {
|
|
||||||
// graphics.FillRectangle(new SolidBrush(Color.Red), rectangle);
|
|
||||||
// }
|
|
||||||
// if (surfaceLed.Id == LedId.Fan2)
|
|
||||||
// {
|
|
||||||
// graphics.FillRectangle(new SolidBrush(Color.Blue), rectangle);
|
|
||||||
// }
|
|
||||||
// if (surfaceLed.Id == LedId.Fan3)
|
|
||||||
// {
|
|
||||||
// graphics.FillRectangle(new SolidBrush(Color.Green), rectangle);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
|
||||||
return;
|
|
||||||
|
|
||||||
// Lets do this in the least performant way possible
|
// Lets do this in the least performant way possible
|
||||||
foreach (var surfaceLed in _surface.Leds)
|
foreach (var surfaceLed in _surface.Leds)
|
||||||
{
|
{
|
||||||
if (!_colors.ContainsKey(surfaceLed))
|
|
||||||
continue;
|
|
||||||
|
|
||||||
var brush = new SolidBrush(_colors[surfaceLed]);
|
|
||||||
var rectangle = surfaceLed.AbsoluteLedRectangle.ToDrawingRectangle();
|
var rectangle = surfaceLed.AbsoluteLedRectangle.ToDrawingRectangle();
|
||||||
graphics.FillRectangle(brush, rectangle);
|
graphics.FillRectangle(new SolidBrush(_color), rectangle);
|
||||||
UpdateLedColor(surfaceLed, deltaTime);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -112,25 +59,6 @@ namespace Artemis.Plugins.Modules.General
|
|||||||
|
|
||||||
public override void Dispose()
|
public override void Dispose()
|
||||||
{
|
{
|
||||||
_colors = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void UpdateLedColor(Led led, double deltaTime)
|
|
||||||
{
|
|
||||||
if (_colors.ContainsKey(led))
|
|
||||||
_colors[led] = ColorHelpers.ShiftColor(_colors[led], (int) (deltaTime * 200));
|
|
||||||
else
|
|
||||||
_colors[led] = ColorHelpers.GetRandomRainbowColor();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void PopulateColors()
|
|
||||||
{
|
|
||||||
lock (_colors)
|
|
||||||
{
|
|
||||||
_colors = new Dictionary<Led, Color>();
|
|
||||||
foreach (var surfaceLed in _surface.Leds)
|
|
||||||
_colors.Add(surfaceLed, ColorHelpers.GetRandomRainbowColor());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -4,12 +4,15 @@ using System.Windows;
|
|||||||
using System.Windows.Input;
|
using System.Windows.Input;
|
||||||
using RGB.NET.Core;
|
using RGB.NET.Core;
|
||||||
using Stylet;
|
using Stylet;
|
||||||
|
using Point = System.Windows.Point;
|
||||||
|
|
||||||
namespace Artemis.UI.ViewModels.Controls.RgbDevice
|
namespace Artemis.UI.ViewModels.Controls.RgbDevice
|
||||||
{
|
{
|
||||||
public class RgbDeviceViewModel : PropertyChangedBase
|
public class RgbDeviceViewModel : PropertyChangedBase
|
||||||
{
|
{
|
||||||
private readonly List<RgbLedViewModel> _leds;
|
private readonly List<RgbLedViewModel> _leds;
|
||||||
|
private double _dragOffsetX;
|
||||||
|
private double _dragOffsetY;
|
||||||
|
|
||||||
public RgbDeviceViewModel(IRGBDevice device)
|
public RgbDeviceViewModel(IRGBDevice device)
|
||||||
{
|
{
|
||||||
@ -38,6 +41,44 @@ namespace Artemis.UI.ViewModels.Controls.RgbDevice
|
|||||||
rgbLedViewModel.ColorsEnabled = enabled;
|
rgbLedViewModel.ColorsEnabled = enabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void StartMouseDrag(Point mouseStartPosition)
|
||||||
|
{
|
||||||
|
_dragOffsetX = Device.Location.X - mouseStartPosition.X;
|
||||||
|
_dragOffsetY = Device.Location.Y - mouseStartPosition.Y;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void UpdateMouseDrag(Point mousePosition)
|
||||||
|
{
|
||||||
|
var roundedX = Math.Round((mousePosition.X + _dragOffsetX) / 10, 0, MidpointRounding.AwayFromZero) * 10;
|
||||||
|
var roundedY = Math.Round((mousePosition.Y + _dragOffsetY) / 10, 0, MidpointRounding.AwayFromZero) * 10;
|
||||||
|
this.Device.Location = new RGB.NET.Core.Point(roundedX, roundedY);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void FinishMouseDrag(Point mouseEndPosition)
|
||||||
|
{
|
||||||
|
// TODO: Save and update
|
||||||
|
}
|
||||||
|
|
||||||
|
// ReSharper disable once UnusedMember.Global - Called from view
|
||||||
|
public void MouseEnter()
|
||||||
|
{
|
||||||
|
if (SelectionStatus == SelectionStatus.None)
|
||||||
|
{
|
||||||
|
SelectionStatus = SelectionStatus.Hover;
|
||||||
|
Cursor = Cursors.Hand;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ReSharper disable once UnusedMember.Global - Called from view
|
||||||
|
public void MouseLeave()
|
||||||
|
{
|
||||||
|
if (SelectionStatus == SelectionStatus.Hover)
|
||||||
|
{
|
||||||
|
SelectionStatus = SelectionStatus.None;
|
||||||
|
Cursor = Cursors.Arrow;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public Rect DeviceRectangle => new Rect(Device.Location.X, Device.Location.Y, Device.Size.Width, Device.Size.Height);
|
public Rect DeviceRectangle => new Rect(Device.Location.X, Device.Location.Y, Device.Size.Width, Device.Size.Height);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -20,7 +20,6 @@ namespace Artemis.UI.ViewModels.Controls.RgbDevice
|
|||||||
Update();
|
Update();
|
||||||
}
|
}
|
||||||
|
|
||||||
[DoNotNotify]
|
|
||||||
public Led Led { get; }
|
public Led Led { get; }
|
||||||
|
|
||||||
public double X { get; private set; }
|
public double X { get; private set; }
|
||||||
@ -97,6 +96,8 @@ namespace Artemis.UI.ViewModels.Controls.RgbDevice
|
|||||||
{
|
{
|
||||||
if (ColorsEnabled)
|
if (ColorsEnabled)
|
||||||
{
|
{
|
||||||
|
if (Led.Id == LedId.Keyboard_Y)
|
||||||
|
Console.WriteLine();
|
||||||
var newColor = Led.Color.ToMediaColor();
|
var newColor = Led.Color.ToMediaColor();
|
||||||
SetColor(newColor);
|
SetColor(newColor);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -30,7 +30,7 @@ namespace Artemis.UI.ViewModels.Screens
|
|||||||
foreach (var surfaceDevice in _rgbService.Surface.Devices)
|
foreach (var surfaceDevice in _rgbService.Surface.Devices)
|
||||||
{
|
{
|
||||||
var device = new RgbDeviceViewModel(surfaceDevice) {Cursor = Cursors.Hand};
|
var device = new RgbDeviceViewModel(surfaceDevice) {Cursor = Cursors.Hand};
|
||||||
device.SetColorsEnabled(false);
|
// device.SetColorsEnabled(false);
|
||||||
|
|
||||||
Devices.Add(device);
|
Devices.Add(device);
|
||||||
}
|
}
|
||||||
@ -48,7 +48,7 @@ namespace Artemis.UI.ViewModels.Screens
|
|||||||
if (Devices.All(d => d.Device != e.Device))
|
if (Devices.All(d => d.Device != e.Device))
|
||||||
{
|
{
|
||||||
var device = new RgbDeviceViewModel(e.Device) {Cursor = Cursors.Hand};
|
var device = new RgbDeviceViewModel(e.Device) {Cursor = Cursors.Hand};
|
||||||
device.SetColorsEnabled(false);
|
// device.SetColorsEnabled(false);
|
||||||
Devices.Add(device);
|
Devices.Add(device);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -60,67 +60,112 @@ namespace Artemis.UI.ViewModels.Screens
|
|||||||
rgbDeviceViewModel.Update();
|
rgbDeviceViewModel.Update();
|
||||||
}
|
}
|
||||||
|
|
||||||
#region Selection
|
#region Mouse actions
|
||||||
|
|
||||||
private bool _editorSelecting;
|
private MouseDragStatus _mouseDragStatus;
|
||||||
private Point _selectionStartPoint;
|
private Point _mouseDragStartPoint;
|
||||||
|
|
||||||
private void StartSelection(Point position)
|
private void StartMouseDrag(Point position)
|
||||||
{
|
{
|
||||||
_selectionStartPoint = position;
|
// If drag started on top of a device, initialise dragging
|
||||||
_editorSelecting = true;
|
var device = Devices.LastOrDefault(d => d.DeviceRectangle.Contains(position));
|
||||||
|
if (device != null)
|
||||||
|
{
|
||||||
|
_mouseDragStatus = MouseDragStatus.Dragging;
|
||||||
|
// If the device is not selected, deselect others and select only this one
|
||||||
|
if (device.SelectionStatus != SelectionStatus.Selected)
|
||||||
|
{
|
||||||
|
foreach (var others in Devices)
|
||||||
|
others.SelectionStatus = SelectionStatus.None;
|
||||||
|
device.SelectionStatus = SelectionStatus.Selected;
|
||||||
|
}
|
||||||
|
foreach (var selectedDevice in Devices.Where(d => d.SelectionStatus == SelectionStatus.Selected))
|
||||||
|
selectedDevice.StartMouseDrag(position);
|
||||||
|
}
|
||||||
|
// Start multi-selection
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_mouseDragStatus = MouseDragStatus.Selecting;
|
||||||
|
_mouseDragStartPoint = position;
|
||||||
|
}
|
||||||
|
|
||||||
SelectionRectangle.Rect = new Rect();
|
// While dragging always show an arrow to avoid cursor flicker
|
||||||
Mouse.OverrideCursor = Cursors.Arrow;
|
Mouse.OverrideCursor = Cursors.Arrow;
|
||||||
|
// Any time dragging starts, start with a new rect
|
||||||
|
SelectionRectangle.Rect = new Rect();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void StopSelection(Point position)
|
private void StopMouseDrag(Point position)
|
||||||
{
|
{
|
||||||
_editorSelecting = false;
|
if (_mouseDragStatus == MouseDragStatus.Dragging)
|
||||||
Mouse.OverrideCursor = null;
|
|
||||||
|
|
||||||
var selectedRect = new Rect(_selectionStartPoint, position);
|
|
||||||
foreach (var device in Devices)
|
|
||||||
{
|
{
|
||||||
if (device.DeviceRectangle.IntersectsWith(selectedRect))
|
|
||||||
device.SelectionStatus = SelectionStatus.Selected;
|
|
||||||
else
|
|
||||||
device.SelectionStatus = SelectionStatus.None;
|
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var selectedRect = new Rect(_mouseDragStartPoint, position);
|
||||||
|
foreach (var device in Devices)
|
||||||
|
{
|
||||||
|
if (device.DeviceRectangle.IntersectsWith(selectedRect))
|
||||||
|
device.SelectionStatus = SelectionStatus.Selected;
|
||||||
|
else
|
||||||
|
device.SelectionStatus = SelectionStatus.None;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Mouse.OverrideCursor = null;
|
||||||
|
_mouseDragStatus = MouseDragStatus.None;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void UpdateSelection(Point position)
|
private void UpdateSelection(Point position)
|
||||||
{
|
{
|
||||||
var selectedRect = new Rect(_selectionStartPoint, position);
|
lock (Devices)
|
||||||
SelectionRectangle.Rect = selectedRect;
|
|
||||||
|
|
||||||
foreach (var device in Devices)
|
|
||||||
{
|
{
|
||||||
if (device.DeviceRectangle.IntersectsWith(selectedRect))
|
var selectedRect = new Rect(_mouseDragStartPoint, position);
|
||||||
device.SelectionStatus = SelectionStatus.Selected;
|
SelectionRectangle.Rect = selectedRect;
|
||||||
else
|
|
||||||
device.SelectionStatus = SelectionStatus.None;
|
foreach (var device in Devices)
|
||||||
|
{
|
||||||
|
if (device.DeviceRectangle.IntersectsWith(selectedRect))
|
||||||
|
device.SelectionStatus = SelectionStatus.Selected;
|
||||||
|
else
|
||||||
|
device.SelectionStatus = SelectionStatus.None;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void MoveSelected(Point position)
|
||||||
|
{
|
||||||
|
foreach (var device in Devices.Where(d => d.SelectionStatus == SelectionStatus.Selected))
|
||||||
|
device.UpdateMouseDrag(position);
|
||||||
|
}
|
||||||
|
|
||||||
|
// ReSharper disable once UnusedMember.Global - Called from view
|
||||||
public void EditorGridMouseClick(object sender, MouseEventArgs e)
|
public void EditorGridMouseClick(object sender, MouseEventArgs e)
|
||||||
{
|
{
|
||||||
var position = e.GetPosition((IInputElement) sender);
|
var position = e.GetPosition((IInputElement) sender);
|
||||||
if (e.LeftButton == MouseButtonState.Pressed)
|
if (e.LeftButton == MouseButtonState.Pressed)
|
||||||
StartSelection(position);
|
StartMouseDrag(position);
|
||||||
else
|
else
|
||||||
StopSelection(position);
|
StopMouseDrag(position);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ReSharper disable once UnusedMember.Global - Called from view
|
||||||
public void EditorGridMouseMove(object sender, MouseEventArgs e)
|
public void EditorGridMouseMove(object sender, MouseEventArgs e)
|
||||||
{
|
{
|
||||||
if (!_editorSelecting)
|
|
||||||
return;
|
|
||||||
|
|
||||||
var position = e.GetPosition((IInputElement) sender);
|
var position = e.GetPosition((IInputElement) sender);
|
||||||
UpdateSelection(position);
|
if (_mouseDragStatus == MouseDragStatus.Dragging)
|
||||||
|
MoveSelected(position);
|
||||||
|
else if (_mouseDragStatus == MouseDragStatus.Selecting)
|
||||||
|
UpdateSelection(position);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
|
|
||||||
|
internal enum MouseDragStatus
|
||||||
|
{
|
||||||
|
None,
|
||||||
|
Selecting,
|
||||||
|
Dragging
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@ -4,12 +4,13 @@
|
|||||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
xmlns:rgbDevice="clr-namespace:Artemis.UI.ViewModels.Controls.RgbDevice"
|
xmlns:rgbDevice="clr-namespace:Artemis.UI.ViewModels.Controls.RgbDevice"
|
||||||
xmlns:xaml="https://github.com/canton7/Stylet"
|
xmlns:s="https://github.com/canton7/Stylet"
|
||||||
mc:Ignorable="d"
|
mc:Ignorable="d"
|
||||||
d:DataContext="{d:DesignInstance rgbDevice:RgbDeviceViewModel}"
|
d:DataContext="{d:DesignInstance rgbDevice:RgbDeviceViewModel}"
|
||||||
d:DesignHeight="450" d:DesignWidth="800"
|
d:DesignHeight="450" d:DesignWidth="800"
|
||||||
Cursor="{Binding Cursor}">
|
Cursor="{Binding Cursor}"
|
||||||
<UserControl.Resources></UserControl.Resources>
|
MouseEnter="{s:Action MouseEnter}"
|
||||||
|
MouseLeave="{s:Action MouseLeave}">
|
||||||
<Grid>
|
<Grid>
|
||||||
<Image Source="{Binding Device.DeviceInfo.Image}" />
|
<Image Source="{Binding Device.DeviceInfo.Image}" />
|
||||||
<ItemsControl ItemsSource="{Binding Leds}">
|
<ItemsControl ItemsSource="{Binding Leds}">
|
||||||
@ -26,42 +27,54 @@
|
|||||||
</ItemsControl.ItemContainerStyle>
|
</ItemsControl.ItemContainerStyle>
|
||||||
<ItemsControl.ItemTemplate>
|
<ItemsControl.ItemTemplate>
|
||||||
<DataTemplate>
|
<DataTemplate>
|
||||||
<ContentControl Width="{Binding Width}" Height="{Binding Height}" xaml:View.Model="{Binding}" />
|
<ContentControl Width="{Binding Width}" Height="{Binding Height}" s:View.Model="{Binding}" />
|
||||||
</DataTemplate>
|
</DataTemplate>
|
||||||
</ItemsControl.ItemTemplate>
|
</ItemsControl.ItemTemplate>
|
||||||
</ItemsControl>
|
</ItemsControl>
|
||||||
<Rectangle Width="Auto" Height="Auto" StrokeThickness="1">
|
<Rectangle Width="Auto" Height="Auto" StrokeThickness="2">
|
||||||
|
<Rectangle.Stroke>
|
||||||
|
<SolidColorBrush Color="{StaticResource IdealForegroundColor}"/>
|
||||||
|
</Rectangle.Stroke>
|
||||||
|
<Rectangle.Fill>
|
||||||
|
<SolidColorBrush Color="{StaticResource IdealForegroundColor}" Opacity="0.25"/>
|
||||||
|
</Rectangle.Fill>
|
||||||
<Rectangle.Style>
|
<Rectangle.Style>
|
||||||
<Style TargetType="Rectangle">
|
<Style TargetType="Rectangle">
|
||||||
<Style.Triggers>
|
<Style.Triggers>
|
||||||
<DataTrigger Binding="{Binding SelectionStatus}" Value="{x:Static rgbDevice:SelectionStatus.Hover}">
|
<DataTrigger Binding="{Binding SelectionStatus}" Value="{x:Static rgbDevice:SelectionStatus.Hover}">
|
||||||
<Setter Property="Rectangle.Fill">
|
<DataTrigger.EnterActions>
|
||||||
<Setter.Value>
|
<StopStoryboard BeginStoryboardName="ToSelected"></StopStoryboard>
|
||||||
<SolidColorBrush Color="{DynamicResource IdealForegroundColor}" Opacity="0.25" />
|
<BeginStoryboard x:Name="ToHover">
|
||||||
</Setter.Value>
|
<Storyboard>
|
||||||
</Setter>
|
<ColorAnimation Storyboard.TargetProperty="(Rectangle.Fill).(SolidColorBrush.Color)" To="{StaticResource IdealForegroundColor}" Duration="0:0:0.25" />
|
||||||
<Setter Property="Rectangle.Stroke" Value="{DynamicResource IdealForegroundColorBrush}"/>
|
<ColorAnimation Storyboard.TargetProperty="(Rectangle.Stroke).(SolidColorBrush.Color)" To="{StaticResource IdealForegroundColor}" Duration="0:0:0.25" />
|
||||||
|
</Storyboard>
|
||||||
|
</BeginStoryboard>
|
||||||
|
</DataTrigger.EnterActions>
|
||||||
</DataTrigger>
|
</DataTrigger>
|
||||||
<DataTrigger Binding="{Binding SelectionStatus}" Value="{x:Static rgbDevice:SelectionStatus.Selected}">
|
<DataTrigger Binding="{Binding SelectionStatus}" Value="{x:Static rgbDevice:SelectionStatus.Selected}">
|
||||||
<Setter Property="Rectangle.Fill">
|
<DataTrigger.EnterActions>
|
||||||
<Setter.Value>
|
<StopStoryboard BeginStoryboardName="ToHover"></StopStoryboard>
|
||||||
<SolidColorBrush Color="{DynamicResource Primary400}" Opacity="0.25" />
|
<BeginStoryboard x:Name="ToSelected">
|
||||||
</Setter.Value>
|
<Storyboard>
|
||||||
</Setter>
|
<ColorAnimation Storyboard.TargetProperty="(Rectangle.Fill).(SolidColorBrush.Color)" To="{StaticResource Primary400}" Duration="0:0:0.25" />
|
||||||
<Setter Property="Rectangle.Stroke" Value="{DynamicResource PrimaryHueLightBrush}" />
|
<ColorAnimation Storyboard.TargetProperty="(Rectangle.Stroke).(SolidColorBrush.Color)" To="{StaticResource Primary400}" Duration="0:0:0.25" />
|
||||||
|
</Storyboard>
|
||||||
|
</BeginStoryboard>
|
||||||
|
</DataTrigger.EnterActions>
|
||||||
</DataTrigger>
|
</DataTrigger>
|
||||||
<DataTrigger Binding="{Binding SelectionStatus}" Value="{x:Static rgbDevice:SelectionStatus.None}">
|
<DataTrigger Binding="{Binding SelectionStatus}" Value="{x:Static rgbDevice:SelectionStatus.None}">
|
||||||
<DataTrigger.EnterActions>
|
<DataTrigger.EnterActions>
|
||||||
<BeginStoryboard>
|
<BeginStoryboard>
|
||||||
<Storyboard>
|
<Storyboard>
|
||||||
<DoubleAnimation Storyboard.TargetProperty="Opacity" From="1" To="0" Duration="0:0:0.25" />
|
<DoubleAnimation Storyboard.TargetProperty="Opacity" To="0" Duration="0:0:0.25" />
|
||||||
</Storyboard>
|
</Storyboard>
|
||||||
</BeginStoryboard>
|
</BeginStoryboard>
|
||||||
</DataTrigger.EnterActions>
|
</DataTrigger.EnterActions>
|
||||||
<DataTrigger.ExitActions>
|
<DataTrigger.ExitActions>
|
||||||
<BeginStoryboard>
|
<BeginStoryboard>
|
||||||
<Storyboard>
|
<Storyboard>
|
||||||
<DoubleAnimation Storyboard.TargetProperty="Opacity" From="0" To="1" Duration="0:0:0.25" />
|
<DoubleAnimation Storyboard.TargetProperty="Opacity" To="1" Duration="0:0:0.25" />
|
||||||
</Storyboard>
|
</Storyboard>
|
||||||
</BeginStoryboard>
|
</BeginStoryboard>
|
||||||
</DataTrigger.ExitActions>
|
</DataTrigger.ExitActions>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user