mirror of
https://github.com/Artemis-RGB/Artemis
synced 2025-12-11 04:48:46 +00:00
Layer properties - Added string input
Profile editor - Run render loop on a DispatcherTimer when playing
This commit is contained in:
parent
9ebdaec4f1
commit
ff4ec16690
3
.gitattributes
vendored
3
.gitattributes
vendored
@ -61,3 +61,6 @@
|
|||||||
#*.PDF diff=astextplain
|
#*.PDF diff=astextplain
|
||||||
#*.rtf diff=astextplain
|
#*.rtf diff=astextplain
|
||||||
#*.RTF diff=astextplain
|
#*.RTF diff=astextplain
|
||||||
|
|
||||||
|
# Display axaml files with XML highlighting
|
||||||
|
*.axaml linguist-language=xml
|
||||||
@ -10,12 +10,12 @@
|
|||||||
<None Remove=".gitignore" />
|
<None Remove=".gitignore" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Avalonia" Version="0.10.11" />
|
<PackageReference Include="Avalonia" Version="0.10.12" />
|
||||||
<PackageReference Include="Avalonia.Desktop" Version="0.10.11" />
|
<PackageReference Include="Avalonia.Desktop" Version="0.10.12" />
|
||||||
<!--Condition below is needed to remove Avalonia.Diagnostics package from build output in Release configuration.-->
|
<!--Condition below is needed to remove Avalonia.Diagnostics package from build output in Release configuration.-->
|
||||||
<PackageReference Condition="'$(Configuration)' == 'Debug'" Include="Avalonia.Diagnostics" Version="0.10.11" />
|
<PackageReference Condition="'$(Configuration)' == 'Debug'" Include="Avalonia.Diagnostics" Version="0.10.12" />
|
||||||
<PackageReference Include="Avalonia.ReactiveUI" Version="0.10.11" />
|
<PackageReference Include="Avalonia.ReactiveUI" Version="0.10.12" />
|
||||||
<PackageReference Include="ReactiveUI" Version="16.3.10" />
|
<PackageReference Include="ReactiveUI" Version="17.1.17" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\..\Artemis.Core\Artemis.Core.csproj" />
|
<ProjectReference Include="..\..\Artemis.Core\Artemis.Core.csproj" />
|
||||||
|
|||||||
@ -4,11 +4,11 @@
|
|||||||
"net6.0": {
|
"net6.0": {
|
||||||
"Avalonia": {
|
"Avalonia": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[0.10.11, )",
|
"requested": "[0.10.12, )",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "2PSE+dB4vGJfG+1M+y+Hwaxiqze5mbBTTG9hjwc2Z3U/9yJE/GThBEst2WwI0yBt13hsfAfbABzt1PA3mtbFdw==",
|
"contentHash": "ftI5uGBFvWJpizGc6PT6lOb6FiO8AWcSYS9N4FWvXgOvuqWuTgmjwURPUkvajpeaQLKOOea6AbgotSyhV8NNoQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia.Remote.Protocol": "0.10.11",
|
"Avalonia.Remote.Protocol": "0.10.12",
|
||||||
"JetBrains.Annotations": "10.3.0",
|
"JetBrains.Annotations": "10.3.0",
|
||||||
"System.ComponentModel.Annotations": "4.5.0",
|
"System.ComponentModel.Annotations": "4.5.0",
|
||||||
"System.Memory": "4.5.3",
|
"System.Memory": "4.5.3",
|
||||||
@ -19,48 +19,48 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.Desktop": {
|
"Avalonia.Desktop": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[0.10.11, )",
|
"requested": "[0.10.12, )",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "PQTl4lm7IZidzltMwC7RSNaoz7TYNznU8SKa/WaAI6ycMzC0On2DsqiL1dXr6WhYzMazyMJj6kBhiQzHIc1lIQ==",
|
"contentHash": "wy4k1uarrmZJSJENCe1hjNpdCJWhup0gt6KA2TtZILfGG7imj+an5IuQZUSXtA7cl7A+6tF6lPQLo82gESUlXQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"Avalonia.Native": "0.10.11",
|
"Avalonia.Native": "0.10.12",
|
||||||
"Avalonia.Skia": "0.10.11",
|
"Avalonia.Skia": "0.10.12",
|
||||||
"Avalonia.Win32": "0.10.11",
|
"Avalonia.Win32": "0.10.12",
|
||||||
"Avalonia.X11": "0.10.11"
|
"Avalonia.X11": "0.10.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Diagnostics": {
|
"Avalonia.Diagnostics": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[0.10.11, )",
|
"requested": "[0.10.12, )",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "xBvBkF2DBKjddAfQbExd660zQ5RaDEXH1JgAdMyYOdu3qFL6d+QHyZdVHVeQFilNYE03F6C8AbMWrmj6dBUNlg==",
|
"contentHash": "Pf9DGiSwl3+gPrRSHKFzDG20I9QJ5P1g6BexLKfHQH9+Cmax+a/UEVYQq4hGn0xhrmpuLYOeGHb8wasjAT4EfQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"Avalonia.Controls.DataGrid": "0.10.11",
|
"Avalonia.Controls.DataGrid": "0.10.12",
|
||||||
"Microsoft.CodeAnalysis.CSharp.Scripting": "3.4.0",
|
"Microsoft.CodeAnalysis.CSharp.Scripting": "3.4.0",
|
||||||
"System.Reactive": "5.0.0"
|
"System.Reactive": "5.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.ReactiveUI": {
|
"Avalonia.ReactiveUI": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[0.10.11, )",
|
"requested": "[0.10.12, )",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "I/++/4Halsx9HIp99nBwB2nIMrI9zw2M8wDcK1HaYVMKU+m3KFA9w+DfV7g/wEceWSMeX7yAvUjRnaUYtBO08Q==",
|
"contentHash": "dOszpMtBKEACAFWtjwNibXMF2SBolJ3cV8ffDEOy2uuwjKBJqbSmHH+WSnui9KfbSF2igVpam4TqO6drJuEvjw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"ReactiveUI": "13.2.10",
|
"ReactiveUI": "13.2.10",
|
||||||
"System.Reactive": "5.0.0"
|
"System.Reactive": "5.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ReactiveUI": {
|
"ReactiveUI": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[16.3.10, )",
|
"requested": "[17.1.17, )",
|
||||||
"resolved": "16.3.10",
|
"resolved": "17.1.17",
|
||||||
"contentHash": "NH9bg8BROqRrTp6YLpPDsJrfNDzRWNmP63fQ68CBAM+i7YHi6wcPeOkxyKpoemUxKEY4QECuicaTblJnxgbWmA==",
|
"contentHash": "0DLq44k4CVvfXcWHE4uigQa/wySOzxOTnWg50j2qZDpWzl9OP7QfIDJo39X3ffEjaVcCUFcbF9xAmm7fRX/q2g==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"DynamicData": "7.4.3",
|
"DynamicData": "7.4.9",
|
||||||
"Splat": "13.1.42"
|
"Splat": "14.1.17"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Angle.Windows.Natives": {
|
"Avalonia.Angle.Windows.Natives": {
|
||||||
@ -70,51 +70,51 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.Controls.DataGrid": {
|
"Avalonia.Controls.DataGrid": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "zvt6QA2uwe18gJ/XdnSMTHG6L/2usvjoaAdPC+Lgg+DmUPNTjqN+Hm1l0AjUtNNId6G+4iIkysiZ2WiHPqGsEA==",
|
"contentHash": "i3zM3P8PUY4FNhATZoFWkto3H66FcIrnJNMyOsl1fN0FPS6meysAwCKQwuou/oapyzZEODeAmCVdqB0AgjNHVw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"Avalonia.Remote.Protocol": "0.10.11",
|
"Avalonia.Remote.Protocol": "0.10.12",
|
||||||
"JetBrains.Annotations": "10.3.0",
|
"JetBrains.Annotations": "10.3.0",
|
||||||
"System.Reactive": "5.0.0"
|
"System.Reactive": "5.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Controls.PanAndZoom": {
|
"Avalonia.Controls.PanAndZoom": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "10.11.1",
|
"resolved": "10.12.0",
|
||||||
"contentHash": "XIjA3iGHMfokPXw/ov5CqKKPR8HdVrTBOMYJVOGpDQyec6RwI/w7lq530wfIMebIe9xUj5RY2Jx5heQtCuAFmg==",
|
"contentHash": "ns+2tJTXTpNzNA9YV2mjR4EJOZl2vBFWnGUTSIl/vyOQMrrU5CbsXQxy2MFBvW0vGrRTlw80nUtBnsT759kwKQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11"
|
"Avalonia": "0.10.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.FreeDesktop": {
|
"Avalonia.FreeDesktop": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "cj8T11WQ5/opR2IPttb1Bo89aHclkuvHYsCB7HzZU/F7l/cKXbKUOhyo60p44BdFzrCqjNXDnKQbxeRv+OSF7A==",
|
"contentHash": "j42uWCWkAfZchYPrdRccr4mjB0kppSby3TEMCuNrp9GcQi+JhEPEbBAohU7FpR4bkv5FF2KAlDX5WiG2T+04kg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"Tmds.DBus": "0.9.0"
|
"Tmds.DBus": "0.9.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Native": {
|
"Avalonia.Native": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "9fBC9UArVXEmsxL2Nd0KHGoZUCqcTo06NTlOTAeM3qdEWzE8a0qRVYiR2WeYfADXpKR1D/fQz5zWUZcebFYFIA==",
|
"contentHash": "JnZc0zF7DcLcSX+SdnKQGzFa9mcKxawhTN8S3aiN8Eh3MZAKxa45LRrHFVTcHcy2jU4kOw+yPfONUmHpRcC0gw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11"
|
"Avalonia": "0.10.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Remote.Protocol": {
|
"Avalonia.Remote.Protocol": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "kID2N/cXg7KCGFYFTOWCvSLt+oMFRApLfLcbLU35keC/jwDi9tFk33CEdo81hBEg15lAtTtCfvHhNPyVyIYijQ=="
|
"contentHash": "ArrxniR8iShzMvXCS3vt5FXg9Fv3qK1UKzJwsSsY9iCuC8wKo2eevRj42qOhMCS98POTH5v8aUZBeoLlENa0vA=="
|
||||||
},
|
},
|
||||||
"Avalonia.Skia": {
|
"Avalonia.Skia": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "4bP5V3BpnZ+If2/ZrZofeRsINeZ6gemLjfNyElt7vNF4HZaRfot03anO3Y+Z7mTELjuol6n/5lAL4+kQUN/O/w==",
|
"contentHash": "3TGo8RLHaLqmU3chlyAqLkpw6vImfDMC30T18abpeYf1PIsNckRB+UFp12GDil9t/J9YB17zn4H6N+2plF4gZA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"HarfBuzzSharp": "2.8.2-preview.178",
|
"HarfBuzzSharp": "2.8.2-preview.178",
|
||||||
"HarfBuzzSharp.NativeAssets.Linux": "2.8.2-preview.178",
|
"HarfBuzzSharp.NativeAssets.Linux": "2.8.2-preview.178",
|
||||||
"HarfBuzzSharp.NativeAssets.WebAssembly": "2.8.2-preview.178",
|
"HarfBuzzSharp.NativeAssets.WebAssembly": "2.8.2-preview.178",
|
||||||
@ -125,21 +125,21 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.Svg.Skia": {
|
"Avalonia.Svg.Skia": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "Zw1kfOWN7ZaMqnoJsKqvU/8GxGbrv4KrkAbbLVHvhZl4sA0VZEjqdtxUAqSHlJrYtjPfaUzzDP9K3l0KCqnx/Q==",
|
"contentHash": "qsXKdm5eWpfoVPe0xgtxhbOYlhG8QdbYNJZTTihg/c4iPFYuh1G7DldiNskuVFuGiGxLVZ0g6ebql7ZkwbO1pA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"Avalonia.Skia": "0.10.11",
|
"Avalonia.Skia": "0.10.12",
|
||||||
"SkiaSharp": "2.88.0-preview.178",
|
"SkiaSharp": "2.88.0-preview.178",
|
||||||
"Svg.Skia": "0.5.11"
|
"Svg.Skia": "0.5.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Win32": {
|
"Avalonia.Win32": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "bckqh8rnQ4+l2kdU4njO3cBKaT4l1HQkxdVYJLAgl44uMtoCpaN7EidrBTnuM40DXa0cpvOh97A+G8jpZgte6Q==",
|
"contentHash": "CnC65T8ScMK23BB+qJuiMicWQ5QIEiinnRzPqvAGUGyQbjIGpA5uOCKwzsOjUmzkhGqt31iDR0/Y3ZFbi5Mjog==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"Avalonia.Angle.Windows.Natives": "2.1.0.2020091801",
|
"Avalonia.Angle.Windows.Natives": "2.1.0.2020091801",
|
||||||
"System.Drawing.Common": "4.5.0",
|
"System.Drawing.Common": "4.5.0",
|
||||||
"System.Numerics.Vectors": "4.5.0"
|
"System.Numerics.Vectors": "4.5.0"
|
||||||
@ -147,39 +147,39 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.X11": {
|
"Avalonia.X11": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "joPVaMmPy4bC1STSk5+fAn5zZOT3gz4m/YSv6io3p2q68kEbc+d5KaYk/KcqA/WGiBBQx4a0ViPW/IRomI94kw==",
|
"contentHash": "mUY1cF1p86/UgLl1cbSmY3nVIatKQsSCDOH4avssL07xmKlRfB2G7Gi8jlhWNkLJTLL7iQp/u3X6bv7bs+0zNQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"Avalonia.FreeDesktop": "0.10.11",
|
"Avalonia.FreeDesktop": "0.10.12",
|
||||||
"Avalonia.Skia": "0.10.11"
|
"Avalonia.Skia": "0.10.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Xaml.Behaviors": {
|
"Avalonia.Xaml.Behaviors": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.11.5",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "XHU7/hRYWEdaJOs+weT9ml9/GYqroPrAtePjGzUzUrMoHESbqmkLXmW+fHkaAeXRMJAOAFD1LQUHQu+B6ThF3w==",
|
"contentHash": "upv7v1gZ31tCukw/KA1bB5+z29QuEWiZJ4KnW10daHlia1ru7q4lUJ/vCYKOy5L+zyi1MQg98SNYjRp5C64ZhQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"Avalonia.Xaml.Interactions": "0.10.11.5",
|
"Avalonia.Xaml.Interactions": "0.10.12",
|
||||||
"Avalonia.Xaml.Interactivity": "0.10.11.5"
|
"Avalonia.Xaml.Interactivity": "0.10.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Xaml.Interactions": {
|
"Avalonia.Xaml.Interactions": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.11.5",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "MpqS1t1zypDNEW2Pyg113W4AwmfaWai5LfA/K22sDbygXII+KuACaHt2ZPHJWnvKGHgasLEEFhEOGfF5cB9NPA==",
|
"contentHash": "PSohbY4aQGiJVWfvLKkuUE71ZxvZ0/FuTc3Y5GJgTC41kCgeaiJTczkC2FjW5sZ8exPDabSp+ZukSsnm/z6y7A==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"Avalonia.Xaml.Interactivity": "0.10.11.5"
|
"Avalonia.Xaml.Interactivity": "0.10.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Xaml.Interactivity": {
|
"Avalonia.Xaml.Interactivity": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.11.5",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "MOM6lcPenJZu9LPhai3n67GssBUx3MjoCVLyR2GEJ6lywKQgk4MKOIAC0gLWgy7x1e540oy4lCpeX8jMsqe7mA==",
|
"contentHash": "uey4LjyIds78igMe7AZ072RI6GpO16sd6+6XF6LG0oE07De7ei0So14oOs4wLS4WJyaKDRSUK6PuhLaY1zIZdQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11"
|
"Avalonia": "0.10.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Castle.Core": {
|
"Castle.Core": {
|
||||||
@ -436,10 +436,10 @@
|
|||||||
},
|
},
|
||||||
"Microsoft.Win32.SystemEvents": {
|
"Microsoft.Win32.SystemEvents": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "5.0.0",
|
"resolved": "4.5.0",
|
||||||
"contentHash": "Bh6blKG8VAKvXiLe2L+sEsn62nc1Ij34MrNxepD2OCrS5cpCwQa9MeLyhVQPQ/R4Wlzwuy6wMK8hLb11QPDRsQ==",
|
"contentHash": "LuI1oG+24TUj1ZRQQjM5Ew73BKnZE5NZ/7eAdh1o8ST5dPhUnJvIkiIn2re3MwnkRy6ELRnvEbBxHP8uALKhJw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Microsoft.NETCore.Platforms": "5.0.0"
|
"Microsoft.NETCore.Platforms": "2.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"NETStandard.Library": {
|
"NETStandard.Library": {
|
||||||
@ -699,8 +699,8 @@
|
|||||||
},
|
},
|
||||||
"ShimSkiaSharp": {
|
"ShimSkiaSharp": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.5.11",
|
"resolved": "0.5.12",
|
||||||
"contentHash": "a04YHHKRK1xY8ccSgpa6HOmOw9Kuivo2b2qejp9CK00ykdCBK3Mmc+ekBx954+zPQBksN6aLhvn1SEL7QG2s8Q=="
|
"contentHash": "oUGM7gQHRzbGPRs3E1pe5e8VwML21YyEz9xdo+r2ov1mAqSDPyXErVQP6pN4gnfYMVf5ADR7BVkVzt4R9Iz3gQ=="
|
||||||
},
|
},
|
||||||
"SkiaSharp": {
|
"SkiaSharp": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
@ -760,11 +760,10 @@
|
|||||||
},
|
},
|
||||||
"Svg.Custom": {
|
"Svg.Custom": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.5.11",
|
"resolved": "0.5.12",
|
||||||
"contentHash": "8OEW3UKx07JfEyqzzvF5+ycydusZjg6jsBjDSBrAoq62c5gNZrs6brlOKm2ywEj9hObK3sLcat5BHnE2OUHXsg==",
|
"contentHash": "kmjLQf5U5WC7tRGBedUhtrOUCR0NaNL2auzOA2a/oMwEA0Bjrpd6qvMTpJUS3HITxi8vJazGl270K+i0JvdJog==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Fizzler": "1.2.0",
|
"Fizzler": "1.2.0",
|
||||||
"System.Drawing.Common": "5.0.0",
|
|
||||||
"System.Memory": "4.5.3",
|
"System.Memory": "4.5.3",
|
||||||
"System.ObjectModel": "4.3.0",
|
"System.ObjectModel": "4.3.0",
|
||||||
"System.ValueTuple": "4.5.0"
|
"System.ValueTuple": "4.5.0"
|
||||||
@ -772,22 +771,22 @@
|
|||||||
},
|
},
|
||||||
"Svg.Model": {
|
"Svg.Model": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.5.11",
|
"resolved": "0.5.12",
|
||||||
"contentHash": "5/Y+BGjgTwobA9aDfcpTGF/bm83MYrEYM8J1LpPohRR+c+B/1N+rbSXfpDZq2omBJ1O0Sa5VjAXw1oAdm1lYLg==",
|
"contentHash": "/CPiXIugg4oVyYlQr26fB1X9iQfICALF8AJXbTWnXGoP2WZa1t6aZbAXPk3HoPApA0w5waf3XXkBiYYnWwawaQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ShimSkiaSharp": "0.5.11",
|
"ShimSkiaSharp": "0.5.12",
|
||||||
"Svg.Custom": "0.5.11"
|
"Svg.Custom": "0.5.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Svg.Skia": {
|
"Svg.Skia": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.5.11",
|
"resolved": "0.5.12",
|
||||||
"contentHash": "AiN5rSsYBzBUkoh8YK5HoNxRxHtUekp2/6ZAol8qV8oDr6vu8hmPuWjUDwvqCFMi9Dlllc6YsFfvJ1PZCJvYew==",
|
"contentHash": "KjKpjz0FKge+WpRzjD1bqywAW3vZhXwpR5c7Ej5OuP4xDrQjBwtFeB0iZ+yEJMzwXf/Rs4ImuN8m3bmBDJvMHg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"SkiaSharp": "2.88.0-preview.178",
|
"SkiaSharp": "2.88.0-preview.178",
|
||||||
"SkiaSharp.HarfBuzz": "2.88.0-preview.178",
|
"SkiaSharp.HarfBuzz": "2.88.0-preview.178",
|
||||||
"Svg.Custom": "0.5.11",
|
"Svg.Custom": "0.5.12",
|
||||||
"Svg.Model": "0.5.11"
|
"Svg.Model": "0.5.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"System.AppContext": {
|
"System.AppContext": {
|
||||||
@ -979,10 +978,11 @@
|
|||||||
},
|
},
|
||||||
"System.Drawing.Common": {
|
"System.Drawing.Common": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "5.0.0",
|
"resolved": "4.5.0",
|
||||||
"contentHash": "SztFwAnpfKC8+sEKXAFxCBWhKQaEd97EiOL7oZJZP56zbqnLpmxACWA8aGseaUExciuEAUuR9dY8f7HkTRAdnw==",
|
"contentHash": "AiJFxxVPdeITstiRS5aAu8+8Dpf5NawTMoapZ53Gfirml24p7HIfhjmCRxdXnmmf3IUA3AX3CcW7G73CjWxW/Q==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Microsoft.Win32.SystemEvents": "5.0.0"
|
"Microsoft.NETCore.Platforms": "2.0.0",
|
||||||
|
"Microsoft.Win32.SystemEvents": "4.5.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"System.Dynamic.Runtime": {
|
"System.Dynamic.Runtime": {
|
||||||
@ -1746,12 +1746,12 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Artemis.Core": "1.0.0",
|
"Artemis.Core": "1.0.0",
|
||||||
"Artemis.UI.Shared": "1.0.0",
|
"Artemis.UI.Shared": "1.0.0",
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"Avalonia.Controls.PanAndZoom": "10.11.1",
|
"Avalonia.Controls.PanAndZoom": "10.12.0",
|
||||||
"Avalonia.Desktop": "0.10.11",
|
"Avalonia.Desktop": "0.10.12",
|
||||||
"Avalonia.Diagnostics": "0.10.11",
|
"Avalonia.Diagnostics": "0.10.12",
|
||||||
"Avalonia.ReactiveUI": "0.10.11",
|
"Avalonia.ReactiveUI": "0.10.12",
|
||||||
"Avalonia.Svg.Skia": "0.10.11",
|
"Avalonia.Svg.Skia": "0.10.12",
|
||||||
"DynamicData": "7.4.9",
|
"DynamicData": "7.4.9",
|
||||||
"FluentAvaloniaUI": "1.1.8",
|
"FluentAvaloniaUI": "1.1.8",
|
||||||
"Flurl.Http": "3.2.0",
|
"Flurl.Http": "3.2.0",
|
||||||
@ -1759,7 +1759,7 @@
|
|||||||
"Material.Icons.Avalonia": "1.0.2",
|
"Material.Icons.Avalonia": "1.0.2",
|
||||||
"RGB.NET.Core": "1.0.0-prerelease7",
|
"RGB.NET.Core": "1.0.0-prerelease7",
|
||||||
"RGB.NET.Layout": "1.0.0-prerelease7",
|
"RGB.NET.Layout": "1.0.0-prerelease7",
|
||||||
"ReactiveUI": "16.3.10",
|
"ReactiveUI": "17.1.17",
|
||||||
"ReactiveUI.Validation": "2.2.1",
|
"ReactiveUI.Validation": "2.2.1",
|
||||||
"SkiaSharp": "2.88.0-preview.178",
|
"SkiaSharp": "2.88.0-preview.178",
|
||||||
"Splat.Ninject": "14.1.17"
|
"Splat.Ninject": "14.1.17"
|
||||||
@ -1769,17 +1769,17 @@
|
|||||||
"type": "Project",
|
"type": "Project",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Artemis.Core": "1.0.0",
|
"Artemis.Core": "1.0.0",
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"Avalonia.ReactiveUI": "0.10.11",
|
"Avalonia.ReactiveUI": "0.10.12",
|
||||||
"Avalonia.Svg.Skia": "0.10.11",
|
"Avalonia.Svg.Skia": "0.10.12",
|
||||||
"Avalonia.Xaml.Behaviors": "0.10.11.5",
|
"Avalonia.Xaml.Behaviors": "0.10.12",
|
||||||
"Avalonia.Xaml.Interactions": "0.10.11.5",
|
"Avalonia.Xaml.Interactions": "0.10.12",
|
||||||
"Avalonia.Xaml.Interactivity": "0.10.11.5",
|
"Avalonia.Xaml.Interactivity": "0.10.12",
|
||||||
"DynamicData": "7.4.9",
|
"DynamicData": "7.4.9",
|
||||||
"FluentAvaloniaUI": "1.1.8",
|
"FluentAvaloniaUI": "1.1.8",
|
||||||
"Material.Icons.Avalonia": "1.0.2",
|
"Material.Icons.Avalonia": "1.0.2",
|
||||||
"RGB.NET.Core": "1.0.0-prerelease7",
|
"RGB.NET.Core": "1.0.0-prerelease7",
|
||||||
"ReactiveUI": "16.3.10",
|
"ReactiveUI": "17.1.17",
|
||||||
"ReactiveUI.Validation": "2.2.1",
|
"ReactiveUI.Validation": "2.2.1",
|
||||||
"SkiaSharp": "2.88.0-preview.178"
|
"SkiaSharp": "2.88.0-preview.178"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -10,12 +10,12 @@
|
|||||||
<None Remove=".gitignore" />
|
<None Remove=".gitignore" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Avalonia" Version="0.10.11" />
|
<PackageReference Include="Avalonia" Version="0.10.12" />
|
||||||
<PackageReference Include="Avalonia.Desktop" Version="0.10.11" />
|
<PackageReference Include="Avalonia.Desktop" Version="0.10.12" />
|
||||||
<!--Condition below is needed to remove Avalonia.Diagnostics package from build output in Release configuration.-->
|
<!--Condition below is needed to remove Avalonia.Diagnostics package from build output in Release configuration.-->
|
||||||
<PackageReference Condition="'$(Configuration)' == 'Debug'" Include="Avalonia.Diagnostics" Version="0.10.11" />
|
<PackageReference Condition="'$(Configuration)' == 'Debug'" Include="Avalonia.Diagnostics" Version="0.10.12" />
|
||||||
<PackageReference Include="Avalonia.ReactiveUI" Version="0.10.11" />
|
<PackageReference Include="Avalonia.ReactiveUI" Version="0.10.12" />
|
||||||
<PackageReference Include="ReactiveUI" Version="16.3.10" />
|
<PackageReference Include="ReactiveUI" Version="17.1.17" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\..\Artemis.Core\Artemis.Core.csproj" />
|
<ProjectReference Include="..\..\Artemis.Core\Artemis.Core.csproj" />
|
||||||
|
|||||||
@ -4,11 +4,11 @@
|
|||||||
"net6.0": {
|
"net6.0": {
|
||||||
"Avalonia": {
|
"Avalonia": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[0.10.11, )",
|
"requested": "[0.10.12, )",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "2PSE+dB4vGJfG+1M+y+Hwaxiqze5mbBTTG9hjwc2Z3U/9yJE/GThBEst2WwI0yBt13hsfAfbABzt1PA3mtbFdw==",
|
"contentHash": "ftI5uGBFvWJpizGc6PT6lOb6FiO8AWcSYS9N4FWvXgOvuqWuTgmjwURPUkvajpeaQLKOOea6AbgotSyhV8NNoQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia.Remote.Protocol": "0.10.11",
|
"Avalonia.Remote.Protocol": "0.10.12",
|
||||||
"JetBrains.Annotations": "10.3.0",
|
"JetBrains.Annotations": "10.3.0",
|
||||||
"System.ComponentModel.Annotations": "4.5.0",
|
"System.ComponentModel.Annotations": "4.5.0",
|
||||||
"System.Memory": "4.5.3",
|
"System.Memory": "4.5.3",
|
||||||
@ -19,48 +19,48 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.Desktop": {
|
"Avalonia.Desktop": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[0.10.11, )",
|
"requested": "[0.10.12, )",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "PQTl4lm7IZidzltMwC7RSNaoz7TYNznU8SKa/WaAI6ycMzC0On2DsqiL1dXr6WhYzMazyMJj6kBhiQzHIc1lIQ==",
|
"contentHash": "wy4k1uarrmZJSJENCe1hjNpdCJWhup0gt6KA2TtZILfGG7imj+an5IuQZUSXtA7cl7A+6tF6lPQLo82gESUlXQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"Avalonia.Native": "0.10.11",
|
"Avalonia.Native": "0.10.12",
|
||||||
"Avalonia.Skia": "0.10.11",
|
"Avalonia.Skia": "0.10.12",
|
||||||
"Avalonia.Win32": "0.10.11",
|
"Avalonia.Win32": "0.10.12",
|
||||||
"Avalonia.X11": "0.10.11"
|
"Avalonia.X11": "0.10.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Diagnostics": {
|
"Avalonia.Diagnostics": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[0.10.11, )",
|
"requested": "[0.10.12, )",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "xBvBkF2DBKjddAfQbExd660zQ5RaDEXH1JgAdMyYOdu3qFL6d+QHyZdVHVeQFilNYE03F6C8AbMWrmj6dBUNlg==",
|
"contentHash": "Pf9DGiSwl3+gPrRSHKFzDG20I9QJ5P1g6BexLKfHQH9+Cmax+a/UEVYQq4hGn0xhrmpuLYOeGHb8wasjAT4EfQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"Avalonia.Controls.DataGrid": "0.10.11",
|
"Avalonia.Controls.DataGrid": "0.10.12",
|
||||||
"Microsoft.CodeAnalysis.CSharp.Scripting": "3.4.0",
|
"Microsoft.CodeAnalysis.CSharp.Scripting": "3.4.0",
|
||||||
"System.Reactive": "5.0.0"
|
"System.Reactive": "5.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.ReactiveUI": {
|
"Avalonia.ReactiveUI": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[0.10.11, )",
|
"requested": "[0.10.12, )",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "I/++/4Halsx9HIp99nBwB2nIMrI9zw2M8wDcK1HaYVMKU+m3KFA9w+DfV7g/wEceWSMeX7yAvUjRnaUYtBO08Q==",
|
"contentHash": "dOszpMtBKEACAFWtjwNibXMF2SBolJ3cV8ffDEOy2uuwjKBJqbSmHH+WSnui9KfbSF2igVpam4TqO6drJuEvjw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"ReactiveUI": "13.2.10",
|
"ReactiveUI": "13.2.10",
|
||||||
"System.Reactive": "5.0.0"
|
"System.Reactive": "5.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ReactiveUI": {
|
"ReactiveUI": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[16.3.10, )",
|
"requested": "[17.1.17, )",
|
||||||
"resolved": "16.3.10",
|
"resolved": "17.1.17",
|
||||||
"contentHash": "NH9bg8BROqRrTp6YLpPDsJrfNDzRWNmP63fQ68CBAM+i7YHi6wcPeOkxyKpoemUxKEY4QECuicaTblJnxgbWmA==",
|
"contentHash": "0DLq44k4CVvfXcWHE4uigQa/wySOzxOTnWg50j2qZDpWzl9OP7QfIDJo39X3ffEjaVcCUFcbF9xAmm7fRX/q2g==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"DynamicData": "7.4.3",
|
"DynamicData": "7.4.9",
|
||||||
"Splat": "13.1.42"
|
"Splat": "14.1.17"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Angle.Windows.Natives": {
|
"Avalonia.Angle.Windows.Natives": {
|
||||||
@ -70,51 +70,51 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.Controls.DataGrid": {
|
"Avalonia.Controls.DataGrid": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "zvt6QA2uwe18gJ/XdnSMTHG6L/2usvjoaAdPC+Lgg+DmUPNTjqN+Hm1l0AjUtNNId6G+4iIkysiZ2WiHPqGsEA==",
|
"contentHash": "i3zM3P8PUY4FNhATZoFWkto3H66FcIrnJNMyOsl1fN0FPS6meysAwCKQwuou/oapyzZEODeAmCVdqB0AgjNHVw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"Avalonia.Remote.Protocol": "0.10.11",
|
"Avalonia.Remote.Protocol": "0.10.12",
|
||||||
"JetBrains.Annotations": "10.3.0",
|
"JetBrains.Annotations": "10.3.0",
|
||||||
"System.Reactive": "5.0.0"
|
"System.Reactive": "5.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Controls.PanAndZoom": {
|
"Avalonia.Controls.PanAndZoom": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "10.11.1",
|
"resolved": "10.12.0",
|
||||||
"contentHash": "XIjA3iGHMfokPXw/ov5CqKKPR8HdVrTBOMYJVOGpDQyec6RwI/w7lq530wfIMebIe9xUj5RY2Jx5heQtCuAFmg==",
|
"contentHash": "ns+2tJTXTpNzNA9YV2mjR4EJOZl2vBFWnGUTSIl/vyOQMrrU5CbsXQxy2MFBvW0vGrRTlw80nUtBnsT759kwKQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11"
|
"Avalonia": "0.10.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.FreeDesktop": {
|
"Avalonia.FreeDesktop": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "cj8T11WQ5/opR2IPttb1Bo89aHclkuvHYsCB7HzZU/F7l/cKXbKUOhyo60p44BdFzrCqjNXDnKQbxeRv+OSF7A==",
|
"contentHash": "j42uWCWkAfZchYPrdRccr4mjB0kppSby3TEMCuNrp9GcQi+JhEPEbBAohU7FpR4bkv5FF2KAlDX5WiG2T+04kg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"Tmds.DBus": "0.9.0"
|
"Tmds.DBus": "0.9.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Native": {
|
"Avalonia.Native": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "9fBC9UArVXEmsxL2Nd0KHGoZUCqcTo06NTlOTAeM3qdEWzE8a0qRVYiR2WeYfADXpKR1D/fQz5zWUZcebFYFIA==",
|
"contentHash": "JnZc0zF7DcLcSX+SdnKQGzFa9mcKxawhTN8S3aiN8Eh3MZAKxa45LRrHFVTcHcy2jU4kOw+yPfONUmHpRcC0gw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11"
|
"Avalonia": "0.10.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Remote.Protocol": {
|
"Avalonia.Remote.Protocol": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "kID2N/cXg7KCGFYFTOWCvSLt+oMFRApLfLcbLU35keC/jwDi9tFk33CEdo81hBEg15lAtTtCfvHhNPyVyIYijQ=="
|
"contentHash": "ArrxniR8iShzMvXCS3vt5FXg9Fv3qK1UKzJwsSsY9iCuC8wKo2eevRj42qOhMCS98POTH5v8aUZBeoLlENa0vA=="
|
||||||
},
|
},
|
||||||
"Avalonia.Skia": {
|
"Avalonia.Skia": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "4bP5V3BpnZ+If2/ZrZofeRsINeZ6gemLjfNyElt7vNF4HZaRfot03anO3Y+Z7mTELjuol6n/5lAL4+kQUN/O/w==",
|
"contentHash": "3TGo8RLHaLqmU3chlyAqLkpw6vImfDMC30T18abpeYf1PIsNckRB+UFp12GDil9t/J9YB17zn4H6N+2plF4gZA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"HarfBuzzSharp": "2.8.2-preview.178",
|
"HarfBuzzSharp": "2.8.2-preview.178",
|
||||||
"HarfBuzzSharp.NativeAssets.Linux": "2.8.2-preview.178",
|
"HarfBuzzSharp.NativeAssets.Linux": "2.8.2-preview.178",
|
||||||
"HarfBuzzSharp.NativeAssets.WebAssembly": "2.8.2-preview.178",
|
"HarfBuzzSharp.NativeAssets.WebAssembly": "2.8.2-preview.178",
|
||||||
@ -125,21 +125,21 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.Svg.Skia": {
|
"Avalonia.Svg.Skia": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "Zw1kfOWN7ZaMqnoJsKqvU/8GxGbrv4KrkAbbLVHvhZl4sA0VZEjqdtxUAqSHlJrYtjPfaUzzDP9K3l0KCqnx/Q==",
|
"contentHash": "qsXKdm5eWpfoVPe0xgtxhbOYlhG8QdbYNJZTTihg/c4iPFYuh1G7DldiNskuVFuGiGxLVZ0g6ebql7ZkwbO1pA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"Avalonia.Skia": "0.10.11",
|
"Avalonia.Skia": "0.10.12",
|
||||||
"SkiaSharp": "2.88.0-preview.178",
|
"SkiaSharp": "2.88.0-preview.178",
|
||||||
"Svg.Skia": "0.5.11"
|
"Svg.Skia": "0.5.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Win32": {
|
"Avalonia.Win32": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "bckqh8rnQ4+l2kdU4njO3cBKaT4l1HQkxdVYJLAgl44uMtoCpaN7EidrBTnuM40DXa0cpvOh97A+G8jpZgte6Q==",
|
"contentHash": "CnC65T8ScMK23BB+qJuiMicWQ5QIEiinnRzPqvAGUGyQbjIGpA5uOCKwzsOjUmzkhGqt31iDR0/Y3ZFbi5Mjog==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"Avalonia.Angle.Windows.Natives": "2.1.0.2020091801",
|
"Avalonia.Angle.Windows.Natives": "2.1.0.2020091801",
|
||||||
"System.Drawing.Common": "4.5.0",
|
"System.Drawing.Common": "4.5.0",
|
||||||
"System.Numerics.Vectors": "4.5.0"
|
"System.Numerics.Vectors": "4.5.0"
|
||||||
@ -147,39 +147,39 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.X11": {
|
"Avalonia.X11": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "joPVaMmPy4bC1STSk5+fAn5zZOT3gz4m/YSv6io3p2q68kEbc+d5KaYk/KcqA/WGiBBQx4a0ViPW/IRomI94kw==",
|
"contentHash": "mUY1cF1p86/UgLl1cbSmY3nVIatKQsSCDOH4avssL07xmKlRfB2G7Gi8jlhWNkLJTLL7iQp/u3X6bv7bs+0zNQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"Avalonia.FreeDesktop": "0.10.11",
|
"Avalonia.FreeDesktop": "0.10.12",
|
||||||
"Avalonia.Skia": "0.10.11"
|
"Avalonia.Skia": "0.10.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Xaml.Behaviors": {
|
"Avalonia.Xaml.Behaviors": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.11.5",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "XHU7/hRYWEdaJOs+weT9ml9/GYqroPrAtePjGzUzUrMoHESbqmkLXmW+fHkaAeXRMJAOAFD1LQUHQu+B6ThF3w==",
|
"contentHash": "upv7v1gZ31tCukw/KA1bB5+z29QuEWiZJ4KnW10daHlia1ru7q4lUJ/vCYKOy5L+zyi1MQg98SNYjRp5C64ZhQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"Avalonia.Xaml.Interactions": "0.10.11.5",
|
"Avalonia.Xaml.Interactions": "0.10.12",
|
||||||
"Avalonia.Xaml.Interactivity": "0.10.11.5"
|
"Avalonia.Xaml.Interactivity": "0.10.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Xaml.Interactions": {
|
"Avalonia.Xaml.Interactions": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.11.5",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "MpqS1t1zypDNEW2Pyg113W4AwmfaWai5LfA/K22sDbygXII+KuACaHt2ZPHJWnvKGHgasLEEFhEOGfF5cB9NPA==",
|
"contentHash": "PSohbY4aQGiJVWfvLKkuUE71ZxvZ0/FuTc3Y5GJgTC41kCgeaiJTczkC2FjW5sZ8exPDabSp+ZukSsnm/z6y7A==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"Avalonia.Xaml.Interactivity": "0.10.11.5"
|
"Avalonia.Xaml.Interactivity": "0.10.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Xaml.Interactivity": {
|
"Avalonia.Xaml.Interactivity": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.11.5",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "MOM6lcPenJZu9LPhai3n67GssBUx3MjoCVLyR2GEJ6lywKQgk4MKOIAC0gLWgy7x1e540oy4lCpeX8jMsqe7mA==",
|
"contentHash": "uey4LjyIds78igMe7AZ072RI6GpO16sd6+6XF6LG0oE07De7ei0So14oOs4wLS4WJyaKDRSUK6PuhLaY1zIZdQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11"
|
"Avalonia": "0.10.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Castle.Core": {
|
"Castle.Core": {
|
||||||
@ -436,10 +436,10 @@
|
|||||||
},
|
},
|
||||||
"Microsoft.Win32.SystemEvents": {
|
"Microsoft.Win32.SystemEvents": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "5.0.0",
|
"resolved": "4.5.0",
|
||||||
"contentHash": "Bh6blKG8VAKvXiLe2L+sEsn62nc1Ij34MrNxepD2OCrS5cpCwQa9MeLyhVQPQ/R4Wlzwuy6wMK8hLb11QPDRsQ==",
|
"contentHash": "LuI1oG+24TUj1ZRQQjM5Ew73BKnZE5NZ/7eAdh1o8ST5dPhUnJvIkiIn2re3MwnkRy6ELRnvEbBxHP8uALKhJw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Microsoft.NETCore.Platforms": "5.0.0"
|
"Microsoft.NETCore.Platforms": "2.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"NETStandard.Library": {
|
"NETStandard.Library": {
|
||||||
@ -699,8 +699,8 @@
|
|||||||
},
|
},
|
||||||
"ShimSkiaSharp": {
|
"ShimSkiaSharp": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.5.11",
|
"resolved": "0.5.12",
|
||||||
"contentHash": "a04YHHKRK1xY8ccSgpa6HOmOw9Kuivo2b2qejp9CK00ykdCBK3Mmc+ekBx954+zPQBksN6aLhvn1SEL7QG2s8Q=="
|
"contentHash": "oUGM7gQHRzbGPRs3E1pe5e8VwML21YyEz9xdo+r2ov1mAqSDPyXErVQP6pN4gnfYMVf5ADR7BVkVzt4R9Iz3gQ=="
|
||||||
},
|
},
|
||||||
"SkiaSharp": {
|
"SkiaSharp": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
@ -760,11 +760,10 @@
|
|||||||
},
|
},
|
||||||
"Svg.Custom": {
|
"Svg.Custom": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.5.11",
|
"resolved": "0.5.12",
|
||||||
"contentHash": "8OEW3UKx07JfEyqzzvF5+ycydusZjg6jsBjDSBrAoq62c5gNZrs6brlOKm2ywEj9hObK3sLcat5BHnE2OUHXsg==",
|
"contentHash": "kmjLQf5U5WC7tRGBedUhtrOUCR0NaNL2auzOA2a/oMwEA0Bjrpd6qvMTpJUS3HITxi8vJazGl270K+i0JvdJog==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Fizzler": "1.2.0",
|
"Fizzler": "1.2.0",
|
||||||
"System.Drawing.Common": "5.0.0",
|
|
||||||
"System.Memory": "4.5.3",
|
"System.Memory": "4.5.3",
|
||||||
"System.ObjectModel": "4.3.0",
|
"System.ObjectModel": "4.3.0",
|
||||||
"System.ValueTuple": "4.5.0"
|
"System.ValueTuple": "4.5.0"
|
||||||
@ -772,22 +771,22 @@
|
|||||||
},
|
},
|
||||||
"Svg.Model": {
|
"Svg.Model": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.5.11",
|
"resolved": "0.5.12",
|
||||||
"contentHash": "5/Y+BGjgTwobA9aDfcpTGF/bm83MYrEYM8J1LpPohRR+c+B/1N+rbSXfpDZq2omBJ1O0Sa5VjAXw1oAdm1lYLg==",
|
"contentHash": "/CPiXIugg4oVyYlQr26fB1X9iQfICALF8AJXbTWnXGoP2WZa1t6aZbAXPk3HoPApA0w5waf3XXkBiYYnWwawaQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ShimSkiaSharp": "0.5.11",
|
"ShimSkiaSharp": "0.5.12",
|
||||||
"Svg.Custom": "0.5.11"
|
"Svg.Custom": "0.5.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Svg.Skia": {
|
"Svg.Skia": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.5.11",
|
"resolved": "0.5.12",
|
||||||
"contentHash": "AiN5rSsYBzBUkoh8YK5HoNxRxHtUekp2/6ZAol8qV8oDr6vu8hmPuWjUDwvqCFMi9Dlllc6YsFfvJ1PZCJvYew==",
|
"contentHash": "KjKpjz0FKge+WpRzjD1bqywAW3vZhXwpR5c7Ej5OuP4xDrQjBwtFeB0iZ+yEJMzwXf/Rs4ImuN8m3bmBDJvMHg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"SkiaSharp": "2.88.0-preview.178",
|
"SkiaSharp": "2.88.0-preview.178",
|
||||||
"SkiaSharp.HarfBuzz": "2.88.0-preview.178",
|
"SkiaSharp.HarfBuzz": "2.88.0-preview.178",
|
||||||
"Svg.Custom": "0.5.11",
|
"Svg.Custom": "0.5.12",
|
||||||
"Svg.Model": "0.5.11"
|
"Svg.Model": "0.5.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"System.AppContext": {
|
"System.AppContext": {
|
||||||
@ -979,10 +978,11 @@
|
|||||||
},
|
},
|
||||||
"System.Drawing.Common": {
|
"System.Drawing.Common": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "5.0.0",
|
"resolved": "4.5.0",
|
||||||
"contentHash": "SztFwAnpfKC8+sEKXAFxCBWhKQaEd97EiOL7oZJZP56zbqnLpmxACWA8aGseaUExciuEAUuR9dY8f7HkTRAdnw==",
|
"contentHash": "AiJFxxVPdeITstiRS5aAu8+8Dpf5NawTMoapZ53Gfirml24p7HIfhjmCRxdXnmmf3IUA3AX3CcW7G73CjWxW/Q==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Microsoft.Win32.SystemEvents": "5.0.0"
|
"Microsoft.NETCore.Platforms": "2.0.0",
|
||||||
|
"Microsoft.Win32.SystemEvents": "4.5.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"System.Dynamic.Runtime": {
|
"System.Dynamic.Runtime": {
|
||||||
@ -1746,12 +1746,12 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Artemis.Core": "1.0.0",
|
"Artemis.Core": "1.0.0",
|
||||||
"Artemis.UI.Shared": "1.0.0",
|
"Artemis.UI.Shared": "1.0.0",
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"Avalonia.Controls.PanAndZoom": "10.11.1",
|
"Avalonia.Controls.PanAndZoom": "10.12.0",
|
||||||
"Avalonia.Desktop": "0.10.11",
|
"Avalonia.Desktop": "0.10.12",
|
||||||
"Avalonia.Diagnostics": "0.10.11",
|
"Avalonia.Diagnostics": "0.10.12",
|
||||||
"Avalonia.ReactiveUI": "0.10.11",
|
"Avalonia.ReactiveUI": "0.10.12",
|
||||||
"Avalonia.Svg.Skia": "0.10.11",
|
"Avalonia.Svg.Skia": "0.10.12",
|
||||||
"DynamicData": "7.4.9",
|
"DynamicData": "7.4.9",
|
||||||
"FluentAvaloniaUI": "1.1.8",
|
"FluentAvaloniaUI": "1.1.8",
|
||||||
"Flurl.Http": "3.2.0",
|
"Flurl.Http": "3.2.0",
|
||||||
@ -1759,7 +1759,7 @@
|
|||||||
"Material.Icons.Avalonia": "1.0.2",
|
"Material.Icons.Avalonia": "1.0.2",
|
||||||
"RGB.NET.Core": "1.0.0-prerelease7",
|
"RGB.NET.Core": "1.0.0-prerelease7",
|
||||||
"RGB.NET.Layout": "1.0.0-prerelease7",
|
"RGB.NET.Layout": "1.0.0-prerelease7",
|
||||||
"ReactiveUI": "16.3.10",
|
"ReactiveUI": "17.1.17",
|
||||||
"ReactiveUI.Validation": "2.2.1",
|
"ReactiveUI.Validation": "2.2.1",
|
||||||
"SkiaSharp": "2.88.0-preview.178",
|
"SkiaSharp": "2.88.0-preview.178",
|
||||||
"Splat.Ninject": "14.1.17"
|
"Splat.Ninject": "14.1.17"
|
||||||
@ -1769,17 +1769,17 @@
|
|||||||
"type": "Project",
|
"type": "Project",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Artemis.Core": "1.0.0",
|
"Artemis.Core": "1.0.0",
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"Avalonia.ReactiveUI": "0.10.11",
|
"Avalonia.ReactiveUI": "0.10.12",
|
||||||
"Avalonia.Svg.Skia": "0.10.11",
|
"Avalonia.Svg.Skia": "0.10.12",
|
||||||
"Avalonia.Xaml.Behaviors": "0.10.11.5",
|
"Avalonia.Xaml.Behaviors": "0.10.12",
|
||||||
"Avalonia.Xaml.Interactions": "0.10.11.5",
|
"Avalonia.Xaml.Interactions": "0.10.12",
|
||||||
"Avalonia.Xaml.Interactivity": "0.10.11.5",
|
"Avalonia.Xaml.Interactivity": "0.10.12",
|
||||||
"DynamicData": "7.4.9",
|
"DynamicData": "7.4.9",
|
||||||
"FluentAvaloniaUI": "1.1.8",
|
"FluentAvaloniaUI": "1.1.8",
|
||||||
"Material.Icons.Avalonia": "1.0.2",
|
"Material.Icons.Avalonia": "1.0.2",
|
||||||
"RGB.NET.Core": "1.0.0-prerelease7",
|
"RGB.NET.Core": "1.0.0-prerelease7",
|
||||||
"ReactiveUI": "16.3.10",
|
"ReactiveUI": "17.1.17",
|
||||||
"ReactiveUI.Validation": "2.2.1",
|
"ReactiveUI.Validation": "2.2.1",
|
||||||
"SkiaSharp": "2.88.0-preview.178"
|
"SkiaSharp": "2.88.0-preview.178"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -17,16 +17,16 @@
|
|||||||
<None Remove="DefaultTypes\DataModel\Display\DefaultDataModelDisplayView.xaml" />
|
<None Remove="DefaultTypes\DataModel\Display\DefaultDataModelDisplayView.xaml" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Avalonia" Version="0.10.11" />
|
<PackageReference Include="Avalonia" Version="0.10.12" />
|
||||||
<PackageReference Include="Avalonia.ReactiveUI" Version="0.10.11" />
|
<PackageReference Include="Avalonia.ReactiveUI" Version="0.10.12" />
|
||||||
<PackageReference Include="Avalonia.Svg.Skia" Version="0.10.11" />
|
<PackageReference Include="Avalonia.Svg.Skia" Version="0.10.12" />
|
||||||
<PackageReference Include="Avalonia.Xaml.Behaviors" Version="0.10.11.5" />
|
<PackageReference Include="Avalonia.Xaml.Behaviors" Version="0.10.12" />
|
||||||
<PackageReference Include="Avalonia.Xaml.Interactions" Version="0.10.11.5" />
|
<PackageReference Include="Avalonia.Xaml.Interactions" Version="0.10.12" />
|
||||||
<PackageReference Include="Avalonia.Xaml.Interactivity" Version="0.10.11.5" />
|
<PackageReference Include="Avalonia.Xaml.Interactivity" Version="0.10.12" />
|
||||||
<PackageReference Include="DynamicData" Version="7.4.9" />
|
<PackageReference Include="DynamicData" Version="7.4.9" />
|
||||||
<PackageReference Include="FluentAvaloniaUI" Version="1.1.8" />
|
<PackageReference Include="FluentAvaloniaUI" Version="1.1.8" />
|
||||||
<PackageReference Include="Material.Icons.Avalonia" Version="1.0.2" />
|
<PackageReference Include="Material.Icons.Avalonia" Version="1.0.2" />
|
||||||
<PackageReference Include="ReactiveUI" Version="16.3.10" />
|
<PackageReference Include="ReactiveUI" Version="17.1.17" />
|
||||||
<PackageReference Include="ReactiveUI.Validation" Version="2.2.1" />
|
<PackageReference Include="ReactiveUI.Validation" Version="2.2.1" />
|
||||||
<PackageReference Include="RGB.NET.Core" Version="1.0.0-prerelease7" />
|
<PackageReference Include="RGB.NET.Core" Version="1.0.0-prerelease7" />
|
||||||
<PackageReference Include="SkiaSharp" Version="2.88.0-preview.178" />
|
<PackageReference Include="SkiaSharp" Version="2.88.0-preview.178" />
|
||||||
|
|||||||
@ -0,0 +1,19 @@
|
|||||||
|
using Avalonia;
|
||||||
|
using SkiaSharp;
|
||||||
|
|
||||||
|
namespace Artemis.UI.Shared.Extensions;
|
||||||
|
|
||||||
|
public static class SKMatrixExtensions
|
||||||
|
{
|
||||||
|
public static Matrix ToMatrix(this SKMatrix matrix)
|
||||||
|
{
|
||||||
|
return new Matrix(
|
||||||
|
matrix.ScaleX,
|
||||||
|
matrix.SkewY,
|
||||||
|
matrix.SkewX,
|
||||||
|
matrix.ScaleY,
|
||||||
|
matrix.TransX,
|
||||||
|
matrix.TransY
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,17 @@
|
|||||||
|
using Avalonia;
|
||||||
|
using SkiaSharp;
|
||||||
|
|
||||||
|
namespace Artemis.UI.Shared.Extensions;
|
||||||
|
|
||||||
|
public static class SKRectExtensions
|
||||||
|
{
|
||||||
|
public static Rect ToRect(this SKRect rect)
|
||||||
|
{
|
||||||
|
return new Rect(rect.Left, rect.Top, rect.Width, rect.Height);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Rect ToRect(this SKRectI rect)
|
||||||
|
{
|
||||||
|
return new Rect(rect.Left, rect.Top, rect.Width, rect.Height);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,4 +1,5 @@
|
|||||||
using Artemis.Core;
|
using System;
|
||||||
|
using Artemis.Core;
|
||||||
|
|
||||||
namespace Artemis.UI.Shared.Services.ProfileEditor.Commands;
|
namespace Artemis.UI.Shared.Services.ProfileEditor.Commands;
|
||||||
|
|
||||||
@ -9,15 +10,18 @@ namespace Artemis.UI.Shared.Services.ProfileEditor.Commands;
|
|||||||
public class ToggleLayerPropertyKeyframes<T> : IProfileEditorCommand
|
public class ToggleLayerPropertyKeyframes<T> : IProfileEditorCommand
|
||||||
{
|
{
|
||||||
private readonly bool _enable;
|
private readonly bool _enable;
|
||||||
|
private readonly TimeSpan _time;
|
||||||
private readonly LayerProperty<T> _layerProperty;
|
private readonly LayerProperty<T> _layerProperty;
|
||||||
|
private LayerPropertyKeyframe<T>? _keyframe;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Creates a new instance of the <see cref="ToggleLayerPropertyKeyframes{T}"/> class.
|
/// Creates a new instance of the <see cref="ToggleLayerPropertyKeyframes{T}"/> class.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public ToggleLayerPropertyKeyframes(LayerProperty<T> layerProperty, bool enable)
|
public ToggleLayerPropertyKeyframes(LayerProperty<T> layerProperty, bool enable, TimeSpan time)
|
||||||
{
|
{
|
||||||
_layerProperty = layerProperty;
|
_layerProperty = layerProperty;
|
||||||
_enable = enable;
|
_enable = enable;
|
||||||
|
_time = time;
|
||||||
}
|
}
|
||||||
|
|
||||||
#region Implementation of IProfileEditorCommand
|
#region Implementation of IProfileEditorCommand
|
||||||
@ -28,12 +32,15 @@ public class ToggleLayerPropertyKeyframes<T> : IProfileEditorCommand
|
|||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public void Execute()
|
public void Execute()
|
||||||
{
|
{
|
||||||
|
_keyframe ??= new LayerPropertyKeyframe<T>(_layerProperty.CurrentValue, _time, Easings.Functions.Linear, _layerProperty);
|
||||||
_layerProperty.KeyframesEnabled = _enable;
|
_layerProperty.KeyframesEnabled = _enable;
|
||||||
|
_layerProperty.AddKeyframe(_keyframe);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public void Undo()
|
public void Undo()
|
||||||
{
|
{
|
||||||
|
_layerProperty.RemoveKeyframe(_keyframe!);
|
||||||
_layerProperty.KeyframesEnabled = !_enable;
|
_layerProperty.KeyframesEnabled = !_enable;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Collections.ObjectModel;
|
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Reactive.Linq;
|
using System.Reactive.Linq;
|
||||||
using System.Reactive.Subjects;
|
using System.Reactive.Subjects;
|
||||||
@ -16,18 +15,17 @@ namespace Artemis.UI.Shared.Services.ProfileEditor;
|
|||||||
|
|
||||||
internal class ProfileEditorService : IProfileEditorService
|
internal class ProfileEditorService : IProfileEditorService
|
||||||
{
|
{
|
||||||
|
private readonly ILogger _logger;
|
||||||
|
private readonly IModuleService _moduleService;
|
||||||
|
private readonly BehaviorSubject<int> _pixelsPerSecondSubject = new(120);
|
||||||
|
private readonly BehaviorSubject<bool> _playingSubject = new(false);
|
||||||
private readonly BehaviorSubject<ProfileConfiguration?> _profileConfigurationSubject = new(null);
|
private readonly BehaviorSubject<ProfileConfiguration?> _profileConfigurationSubject = new(null);
|
||||||
private readonly Dictionary<ProfileConfiguration, ProfileEditorHistory> _profileEditorHistories = new();
|
private readonly Dictionary<ProfileConfiguration, ProfileEditorHistory> _profileEditorHistories = new();
|
||||||
private readonly BehaviorSubject<RenderProfileElement?> _profileElementSubject = new(null);
|
private readonly BehaviorSubject<RenderProfileElement?> _profileElementSubject = new(null);
|
||||||
private readonly BehaviorSubject<TimeSpan> _timeSubject = new(TimeSpan.Zero);
|
|
||||||
private readonly BehaviorSubject<bool> _playingSubject = new(false);
|
|
||||||
private readonly BehaviorSubject<bool> _suspendedEditingSubject = new(false);
|
|
||||||
private readonly BehaviorSubject<int> _pixelsPerSecondSubject = new(120);
|
|
||||||
private readonly SourceList<ILayerPropertyKeyframe> _selectedKeyframes = new();
|
|
||||||
|
|
||||||
private readonly ILogger _logger;
|
|
||||||
private readonly IProfileService _profileService;
|
private readonly IProfileService _profileService;
|
||||||
private readonly IModuleService _moduleService;
|
private readonly SourceList<ILayerPropertyKeyframe> _selectedKeyframes = new();
|
||||||
|
private readonly BehaviorSubject<bool> _suspendedEditingSubject = new(false);
|
||||||
|
private readonly BehaviorSubject<TimeSpan> _timeSubject = new(TimeSpan.Zero);
|
||||||
private readonly IWindowService _windowService;
|
private readonly IWindowService _windowService;
|
||||||
private ProfileEditorCommandScope? _profileEditorHistoryScope;
|
private ProfileEditorCommandScope? _profileEditorHistoryScope;
|
||||||
|
|
||||||
@ -47,6 +45,8 @@ internal class ProfileEditorService : IProfileEditorService
|
|||||||
PixelsPerSecond = _pixelsPerSecondSubject.AsObservable();
|
PixelsPerSecond = _pixelsPerSecondSubject.AsObservable();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public IObservable<bool> SuspendedEditing { get; }
|
||||||
|
|
||||||
private ProfileEditorHistory? GetHistory(ProfileConfiguration? profileConfiguration)
|
private ProfileEditorHistory? GetHistory(ProfileConfiguration? profileConfiguration)
|
||||||
{
|
{
|
||||||
if (profileConfiguration == null)
|
if (profileConfiguration == null)
|
||||||
@ -59,14 +59,47 @@ internal class ProfileEditorService : IProfileEditorService
|
|||||||
return newHistory;
|
return newHistory;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void Tick(TimeSpan time)
|
||||||
|
{
|
||||||
|
if (_profileConfigurationSubject.Value?.Profile == null || _suspendedEditingSubject.Value)
|
||||||
|
return;
|
||||||
|
|
||||||
|
TickProfileElement(_profileConfigurationSubject.Value.Profile.GetRootFolder(), time);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void TickProfileElement(ProfileElement profileElement, TimeSpan time)
|
||||||
|
{
|
||||||
|
if (profileElement is not RenderProfileElement renderElement)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (renderElement.Suspended)
|
||||||
|
{
|
||||||
|
renderElement.Disable();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
renderElement.Enable();
|
||||||
|
renderElement.Timeline.Override(
|
||||||
|
time,
|
||||||
|
(renderElement != _profileElementSubject.Value || renderElement.Timeline.Length < time) && renderElement.Timeline.PlayMode == TimelinePlayMode.Repeat
|
||||||
|
);
|
||||||
|
|
||||||
|
foreach (ProfileElement child in renderElement.Children)
|
||||||
|
TickProfileElement(child, time);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public IObservable<ProfileConfiguration?> ProfileConfiguration { get; }
|
public IObservable<ProfileConfiguration?> ProfileConfiguration { get; }
|
||||||
public IObservable<RenderProfileElement?> ProfileElement { get; }
|
public IObservable<RenderProfileElement?> ProfileElement { get; }
|
||||||
public IObservable<ProfileEditorHistory?> History { get; }
|
public IObservable<ProfileEditorHistory?> History { get; }
|
||||||
public IObservable<TimeSpan> Time { get; }
|
public IObservable<TimeSpan> Time { get; }
|
||||||
public IObservable<bool> Playing { get; }
|
public IObservable<bool> Playing { get; }
|
||||||
public IObservable<bool> SuspendedEditing { get; }
|
|
||||||
public IObservable<int> PixelsPerSecond { get; }
|
public IObservable<int> PixelsPerSecond { get; }
|
||||||
public IObservable<IChangeSet<ILayerPropertyKeyframe>> ConnectToKeyframes() => _selectedKeyframes.Connect();
|
|
||||||
|
public IObservable<IChangeSet<ILayerPropertyKeyframe>> ConnectToKeyframes()
|
||||||
|
{
|
||||||
|
return _selectedKeyframes.Connect();
|
||||||
|
}
|
||||||
|
|
||||||
public void ChangeCurrentProfileConfiguration(ProfileConfiguration? profileConfiguration)
|
public void ChangeCurrentProfileConfiguration(ProfileConfiguration? profileConfiguration)
|
||||||
{
|
{
|
||||||
@ -143,11 +176,8 @@ internal class ProfileEditorService : IProfileEditorService
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (expand)
|
if (expand)
|
||||||
{
|
|
||||||
_selectedKeyframes.Add(keyframe);
|
_selectedKeyframes.Add(keyframe);
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
|
||||||
_selectedKeyframes.Edit(l =>
|
_selectedKeyframes.Edit(l =>
|
||||||
{
|
{
|
||||||
l.Clear();
|
l.Clear();
|
||||||
@ -155,7 +185,6 @@ internal class ProfileEditorService : IProfileEditorService
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
public void SelectKeyframes(IEnumerable<ILayerPropertyKeyframe> keyframes, bool expand)
|
public void SelectKeyframes(IEnumerable<ILayerPropertyKeyframe> keyframes, bool expand)
|
||||||
{
|
{
|
||||||
@ -194,10 +223,8 @@ internal class ProfileEditorService : IProfileEditorService
|
|||||||
|
|
||||||
// Snap to the current time
|
// Snap to the current time
|
||||||
if (snapToCurrentTime)
|
if (snapToCurrentTime)
|
||||||
{
|
|
||||||
if (Math.Abs(time.TotalMilliseconds - _timeSubject.Value.TotalMilliseconds) < tolerance.TotalMilliseconds)
|
if (Math.Abs(time.TotalMilliseconds - _timeSubject.Value.TotalMilliseconds) < tolerance.TotalMilliseconds)
|
||||||
return _timeSubject.Value;
|
return _timeSubject.Value;
|
||||||
}
|
|
||||||
|
|
||||||
if (snapTimes != null)
|
if (snapTimes != null)
|
||||||
{
|
{
|
||||||
@ -229,6 +256,37 @@ internal class ProfileEditorService : IProfileEditorService
|
|||||||
_pixelsPerSecondSubject.OnNext(pixelsPerSecond);
|
_pixelsPerSecondSubject.OnNext(pixelsPerSecond);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
public void SaveProfile()
|
||||||
|
{
|
||||||
|
Profile? profile = _profileConfigurationSubject.Value?.Profile;
|
||||||
|
if (profile == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
_profileService.SaveProfile(profile, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
public async Task SaveProfileAsync()
|
||||||
|
{
|
||||||
|
await Task.Run(SaveProfile);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
public void Play()
|
||||||
|
{
|
||||||
|
if (!_playingSubject.Value)
|
||||||
|
_playingSubject.OnNext(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
public void Pause()
|
||||||
|
{
|
||||||
|
if (_playingSubject.Value)
|
||||||
|
_playingSubject.OnNext(false);
|
||||||
|
}
|
||||||
|
|
||||||
#region Commands
|
#region Commands
|
||||||
|
|
||||||
public void ExecuteCommand(IProfileEditorCommand command)
|
public void ExecuteCommand(IProfileEditorCommand command)
|
||||||
@ -282,66 +340,4 @@ internal class ProfileEditorService : IProfileEditorService
|
|||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// <inheritdoc />
|
|
||||||
public void SaveProfile()
|
|
||||||
{
|
|
||||||
Profile? profile = _profileConfigurationSubject.Value?.Profile;
|
|
||||||
if (profile == null)
|
|
||||||
return;
|
|
||||||
|
|
||||||
_profileService.SaveProfile(profile, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <inheritdoc />
|
|
||||||
public async Task SaveProfileAsync()
|
|
||||||
{
|
|
||||||
await Task.Run(SaveProfile);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <inheritdoc />
|
|
||||||
public void Play()
|
|
||||||
{
|
|
||||||
if (!_playingSubject.Value)
|
|
||||||
_playingSubject.OnNext(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <inheritdoc />
|
|
||||||
public void Pause()
|
|
||||||
{
|
|
||||||
if (_playingSubject.Value)
|
|
||||||
_playingSubject.OnNext(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void Tick(TimeSpan time)
|
|
||||||
{
|
|
||||||
if (_profileConfigurationSubject.Value?.Profile == null || _suspendedEditingSubject.Value)
|
|
||||||
return;
|
|
||||||
|
|
||||||
TickProfileElement(_profileConfigurationSubject.Value.Profile.GetRootFolder(), time);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void TickProfileElement(ProfileElement profileElement, TimeSpan time)
|
|
||||||
{
|
|
||||||
if (profileElement is not RenderProfileElement renderElement)
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (renderElement.Suspended)
|
|
||||||
{
|
|
||||||
renderElement.Disable();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
renderElement.Enable();
|
|
||||||
renderElement.Timeline.Override(
|
|
||||||
time,
|
|
||||||
(renderElement != _profileElementSubject.Value || renderElement.Timeline.Length < time) && renderElement.Timeline.PlayMode == TimelinePlayMode.Repeat
|
|
||||||
);
|
|
||||||
|
|
||||||
foreach (ProfileElement child in renderElement.Children)
|
|
||||||
TickProfileElement(child, time);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@ -5,6 +5,7 @@ using Artemis.Core;
|
|||||||
using Artemis.UI.Shared.Services.ProfileEditor;
|
using Artemis.UI.Shared.Services.ProfileEditor;
|
||||||
using Artemis.UI.Shared.Services.ProfileEditor.Commands;
|
using Artemis.UI.Shared.Services.ProfileEditor.Commands;
|
||||||
using Avalonia.Controls.Mixins;
|
using Avalonia.Controls.Mixins;
|
||||||
|
using Avalonia.Threading;
|
||||||
using ReactiveUI;
|
using ReactiveUI;
|
||||||
using ReactiveUI.Validation.Helpers;
|
using ReactiveUI.Validation.Helpers;
|
||||||
|
|
||||||
@ -54,6 +55,8 @@ public abstract class PropertyInputViewModel<T> : PropertyInputViewModel
|
|||||||
.Subscribe(_ => UpdateDataBinding())
|
.Subscribe(_ => UpdateDataBinding())
|
||||||
.DisposeWith(d);
|
.DisposeWith(d);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
ValidationContext.ValidationStatusChange.Subscribe(s => Console.WriteLine(s));
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -177,6 +180,8 @@ public abstract class PropertyInputViewModel<T> : PropertyInputViewModel
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void UpdateInputValue()
|
private void UpdateInputValue()
|
||||||
|
{
|
||||||
|
Dispatcher.UIThread.Post(() =>
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@ -196,6 +201,8 @@ public abstract class PropertyInputViewModel<T> : PropertyInputViewModel
|
|||||||
{
|
{
|
||||||
_updating = false;
|
_updating = false;
|
||||||
}
|
}
|
||||||
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void UpdateDataBinding()
|
private void UpdateDataBinding()
|
||||||
|
|||||||
@ -1,7 +1,8 @@
|
|||||||
<Styles xmlns="https://github.com/avaloniaui"
|
<Styles xmlns="https://github.com/avaloniaui"
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
xmlns:controls="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
|
xmlns:controls="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
|
||||||
xmlns:attachedProperties="clr-namespace:Artemis.UI.Shared.AttachedProperties">
|
xmlns:attachedProperties="clr-namespace:Artemis.UI.Shared.AttachedProperties"
|
||||||
|
xmlns:system="clr-namespace:System;assembly=System.Runtime">
|
||||||
<Design.PreviewWith>
|
<Design.PreviewWith>
|
||||||
<Border Padding="20">
|
<Border Padding="20">
|
||||||
<StackPanel Spacing="20">
|
<StackPanel Spacing="20">
|
||||||
@ -12,7 +13,11 @@
|
|||||||
<controls:NumberBox Classes="condensed"
|
<controls:NumberBox Classes="condensed"
|
||||||
Value="9999999"
|
Value="9999999"
|
||||||
attachedProperties:NumberBoxAssist.PrefixText="%"
|
attachedProperties:NumberBoxAssist.PrefixText="%"
|
||||||
attachedProperties:NumberBoxAssist.SuffixText="%"/>
|
attachedProperties:NumberBoxAssist.SuffixText="%">
|
||||||
|
<DataValidationErrors.Error>
|
||||||
|
<system:Exception/>
|
||||||
|
</DataValidationErrors.Error>
|
||||||
|
</controls:NumberBox>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
|
|
||||||
</Border>
|
</Border>
|
||||||
@ -117,4 +122,8 @@
|
|||||||
<Setter Property="attachedProperties:TextBoxAssist.PrefixText" Value="{TemplateBinding attachedProperties:NumberBoxAssist.PrefixText}"></Setter>
|
<Setter Property="attachedProperties:TextBoxAssist.PrefixText" Value="{TemplateBinding attachedProperties:NumberBoxAssist.PrefixText}"></Setter>
|
||||||
<Setter Property="attachedProperties:TextBoxAssist.SuffixText" Value="{TemplateBinding attachedProperties:NumberBoxAssist.SuffixText}"></Setter>
|
<Setter Property="attachedProperties:TextBoxAssist.SuffixText" Value="{TemplateBinding attachedProperties:NumberBoxAssist.SuffixText}"></Setter>
|
||||||
</Style>
|
</Style>
|
||||||
|
|
||||||
|
<Style Selector="controls|NumberBox /template/ TextBox.NumberBoxTextBoxStyle">
|
||||||
|
<Setter Property="DataValidationErrors.Errors" Value="{TemplateBinding DataValidationErrors.Errors}" />
|
||||||
|
</Style>
|
||||||
</Styles>
|
</Styles>
|
||||||
@ -4,11 +4,11 @@
|
|||||||
"net6.0": {
|
"net6.0": {
|
||||||
"Avalonia": {
|
"Avalonia": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[0.10.11, )",
|
"requested": "[0.10.12, )",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "2PSE+dB4vGJfG+1M+y+Hwaxiqze5mbBTTG9hjwc2Z3U/9yJE/GThBEst2WwI0yBt13hsfAfbABzt1PA3mtbFdw==",
|
"contentHash": "ftI5uGBFvWJpizGc6PT6lOb6FiO8AWcSYS9N4FWvXgOvuqWuTgmjwURPUkvajpeaQLKOOea6AbgotSyhV8NNoQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia.Remote.Protocol": "0.10.11",
|
"Avalonia.Remote.Protocol": "0.10.12",
|
||||||
"JetBrains.Annotations": "10.3.0",
|
"JetBrains.Annotations": "10.3.0",
|
||||||
"System.ComponentModel.Annotations": "4.5.0",
|
"System.ComponentModel.Annotations": "4.5.0",
|
||||||
"System.Memory": "4.5.3",
|
"System.Memory": "4.5.3",
|
||||||
@ -19,55 +19,55 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.ReactiveUI": {
|
"Avalonia.ReactiveUI": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[0.10.11, )",
|
"requested": "[0.10.12, )",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "I/++/4Halsx9HIp99nBwB2nIMrI9zw2M8wDcK1HaYVMKU+m3KFA9w+DfV7g/wEceWSMeX7yAvUjRnaUYtBO08Q==",
|
"contentHash": "dOszpMtBKEACAFWtjwNibXMF2SBolJ3cV8ffDEOy2uuwjKBJqbSmHH+WSnui9KfbSF2igVpam4TqO6drJuEvjw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"ReactiveUI": "13.2.10",
|
"ReactiveUI": "13.2.10",
|
||||||
"System.Reactive": "5.0.0"
|
"System.Reactive": "5.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Svg.Skia": {
|
"Avalonia.Svg.Skia": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[0.10.11, )",
|
"requested": "[0.10.12, )",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "Zw1kfOWN7ZaMqnoJsKqvU/8GxGbrv4KrkAbbLVHvhZl4sA0VZEjqdtxUAqSHlJrYtjPfaUzzDP9K3l0KCqnx/Q==",
|
"contentHash": "qsXKdm5eWpfoVPe0xgtxhbOYlhG8QdbYNJZTTihg/c4iPFYuh1G7DldiNskuVFuGiGxLVZ0g6ebql7ZkwbO1pA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"Avalonia.Skia": "0.10.11",
|
"Avalonia.Skia": "0.10.12",
|
||||||
"SkiaSharp": "2.88.0-preview.178",
|
"SkiaSharp": "2.88.0-preview.178",
|
||||||
"Svg.Skia": "0.5.11"
|
"Svg.Skia": "0.5.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Xaml.Behaviors": {
|
"Avalonia.Xaml.Behaviors": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[0.10.11.5, )",
|
"requested": "[0.10.12, )",
|
||||||
"resolved": "0.10.11.5",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "XHU7/hRYWEdaJOs+weT9ml9/GYqroPrAtePjGzUzUrMoHESbqmkLXmW+fHkaAeXRMJAOAFD1LQUHQu+B6ThF3w==",
|
"contentHash": "upv7v1gZ31tCukw/KA1bB5+z29QuEWiZJ4KnW10daHlia1ru7q4lUJ/vCYKOy5L+zyi1MQg98SNYjRp5C64ZhQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"Avalonia.Xaml.Interactions": "0.10.11.5",
|
"Avalonia.Xaml.Interactions": "0.10.12",
|
||||||
"Avalonia.Xaml.Interactivity": "0.10.11.5"
|
"Avalonia.Xaml.Interactivity": "0.10.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Xaml.Interactions": {
|
"Avalonia.Xaml.Interactions": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[0.10.11.5, )",
|
"requested": "[0.10.12, )",
|
||||||
"resolved": "0.10.11.5",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "MpqS1t1zypDNEW2Pyg113W4AwmfaWai5LfA/K22sDbygXII+KuACaHt2ZPHJWnvKGHgasLEEFhEOGfF5cB9NPA==",
|
"contentHash": "PSohbY4aQGiJVWfvLKkuUE71ZxvZ0/FuTc3Y5GJgTC41kCgeaiJTczkC2FjW5sZ8exPDabSp+ZukSsnm/z6y7A==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"Avalonia.Xaml.Interactivity": "0.10.11.5"
|
"Avalonia.Xaml.Interactivity": "0.10.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Xaml.Interactivity": {
|
"Avalonia.Xaml.Interactivity": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[0.10.11.5, )",
|
"requested": "[0.10.12, )",
|
||||||
"resolved": "0.10.11.5",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "MOM6lcPenJZu9LPhai3n67GssBUx3MjoCVLyR2GEJ6lywKQgk4MKOIAC0gLWgy7x1e540oy4lCpeX8jMsqe7mA==",
|
"contentHash": "uey4LjyIds78igMe7AZ072RI6GpO16sd6+6XF6LG0oE07De7ei0So14oOs4wLS4WJyaKDRSUK6PuhLaY1zIZdQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11"
|
"Avalonia": "0.10.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"DynamicData": {
|
"DynamicData": {
|
||||||
@ -102,12 +102,12 @@
|
|||||||
},
|
},
|
||||||
"ReactiveUI": {
|
"ReactiveUI": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[16.3.10, )",
|
"requested": "[17.1.17, )",
|
||||||
"resolved": "16.3.10",
|
"resolved": "17.1.17",
|
||||||
"contentHash": "NH9bg8BROqRrTp6YLpPDsJrfNDzRWNmP63fQ68CBAM+i7YHi6wcPeOkxyKpoemUxKEY4QECuicaTblJnxgbWmA==",
|
"contentHash": "0DLq44k4CVvfXcWHE4uigQa/wySOzxOTnWg50j2qZDpWzl9OP7QfIDJo39X3ffEjaVcCUFcbF9xAmm7fRX/q2g==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"DynamicData": "7.4.3",
|
"DynamicData": "7.4.9",
|
||||||
"Splat": "13.1.42"
|
"Splat": "14.1.17"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ReactiveUI.Validation": {
|
"ReactiveUI.Validation": {
|
||||||
@ -194,15 +194,15 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.Remote.Protocol": {
|
"Avalonia.Remote.Protocol": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "kID2N/cXg7KCGFYFTOWCvSLt+oMFRApLfLcbLU35keC/jwDi9tFk33CEdo81hBEg15lAtTtCfvHhNPyVyIYijQ=="
|
"contentHash": "ArrxniR8iShzMvXCS3vt5FXg9Fv3qK1UKzJwsSsY9iCuC8wKo2eevRj42qOhMCS98POTH5v8aUZBeoLlENa0vA=="
|
||||||
},
|
},
|
||||||
"Avalonia.Skia": {
|
"Avalonia.Skia": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "4bP5V3BpnZ+If2/ZrZofeRsINeZ6gemLjfNyElt7vNF4HZaRfot03anO3Y+Z7mTELjuol6n/5lAL4+kQUN/O/w==",
|
"contentHash": "3TGo8RLHaLqmU3chlyAqLkpw6vImfDMC30T18abpeYf1PIsNckRB+UFp12GDil9t/J9YB17zn4H6N+2plF4gZA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"HarfBuzzSharp": "2.8.2-preview.178",
|
"HarfBuzzSharp": "2.8.2-preview.178",
|
||||||
"HarfBuzzSharp.NativeAssets.Linux": "2.8.2-preview.178",
|
"HarfBuzzSharp.NativeAssets.Linux": "2.8.2-preview.178",
|
||||||
"HarfBuzzSharp.NativeAssets.WebAssembly": "2.8.2-preview.178",
|
"HarfBuzzSharp.NativeAssets.WebAssembly": "2.8.2-preview.178",
|
||||||
@ -436,10 +436,10 @@
|
|||||||
},
|
},
|
||||||
"Microsoft.Win32.SystemEvents": {
|
"Microsoft.Win32.SystemEvents": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "5.0.0",
|
"resolved": "4.5.0",
|
||||||
"contentHash": "Bh6blKG8VAKvXiLe2L+sEsn62nc1Ij34MrNxepD2OCrS5cpCwQa9MeLyhVQPQ/R4Wlzwuy6wMK8hLb11QPDRsQ==",
|
"contentHash": "LuI1oG+24TUj1ZRQQjM5Ew73BKnZE5NZ/7eAdh1o8ST5dPhUnJvIkiIn2re3MwnkRy6ELRnvEbBxHP8uALKhJw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Microsoft.NETCore.Platforms": "5.0.0"
|
"Microsoft.NETCore.Platforms": "2.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"NETStandard.Library": {
|
"NETStandard.Library": {
|
||||||
@ -686,8 +686,8 @@
|
|||||||
},
|
},
|
||||||
"ShimSkiaSharp": {
|
"ShimSkiaSharp": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.5.11",
|
"resolved": "0.5.12",
|
||||||
"contentHash": "a04YHHKRK1xY8ccSgpa6HOmOw9Kuivo2b2qejp9CK00ykdCBK3Mmc+ekBx954+zPQBksN6aLhvn1SEL7QG2s8Q=="
|
"contentHash": "oUGM7gQHRzbGPRs3E1pe5e8VwML21YyEz9xdo+r2ov1mAqSDPyXErVQP6pN4gnfYMVf5ADR7BVkVzt4R9Iz3gQ=="
|
||||||
},
|
},
|
||||||
"SkiaSharp.HarfBuzz": {
|
"SkiaSharp.HarfBuzz": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
@ -723,16 +723,15 @@
|
|||||||
},
|
},
|
||||||
"Splat": {
|
"Splat": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "13.1.42",
|
"resolved": "14.1.17",
|
||||||
"contentHash": "a/NkGyoSsmvH2YZGgjFxt0dsXkRTgQRMgoUDN8WpBhTUr3wnPTdeQTOLLr2Jc/BCAdOA7cK2+E4Io8I1/q3f3Q=="
|
"contentHash": "orBlJcQS4b1VZUlT+sJIensH0MsTYyCJlStT6bRwt71OFqNYD6V1SpkoIt6vKSf8YXgDT7QH/LuwWdLfTyHPrw=="
|
||||||
},
|
},
|
||||||
"Svg.Custom": {
|
"Svg.Custom": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.5.11",
|
"resolved": "0.5.12",
|
||||||
"contentHash": "8OEW3UKx07JfEyqzzvF5+ycydusZjg6jsBjDSBrAoq62c5gNZrs6brlOKm2ywEj9hObK3sLcat5BHnE2OUHXsg==",
|
"contentHash": "kmjLQf5U5WC7tRGBedUhtrOUCR0NaNL2auzOA2a/oMwEA0Bjrpd6qvMTpJUS3HITxi8vJazGl270K+i0JvdJog==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Fizzler": "1.2.0",
|
"Fizzler": "1.2.0",
|
||||||
"System.Drawing.Common": "5.0.0",
|
|
||||||
"System.Memory": "4.5.3",
|
"System.Memory": "4.5.3",
|
||||||
"System.ObjectModel": "4.3.0",
|
"System.ObjectModel": "4.3.0",
|
||||||
"System.ValueTuple": "4.5.0"
|
"System.ValueTuple": "4.5.0"
|
||||||
@ -740,22 +739,22 @@
|
|||||||
},
|
},
|
||||||
"Svg.Model": {
|
"Svg.Model": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.5.11",
|
"resolved": "0.5.12",
|
||||||
"contentHash": "5/Y+BGjgTwobA9aDfcpTGF/bm83MYrEYM8J1LpPohRR+c+B/1N+rbSXfpDZq2omBJ1O0Sa5VjAXw1oAdm1lYLg==",
|
"contentHash": "/CPiXIugg4oVyYlQr26fB1X9iQfICALF8AJXbTWnXGoP2WZa1t6aZbAXPk3HoPApA0w5waf3XXkBiYYnWwawaQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ShimSkiaSharp": "0.5.11",
|
"ShimSkiaSharp": "0.5.12",
|
||||||
"Svg.Custom": "0.5.11"
|
"Svg.Custom": "0.5.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Svg.Skia": {
|
"Svg.Skia": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.5.11",
|
"resolved": "0.5.12",
|
||||||
"contentHash": "AiN5rSsYBzBUkoh8YK5HoNxRxHtUekp2/6ZAol8qV8oDr6vu8hmPuWjUDwvqCFMi9Dlllc6YsFfvJ1PZCJvYew==",
|
"contentHash": "KjKpjz0FKge+WpRzjD1bqywAW3vZhXwpR5c7Ej5OuP4xDrQjBwtFeB0iZ+yEJMzwXf/Rs4ImuN8m3bmBDJvMHg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"SkiaSharp": "2.88.0-preview.178",
|
"SkiaSharp": "2.88.0-preview.178",
|
||||||
"SkiaSharp.HarfBuzz": "2.88.0-preview.178",
|
"SkiaSharp.HarfBuzz": "2.88.0-preview.178",
|
||||||
"Svg.Custom": "0.5.11",
|
"Svg.Custom": "0.5.12",
|
||||||
"Svg.Model": "0.5.11"
|
"Svg.Model": "0.5.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"System.AppContext": {
|
"System.AppContext": {
|
||||||
@ -947,10 +946,11 @@
|
|||||||
},
|
},
|
||||||
"System.Drawing.Common": {
|
"System.Drawing.Common": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "5.0.0",
|
"resolved": "4.5.0",
|
||||||
"contentHash": "SztFwAnpfKC8+sEKXAFxCBWhKQaEd97EiOL7oZJZP56zbqnLpmxACWA8aGseaUExciuEAUuR9dY8f7HkTRAdnw==",
|
"contentHash": "AiJFxxVPdeITstiRS5aAu8+8Dpf5NawTMoapZ53Gfirml24p7HIfhjmCRxdXnmmf3IUA3AX3CcW7G73CjWxW/Q==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Microsoft.Win32.SystemEvents": "5.0.0"
|
"Microsoft.NETCore.Platforms": "2.0.0",
|
||||||
|
"Microsoft.Win32.SystemEvents": "4.5.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"System.Dynamic.Runtime": {
|
"System.Dynamic.Runtime": {
|
||||||
|
|||||||
@ -10,15 +10,15 @@
|
|||||||
<None Remove=".gitignore" />
|
<None Remove=".gitignore" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Avalonia" Version="0.10.11" />
|
<PackageReference Include="Avalonia" Version="0.10.12" />
|
||||||
<PackageReference Include="Avalonia.Desktop" Version="0.10.11" />
|
<PackageReference Include="Avalonia.Desktop" Version="0.10.12" />
|
||||||
<!--Condition below is needed to remove Avalonia.Diagnostics package from build output in Release configuration.-->
|
<!--Condition below is needed to remove Avalonia.Diagnostics package from build output in Release configuration.-->
|
||||||
<PackageReference Condition="'$(Configuration)' == 'Debug'" Include="Avalonia.Diagnostics" Version="0.10.11" />
|
<PackageReference Condition="'$(Configuration)' == 'Debug'" Include="Avalonia.Diagnostics" Version="0.10.12" />
|
||||||
<PackageReference Include="Avalonia.ReactiveUI" Version="0.10.11" />
|
<PackageReference Include="Avalonia.ReactiveUI" Version="0.10.12" />
|
||||||
<PackageReference Include="Avalonia.Win32" Version="0.10.11" />
|
<PackageReference Include="Avalonia.Win32" Version="0.10.12" />
|
||||||
<PackageReference Include="Microsoft.Win32" Version="2.0.1" />
|
<PackageReference Include="Microsoft.Win32" Version="2.0.1" />
|
||||||
<PackageReference Include="RawInput.Sharp" Version="0.0.4" />
|
<PackageReference Include="RawInput.Sharp" Version="0.0.4" />
|
||||||
<PackageReference Include="ReactiveUI" Version="16.3.10" />
|
<PackageReference Include="ReactiveUI" Version="17.1.17" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\..\Artemis.Core\Artemis.Core.csproj" />
|
<ProjectReference Include="..\..\Artemis.Core\Artemis.Core.csproj" />
|
||||||
|
|||||||
@ -4,11 +4,11 @@
|
|||||||
"net6.0-windows7.0": {
|
"net6.0-windows7.0": {
|
||||||
"Avalonia": {
|
"Avalonia": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[0.10.11, )",
|
"requested": "[0.10.12, )",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "2PSE+dB4vGJfG+1M+y+Hwaxiqze5mbBTTG9hjwc2Z3U/9yJE/GThBEst2WwI0yBt13hsfAfbABzt1PA3mtbFdw==",
|
"contentHash": "ftI5uGBFvWJpizGc6PT6lOb6FiO8AWcSYS9N4FWvXgOvuqWuTgmjwURPUkvajpeaQLKOOea6AbgotSyhV8NNoQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia.Remote.Protocol": "0.10.11",
|
"Avalonia.Remote.Protocol": "0.10.12",
|
||||||
"JetBrains.Annotations": "10.3.0",
|
"JetBrains.Annotations": "10.3.0",
|
||||||
"System.ComponentModel.Annotations": "4.5.0",
|
"System.ComponentModel.Annotations": "4.5.0",
|
||||||
"System.Memory": "4.5.3",
|
"System.Memory": "4.5.3",
|
||||||
@ -19,47 +19,47 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.Desktop": {
|
"Avalonia.Desktop": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[0.10.11, )",
|
"requested": "[0.10.12, )",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "PQTl4lm7IZidzltMwC7RSNaoz7TYNznU8SKa/WaAI6ycMzC0On2DsqiL1dXr6WhYzMazyMJj6kBhiQzHIc1lIQ==",
|
"contentHash": "wy4k1uarrmZJSJENCe1hjNpdCJWhup0gt6KA2TtZILfGG7imj+an5IuQZUSXtA7cl7A+6tF6lPQLo82gESUlXQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"Avalonia.Native": "0.10.11",
|
"Avalonia.Native": "0.10.12",
|
||||||
"Avalonia.Skia": "0.10.11",
|
"Avalonia.Skia": "0.10.12",
|
||||||
"Avalonia.Win32": "0.10.11",
|
"Avalonia.Win32": "0.10.12",
|
||||||
"Avalonia.X11": "0.10.11"
|
"Avalonia.X11": "0.10.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Diagnostics": {
|
"Avalonia.Diagnostics": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[0.10.11, )",
|
"requested": "[0.10.12, )",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "xBvBkF2DBKjddAfQbExd660zQ5RaDEXH1JgAdMyYOdu3qFL6d+QHyZdVHVeQFilNYE03F6C8AbMWrmj6dBUNlg==",
|
"contentHash": "Pf9DGiSwl3+gPrRSHKFzDG20I9QJ5P1g6BexLKfHQH9+Cmax+a/UEVYQq4hGn0xhrmpuLYOeGHb8wasjAT4EfQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"Avalonia.Controls.DataGrid": "0.10.11",
|
"Avalonia.Controls.DataGrid": "0.10.12",
|
||||||
"Microsoft.CodeAnalysis.CSharp.Scripting": "3.4.0",
|
"Microsoft.CodeAnalysis.CSharp.Scripting": "3.4.0",
|
||||||
"System.Reactive": "5.0.0"
|
"System.Reactive": "5.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.ReactiveUI": {
|
"Avalonia.ReactiveUI": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[0.10.11, )",
|
"requested": "[0.10.12, )",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "I/++/4Halsx9HIp99nBwB2nIMrI9zw2M8wDcK1HaYVMKU+m3KFA9w+DfV7g/wEceWSMeX7yAvUjRnaUYtBO08Q==",
|
"contentHash": "dOszpMtBKEACAFWtjwNibXMF2SBolJ3cV8ffDEOy2uuwjKBJqbSmHH+WSnui9KfbSF2igVpam4TqO6drJuEvjw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"ReactiveUI": "13.2.10",
|
"ReactiveUI": "13.2.10",
|
||||||
"System.Reactive": "5.0.0"
|
"System.Reactive": "5.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Win32": {
|
"Avalonia.Win32": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[0.10.11, )",
|
"requested": "[0.10.12, )",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "bckqh8rnQ4+l2kdU4njO3cBKaT4l1HQkxdVYJLAgl44uMtoCpaN7EidrBTnuM40DXa0cpvOh97A+G8jpZgte6Q==",
|
"contentHash": "CnC65T8ScMK23BB+qJuiMicWQ5QIEiinnRzPqvAGUGyQbjIGpA5uOCKwzsOjUmzkhGqt31iDR0/Y3ZFbi5Mjog==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"Avalonia.Angle.Windows.Natives": "2.1.0.2020091801",
|
"Avalonia.Angle.Windows.Natives": "2.1.0.2020091801",
|
||||||
"System.Drawing.Common": "4.5.0",
|
"System.Drawing.Common": "4.5.0",
|
||||||
"System.Numerics.Vectors": "4.5.0"
|
"System.Numerics.Vectors": "4.5.0"
|
||||||
@ -82,12 +82,12 @@
|
|||||||
},
|
},
|
||||||
"ReactiveUI": {
|
"ReactiveUI": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[16.3.10, )",
|
"requested": "[17.1.17, )",
|
||||||
"resolved": "16.3.10",
|
"resolved": "17.1.17",
|
||||||
"contentHash": "NH9bg8BROqRrTp6YLpPDsJrfNDzRWNmP63fQ68CBAM+i7YHi6wcPeOkxyKpoemUxKEY4QECuicaTblJnxgbWmA==",
|
"contentHash": "0DLq44k4CVvfXcWHE4uigQa/wySOzxOTnWg50j2qZDpWzl9OP7QfIDJo39X3ffEjaVcCUFcbF9xAmm7fRX/q2g==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"DynamicData": "7.4.3",
|
"DynamicData": "7.4.9",
|
||||||
"Splat": "13.1.42"
|
"Splat": "14.1.17"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Angle.Windows.Natives": {
|
"Avalonia.Angle.Windows.Natives": {
|
||||||
@ -97,51 +97,51 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.Controls.DataGrid": {
|
"Avalonia.Controls.DataGrid": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "zvt6QA2uwe18gJ/XdnSMTHG6L/2usvjoaAdPC+Lgg+DmUPNTjqN+Hm1l0AjUtNNId6G+4iIkysiZ2WiHPqGsEA==",
|
"contentHash": "i3zM3P8PUY4FNhATZoFWkto3H66FcIrnJNMyOsl1fN0FPS6meysAwCKQwuou/oapyzZEODeAmCVdqB0AgjNHVw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"Avalonia.Remote.Protocol": "0.10.11",
|
"Avalonia.Remote.Protocol": "0.10.12",
|
||||||
"JetBrains.Annotations": "10.3.0",
|
"JetBrains.Annotations": "10.3.0",
|
||||||
"System.Reactive": "5.0.0"
|
"System.Reactive": "5.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Controls.PanAndZoom": {
|
"Avalonia.Controls.PanAndZoom": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "10.11.1",
|
"resolved": "10.12.0",
|
||||||
"contentHash": "XIjA3iGHMfokPXw/ov5CqKKPR8HdVrTBOMYJVOGpDQyec6RwI/w7lq530wfIMebIe9xUj5RY2Jx5heQtCuAFmg==",
|
"contentHash": "ns+2tJTXTpNzNA9YV2mjR4EJOZl2vBFWnGUTSIl/vyOQMrrU5CbsXQxy2MFBvW0vGrRTlw80nUtBnsT759kwKQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11"
|
"Avalonia": "0.10.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.FreeDesktop": {
|
"Avalonia.FreeDesktop": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "cj8T11WQ5/opR2IPttb1Bo89aHclkuvHYsCB7HzZU/F7l/cKXbKUOhyo60p44BdFzrCqjNXDnKQbxeRv+OSF7A==",
|
"contentHash": "j42uWCWkAfZchYPrdRccr4mjB0kppSby3TEMCuNrp9GcQi+JhEPEbBAohU7FpR4bkv5FF2KAlDX5WiG2T+04kg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"Tmds.DBus": "0.9.0"
|
"Tmds.DBus": "0.9.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Native": {
|
"Avalonia.Native": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "9fBC9UArVXEmsxL2Nd0KHGoZUCqcTo06NTlOTAeM3qdEWzE8a0qRVYiR2WeYfADXpKR1D/fQz5zWUZcebFYFIA==",
|
"contentHash": "JnZc0zF7DcLcSX+SdnKQGzFa9mcKxawhTN8S3aiN8Eh3MZAKxa45LRrHFVTcHcy2jU4kOw+yPfONUmHpRcC0gw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11"
|
"Avalonia": "0.10.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Remote.Protocol": {
|
"Avalonia.Remote.Protocol": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "kID2N/cXg7KCGFYFTOWCvSLt+oMFRApLfLcbLU35keC/jwDi9tFk33CEdo81hBEg15lAtTtCfvHhNPyVyIYijQ=="
|
"contentHash": "ArrxniR8iShzMvXCS3vt5FXg9Fv3qK1UKzJwsSsY9iCuC8wKo2eevRj42qOhMCS98POTH5v8aUZBeoLlENa0vA=="
|
||||||
},
|
},
|
||||||
"Avalonia.Skia": {
|
"Avalonia.Skia": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "4bP5V3BpnZ+If2/ZrZofeRsINeZ6gemLjfNyElt7vNF4HZaRfot03anO3Y+Z7mTELjuol6n/5lAL4+kQUN/O/w==",
|
"contentHash": "3TGo8RLHaLqmU3chlyAqLkpw6vImfDMC30T18abpeYf1PIsNckRB+UFp12GDil9t/J9YB17zn4H6N+2plF4gZA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"HarfBuzzSharp": "2.8.2-preview.178",
|
"HarfBuzzSharp": "2.8.2-preview.178",
|
||||||
"HarfBuzzSharp.NativeAssets.Linux": "2.8.2-preview.178",
|
"HarfBuzzSharp.NativeAssets.Linux": "2.8.2-preview.178",
|
||||||
"HarfBuzzSharp.NativeAssets.WebAssembly": "2.8.2-preview.178",
|
"HarfBuzzSharp.NativeAssets.WebAssembly": "2.8.2-preview.178",
|
||||||
@ -152,50 +152,50 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.Svg.Skia": {
|
"Avalonia.Svg.Skia": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "Zw1kfOWN7ZaMqnoJsKqvU/8GxGbrv4KrkAbbLVHvhZl4sA0VZEjqdtxUAqSHlJrYtjPfaUzzDP9K3l0KCqnx/Q==",
|
"contentHash": "qsXKdm5eWpfoVPe0xgtxhbOYlhG8QdbYNJZTTihg/c4iPFYuh1G7DldiNskuVFuGiGxLVZ0g6ebql7ZkwbO1pA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"Avalonia.Skia": "0.10.11",
|
"Avalonia.Skia": "0.10.12",
|
||||||
"SkiaSharp": "2.88.0-preview.178",
|
"SkiaSharp": "2.88.0-preview.178",
|
||||||
"Svg.Skia": "0.5.11"
|
"Svg.Skia": "0.5.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.X11": {
|
"Avalonia.X11": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "joPVaMmPy4bC1STSk5+fAn5zZOT3gz4m/YSv6io3p2q68kEbc+d5KaYk/KcqA/WGiBBQx4a0ViPW/IRomI94kw==",
|
"contentHash": "mUY1cF1p86/UgLl1cbSmY3nVIatKQsSCDOH4avssL07xmKlRfB2G7Gi8jlhWNkLJTLL7iQp/u3X6bv7bs+0zNQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"Avalonia.FreeDesktop": "0.10.11",
|
"Avalonia.FreeDesktop": "0.10.12",
|
||||||
"Avalonia.Skia": "0.10.11"
|
"Avalonia.Skia": "0.10.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Xaml.Behaviors": {
|
"Avalonia.Xaml.Behaviors": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.11.5",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "XHU7/hRYWEdaJOs+weT9ml9/GYqroPrAtePjGzUzUrMoHESbqmkLXmW+fHkaAeXRMJAOAFD1LQUHQu+B6ThF3w==",
|
"contentHash": "upv7v1gZ31tCukw/KA1bB5+z29QuEWiZJ4KnW10daHlia1ru7q4lUJ/vCYKOy5L+zyi1MQg98SNYjRp5C64ZhQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"Avalonia.Xaml.Interactions": "0.10.11.5",
|
"Avalonia.Xaml.Interactions": "0.10.12",
|
||||||
"Avalonia.Xaml.Interactivity": "0.10.11.5"
|
"Avalonia.Xaml.Interactivity": "0.10.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Xaml.Interactions": {
|
"Avalonia.Xaml.Interactions": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.11.5",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "MpqS1t1zypDNEW2Pyg113W4AwmfaWai5LfA/K22sDbygXII+KuACaHt2ZPHJWnvKGHgasLEEFhEOGfF5cB9NPA==",
|
"contentHash": "PSohbY4aQGiJVWfvLKkuUE71ZxvZ0/FuTc3Y5GJgTC41kCgeaiJTczkC2FjW5sZ8exPDabSp+ZukSsnm/z6y7A==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"Avalonia.Xaml.Interactivity": "0.10.11.5"
|
"Avalonia.Xaml.Interactivity": "0.10.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Xaml.Interactivity": {
|
"Avalonia.Xaml.Interactivity": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.11.5",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "MOM6lcPenJZu9LPhai3n67GssBUx3MjoCVLyR2GEJ6lywKQgk4MKOIAC0gLWgy7x1e540oy4lCpeX8jMsqe7mA==",
|
"contentHash": "uey4LjyIds78igMe7AZ072RI6GpO16sd6+6XF6LG0oE07De7ei0So14oOs4wLS4WJyaKDRSUK6PuhLaY1zIZdQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11"
|
"Avalonia": "0.10.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Castle.Core": {
|
"Castle.Core": {
|
||||||
@ -452,10 +452,10 @@
|
|||||||
},
|
},
|
||||||
"Microsoft.Win32.SystemEvents": {
|
"Microsoft.Win32.SystemEvents": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "5.0.0",
|
"resolved": "4.5.0",
|
||||||
"contentHash": "Bh6blKG8VAKvXiLe2L+sEsn62nc1Ij34MrNxepD2OCrS5cpCwQa9MeLyhVQPQ/R4Wlzwuy6wMK8hLb11QPDRsQ==",
|
"contentHash": "LuI1oG+24TUj1ZRQQjM5Ew73BKnZE5NZ/7eAdh1o8ST5dPhUnJvIkiIn2re3MwnkRy6ELRnvEbBxHP8uALKhJw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Microsoft.NETCore.Platforms": "5.0.0"
|
"Microsoft.NETCore.Platforms": "2.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"NETStandard.Library": {
|
"NETStandard.Library": {
|
||||||
@ -715,8 +715,8 @@
|
|||||||
},
|
},
|
||||||
"ShimSkiaSharp": {
|
"ShimSkiaSharp": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.5.11",
|
"resolved": "0.5.12",
|
||||||
"contentHash": "a04YHHKRK1xY8ccSgpa6HOmOw9Kuivo2b2qejp9CK00ykdCBK3Mmc+ekBx954+zPQBksN6aLhvn1SEL7QG2s8Q=="
|
"contentHash": "oUGM7gQHRzbGPRs3E1pe5e8VwML21YyEz9xdo+r2ov1mAqSDPyXErVQP6pN4gnfYMVf5ADR7BVkVzt4R9Iz3gQ=="
|
||||||
},
|
},
|
||||||
"SkiaSharp": {
|
"SkiaSharp": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
@ -776,11 +776,10 @@
|
|||||||
},
|
},
|
||||||
"Svg.Custom": {
|
"Svg.Custom": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.5.11",
|
"resolved": "0.5.12",
|
||||||
"contentHash": "8OEW3UKx07JfEyqzzvF5+ycydusZjg6jsBjDSBrAoq62c5gNZrs6brlOKm2ywEj9hObK3sLcat5BHnE2OUHXsg==",
|
"contentHash": "kmjLQf5U5WC7tRGBedUhtrOUCR0NaNL2auzOA2a/oMwEA0Bjrpd6qvMTpJUS3HITxi8vJazGl270K+i0JvdJog==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Fizzler": "1.2.0",
|
"Fizzler": "1.2.0",
|
||||||
"System.Drawing.Common": "5.0.0",
|
|
||||||
"System.Memory": "4.5.3",
|
"System.Memory": "4.5.3",
|
||||||
"System.ObjectModel": "4.3.0",
|
"System.ObjectModel": "4.3.0",
|
||||||
"System.ValueTuple": "4.5.0"
|
"System.ValueTuple": "4.5.0"
|
||||||
@ -788,22 +787,22 @@
|
|||||||
},
|
},
|
||||||
"Svg.Model": {
|
"Svg.Model": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.5.11",
|
"resolved": "0.5.12",
|
||||||
"contentHash": "5/Y+BGjgTwobA9aDfcpTGF/bm83MYrEYM8J1LpPohRR+c+B/1N+rbSXfpDZq2omBJ1O0Sa5VjAXw1oAdm1lYLg==",
|
"contentHash": "/CPiXIugg4oVyYlQr26fB1X9iQfICALF8AJXbTWnXGoP2WZa1t6aZbAXPk3HoPApA0w5waf3XXkBiYYnWwawaQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ShimSkiaSharp": "0.5.11",
|
"ShimSkiaSharp": "0.5.12",
|
||||||
"Svg.Custom": "0.5.11"
|
"Svg.Custom": "0.5.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Svg.Skia": {
|
"Svg.Skia": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.5.11",
|
"resolved": "0.5.12",
|
||||||
"contentHash": "AiN5rSsYBzBUkoh8YK5HoNxRxHtUekp2/6ZAol8qV8oDr6vu8hmPuWjUDwvqCFMi9Dlllc6YsFfvJ1PZCJvYew==",
|
"contentHash": "KjKpjz0FKge+WpRzjD1bqywAW3vZhXwpR5c7Ej5OuP4xDrQjBwtFeB0iZ+yEJMzwXf/Rs4ImuN8m3bmBDJvMHg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"SkiaSharp": "2.88.0-preview.178",
|
"SkiaSharp": "2.88.0-preview.178",
|
||||||
"SkiaSharp.HarfBuzz": "2.88.0-preview.178",
|
"SkiaSharp.HarfBuzz": "2.88.0-preview.178",
|
||||||
"Svg.Custom": "0.5.11",
|
"Svg.Custom": "0.5.12",
|
||||||
"Svg.Model": "0.5.11"
|
"Svg.Model": "0.5.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"System.AppContext": {
|
"System.AppContext": {
|
||||||
@ -995,10 +994,11 @@
|
|||||||
},
|
},
|
||||||
"System.Drawing.Common": {
|
"System.Drawing.Common": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "5.0.0",
|
"resolved": "4.5.0",
|
||||||
"contentHash": "SztFwAnpfKC8+sEKXAFxCBWhKQaEd97EiOL7oZJZP56zbqnLpmxACWA8aGseaUExciuEAUuR9dY8f7HkTRAdnw==",
|
"contentHash": "AiJFxxVPdeITstiRS5aAu8+8Dpf5NawTMoapZ53Gfirml24p7HIfhjmCRxdXnmmf3IUA3AX3CcW7G73CjWxW/Q==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Microsoft.Win32.SystemEvents": "5.0.0"
|
"Microsoft.NETCore.Platforms": "2.0.0",
|
||||||
|
"Microsoft.Win32.SystemEvents": "4.5.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"System.Dynamic.Runtime": {
|
"System.Dynamic.Runtime": {
|
||||||
@ -1762,12 +1762,12 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Artemis.Core": "1.0.0",
|
"Artemis.Core": "1.0.0",
|
||||||
"Artemis.UI.Shared": "1.0.0",
|
"Artemis.UI.Shared": "1.0.0",
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"Avalonia.Controls.PanAndZoom": "10.11.1",
|
"Avalonia.Controls.PanAndZoom": "10.12.0",
|
||||||
"Avalonia.Desktop": "0.10.11",
|
"Avalonia.Desktop": "0.10.12",
|
||||||
"Avalonia.Diagnostics": "0.10.11",
|
"Avalonia.Diagnostics": "0.10.12",
|
||||||
"Avalonia.ReactiveUI": "0.10.11",
|
"Avalonia.ReactiveUI": "0.10.12",
|
||||||
"Avalonia.Svg.Skia": "0.10.11",
|
"Avalonia.Svg.Skia": "0.10.12",
|
||||||
"DynamicData": "7.4.9",
|
"DynamicData": "7.4.9",
|
||||||
"FluentAvaloniaUI": "1.1.8",
|
"FluentAvaloniaUI": "1.1.8",
|
||||||
"Flurl.Http": "3.2.0",
|
"Flurl.Http": "3.2.0",
|
||||||
@ -1775,7 +1775,7 @@
|
|||||||
"Material.Icons.Avalonia": "1.0.2",
|
"Material.Icons.Avalonia": "1.0.2",
|
||||||
"RGB.NET.Core": "1.0.0-prerelease7",
|
"RGB.NET.Core": "1.0.0-prerelease7",
|
||||||
"RGB.NET.Layout": "1.0.0-prerelease7",
|
"RGB.NET.Layout": "1.0.0-prerelease7",
|
||||||
"ReactiveUI": "16.3.10",
|
"ReactiveUI": "17.1.17",
|
||||||
"ReactiveUI.Validation": "2.2.1",
|
"ReactiveUI.Validation": "2.2.1",
|
||||||
"SkiaSharp": "2.88.0-preview.178",
|
"SkiaSharp": "2.88.0-preview.178",
|
||||||
"Splat.Ninject": "14.1.17"
|
"Splat.Ninject": "14.1.17"
|
||||||
@ -1785,17 +1785,17 @@
|
|||||||
"type": "Project",
|
"type": "Project",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Artemis.Core": "1.0.0",
|
"Artemis.Core": "1.0.0",
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"Avalonia.ReactiveUI": "0.10.11",
|
"Avalonia.ReactiveUI": "0.10.12",
|
||||||
"Avalonia.Svg.Skia": "0.10.11",
|
"Avalonia.Svg.Skia": "0.10.12",
|
||||||
"Avalonia.Xaml.Behaviors": "0.10.11.5",
|
"Avalonia.Xaml.Behaviors": "0.10.12",
|
||||||
"Avalonia.Xaml.Interactions": "0.10.11.5",
|
"Avalonia.Xaml.Interactions": "0.10.12",
|
||||||
"Avalonia.Xaml.Interactivity": "0.10.11.5",
|
"Avalonia.Xaml.Interactivity": "0.10.12",
|
||||||
"DynamicData": "7.4.9",
|
"DynamicData": "7.4.9",
|
||||||
"FluentAvaloniaUI": "1.1.8",
|
"FluentAvaloniaUI": "1.1.8",
|
||||||
"Material.Icons.Avalonia": "1.0.2",
|
"Material.Icons.Avalonia": "1.0.2",
|
||||||
"RGB.NET.Core": "1.0.0-prerelease7",
|
"RGB.NET.Core": "1.0.0-prerelease7",
|
||||||
"ReactiveUI": "16.3.10",
|
"ReactiveUI": "17.1.17",
|
||||||
"ReactiveUI.Validation": "2.2.1",
|
"ReactiveUI.Validation": "2.2.1",
|
||||||
"SkiaSharp": "2.88.0-preview.178"
|
"SkiaSharp": "2.88.0-preview.178"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -15,18 +15,18 @@
|
|||||||
<None Remove="Assets\Images\Logo\application.ico" />
|
<None Remove="Assets\Images\Logo\application.ico" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Avalonia" Version="0.10.11" />
|
<PackageReference Include="Avalonia" Version="0.10.12" />
|
||||||
<PackageReference Include="Avalonia.Controls.PanAndZoom" Version="10.11.1" />
|
<PackageReference Include="Avalonia.Controls.PanAndZoom" Version="10.12.0" />
|
||||||
<PackageReference Include="Avalonia.Desktop" Version="0.10.11" />
|
<PackageReference Include="Avalonia.Desktop" Version="0.10.12" />
|
||||||
<PackageReference Include="Avalonia.Diagnostics" Version="0.10.11" />
|
<PackageReference Include="Avalonia.Diagnostics" Version="0.10.12" />
|
||||||
<PackageReference Include="Avalonia.ReactiveUI" Version="0.10.11" />
|
<PackageReference Include="Avalonia.ReactiveUI" Version="0.10.12" />
|
||||||
<PackageReference Include="Avalonia.Svg.Skia" Version="0.10.11" />
|
<PackageReference Include="Avalonia.Svg.Skia" Version="0.10.12" />
|
||||||
<PackageReference Include="DynamicData" Version="7.4.9" />
|
<PackageReference Include="DynamicData" Version="7.4.9" />
|
||||||
<PackageReference Include="FluentAvaloniaUI" Version="1.1.8" />
|
<PackageReference Include="FluentAvaloniaUI" Version="1.1.8" />
|
||||||
<PackageReference Include="Flurl.Http" Version="3.2.0" />
|
<PackageReference Include="Flurl.Http" Version="3.2.0" />
|
||||||
<PackageReference Include="Live.Avalonia" Version="1.3.1" />
|
<PackageReference Include="Live.Avalonia" Version="1.3.1" />
|
||||||
<PackageReference Include="Material.Icons.Avalonia" Version="1.0.2" />
|
<PackageReference Include="Material.Icons.Avalonia" Version="1.0.2" />
|
||||||
<PackageReference Include="ReactiveUI" Version="16.3.10" />
|
<PackageReference Include="ReactiveUI" Version="17.1.17" />
|
||||||
<PackageReference Include="ReactiveUI.Validation" Version="2.2.1" />
|
<PackageReference Include="ReactiveUI.Validation" Version="2.2.1" />
|
||||||
<PackageReference Include="RGB.NET.Core" Version="1.0.0-prerelease7" />
|
<PackageReference Include="RGB.NET.Core" Version="1.0.0-prerelease7" />
|
||||||
<PackageReference Include="RGB.NET.Layout" Version="1.0.0-prerelease7" />
|
<PackageReference Include="RGB.NET.Layout" Version="1.0.0-prerelease7" />
|
||||||
@ -50,6 +50,9 @@
|
|||||||
<Resource Include="Assets\Images\Logo\bow.svg" />
|
<Resource Include="Assets\Images\Logo\bow.svg" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<Compile Update="DefaultTypes\PropertyInput\StringPropertyInputView.axaml.cs">
|
||||||
|
<DependentUpon>StringPropertyInputView.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
<Compile Update="Screens\ProfileEditor\Panels\Properties\PropertiesView.axaml.cs">
|
<Compile Update="Screens\ProfileEditor\Panels\Properties\PropertiesView.axaml.cs">
|
||||||
<DependentUpon>PropertiesView.axaml</DependentUpon>
|
<DependentUpon>PropertiesView.axaml</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
@ -57,4 +60,9 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Folder Include="DefaultTypes\DataModel\Display\" />
|
<Folder Include="DefaultTypes\DataModel\Display\" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<AvaloniaXaml Update="DefaultTypes\PropertyInput\StringPropertyInputView.axaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
</AvaloniaXaml>
|
||||||
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
@ -8,7 +8,10 @@
|
|||||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||||
x:Class="Artemis.UI.DefaultTypes.PropertyInput.FloatPropertyInputView"
|
x:Class="Artemis.UI.DefaultTypes.PropertyInput.FloatPropertyInputView"
|
||||||
x:DataType="propertyInput:FloatPropertyInputViewModel">
|
x:DataType="propertyInput:FloatPropertyInputViewModel">
|
||||||
<controls:NumberBox Classes="condensed"
|
<UserControl.Styles>
|
||||||
|
<StyleInclude Source="/DefaultTypes/PropertyInput/PropertyInputStyles.axaml" />
|
||||||
|
</UserControl.Styles>
|
||||||
|
<controls:NumberBox Classes="condensed tooltip-validation-left"
|
||||||
MinWidth="80"
|
MinWidth="80"
|
||||||
Value="{CompiledBinding InputValue}"
|
Value="{CompiledBinding InputValue}"
|
||||||
SmallChange="{Binding LayerProperty.PropertyDescription.InputStepSize}"
|
SmallChange="{Binding LayerProperty.PropertyDescription.InputStepSize}"
|
||||||
@ -16,5 +19,5 @@
|
|||||||
SimpleNumberFormat="F3"
|
SimpleNumberFormat="F3"
|
||||||
VerticalAlignment="Center"
|
VerticalAlignment="Center"
|
||||||
shared:NumberBoxAssist.PrefixText="{CompiledBinding Prefix}"
|
shared:NumberBoxAssist.PrefixText="{CompiledBinding Prefix}"
|
||||||
shared:NumberBoxAssist.SuffixText="{CompiledBinding Affix}"/>
|
shared:NumberBoxAssist.SuffixText="{CompiledBinding Affix}" />
|
||||||
</UserControl>
|
</UserControl>
|
||||||
@ -14,7 +14,7 @@ public class FloatPropertyInputViewModel : PropertyInputViewModel<float>
|
|||||||
this.ValidationRule(vm => vm.InputValue, i => i >= (float) LayerProperty.PropertyDescription.MinInputValue,
|
this.ValidationRule(vm => vm.InputValue, i => i >= (float) LayerProperty.PropertyDescription.MinInputValue,
|
||||||
$"Value must be equal to or greater than {LayerProperty.PropertyDescription.MinInputValue}.");
|
$"Value must be equal to or greater than {LayerProperty.PropertyDescription.MinInputValue}.");
|
||||||
if (LayerProperty.PropertyDescription.MaxInputValue.IsNumber())
|
if (LayerProperty.PropertyDescription.MaxInputValue.IsNumber())
|
||||||
this.ValidationRule(vm => vm.InputValue, i => i < (float) LayerProperty.PropertyDescription.MaxInputValue,
|
this.ValidationRule(vm => vm.InputValue, i => i <= (float) LayerProperty.PropertyDescription.MaxInputValue,
|
||||||
$"Value must be smaller than {LayerProperty.PropertyDescription.MaxInputValue}.");
|
$"Value must be smaller than {LayerProperty.PropertyDescription.MaxInputValue}.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -0,0 +1,52 @@
|
|||||||
|
<Styles xmlns="https://github.com/avaloniaui"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
xmlns:system="clr-namespace:System;assembly=System.Runtime"
|
||||||
|
xmlns:controls="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia">
|
||||||
|
<Design.PreviewWith>
|
||||||
|
<Border Padding="20" Width="600" Height="200">
|
||||||
|
<StackPanel Spacing="10">
|
||||||
|
<TextBox Classes="tooltip-validation-left" Text="Sample" VerticalAlignment="Top">
|
||||||
|
<DataValidationErrors.Error>
|
||||||
|
<system:Exception/>
|
||||||
|
</DataValidationErrors.Error>
|
||||||
|
</TextBox>
|
||||||
|
<controls:NumberBox Classes="tooltip-validation-left" Text="Sample" VerticalAlignment="Top">
|
||||||
|
<DataValidationErrors.Error>
|
||||||
|
<system:Exception/>
|
||||||
|
</DataValidationErrors.Error>
|
||||||
|
</controls:NumberBox>
|
||||||
|
</StackPanel>
|
||||||
|
</Border>
|
||||||
|
</Design.PreviewWith>
|
||||||
|
|
||||||
|
<Style Selector="DataValidationErrors">
|
||||||
|
<Style.Resources>
|
||||||
|
<ControlTemplate x:Key="TooltipDataValidationLeftContentTemplate" TargetType="DataValidationErrors">
|
||||||
|
<DockPanel LastChildFill="True">
|
||||||
|
<ContentControl Content="{Binding (DataValidationErrors.Errors)}"
|
||||||
|
ContentTemplate="{TemplateBinding ErrorTemplate}"
|
||||||
|
DataContext="{TemplateBinding Owner}"
|
||||||
|
DockPanel.Dock="Left"
|
||||||
|
IsVisible="{Binding (DataValidationErrors.HasErrors)}" />
|
||||||
|
<ContentPresenter Name="PART_ContentPresenter"
|
||||||
|
Padding="{TemplateBinding Padding}"
|
||||||
|
Background="{TemplateBinding Background}"
|
||||||
|
BorderBrush="{TemplateBinding BorderBrush}"
|
||||||
|
BorderThickness="{TemplateBinding BorderThickness}"
|
||||||
|
Content="{TemplateBinding Content}"
|
||||||
|
ContentTemplate="{TemplateBinding ContentTemplate}" />
|
||||||
|
</DockPanel>
|
||||||
|
</ControlTemplate>
|
||||||
|
</Style.Resources>
|
||||||
|
</Style>
|
||||||
|
|
||||||
|
<Style Selector="TextBox.tooltip-validation-left DataValidationErrors">
|
||||||
|
<Setter Property="Template" Value="{DynamicResource TooltipDataValidationLeftContentTemplate}" />
|
||||||
|
<Setter Property="ErrorTemplate" Value="{DynamicResource TooltipDataValidationErrorTemplate}" />
|
||||||
|
</Style>
|
||||||
|
|
||||||
|
<Style Selector="controls|NumberBox.tooltip-validation-left /template/ TextBox DataValidationErrors">
|
||||||
|
<Setter Property="Template" Value="{DynamicResource TooltipDataValidationLeftContentTemplate}" />
|
||||||
|
<Setter Property="ErrorTemplate" Value="{DynamicResource TooltipDataValidationErrorTemplate}" />
|
||||||
|
</Style>
|
||||||
|
</Styles>
|
||||||
@ -0,0 +1,19 @@
|
|||||||
|
<UserControl xmlns="https://github.com/avaloniaui"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
|
xmlns:shared="clr-namespace:Artemis.UI.Shared.AttachedProperties;assembly=Artemis.UI.Shared"
|
||||||
|
xmlns:propertyInput="clr-namespace:Artemis.UI.DefaultTypes.PropertyInput"
|
||||||
|
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||||
|
x:Class="Artemis.UI.DefaultTypes.PropertyInput.StringPropertyInputView"
|
||||||
|
x:DataType="propertyInput:StringPropertyInputViewModel">
|
||||||
|
<UserControl.Styles>
|
||||||
|
<StyleInclude Source="/DefaultTypes/PropertyInput/PropertyInputStyles.axaml" />
|
||||||
|
</UserControl.Styles>
|
||||||
|
<TextBox Classes="condensed tooltip-validation-left"
|
||||||
|
MinWidth="80"
|
||||||
|
Text="{CompiledBinding InputValue}"
|
||||||
|
VerticalAlignment="Center"
|
||||||
|
shared:TextBoxAssist.PrefixText="{CompiledBinding Prefix}"
|
||||||
|
shared:TextBoxAssist.SuffixText="{CompiledBinding Affix}" />
|
||||||
|
</UserControl>
|
||||||
@ -0,0 +1,25 @@
|
|||||||
|
using Avalonia.Input;
|
||||||
|
using Avalonia.Markup.Xaml;
|
||||||
|
using Avalonia.ReactiveUI;
|
||||||
|
|
||||||
|
namespace Artemis.UI.DefaultTypes.PropertyInput;
|
||||||
|
|
||||||
|
public class StringPropertyInputView : ReactiveUserControl<FloatPropertyInputViewModel>
|
||||||
|
{
|
||||||
|
public StringPropertyInputView()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
AddHandler(KeyUpEvent, OnRoutedKeyUp, handledEventsToo: true);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void InitializeComponent()
|
||||||
|
{
|
||||||
|
AvaloniaXamlLoader.Load(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnRoutedKeyUp(object? sender, KeyEventArgs e)
|
||||||
|
{
|
||||||
|
if (e.Key == Key.Enter || e.Key == Key.Escape)
|
||||||
|
FocusManager.Instance!.Focus(null);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,13 @@
|
|||||||
|
using Artemis.Core;
|
||||||
|
using Artemis.UI.Shared.Services.ProfileEditor;
|
||||||
|
using Artemis.UI.Shared.Services.PropertyInput;
|
||||||
|
|
||||||
|
namespace Artemis.UI.DefaultTypes.PropertyInput;
|
||||||
|
|
||||||
|
public class StringPropertyInputViewModel : PropertyInputViewModel<string>
|
||||||
|
{
|
||||||
|
public StringPropertyInputViewModel(LayerProperty<string> layerProperty, IProfileEditorService profileEditorService, IPropertyInputService propertyInputService)
|
||||||
|
: base(layerProperty, profileEditorService, propertyInputService)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -10,6 +10,7 @@ using Artemis.UI.Screens.ProfileEditor.Properties;
|
|||||||
using Artemis.UI.Screens.ProfileEditor.Properties.Timeline;
|
using Artemis.UI.Screens.ProfileEditor.Properties.Timeline;
|
||||||
using Artemis.UI.Screens.ProfileEditor.Properties.Timeline.Segments;
|
using Artemis.UI.Screens.ProfileEditor.Properties.Timeline.Segments;
|
||||||
using Artemis.UI.Screens.ProfileEditor.Properties.Tree;
|
using Artemis.UI.Screens.ProfileEditor.Properties.Tree;
|
||||||
|
using Artemis.UI.Screens.ProfileEditor.VisualEditor.Visualizers;
|
||||||
using Artemis.UI.Screens.Settings;
|
using Artemis.UI.Screens.Settings;
|
||||||
using Artemis.UI.Screens.Sidebar;
|
using Artemis.UI.Screens.Sidebar;
|
||||||
using Artemis.UI.Screens.SurfaceEditor;
|
using Artemis.UI.Screens.SurfaceEditor;
|
||||||
@ -64,6 +65,7 @@ namespace Artemis.UI.Ninject.Factories
|
|||||||
ProfileEditorViewModel ProfileEditorViewModel(IScreen hostScreen);
|
ProfileEditorViewModel ProfileEditorViewModel(IScreen hostScreen);
|
||||||
FolderTreeItemViewModel FolderTreeItemViewModel(TreeItemViewModel? parent, Folder folder);
|
FolderTreeItemViewModel FolderTreeItemViewModel(TreeItemViewModel? parent, Folder folder);
|
||||||
LayerTreeItemViewModel LayerTreeItemViewModel(TreeItemViewModel? parent, Layer layer);
|
LayerTreeItemViewModel LayerTreeItemViewModel(TreeItemViewModel? parent, Layer layer);
|
||||||
|
LayerVisualizerViewModel LayerVisualizerViewModel(Layer layer);
|
||||||
}
|
}
|
||||||
|
|
||||||
public interface ILayerPropertyVmFactory : IVmFactory
|
public interface ILayerPropertyVmFactory : IVmFactory
|
||||||
|
|||||||
@ -5,13 +5,13 @@ using Artemis.Core;
|
|||||||
using Artemis.Core.Services;
|
using Artemis.Core.Services;
|
||||||
using Artemis.UI.Shared;
|
using Artemis.UI.Shared;
|
||||||
using Artemis.UI.Shared.Services.ProfileEditor;
|
using Artemis.UI.Shared.Services.ProfileEditor;
|
||||||
|
using Avalonia.Threading;
|
||||||
using ReactiveUI;
|
using ReactiveUI;
|
||||||
|
|
||||||
namespace Artemis.UI.Screens.ProfileEditor.Playback;
|
namespace Artemis.UI.Screens.ProfileEditor.Playback;
|
||||||
|
|
||||||
public class PlaybackViewModel : ActivatableViewModelBase
|
public class PlaybackViewModel : ActivatableViewModelBase
|
||||||
{
|
{
|
||||||
private readonly ICoreService _coreService;
|
|
||||||
private readonly IProfileEditorService _profileEditorService;
|
private readonly IProfileEditorService _profileEditorService;
|
||||||
private readonly ISettingsService _settingsService;
|
private readonly ISettingsService _settingsService;
|
||||||
private RenderProfileElement? _profileElement;
|
private RenderProfileElement? _profileElement;
|
||||||
@ -21,10 +21,10 @@ public class PlaybackViewModel : ActivatableViewModelBase
|
|||||||
private bool _repeating;
|
private bool _repeating;
|
||||||
private bool _repeatTimeline;
|
private bool _repeatTimeline;
|
||||||
private bool _repeatSegment;
|
private bool _repeatSegment;
|
||||||
|
private DateTime _lastUpdate;
|
||||||
|
|
||||||
public PlaybackViewModel(ICoreService coreService, IProfileEditorService profileEditorService, ISettingsService settingsService)
|
public PlaybackViewModel(IProfileEditorService profileEditorService, ISettingsService settingsService)
|
||||||
{
|
{
|
||||||
_coreService = coreService;
|
|
||||||
_profileEditorService = profileEditorService;
|
_profileEditorService = profileEditorService;
|
||||||
_settingsService = settingsService;
|
_settingsService = settingsService;
|
||||||
|
|
||||||
@ -35,12 +35,14 @@ public class PlaybackViewModel : ActivatableViewModelBase
|
|||||||
_formattedCurrentTime = _profileEditorService.Time.Select(t => $"{Math.Floor(t.TotalSeconds):00}.{t.Milliseconds:000}").ToProperty(this, vm => vm.FormattedCurrentTime).DisposeWith(d);
|
_formattedCurrentTime = _profileEditorService.Time.Select(t => $"{Math.Floor(t.TotalSeconds):00}.{t.Milliseconds:000}").ToProperty(this, vm => vm.FormattedCurrentTime).DisposeWith(d);
|
||||||
_playing = _profileEditorService.Playing.ToProperty(this, vm => vm.Playing).DisposeWith(d);
|
_playing = _profileEditorService.Playing.ToProperty(this, vm => vm.Playing).DisposeWith(d);
|
||||||
|
|
||||||
Observable.FromEventPattern<FrameRenderingEventArgs>(x => coreService.FrameRendering += x, x => coreService.FrameRendering -= x)
|
_lastUpdate = DateTime.MinValue;
|
||||||
.Subscribe(e => CoreServiceOnFrameRendering(e.EventArgs))
|
DispatcherTimer updateTimer = new(TimeSpan.FromMilliseconds(60.0 / 1000), DispatcherPriority.Render, Update);
|
||||||
.DisposeWith(d);
|
updateTimer.Start();
|
||||||
|
Disposable.Create(() => updateTimer.Stop());
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public TimeSpan CurrentTime => _currentTime?.Value ?? TimeSpan.Zero;
|
public TimeSpan CurrentTime => _currentTime?.Value ?? TimeSpan.Zero;
|
||||||
public string? FormattedCurrentTime => _formattedCurrentTime?.Value;
|
public string? FormattedCurrentTime => _formattedCurrentTime?.Value;
|
||||||
public bool Playing => _playing?.Value ?? false;
|
public bool Playing => _playing?.Value ?? false;
|
||||||
@ -163,12 +165,17 @@ public class PlaybackViewModel : ActivatableViewModelBase
|
|||||||
return TimeSpan.Zero;
|
return TimeSpan.Zero;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void CoreServiceOnFrameRendering(FrameRenderingEventArgs e)
|
private void Update(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
try
|
||||||
{
|
{
|
||||||
if (!Playing)
|
if (!Playing)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
TimeSpan newTime = CurrentTime.Add(TimeSpan.FromSeconds(e.DeltaTime));
|
if (_lastUpdate == DateTime.MinValue)
|
||||||
|
_lastUpdate = DateTime.Now;
|
||||||
|
|
||||||
|
TimeSpan newTime = CurrentTime.Add(DateTime.Now - _lastUpdate);
|
||||||
if (_profileElement != null)
|
if (_profileElement != null)
|
||||||
{
|
{
|
||||||
if (Repeating && RepeatTimeline)
|
if (Repeating && RepeatTimeline)
|
||||||
@ -190,4 +197,9 @@ public class PlaybackViewModel : ActivatableViewModelBase
|
|||||||
|
|
||||||
_profileEditorService.ChangeTime(newTime);
|
_profileEditorService.ChangeTime(newTime);
|
||||||
}
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
_lastUpdate = DateTime.Now;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@ -37,8 +37,7 @@
|
|||||||
|
|
||||||
<ContentControl Grid.Column="2"
|
<ContentControl Grid.Column="2"
|
||||||
Margin="5 0"
|
Margin="5 0"
|
||||||
Content="{Binding PropertyInputViewModel}"
|
Content="{Binding PropertyInputViewModel}"/>
|
||||||
ToolTip.Tip="{Binding LayerProperty.PropertyDescription.Description}" />
|
|
||||||
|
|
||||||
<Button Grid.Column="3"
|
<Button Grid.Column="3"
|
||||||
Margin="0 0 2 0"
|
Margin="0 0 2 0"
|
||||||
|
|||||||
@ -12,9 +12,9 @@ namespace Artemis.UI.Screens.ProfileEditor.Properties.Tree;
|
|||||||
internal class TreePropertyViewModel<T> : ActivatableViewModelBase, ITreePropertyViewModel
|
internal class TreePropertyViewModel<T> : ActivatableViewModelBase, ITreePropertyViewModel
|
||||||
{
|
{
|
||||||
private readonly IProfileEditorService _profileEditorService;
|
private readonly IProfileEditorService _profileEditorService;
|
||||||
|
private TimeSpan _time;
|
||||||
|
|
||||||
public TreePropertyViewModel(LayerProperty<T> layerProperty, PropertyViewModel propertyViewModel, IProfileEditorService profileEditorService,
|
public TreePropertyViewModel(LayerProperty<T> layerProperty, PropertyViewModel propertyViewModel, IProfileEditorService profileEditorService, IPropertyInputService propertyInputService)
|
||||||
IPropertyInputService propertyInputService)
|
|
||||||
{
|
{
|
||||||
_profileEditorService = profileEditorService;
|
_profileEditorService = profileEditorService;
|
||||||
|
|
||||||
@ -22,7 +22,11 @@ internal class TreePropertyViewModel<T> : ActivatableViewModelBase, ITreePropert
|
|||||||
PropertyViewModel = propertyViewModel;
|
PropertyViewModel = propertyViewModel;
|
||||||
PropertyInputViewModel = propertyInputService.CreatePropertyInputViewModel(LayerProperty);
|
PropertyInputViewModel = propertyInputService.CreatePropertyInputViewModel(LayerProperty);
|
||||||
|
|
||||||
this.WhenActivated(d => this.WhenAnyValue(vm => vm.LayerProperty.KeyframesEnabled).Subscribe(_ => this.RaisePropertyChanged(nameof(KeyframesEnabled))).DisposeWith(d));
|
this.WhenActivated(d =>
|
||||||
|
{
|
||||||
|
_profileEditorService.Time.Subscribe(t => _time = t).DisposeWith(d);
|
||||||
|
this.WhenAnyValue(vm => vm.LayerProperty.KeyframesEnabled).Subscribe(_ => this.RaisePropertyChanged(nameof(KeyframesEnabled))).DisposeWith(d);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public LayerProperty<T> LayerProperty { get; }
|
public LayerProperty<T> LayerProperty { get; }
|
||||||
@ -40,7 +44,7 @@ internal class TreePropertyViewModel<T> : ActivatableViewModelBase, ITreePropert
|
|||||||
if (value == LayerProperty.KeyframesEnabled)
|
if (value == LayerProperty.KeyframesEnabled)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
_profileEditorService.ExecuteCommand(new ToggleLayerPropertyKeyframes<T>(LayerProperty, value));
|
_profileEditorService.ExecuteCommand(new ToggleLayerPropertyKeyframes<T>(LayerProperty, value, _time));
|
||||||
}
|
}
|
||||||
|
|
||||||
public ILayerProperty BaseLayerProperty => LayerProperty;
|
public ILayerProperty BaseLayerProperty => LayerProperty;
|
||||||
|
|||||||
@ -0,0 +1,6 @@
|
|||||||
|
namespace Artemis.UI.Screens.ProfileEditor.VisualEditor.Tools
|
||||||
|
{
|
||||||
|
public interface IToolViewModel
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -25,6 +25,8 @@
|
|||||||
<TransformOperationsTransition Property="RenderTransform" Duration="0:0:0.2" Easing="CubicEaseOut"/>
|
<TransformOperationsTransition Property="RenderTransform" Duration="0:0:0.2" Easing="CubicEaseOut"/>
|
||||||
</Transitions>
|
</Transitions>
|
||||||
</Grid.Transitions>
|
</Grid.Transitions>
|
||||||
|
|
||||||
|
<!-- The bottom layer consists of devices -->
|
||||||
<ItemsControl Items="{CompiledBinding Devices}" ClipToBounds="False">
|
<ItemsControl Items="{CompiledBinding Devices}" ClipToBounds="False">
|
||||||
<ItemsControl.Styles>
|
<ItemsControl.Styles>
|
||||||
<Style Selector="ContentPresenter">
|
<Style Selector="ContentPresenter">
|
||||||
@ -42,6 +44,24 @@
|
|||||||
<controls:DeviceVisualizer Device="{Binding}" ShowColors="True" />
|
<controls:DeviceVisualizer Device="{Binding}" ShowColors="True" />
|
||||||
</DataTemplate>
|
</DataTemplate>
|
||||||
</ItemsControl.ItemTemplate>
|
</ItemsControl.ItemTemplate>
|
||||||
|
</ItemsControl>
|
||||||
|
|
||||||
|
<!-- The middle layer contains visualizers -->
|
||||||
|
<ItemsControl Items="{CompiledBinding Visualizers}" ClipToBounds="False">
|
||||||
|
<ItemsControl.ItemsPanel>
|
||||||
|
<ItemsPanelTemplate>
|
||||||
|
<Canvas />
|
||||||
|
</ItemsPanelTemplate>
|
||||||
|
</ItemsControl.ItemsPanel>
|
||||||
|
</ItemsControl>
|
||||||
|
|
||||||
|
<!-- The top layer contains tools -->
|
||||||
|
<ItemsControl Items="{CompiledBinding Tools}" ClipToBounds="False">
|
||||||
|
<ItemsControl.ItemsPanel>
|
||||||
|
<ItemsPanelTemplate>
|
||||||
|
<Canvas />
|
||||||
|
</ItemsPanelTemplate>
|
||||||
|
</ItemsControl.ItemsPanel>
|
||||||
</ItemsControl>
|
</ItemsControl>
|
||||||
</Grid>
|
</Grid>
|
||||||
</paz:ZoomBorder>
|
</paz:ZoomBorder>
|
||||||
|
|||||||
@ -3,28 +3,52 @@ using System.Collections.ObjectModel;
|
|||||||
using System.Reactive.Disposables;
|
using System.Reactive.Disposables;
|
||||||
using Artemis.Core;
|
using Artemis.Core;
|
||||||
using Artemis.Core.Services;
|
using Artemis.Core.Services;
|
||||||
|
using Artemis.UI.Ninject.Factories;
|
||||||
|
using Artemis.UI.Screens.ProfileEditor.VisualEditor.Tools;
|
||||||
|
using Artemis.UI.Screens.ProfileEditor.VisualEditor.Visualizers;
|
||||||
using Artemis.UI.Shared;
|
using Artemis.UI.Shared;
|
||||||
using Artemis.UI.Shared.Services.ProfileEditor;
|
using Artemis.UI.Shared.Services.ProfileEditor;
|
||||||
using ReactiveUI;
|
using ReactiveUI;
|
||||||
|
|
||||||
namespace Artemis.UI.Screens.ProfileEditor.VisualEditor
|
namespace Artemis.UI.Screens.ProfileEditor.VisualEditor;
|
||||||
|
|
||||||
|
public class VisualEditorViewModel : ActivatableViewModelBase
|
||||||
{
|
{
|
||||||
public class VisualEditorViewModel : ActivatableViewModelBase
|
private readonly IProfileEditorVmFactory _vmFactory;
|
||||||
{
|
private ObservableAsPropertyHelper<ProfileConfiguration?>? _profileConfiguration;
|
||||||
private ProfileConfiguration? _profileConfiguration;
|
|
||||||
|
|
||||||
public VisualEditorViewModel(IProfileEditorService profileEditorService, IRgbService rgbService)
|
public VisualEditorViewModel(IProfileEditorService profileEditorService, IRgbService rgbService, IProfileEditorVmFactory vmFactory)
|
||||||
{
|
{
|
||||||
|
_vmFactory = vmFactory;
|
||||||
Devices = new ObservableCollection<ArtemisDevice>(rgbService.EnabledDevices);
|
Devices = new ObservableCollection<ArtemisDevice>(rgbService.EnabledDevices);
|
||||||
this.WhenActivated(d => profileEditorService.ProfileConfiguration.Subscribe(configuration => ProfileConfiguration = configuration).DisposeWith(d));
|
Visualizers = new ObservableCollection<IVisualizerViewModel>();
|
||||||
|
Tools = new ObservableCollection<IToolViewModel>();
|
||||||
|
|
||||||
|
this.WhenActivated(d =>
|
||||||
|
{
|
||||||
|
_profileConfiguration = profileEditorService.ProfileConfiguration.ToProperty(this, vm => vm.ProfileConfiguration).DisposeWith(d);
|
||||||
|
profileEditorService.ProfileConfiguration.Subscribe(CreateVisualizers).DisposeWith(d);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public ProfileConfiguration? ProfileConfiguration
|
public ProfileConfiguration? ProfileConfiguration => _profileConfiguration?.Value;
|
||||||
{
|
|
||||||
get => _profileConfiguration;
|
|
||||||
set => this.RaiseAndSetIfChanged(ref _profileConfiguration, value);
|
|
||||||
}
|
|
||||||
|
|
||||||
public ObservableCollection<ArtemisDevice> Devices { get; }
|
public ObservableCollection<ArtemisDevice> Devices { get; }
|
||||||
|
public ObservableCollection<IVisualizerViewModel> Visualizers { get; set; }
|
||||||
|
public ObservableCollection<IToolViewModel> Tools { get; set; }
|
||||||
|
|
||||||
|
private void CreateVisualizers(ProfileConfiguration? profileConfiguration)
|
||||||
|
{
|
||||||
|
Visualizers.Clear();
|
||||||
|
if (profileConfiguration?.Profile == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
foreach (Layer layer in profileConfiguration.Profile.GetAllLayers())
|
||||||
|
CreateVisualizer(layer);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void CreateVisualizer(Layer layer)
|
||||||
|
{
|
||||||
|
Visualizers.Add(_vmFactory.LayerVisualizerViewModel(layer));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -0,0 +1,5 @@
|
|||||||
|
namespace Artemis.UI.Screens.ProfileEditor.VisualEditor.Visualizers;
|
||||||
|
|
||||||
|
public interface IVisualizerViewModel
|
||||||
|
{
|
||||||
|
}
|
||||||
@ -0,0 +1,23 @@
|
|||||||
|
<UserControl xmlns="https://github.com/avaloniaui"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
|
xmlns:visualizers="clr-namespace:Artemis.UI.Screens.ProfileEditor.VisualEditor.Visualizers"
|
||||||
|
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||||
|
x:Class="Artemis.UI.Screens.ProfileEditor.VisualEditor.Visualizers.LayerVisualizerView"
|
||||||
|
x:DataType="visualizers:LayerVisualizerViewModel">
|
||||||
|
<UserControl.Styles>
|
||||||
|
<Style Selector="Path.layer-visualizer">
|
||||||
|
<Setter Property="Stroke" Value="{StaticResource ButtonBorderBrushDisabled}" />
|
||||||
|
</Style>
|
||||||
|
<Style Selector="Path.layer-visualizer-selected">
|
||||||
|
<Setter Property="Stroke" Value="{StaticResource SystemAccentColorLight1}" />
|
||||||
|
</Style>
|
||||||
|
</UserControl.Styles>
|
||||||
|
<Path Classes="layer-visualizer"
|
||||||
|
Classes.layer-visualizer-selected="{CompiledBinding Selected}"
|
||||||
|
Data="{CompiledBinding ShapeGeometry, Mode=OneWay}"
|
||||||
|
StrokeThickness="2"
|
||||||
|
Margin="0 0 2 2">
|
||||||
|
</Path>
|
||||||
|
</UserControl>
|
||||||
@ -0,0 +1,18 @@
|
|||||||
|
using Avalonia.Markup.Xaml;
|
||||||
|
using Avalonia.ReactiveUI;
|
||||||
|
|
||||||
|
namespace Artemis.UI.Screens.ProfileEditor.VisualEditor.Visualizers
|
||||||
|
{
|
||||||
|
public partial class LayerVisualizerView : ReactiveUserControl<LayerVisualizerViewModel>
|
||||||
|
{
|
||||||
|
public LayerVisualizerView()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void InitializeComponent()
|
||||||
|
{
|
||||||
|
AvaloniaXamlLoader.Load(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,67 @@
|
|||||||
|
using System;
|
||||||
|
using System.Reactive.Linq;
|
||||||
|
using Artemis.Core;
|
||||||
|
using Artemis.UI.Shared;
|
||||||
|
using Artemis.UI.Shared.Extensions;
|
||||||
|
using Artemis.UI.Shared.Services.ProfileEditor;
|
||||||
|
using Avalonia.Controls.Mixins;
|
||||||
|
using Avalonia.Media;
|
||||||
|
using ReactiveUI;
|
||||||
|
|
||||||
|
namespace Artemis.UI.Screens.ProfileEditor.VisualEditor.Visualizers;
|
||||||
|
|
||||||
|
public class LayerVisualizerViewModel : ActivatableViewModelBase, IVisualizerViewModel
|
||||||
|
{
|
||||||
|
private Geometry? _shapeGeometry;
|
||||||
|
private ObservableAsPropertyHelper<bool>? _selected;
|
||||||
|
|
||||||
|
public LayerVisualizerViewModel(Layer layer, IProfileEditorService profileEditorService)
|
||||||
|
{
|
||||||
|
Layer = layer;
|
||||||
|
|
||||||
|
this.WhenActivated(d =>
|
||||||
|
{
|
||||||
|
Observable.FromEventPattern(x => Layer.RenderPropertiesUpdated += x, x => Layer.RenderPropertiesUpdated -= x).Subscribe(_ => UpdateShape()).DisposeWith(d);
|
||||||
|
Observable.FromEventPattern<LayerPropertyEventArgs>(x => Layer.Transform.Position.CurrentValueSet += x, x => Layer.Transform.Position.CurrentValueSet -= x)
|
||||||
|
.Subscribe(_ => UpdateTransform())
|
||||||
|
.DisposeWith(d);
|
||||||
|
Observable.FromEventPattern<LayerPropertyEventArgs>(x => Layer.Transform.Rotation.CurrentValueSet += x, x => Layer.Transform.Rotation.CurrentValueSet -= x)
|
||||||
|
.Subscribe(_ => UpdateTransform())
|
||||||
|
.DisposeWith(d);
|
||||||
|
Observable.FromEventPattern<LayerPropertyEventArgs>(x => Layer.Transform.Scale.CurrentValueSet += x, x => Layer.Transform.Scale.CurrentValueSet -= x)
|
||||||
|
.Subscribe(_ => UpdateTransform())
|
||||||
|
.DisposeWith(d);
|
||||||
|
Observable.FromEventPattern<LayerPropertyEventArgs>(x => Layer.Transform.AnchorPoint.CurrentValueSet += x, x => Layer.Transform.AnchorPoint.CurrentValueSet -= x)
|
||||||
|
.Subscribe(_ => UpdateTransform())
|
||||||
|
.DisposeWith(d);
|
||||||
|
|
||||||
|
_selected = profileEditorService.ProfileElement.Select(p => p == Layer).ToProperty(this, vm => vm.Selected).DisposeWith(d);
|
||||||
|
|
||||||
|
profileEditorService.Time.Subscribe(_ => UpdateTransform()).DisposeWith(d);
|
||||||
|
UpdateShape();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public Layer Layer { get; }
|
||||||
|
public bool Selected => _selected?.Value ?? false;
|
||||||
|
|
||||||
|
public Geometry? ShapeGeometry
|
||||||
|
{
|
||||||
|
get => _shapeGeometry;
|
||||||
|
set => this.RaiseAndSetIfChanged(ref _shapeGeometry, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void UpdateShape()
|
||||||
|
{
|
||||||
|
if (Layer.General.ShapeType.CurrentValue == LayerShapeType.Rectangle)
|
||||||
|
ShapeGeometry = new RectangleGeometry(Layer.Bounds.ToRect());
|
||||||
|
else
|
||||||
|
ShapeGeometry = new EllipseGeometry(Layer.Bounds.ToRect());
|
||||||
|
}
|
||||||
|
|
||||||
|
private void UpdateTransform()
|
||||||
|
{
|
||||||
|
if (ShapeGeometry != null)
|
||||||
|
ShapeGeometry.Transform = new MatrixTransform(Layer.GetTransformMatrix(false, true, true, true).ToMatrix());
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -4,11 +4,11 @@
|
|||||||
"net6.0": {
|
"net6.0": {
|
||||||
"Avalonia": {
|
"Avalonia": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[0.10.11, )",
|
"requested": "[0.10.12, )",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "2PSE+dB4vGJfG+1M+y+Hwaxiqze5mbBTTG9hjwc2Z3U/9yJE/GThBEst2WwI0yBt13hsfAfbABzt1PA3mtbFdw==",
|
"contentHash": "ftI5uGBFvWJpizGc6PT6lOb6FiO8AWcSYS9N4FWvXgOvuqWuTgmjwURPUkvajpeaQLKOOea6AbgotSyhV8NNoQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia.Remote.Protocol": "0.10.11",
|
"Avalonia.Remote.Protocol": "0.10.12",
|
||||||
"JetBrains.Annotations": "10.3.0",
|
"JetBrains.Annotations": "10.3.0",
|
||||||
"System.ComponentModel.Annotations": "4.5.0",
|
"System.ComponentModel.Annotations": "4.5.0",
|
||||||
"System.Memory": "4.5.3",
|
"System.Memory": "4.5.3",
|
||||||
@ -19,59 +19,59 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.Controls.PanAndZoom": {
|
"Avalonia.Controls.PanAndZoom": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[10.11.1, )",
|
"requested": "[10.12.0, )",
|
||||||
"resolved": "10.11.1",
|
"resolved": "10.12.0",
|
||||||
"contentHash": "XIjA3iGHMfokPXw/ov5CqKKPR8HdVrTBOMYJVOGpDQyec6RwI/w7lq530wfIMebIe9xUj5RY2Jx5heQtCuAFmg==",
|
"contentHash": "ns+2tJTXTpNzNA9YV2mjR4EJOZl2vBFWnGUTSIl/vyOQMrrU5CbsXQxy2MFBvW0vGrRTlw80nUtBnsT759kwKQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11"
|
"Avalonia": "0.10.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Desktop": {
|
"Avalonia.Desktop": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[0.10.11, )",
|
"requested": "[0.10.12, )",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "PQTl4lm7IZidzltMwC7RSNaoz7TYNznU8SKa/WaAI6ycMzC0On2DsqiL1dXr6WhYzMazyMJj6kBhiQzHIc1lIQ==",
|
"contentHash": "wy4k1uarrmZJSJENCe1hjNpdCJWhup0gt6KA2TtZILfGG7imj+an5IuQZUSXtA7cl7A+6tF6lPQLo82gESUlXQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"Avalonia.Native": "0.10.11",
|
"Avalonia.Native": "0.10.12",
|
||||||
"Avalonia.Skia": "0.10.11",
|
"Avalonia.Skia": "0.10.12",
|
||||||
"Avalonia.Win32": "0.10.11",
|
"Avalonia.Win32": "0.10.12",
|
||||||
"Avalonia.X11": "0.10.11"
|
"Avalonia.X11": "0.10.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Diagnostics": {
|
"Avalonia.Diagnostics": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[0.10.11, )",
|
"requested": "[0.10.12, )",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "xBvBkF2DBKjddAfQbExd660zQ5RaDEXH1JgAdMyYOdu3qFL6d+QHyZdVHVeQFilNYE03F6C8AbMWrmj6dBUNlg==",
|
"contentHash": "Pf9DGiSwl3+gPrRSHKFzDG20I9QJ5P1g6BexLKfHQH9+Cmax+a/UEVYQq4hGn0xhrmpuLYOeGHb8wasjAT4EfQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"Avalonia.Controls.DataGrid": "0.10.11",
|
"Avalonia.Controls.DataGrid": "0.10.12",
|
||||||
"Microsoft.CodeAnalysis.CSharp.Scripting": "3.4.0",
|
"Microsoft.CodeAnalysis.CSharp.Scripting": "3.4.0",
|
||||||
"System.Reactive": "5.0.0"
|
"System.Reactive": "5.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.ReactiveUI": {
|
"Avalonia.ReactiveUI": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[0.10.11, )",
|
"requested": "[0.10.12, )",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "I/++/4Halsx9HIp99nBwB2nIMrI9zw2M8wDcK1HaYVMKU+m3KFA9w+DfV7g/wEceWSMeX7yAvUjRnaUYtBO08Q==",
|
"contentHash": "dOszpMtBKEACAFWtjwNibXMF2SBolJ3cV8ffDEOy2uuwjKBJqbSmHH+WSnui9KfbSF2igVpam4TqO6drJuEvjw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"ReactiveUI": "13.2.10",
|
"ReactiveUI": "13.2.10",
|
||||||
"System.Reactive": "5.0.0"
|
"System.Reactive": "5.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Svg.Skia": {
|
"Avalonia.Svg.Skia": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[0.10.11, )",
|
"requested": "[0.10.12, )",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "Zw1kfOWN7ZaMqnoJsKqvU/8GxGbrv4KrkAbbLVHvhZl4sA0VZEjqdtxUAqSHlJrYtjPfaUzzDP9K3l0KCqnx/Q==",
|
"contentHash": "qsXKdm5eWpfoVPe0xgtxhbOYlhG8QdbYNJZTTihg/c4iPFYuh1G7DldiNskuVFuGiGxLVZ0g6ebql7ZkwbO1pA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"Avalonia.Skia": "0.10.11",
|
"Avalonia.Skia": "0.10.12",
|
||||||
"SkiaSharp": "2.88.0-preview.178",
|
"SkiaSharp": "2.88.0-preview.178",
|
||||||
"Svg.Skia": "0.5.11"
|
"Svg.Skia": "0.5.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"DynamicData": {
|
"DynamicData": {
|
||||||
@ -126,12 +126,12 @@
|
|||||||
},
|
},
|
||||||
"ReactiveUI": {
|
"ReactiveUI": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[16.3.10, )",
|
"requested": "[17.1.17, )",
|
||||||
"resolved": "16.3.10",
|
"resolved": "17.1.17",
|
||||||
"contentHash": "NH9bg8BROqRrTp6YLpPDsJrfNDzRWNmP63fQ68CBAM+i7YHi6wcPeOkxyKpoemUxKEY4QECuicaTblJnxgbWmA==",
|
"contentHash": "0DLq44k4CVvfXcWHE4uigQa/wySOzxOTnWg50j2qZDpWzl9OP7QfIDJo39X3ffEjaVcCUFcbF9xAmm7fRX/q2g==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"DynamicData": "7.4.3",
|
"DynamicData": "7.4.9",
|
||||||
"Splat": "13.1.42"
|
"Splat": "14.1.17"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ReactiveUI.Validation": {
|
"ReactiveUI.Validation": {
|
||||||
@ -186,43 +186,43 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.Controls.DataGrid": {
|
"Avalonia.Controls.DataGrid": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "zvt6QA2uwe18gJ/XdnSMTHG6L/2usvjoaAdPC+Lgg+DmUPNTjqN+Hm1l0AjUtNNId6G+4iIkysiZ2WiHPqGsEA==",
|
"contentHash": "i3zM3P8PUY4FNhATZoFWkto3H66FcIrnJNMyOsl1fN0FPS6meysAwCKQwuou/oapyzZEODeAmCVdqB0AgjNHVw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"Avalonia.Remote.Protocol": "0.10.11",
|
"Avalonia.Remote.Protocol": "0.10.12",
|
||||||
"JetBrains.Annotations": "10.3.0",
|
"JetBrains.Annotations": "10.3.0",
|
||||||
"System.Reactive": "5.0.0"
|
"System.Reactive": "5.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.FreeDesktop": {
|
"Avalonia.FreeDesktop": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "cj8T11WQ5/opR2IPttb1Bo89aHclkuvHYsCB7HzZU/F7l/cKXbKUOhyo60p44BdFzrCqjNXDnKQbxeRv+OSF7A==",
|
"contentHash": "j42uWCWkAfZchYPrdRccr4mjB0kppSby3TEMCuNrp9GcQi+JhEPEbBAohU7FpR4bkv5FF2KAlDX5WiG2T+04kg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"Tmds.DBus": "0.9.0"
|
"Tmds.DBus": "0.9.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Native": {
|
"Avalonia.Native": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "9fBC9UArVXEmsxL2Nd0KHGoZUCqcTo06NTlOTAeM3qdEWzE8a0qRVYiR2WeYfADXpKR1D/fQz5zWUZcebFYFIA==",
|
"contentHash": "JnZc0zF7DcLcSX+SdnKQGzFa9mcKxawhTN8S3aiN8Eh3MZAKxa45LRrHFVTcHcy2jU4kOw+yPfONUmHpRcC0gw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11"
|
"Avalonia": "0.10.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Remote.Protocol": {
|
"Avalonia.Remote.Protocol": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "kID2N/cXg7KCGFYFTOWCvSLt+oMFRApLfLcbLU35keC/jwDi9tFk33CEdo81hBEg15lAtTtCfvHhNPyVyIYijQ=="
|
"contentHash": "ArrxniR8iShzMvXCS3vt5FXg9Fv3qK1UKzJwsSsY9iCuC8wKo2eevRj42qOhMCS98POTH5v8aUZBeoLlENa0vA=="
|
||||||
},
|
},
|
||||||
"Avalonia.Skia": {
|
"Avalonia.Skia": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "4bP5V3BpnZ+If2/ZrZofeRsINeZ6gemLjfNyElt7vNF4HZaRfot03anO3Y+Z7mTELjuol6n/5lAL4+kQUN/O/w==",
|
"contentHash": "3TGo8RLHaLqmU3chlyAqLkpw6vImfDMC30T18abpeYf1PIsNckRB+UFp12GDil9t/J9YB17zn4H6N+2plF4gZA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"HarfBuzzSharp": "2.8.2-preview.178",
|
"HarfBuzzSharp": "2.8.2-preview.178",
|
||||||
"HarfBuzzSharp.NativeAssets.Linux": "2.8.2-preview.178",
|
"HarfBuzzSharp.NativeAssets.Linux": "2.8.2-preview.178",
|
||||||
"HarfBuzzSharp.NativeAssets.WebAssembly": "2.8.2-preview.178",
|
"HarfBuzzSharp.NativeAssets.WebAssembly": "2.8.2-preview.178",
|
||||||
@ -233,10 +233,10 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.Win32": {
|
"Avalonia.Win32": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "bckqh8rnQ4+l2kdU4njO3cBKaT4l1HQkxdVYJLAgl44uMtoCpaN7EidrBTnuM40DXa0cpvOh97A+G8jpZgte6Q==",
|
"contentHash": "CnC65T8ScMK23BB+qJuiMicWQ5QIEiinnRzPqvAGUGyQbjIGpA5uOCKwzsOjUmzkhGqt31iDR0/Y3ZFbi5Mjog==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"Avalonia.Angle.Windows.Natives": "2.1.0.2020091801",
|
"Avalonia.Angle.Windows.Natives": "2.1.0.2020091801",
|
||||||
"System.Drawing.Common": "4.5.0",
|
"System.Drawing.Common": "4.5.0",
|
||||||
"System.Numerics.Vectors": "4.5.0"
|
"System.Numerics.Vectors": "4.5.0"
|
||||||
@ -244,39 +244,39 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.X11": {
|
"Avalonia.X11": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.11",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "joPVaMmPy4bC1STSk5+fAn5zZOT3gz4m/YSv6io3p2q68kEbc+d5KaYk/KcqA/WGiBBQx4a0ViPW/IRomI94kw==",
|
"contentHash": "mUY1cF1p86/UgLl1cbSmY3nVIatKQsSCDOH4avssL07xmKlRfB2G7Gi8jlhWNkLJTLL7iQp/u3X6bv7bs+0zNQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"Avalonia.FreeDesktop": "0.10.11",
|
"Avalonia.FreeDesktop": "0.10.12",
|
||||||
"Avalonia.Skia": "0.10.11"
|
"Avalonia.Skia": "0.10.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Xaml.Behaviors": {
|
"Avalonia.Xaml.Behaviors": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.11.5",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "XHU7/hRYWEdaJOs+weT9ml9/GYqroPrAtePjGzUzUrMoHESbqmkLXmW+fHkaAeXRMJAOAFD1LQUHQu+B6ThF3w==",
|
"contentHash": "upv7v1gZ31tCukw/KA1bB5+z29QuEWiZJ4KnW10daHlia1ru7q4lUJ/vCYKOy5L+zyi1MQg98SNYjRp5C64ZhQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"Avalonia.Xaml.Interactions": "0.10.11.5",
|
"Avalonia.Xaml.Interactions": "0.10.12",
|
||||||
"Avalonia.Xaml.Interactivity": "0.10.11.5"
|
"Avalonia.Xaml.Interactivity": "0.10.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Xaml.Interactions": {
|
"Avalonia.Xaml.Interactions": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.11.5",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "MpqS1t1zypDNEW2Pyg113W4AwmfaWai5LfA/K22sDbygXII+KuACaHt2ZPHJWnvKGHgasLEEFhEOGfF5cB9NPA==",
|
"contentHash": "PSohbY4aQGiJVWfvLKkuUE71ZxvZ0/FuTc3Y5GJgTC41kCgeaiJTczkC2FjW5sZ8exPDabSp+ZukSsnm/z6y7A==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"Avalonia.Xaml.Interactivity": "0.10.11.5"
|
"Avalonia.Xaml.Interactivity": "0.10.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Xaml.Interactivity": {
|
"Avalonia.Xaml.Interactivity": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.11.5",
|
"resolved": "0.10.12",
|
||||||
"contentHash": "MOM6lcPenJZu9LPhai3n67GssBUx3MjoCVLyR2GEJ6lywKQgk4MKOIAC0gLWgy7x1e540oy4lCpeX8jMsqe7mA==",
|
"contentHash": "uey4LjyIds78igMe7AZ072RI6GpO16sd6+6XF6LG0oE07De7ei0So14oOs4wLS4WJyaKDRSUK6PuhLaY1zIZdQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.11"
|
"Avalonia": "0.10.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Castle.Core": {
|
"Castle.Core": {
|
||||||
@ -488,10 +488,10 @@
|
|||||||
},
|
},
|
||||||
"Microsoft.Win32.SystemEvents": {
|
"Microsoft.Win32.SystemEvents": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "5.0.0",
|
"resolved": "4.5.0",
|
||||||
"contentHash": "Bh6blKG8VAKvXiLe2L+sEsn62nc1Ij34MrNxepD2OCrS5cpCwQa9MeLyhVQPQ/R4Wlzwuy6wMK8hLb11QPDRsQ==",
|
"contentHash": "LuI1oG+24TUj1ZRQQjM5Ew73BKnZE5NZ/7eAdh1o8ST5dPhUnJvIkiIn2re3MwnkRy6ELRnvEbBxHP8uALKhJw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Microsoft.NETCore.Platforms": "5.0.0"
|
"Microsoft.NETCore.Platforms": "2.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"NETStandard.Library": {
|
"NETStandard.Library": {
|
||||||
@ -730,8 +730,8 @@
|
|||||||
},
|
},
|
||||||
"ShimSkiaSharp": {
|
"ShimSkiaSharp": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.5.11",
|
"resolved": "0.5.12",
|
||||||
"contentHash": "a04YHHKRK1xY8ccSgpa6HOmOw9Kuivo2b2qejp9CK00ykdCBK3Mmc+ekBx954+zPQBksN6aLhvn1SEL7QG2s8Q=="
|
"contentHash": "oUGM7gQHRzbGPRs3E1pe5e8VwML21YyEz9xdo+r2ov1mAqSDPyXErVQP6pN4gnfYMVf5ADR7BVkVzt4R9Iz3gQ=="
|
||||||
},
|
},
|
||||||
"SkiaSharp.HarfBuzz": {
|
"SkiaSharp.HarfBuzz": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
@ -772,11 +772,10 @@
|
|||||||
},
|
},
|
||||||
"Svg.Custom": {
|
"Svg.Custom": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.5.11",
|
"resolved": "0.5.12",
|
||||||
"contentHash": "8OEW3UKx07JfEyqzzvF5+ycydusZjg6jsBjDSBrAoq62c5gNZrs6brlOKm2ywEj9hObK3sLcat5BHnE2OUHXsg==",
|
"contentHash": "kmjLQf5U5WC7tRGBedUhtrOUCR0NaNL2auzOA2a/oMwEA0Bjrpd6qvMTpJUS3HITxi8vJazGl270K+i0JvdJog==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Fizzler": "1.2.0",
|
"Fizzler": "1.2.0",
|
||||||
"System.Drawing.Common": "5.0.0",
|
|
||||||
"System.Memory": "4.5.3",
|
"System.Memory": "4.5.3",
|
||||||
"System.ObjectModel": "4.3.0",
|
"System.ObjectModel": "4.3.0",
|
||||||
"System.ValueTuple": "4.5.0"
|
"System.ValueTuple": "4.5.0"
|
||||||
@ -784,22 +783,22 @@
|
|||||||
},
|
},
|
||||||
"Svg.Model": {
|
"Svg.Model": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.5.11",
|
"resolved": "0.5.12",
|
||||||
"contentHash": "5/Y+BGjgTwobA9aDfcpTGF/bm83MYrEYM8J1LpPohRR+c+B/1N+rbSXfpDZq2omBJ1O0Sa5VjAXw1oAdm1lYLg==",
|
"contentHash": "/CPiXIugg4oVyYlQr26fB1X9iQfICALF8AJXbTWnXGoP2WZa1t6aZbAXPk3HoPApA0w5waf3XXkBiYYnWwawaQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ShimSkiaSharp": "0.5.11",
|
"ShimSkiaSharp": "0.5.12",
|
||||||
"Svg.Custom": "0.5.11"
|
"Svg.Custom": "0.5.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Svg.Skia": {
|
"Svg.Skia": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.5.11",
|
"resolved": "0.5.12",
|
||||||
"contentHash": "AiN5rSsYBzBUkoh8YK5HoNxRxHtUekp2/6ZAol8qV8oDr6vu8hmPuWjUDwvqCFMi9Dlllc6YsFfvJ1PZCJvYew==",
|
"contentHash": "KjKpjz0FKge+WpRzjD1bqywAW3vZhXwpR5c7Ej5OuP4xDrQjBwtFeB0iZ+yEJMzwXf/Rs4ImuN8m3bmBDJvMHg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"SkiaSharp": "2.88.0-preview.178",
|
"SkiaSharp": "2.88.0-preview.178",
|
||||||
"SkiaSharp.HarfBuzz": "2.88.0-preview.178",
|
"SkiaSharp.HarfBuzz": "2.88.0-preview.178",
|
||||||
"Svg.Custom": "0.5.11",
|
"Svg.Custom": "0.5.12",
|
||||||
"Svg.Model": "0.5.11"
|
"Svg.Model": "0.5.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"System.AppContext": {
|
"System.AppContext": {
|
||||||
@ -991,10 +990,11 @@
|
|||||||
},
|
},
|
||||||
"System.Drawing.Common": {
|
"System.Drawing.Common": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "5.0.0",
|
"resolved": "4.5.0",
|
||||||
"contentHash": "SztFwAnpfKC8+sEKXAFxCBWhKQaEd97EiOL7oZJZP56zbqnLpmxACWA8aGseaUExciuEAUuR9dY8f7HkTRAdnw==",
|
"contentHash": "AiJFxxVPdeITstiRS5aAu8+8Dpf5NawTMoapZ53Gfirml24p7HIfhjmCRxdXnmmf3IUA3AX3CcW7G73CjWxW/Q==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Microsoft.Win32.SystemEvents": "5.0.0"
|
"Microsoft.NETCore.Platforms": "2.0.0",
|
||||||
|
"Microsoft.Win32.SystemEvents": "4.5.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"System.Dynamic.Runtime": {
|
"System.Dynamic.Runtime": {
|
||||||
@ -1757,17 +1757,17 @@
|
|||||||
"type": "Project",
|
"type": "Project",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Artemis.Core": "1.0.0",
|
"Artemis.Core": "1.0.0",
|
||||||
"Avalonia": "0.10.11",
|
"Avalonia": "0.10.12",
|
||||||
"Avalonia.ReactiveUI": "0.10.11",
|
"Avalonia.ReactiveUI": "0.10.12",
|
||||||
"Avalonia.Svg.Skia": "0.10.11",
|
"Avalonia.Svg.Skia": "0.10.12",
|
||||||
"Avalonia.Xaml.Behaviors": "0.10.11.5",
|
"Avalonia.Xaml.Behaviors": "0.10.12",
|
||||||
"Avalonia.Xaml.Interactions": "0.10.11.5",
|
"Avalonia.Xaml.Interactions": "0.10.12",
|
||||||
"Avalonia.Xaml.Interactivity": "0.10.11.5",
|
"Avalonia.Xaml.Interactivity": "0.10.12",
|
||||||
"DynamicData": "7.4.9",
|
"DynamicData": "7.4.9",
|
||||||
"FluentAvaloniaUI": "1.1.8",
|
"FluentAvaloniaUI": "1.1.8",
|
||||||
"Material.Icons.Avalonia": "1.0.2",
|
"Material.Icons.Avalonia": "1.0.2",
|
||||||
"RGB.NET.Core": "1.0.0-prerelease7",
|
"RGB.NET.Core": "1.0.0-prerelease7",
|
||||||
"ReactiveUI": "16.3.10",
|
"ReactiveUI": "17.1.17",
|
||||||
"ReactiveUI.Validation": "2.2.1",
|
"ReactiveUI.Validation": "2.2.1",
|
||||||
"SkiaSharp": "2.88.0-preview.178"
|
"SkiaSharp": "2.88.0-preview.178"
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user