[MouseJump][CQ]Refactor "common" classes into a separate project (#34333)

* [Mouse Jump] - moving common code to MouseJump.Common project - #25482

* [Mouse Jump] - fixing warnings in MouseJump.Common - #25482

* [MouseJump] - cherrypick 5653b4 - Exclude MouseJump Common tests from the checks

# Conflicts:
#	src/modules/MouseUtils/MouseJump.Common.UnitTests/MouseJump.Common.UnitTests.csproj

* [mOuSEjUMP] - cherry pick 61aab9 - Fix ci build issues

# Conflicts:
#	src/modules/MouseUtils/MouseJump.Common.UnitTests/MouseJump.Common.UnitTests.csproj

* [Mouse Jump] - remove project type guids - #25482

* [Mouse Jump] - simplify mousejump *.csproj files - #25482

* [Mouse Jump] - fixing broken tests - #25482

* [Mouse Jump] - fixing broken build - #25482

* [Mouse Jump] - editing MouseJump.Common.UnitTests.csproj - #25482

* [Mouse Jump] - editing MouseJump.Common.csproj (UseWindowsForms=true) - #25482

* [Mouse Jump] - fixing spellcheck - #25482

* [MouseJump] - enabled implicit usings - #25482

* [Mouse Jump] - re-add csproj attributes - #27511

* ci: Fix signing of Common dll

---------

Co-authored-by: Clayton <mike.clayton@delinian.com>
This commit is contained in:
Michael Clayton 2024-10-21 17:38:07 +01:00 committed by GitHub
parent db3c8e621e
commit dc7c7ef2b7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
87 changed files with 281 additions and 308 deletions

View File

@ -166,6 +166,7 @@
"PowerToys.FindMyMouse.dll", "PowerToys.FindMyMouse.dll",
"PowerToys.MouseHighlighter.dll", "PowerToys.MouseHighlighter.dll",
"PowerToys.MouseJump.dll", "PowerToys.MouseJump.dll",
"PowerToys.MouseJump.Common.dll",
"PowerToys.MousePointerCrosshairs.dll", "PowerToys.MousePointerCrosshairs.dll",
"PowerToys.MouseJumpUI.dll", "PowerToys.MouseJumpUI.dll",
"PowerToys.MouseJumpUI.exe", "PowerToys.MouseJumpUI.exe",

View File

@ -15,7 +15,7 @@ Param(
$referencedFileVersionsPerDll = @{} $referencedFileVersionsPerDll = @{}
$totalFailures = 0 $totalFailures = 0
Get-ChildItem $targetDir -Recurse -Filter *.deps.json -Exclude UITests-FancyZones* | ForEach-Object { Get-ChildItem $targetDir -Recurse -Filter *.deps.json -Exclude UITests-FancyZones*,MouseJump.Common.UnitTests* | ForEach-Object {
# Temporarily exclude FancyZones UI tests because of Appium.WebDriver dependencies # Temporarily exclude FancyZones UI tests because of Appium.WebDriver dependencies
$depsJsonFullFileName = $_.FullName $depsJsonFullFileName = $_.FullName
$depsJsonFileName = $_.Name $depsJsonFileName = $_.Name

View File

@ -69,7 +69,7 @@
<PackageVersion Include="System.Data.SqlClient" Version="4.8.6" /> <PackageVersion Include="System.Data.SqlClient" Version="4.8.6" />
<!-- Package System.Diagnostics.EventLog added as a hack for being able to exclude the runtime assets so they don't conflict with 8.0.1. This is a dependency of System.Data.OleDb but the 8.0.1 version wasn't published to nuget. --> <!-- Package System.Diagnostics.EventLog added as a hack for being able to exclude the runtime assets so they don't conflict with 8.0.1. This is a dependency of System.Data.OleDb but the 8.0.1 version wasn't published to nuget. -->
<PackageVersion Include="System.Diagnostics.EventLog" Version="8.0.1" /> <PackageVersion Include="System.Diagnostics.EventLog" Version="8.0.1" />
<PackageVersion Include="System.Drawing.Common" Version="8.0.6" /> <PackageVersion Include="System.Drawing.Common" Version="8.0.7" />
<PackageVersion Include="System.IO.Abstractions" Version="17.2.3" /> <PackageVersion Include="System.IO.Abstractions" Version="17.2.3" />
<PackageVersion Include="System.IO.Abstractions.TestingHelpers" Version="17.2.3" /> <PackageVersion Include="System.IO.Abstractions.TestingHelpers" Version="17.2.3" />
<PackageVersion Include="System.Management" Version="8.0.0" /> <PackageVersion Include="System.Management" Version="8.0.0" />

View File

@ -1351,7 +1351,7 @@ EXHIBIT A -Mozilla Public License.
- System.Data.OleDb 8.0.1 - System.Data.OleDb 8.0.1
- System.Data.SqlClient 4.8.6 - System.Data.SqlClient 4.8.6
- System.Diagnostics.EventLog 8.0.1 - System.Diagnostics.EventLog 8.0.1
- System.Drawing.Common 8.0.6 - System.Drawing.Common 8.0.7
- System.IO.Abstractions 17.2.3 - System.IO.Abstractions 17.2.3
- System.IO.Abstractions.TestingHelpers 17.2.3 - System.IO.Abstractions.TestingHelpers 17.2.3
- System.Management 8.0.0 - System.Management 8.0.0

View File

@ -504,9 +504,11 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MouseWithoutBordersHelper",
EndProject EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MouseJump", "src\modules\MouseUtils\MouseJump\MouseJump.vcxproj", "{8A08D663-4995-40E3-B42C-3F910625F284}" Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MouseJump", "src\modules\MouseUtils\MouseJump\MouseJump.vcxproj", "{8A08D663-4995-40E3-B42C-3F910625F284}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MouseJumpUI", "src\modules\MouseUtils\MouseJumpUI\MouseJumpUI.csproj", "{D962A009-834F-4EEC-AABB-430DF8F98E39}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MouseJump.Common", "src\modules\MouseUtils\MouseJump.Common\MouseJump.Common.csproj", "{923DF87C-CA99-4D1C-B1D2-959174E95BFA}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MouseJumpUI.UnitTests", "src\modules\MouseUtils\MouseJumpUI.UnitTests\MouseJumpUI.UnitTests.csproj", "{D9C5DE64-6849-4278-91AD-9660AECF2876}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MouseJump.Common.UnitTests", "src\modules\MouseUtils\MouseJump.Common.UnitTests\MouseJump.Common.UnitTests.csproj", "{D5E42C63-57C5-4EF6-AECE-1E2FCA725B77}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MouseJumpUI", "src\modules\MouseUtils\MouseJumpUI\MouseJumpUI.csproj", "{D962A009-834F-4EEC-AABB-430DF8F98E39}"
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AdvancedPaste", "AdvancedPaste", "{9873BA05-4C41-4819-9283-CF45D795431B}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AdvancedPaste", "AdvancedPaste", "{9873BA05-4C41-4819-9283-CF45D795431B}"
EndProject EndProject
@ -2252,18 +2254,6 @@ Global
{D962A009-834F-4EEC-AABB-430DF8F98E39}.Release|x64.Build.0 = Release|x64 {D962A009-834F-4EEC-AABB-430DF8F98E39}.Release|x64.Build.0 = Release|x64
{D962A009-834F-4EEC-AABB-430DF8F98E39}.Release|x86.ActiveCfg = Release|x64 {D962A009-834F-4EEC-AABB-430DF8F98E39}.Release|x86.ActiveCfg = Release|x64
{D962A009-834F-4EEC-AABB-430DF8F98E39}.Release|x86.Build.0 = Release|x64 {D962A009-834F-4EEC-AABB-430DF8F98E39}.Release|x86.Build.0 = Release|x64
{D9C5DE64-6849-4278-91AD-9660AECF2876}.Debug|ARM64.ActiveCfg = Debug|ARM64
{D9C5DE64-6849-4278-91AD-9660AECF2876}.Debug|ARM64.Build.0 = Debug|ARM64
{D9C5DE64-6849-4278-91AD-9660AECF2876}.Debug|x64.ActiveCfg = Debug|x64
{D9C5DE64-6849-4278-91AD-9660AECF2876}.Debug|x64.Build.0 = Debug|x64
{D9C5DE64-6849-4278-91AD-9660AECF2876}.Debug|x86.ActiveCfg = Debug|x64
{D9C5DE64-6849-4278-91AD-9660AECF2876}.Debug|x86.Build.0 = Debug|x64
{D9C5DE64-6849-4278-91AD-9660AECF2876}.Release|ARM64.ActiveCfg = Release|ARM64
{D9C5DE64-6849-4278-91AD-9660AECF2876}.Release|ARM64.Build.0 = Release|ARM64
{D9C5DE64-6849-4278-91AD-9660AECF2876}.Release|x64.ActiveCfg = Release|x64
{D9C5DE64-6849-4278-91AD-9660AECF2876}.Release|x64.Build.0 = Release|x64
{D9C5DE64-6849-4278-91AD-9660AECF2876}.Release|x86.ActiveCfg = Release|x64
{D9C5DE64-6849-4278-91AD-9660AECF2876}.Release|x86.Build.0 = Release|x64
{FC373B24-3293-453C-AAF5-CF2909DCEE6A}.Debug|ARM64.ActiveCfg = Debug|ARM64 {FC373B24-3293-453C-AAF5-CF2909DCEE6A}.Debug|ARM64.ActiveCfg = Debug|ARM64
{FC373B24-3293-453C-AAF5-CF2909DCEE6A}.Debug|ARM64.Build.0 = Debug|ARM64 {FC373B24-3293-453C-AAF5-CF2909DCEE6A}.Debug|ARM64.Build.0 = Debug|ARM64
{FC373B24-3293-453C-AAF5-CF2909DCEE6A}.Debug|x64.ActiveCfg = Debug|x64 {FC373B24-3293-453C-AAF5-CF2909DCEE6A}.Debug|x64.ActiveCfg = Debug|x64
@ -2652,6 +2642,30 @@ Global
{F055103B-F80B-4D0C-BF48-057C55620033}.Release|x64.Build.0 = Release|x64 {F055103B-F80B-4D0C-BF48-057C55620033}.Release|x64.Build.0 = Release|x64
{F055103B-F80B-4D0C-BF48-057C55620033}.Release|x86.ActiveCfg = Release|x64 {F055103B-F80B-4D0C-BF48-057C55620033}.Release|x86.ActiveCfg = Release|x64
{F055103B-F80B-4D0C-BF48-057C55620033}.Release|x86.Build.0 = Release|x64 {F055103B-F80B-4D0C-BF48-057C55620033}.Release|x86.Build.0 = Release|x64
{923DF87C-CA99-4D1C-B1D2-959174E95BFA}.Debug|ARM64.ActiveCfg = Debug|ARM64
{923DF87C-CA99-4D1C-B1D2-959174E95BFA}.Debug|ARM64.Build.0 = Debug|ARM64
{923DF87C-CA99-4D1C-B1D2-959174E95BFA}.Debug|x64.ActiveCfg = Debug|x64
{923DF87C-CA99-4D1C-B1D2-959174E95BFA}.Debug|x64.Build.0 = Debug|x64
{923DF87C-CA99-4D1C-B1D2-959174E95BFA}.Debug|x86.ActiveCfg = Debug|x64
{923DF87C-CA99-4D1C-B1D2-959174E95BFA}.Debug|x86.Build.0 = Debug|x64
{923DF87C-CA99-4D1C-B1D2-959174E95BFA}.Release|ARM64.ActiveCfg = Release|ARM64
{923DF87C-CA99-4D1C-B1D2-959174E95BFA}.Release|ARM64.Build.0 = Release|ARM64
{923DF87C-CA99-4D1C-B1D2-959174E95BFA}.Release|x64.ActiveCfg = Release|x64
{923DF87C-CA99-4D1C-B1D2-959174E95BFA}.Release|x64.Build.0 = Release|x64
{923DF87C-CA99-4D1C-B1D2-959174E95BFA}.Release|x86.ActiveCfg = Release|x64
{923DF87C-CA99-4D1C-B1D2-959174E95BFA}.Release|x86.Build.0 = Release|x64
{D5E42C63-57C5-4EF6-AECE-1E2FCA725B77}.Debug|ARM64.ActiveCfg = Debug|ARM64
{D5E42C63-57C5-4EF6-AECE-1E2FCA725B77}.Debug|ARM64.Build.0 = Debug|ARM64
{D5E42C63-57C5-4EF6-AECE-1E2FCA725B77}.Debug|x64.ActiveCfg = Debug|x64
{D5E42C63-57C5-4EF6-AECE-1E2FCA725B77}.Debug|x64.Build.0 = Debug|x64
{D5E42C63-57C5-4EF6-AECE-1E2FCA725B77}.Debug|x86.ActiveCfg = Debug|x64
{D5E42C63-57C5-4EF6-AECE-1E2FCA725B77}.Debug|x86.Build.0 = Debug|x64
{D5E42C63-57C5-4EF6-AECE-1E2FCA725B77}.Release|ARM64.ActiveCfg = Release|ARM64
{D5E42C63-57C5-4EF6-AECE-1E2FCA725B77}.Release|ARM64.Build.0 = Release|ARM64
{D5E42C63-57C5-4EF6-AECE-1E2FCA725B77}.Release|x64.ActiveCfg = Release|x64
{D5E42C63-57C5-4EF6-AECE-1E2FCA725B77}.Release|x64.Build.0 = Release|x64
{D5E42C63-57C5-4EF6-AECE-1E2FCA725B77}.Release|x86.ActiveCfg = Release|x64
{D5E42C63-57C5-4EF6-AECE-1E2FCA725B77}.Release|x86.Build.0 = Release|x64
{B31FCC55-B5A4-4EA7-B414-2DCEAE6AF332}.Debug|ARM64.ActiveCfg = Debug|ARM64 {B31FCC55-B5A4-4EA7-B414-2DCEAE6AF332}.Debug|ARM64.ActiveCfg = Debug|ARM64
{B31FCC55-B5A4-4EA7-B414-2DCEAE6AF332}.Debug|ARM64.Build.0 = Debug|ARM64 {B31FCC55-B5A4-4EA7-B414-2DCEAE6AF332}.Debug|ARM64.Build.0 = Debug|ARM64
{B31FCC55-B5A4-4EA7-B414-2DCEAE6AF332}.Debug|x64.ActiveCfg = Debug|x64 {B31FCC55-B5A4-4EA7-B414-2DCEAE6AF332}.Debug|x64.ActiveCfg = Debug|x64
@ -2927,7 +2941,6 @@ Global
{A663E672-B26D-4EC0-BEAB-FE2E424AC46F} = {B6C42F16-73EB-477E-8B0D-4E6CF6C20AAC} {A663E672-B26D-4EC0-BEAB-FE2E424AC46F} = {B6C42F16-73EB-477E-8B0D-4E6CF6C20AAC}
{8A08D663-4995-40E3-B42C-3F910625F284} = {322566EF-20DC-43A6-B9F8-616AF942579A} {8A08D663-4995-40E3-B42C-3F910625F284} = {322566EF-20DC-43A6-B9F8-616AF942579A}
{D962A009-834F-4EEC-AABB-430DF8F98E39} = {322566EF-20DC-43A6-B9F8-616AF942579A} {D962A009-834F-4EEC-AABB-430DF8F98E39} = {322566EF-20DC-43A6-B9F8-616AF942579A}
{D9C5DE64-6849-4278-91AD-9660AECF2876} = {322566EF-20DC-43A6-B9F8-616AF942579A}
{9873BA05-4C41-4819-9283-CF45D795431B} = {4574FDD0-F61D-4376-98BF-E5A1262C11EC} {9873BA05-4C41-4819-9283-CF45D795431B} = {4574FDD0-F61D-4376-98BF-E5A1262C11EC}
{FC373B24-3293-453C-AAF5-CF2909DCEE6A} = {9873BA05-4C41-4819-9283-CF45D795431B} {FC373B24-3293-453C-AAF5-CF2909DCEE6A} = {9873BA05-4C41-4819-9283-CF45D795431B}
{9CE59ED5-7087-4353-88EB-788038A73CEC} = {1AFB6476-670D-4E80-A464-657E01DFF482} {9CE59ED5-7087-4353-88EB-788038A73CEC} = {1AFB6476-670D-4E80-A464-657E01DFF482}
@ -2966,6 +2979,8 @@ Global
{8ACB33D9-C95B-47D4-8363-9731EE0930A0} = {CA716AE6-FE5C-40AC-BB8F-2C87912687AC} {8ACB33D9-C95B-47D4-8363-9731EE0930A0} = {CA716AE6-FE5C-40AC-BB8F-2C87912687AC}
{CA716AE6-FE5C-40AC-BB8F-2C87912687AC} = {4574FDD0-F61D-4376-98BF-E5A1262C11EC} {CA716AE6-FE5C-40AC-BB8F-2C87912687AC} = {4574FDD0-F61D-4376-98BF-E5A1262C11EC}
{F055103B-F80B-4D0C-BF48-057C55620033} = {5A7818A8-109C-4E1C-850D-1A654E234B0E} {F055103B-F80B-4D0C-BF48-057C55620033} = {5A7818A8-109C-4E1C-850D-1A654E234B0E}
{923DF87C-CA99-4D1C-B1D2-959174E95BFA} = {322566EF-20DC-43A6-B9F8-616AF942579A}
{D5E42C63-57C5-4EF6-AECE-1E2FCA725B77} = {322566EF-20DC-43A6-B9F8-616AF942579A}
{A2221D7E-55E7-4BEA-90D1-4F162D670BBF} = {4574FDD0-F61D-4376-98BF-E5A1262C11EC} {A2221D7E-55E7-4BEA-90D1-4F162D670BBF} = {4574FDD0-F61D-4376-98BF-E5A1262C11EC}
{BE126CBB-AE12-406A-9837-A05ACFCA57A7} = {A2221D7E-55E7-4BEA-90D1-4F162D670BBF} {BE126CBB-AE12-406A-9837-A05ACFCA57A7} = {A2221D7E-55E7-4BEA-90D1-4F162D670BBF}
{14CB58B7-D280-4A7A-95DE-4B2DF14EA000} = {A2221D7E-55E7-4BEA-90D1-4F162D670BBF} {14CB58B7-D280-4A7A-95DE-4B2DF14EA000} = {A2221D7E-55E7-4BEA-90D1-4F162D670BBF}

View File

@ -2,20 +2,15 @@
// The Microsoft Corporation licenses this file to you under the MIT license. // The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Reflection; using System.Reflection;
using Microsoft.VisualStudio.TestTools.UnitTesting; using Microsoft.VisualStudio.TestTools.UnitTesting;
using MouseJumpUI.Common.Helpers; using MouseJump.Common.Helpers;
using MouseJumpUI.Common.Imaging; using MouseJump.Common.Imaging;
using MouseJumpUI.Common.Models.Drawing; using MouseJump.Common.Models.Drawing;
using MouseJumpUI.Common.Models.Styles; using MouseJump.Common.Models.Styles;
using MouseJumpUI.Helpers;
namespace MouseJumpUI.UnitTests.Common.Helpers; namespace MouseJump.Common.UnitTests.Helpers;
[TestClass] [TestClass]
public static class DrawingHelperTests public static class DrawingHelperTests
@ -60,8 +55,8 @@ public static class DrawingHelperTests
new(0, 500, 500, 500), new(0, 500, 500, 500),
}, },
activatedLocation: new(x: 50, y: 50), activatedLocation: new(x: 50, y: 50),
desktopImageFilename: "Common/Helpers/_test-4grid-desktop.png", desktopImageFilename: "_test-4grid-desktop.png",
expectedImageFilename: "Common/Helpers/_test-4grid-expected.png"), expectedImageFilename: "_test-4grid-expected.png"),
}; };
/* win 11 */ /* win 11 */
yield return new object[] yield return new object[]
@ -74,8 +69,8 @@ public static class DrawingHelperTests
new(0, 0, 5120, 1440), new(0, 0, 5120, 1440),
}, },
activatedLocation: new(x: 50, y: 50), activatedLocation: new(x: 50, y: 50),
desktopImageFilename: "Common/Helpers/_test-win11-desktop.png", desktopImageFilename: "_test-win11-desktop.png",
expectedImageFilename: "Common/Helpers/_test-win11-expected.png"), expectedImageFilename: "_test-win11-expected.png"),
}; };
} }
@ -104,13 +99,19 @@ public static class DrawingHelperTests
private static Bitmap LoadImageResource(string filename) private static Bitmap LoadImageResource(string filename)
{ {
// assume embedded resources are in the same source folder as this
// class, and the namespace hierarchy matches the folder structure.
// that way we can build resource names from the current namespace
var resourcePrefix = typeof(DrawingHelperTests).Namespace;
var resourceName = $"{resourcePrefix}.{filename}";
var assembly = Assembly.GetExecutingAssembly(); var assembly = Assembly.GetExecutingAssembly();
var assemblyName = new AssemblyName(assembly.FullName ?? throw new InvalidOperationException());
var resourceName = $"Microsoft.{assemblyName.Name}.{filename.Replace("/", ".")}";
var resourceNames = assembly.GetManifestResourceNames(); var resourceNames = assembly.GetManifestResourceNames();
if (!resourceNames.Contains(resourceName)) if (!resourceNames.Contains(resourceName))
{ {
throw new InvalidOperationException($"Embedded resource '{resourceName}' does not exist."); var message = $"Embedded resource '{resourceName}' does not exist. " +
"Valid resource names are: \r\n" + string.Join("\r\n", resourceNames);
throw new InvalidOperationException(message);
} }
var stream = assembly.GetManifestResourceStream(resourceName) var stream = assembly.GetManifestResourceStream(resourceName)

View File

@ -2,17 +2,15 @@
// The Microsoft Corporation licenses this file to you under the MIT license. // The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
using System.Collections.Generic;
using System.Drawing;
using System.Text.Json; using System.Text.Json;
using Microsoft.VisualStudio.TestTools.UnitTesting; using Microsoft.VisualStudio.TestTools.UnitTesting;
using MouseJumpUI.Common.Helpers; using MouseJump.Common.Helpers;
using MouseJumpUI.Common.Models.Drawing; using MouseJump.Common.Models.Drawing;
using MouseJumpUI.Common.Models.Layout; using MouseJump.Common.Models.Layout;
using MouseJumpUI.Common.Models.Styles; using MouseJump.Common.Models.Styles;
namespace MouseJumpUI.UnitTests.Common.Helpers; namespace MouseJump.Common.UnitTests.Helpers;
[TestClass] [TestClass]
public static class LayoutHelperTests public static class LayoutHelperTests

View File

@ -2,13 +2,11 @@
// The Microsoft Corporation licenses this file to you under the MIT license. // The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
using System.Collections.Generic;
using Microsoft.VisualStudio.TestTools.UnitTesting; using Microsoft.VisualStudio.TestTools.UnitTesting;
using MouseJumpUI.Common.Helpers; using MouseJump.Common.Helpers;
using MouseJumpUI.Common.Models.Drawing; using MouseJump.Common.Models.Drawing;
namespace MouseJumpUI.UnitTests.Common.Helpers; namespace MouseJump.Common.UnitTests.Helpers;
[TestClass] [TestClass]
public static class MouseHelperTests public static class MouseHelperTests

View File

@ -2,12 +2,10 @@
// The Microsoft Corporation licenses this file to you under the MIT license. // The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
using System.Collections.Generic;
using Microsoft.VisualStudio.TestTools.UnitTesting; using Microsoft.VisualStudio.TestTools.UnitTesting;
using MouseJumpUI.Common.Models.Drawing; using MouseJump.Common.Models.Drawing;
namespace MouseJumpUI.UnitTests.Common.Models.Drawing; namespace MouseJump.Common.UnitTests.Models.Drawing;
[TestClass] [TestClass]
public static class RectangleInfoTests public static class RectangleInfoTests

View File

@ -2,12 +2,10 @@
// The Microsoft Corporation licenses this file to you under the MIT license. // The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
using System.Collections.Generic;
using Microsoft.VisualStudio.TestTools.UnitTesting; using Microsoft.VisualStudio.TestTools.UnitTesting;
using MouseJumpUI.Common.Models.Drawing; using MouseJump.Common.Models.Drawing;
namespace MouseJumpUI.UnitTests.Common.Models.Drawing; namespace MouseJump.Common.UnitTests.Models.Drawing;
[TestClass] [TestClass]
public static class SizeInfoTests public static class SizeInfoTests

View File

@ -0,0 +1,44 @@
<Project Sdk="Microsoft.NET.Sdk">
<!-- Look at Directory.Build.props in root for common stuff as well -->
<Import Project="..\..\..\Common.Dotnet.CsWinRT.props" />
<PropertyGroup>
<ProjectGuid>{D5E42C63-57C5-4EF6-AECE-1E2FCA725B77}</ProjectGuid>
<AssemblyName>PowerToys.MouseJump.Common.UnitTests</AssemblyName>
<AssemblyTitle>PowerToys.MouseJump.Common.UnitTests</AssemblyTitle>
<AssemblyDescription>PowerToys MouseJump.Common.UnitTests</AssemblyDescription>
<OutputType>Library</OutputType>
<OutputPath>..\..\..\..\$(Platform)\$(Configuration)\tests\MouseJump.Common.UnitTests\</OutputPath>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
<Nullable>enable</Nullable>
<UseWindowsForms>true</UseWindowsForms>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
<ItemGroup>
<None Remove="Helpers\_test-4grid-desktop.png" />
<None Remove="Helpers\_test-4grid-expected.png" />
<None Remove="Helpers\_test-win11-desktop.png" />
<None Remove="Helpers\_test-win11-expected.png" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Helpers\_test-4grid-desktop.png" />
<EmbeddedResource Include="Helpers\_test-4grid-expected.png" />
<EmbeddedResource Include="Helpers\_test-win11-desktop.png" />
<EmbeddedResource Include="Helpers\_test-win11-expected.png" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="MSTest" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\MouseJump.Common\MouseJump.Common.csproj" />
</ItemGroup>
</Project>

View File

@ -2,22 +2,18 @@
// The Microsoft Corporation licenses this file to you under the MIT license. // The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
using System;
using System.Collections.Generic;
using System.Diagnostics; using System.Diagnostics;
using System.Drawing;
using System.Drawing.Drawing2D; using System.Drawing.Drawing2D;
using System.Drawing.Imaging; using System.Drawing.Imaging;
using System.Linq;
using MouseJumpUI.Common.Imaging; using MouseJump.Common.Imaging;
using MouseJumpUI.Common.Models.Drawing; using MouseJump.Common.Models.Drawing;
using MouseJumpUI.Common.Models.Layout; using MouseJump.Common.Models.Layout;
using MouseJumpUI.Common.Models.Styles; using MouseJump.Common.Models.Styles;
namespace MouseJumpUI.Common.Helpers; namespace MouseJump.Common.Helpers;
internal static class DrawingHelper public static class DrawingHelper
{ {
public static Bitmap RenderPreview( public static Bitmap RenderPreview(
PreviewLayout previewLayout, PreviewLayout previewLayout,

View File

@ -2,17 +2,13 @@
// The Microsoft Corporation licenses this file to you under the MIT license. // The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
using System; using MouseJump.Common.Models.Drawing;
using System.Collections.Generic; using MouseJump.Common.Models.Layout;
using System.Linq; using MouseJump.Common.Models.Styles;
using MouseJumpUI.Common.Models.Drawing; namespace MouseJump.Common.Helpers;
using MouseJumpUI.Common.Models.Layout;
using MouseJumpUI.Common.Models.Styles;
namespace MouseJumpUI.Common.Helpers; public static class LayoutHelper
internal static class LayoutHelper
{ {
public static PreviewLayout GetPreviewLayout( public static PreviewLayout GetPreviewLayout(
PreviewStyle previewStyle, List<RectangleInfo> screens, PointInfo activatedLocation) PreviewStyle previewStyle, List<RectangleInfo> screens, PointInfo activatedLocation)
@ -111,7 +107,7 @@ internal static class LayoutHelper
/// <returns>A <see cref="BoxBounds"/> object that represents the bounds of the different areas of the box.</returns> /// <returns>A <see cref="BoxBounds"/> object that represents the bounds of the different areas of the box.</returns>
/// <exception cref="ArgumentNullException">Thrown when <paramref name="contentBounds"/> or <paramref name="boxStyle"/> is null.</exception> /// <exception cref="ArgumentNullException">Thrown when <paramref name="contentBounds"/> or <paramref name="boxStyle"/> is null.</exception>
/// <exception cref="ArgumentException">Thrown when any of the styles in <paramref name="boxStyle"/> is null.</exception> /// <exception cref="ArgumentException">Thrown when any of the styles in <paramref name="boxStyle"/> is null.</exception>
internal static BoxBounds GetBoxBoundsFromContentBounds( public static BoxBounds GetBoxBoundsFromContentBounds(
RectangleInfo contentBounds, RectangleInfo contentBounds,
BoxStyle boxStyle) BoxStyle boxStyle)
{ {
@ -139,7 +135,7 @@ internal static class LayoutHelper
/// <returns>A <see cref="BoxBounds"/> object that represents the bounds of the different areas of the box.</returns> /// <returns>A <see cref="BoxBounds"/> object that represents the bounds of the different areas of the box.</returns>
/// <exception cref="ArgumentNullException">Thrown when <paramref name="outerBounds"/> or <paramref name="boxStyle"/> is null.</exception> /// <exception cref="ArgumentNullException">Thrown when <paramref name="outerBounds"/> or <paramref name="boxStyle"/> is null.</exception>
/// <exception cref="ArgumentException">Thrown when any of the styles in <paramref name="boxStyle"/> is null.</exception> /// <exception cref="ArgumentException">Thrown when any of the styles in <paramref name="boxStyle"/> is null.</exception>
internal static BoxBounds GetBoxBoundsFromOuterBounds( public static BoxBounds GetBoxBoundsFromOuterBounds(
RectangleInfo outerBounds, RectangleInfo outerBounds,
BoxStyle boxStyle) BoxStyle boxStyle)
{ {

View File

@ -5,15 +5,14 @@
using System.ComponentModel; using System.ComponentModel;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using MouseJumpUI.Common.Models.Drawing; using MouseJump.Common.Models.Drawing;
using MouseJumpUI.Common.NativeMethods; using MouseJump.Common.NativeMethods;
using static MouseJump.Common.NativeMethods.Core;
using static MouseJump.Common.NativeMethods.User32;
using static MouseJumpUI.Common.NativeMethods.Core; namespace MouseJump.Common.Helpers;
using static MouseJumpUI.Common.NativeMethods.User32;
namespace MouseJumpUI.Common.Helpers; public static class MouseHelper
internal static class MouseHelper
{ {
/// <summary> /// <summary>
/// Calculates where to move the cursor to by projecting a point from /// Calculates where to move the cursor to by projecting a point from
@ -24,7 +23,7 @@ internal static class MouseHelper
/// or even negative if the primary monitor is not the at the top-left of the /// or even negative if the primary monitor is not the at the top-left of the
/// entire desktop rectangle, so results may contain negative coordinates. /// entire desktop rectangle, so results may contain negative coordinates.
/// </remarks> /// </remarks>
internal static PointInfo GetJumpLocation(PointInfo previewLocation, SizeInfo previewSize, RectangleInfo desktopBounds) public static PointInfo GetJumpLocation(PointInfo previewLocation, SizeInfo previewSize, RectangleInfo desktopBounds)
{ {
return previewLocation return previewLocation
.Scale(previewSize.ScaleToFitRatio(desktopBounds.Size)) .Scale(previewSize.ScaleToFitRatio(desktopBounds.Size))
@ -34,7 +33,7 @@ internal static class MouseHelper
/// <summary> /// <summary>
/// Get the current position of the cursor. /// Get the current position of the cursor.
/// </summary> /// </summary>
internal static PointInfo GetCursorPosition() public static PointInfo GetCursorPosition()
{ {
var lpPoint = new LPPOINT(new POINT(0, 0)); var lpPoint = new LPPOINT(new POINT(0, 0));
var result = User32.GetCursorPos(lpPoint); var result = User32.GetCursorPos(lpPoint);
@ -57,7 +56,7 @@ internal static class MouseHelper
/// <remarks> /// <remarks>
/// See https://github.com/mikeclayton/FancyMouse/pull/3 /// See https://github.com/mikeclayton/FancyMouse/pull/3
/// </remarks> /// </remarks>
internal static void SetCursorPosition(PointInfo location) public static void SetCursorPosition(PointInfo location)
{ {
// set the new cursor position *twice* - the cursor sometimes end up in // set the new cursor position *twice* - the cursor sometimes end up in
// the wrong place if we try to cross the dead space between non-aligned // the wrong place if we try to cross the dead space between non-aligned

View File

@ -2,26 +2,22 @@
// The Microsoft Corporation licenses this file to you under the MIT license. // The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
using System;
using System.Collections.Generic;
using System.ComponentModel; using System.ComponentModel;
using System.Linq;
using MouseJumpUI.Common.Models.Drawing; using MouseJump.Common.Models.Drawing;
using MouseJumpUI.Common.NativeMethods; using MouseJump.Common.NativeMethods;
using static MouseJump.Common.NativeMethods.Core;
using static MouseJump.Common.NativeMethods.User32;
using static MouseJumpUI.Common.NativeMethods.Core; namespace MouseJump.Common.Helpers;
using static MouseJumpUI.Common.NativeMethods.User32;
namespace MouseJumpUI.Common.Helpers; public static class ScreenHelper
internal static class ScreenHelper
{ {
/// <summary> /// <summary>
/// Duplicates functionality available in System.Windows.Forms.SystemInformation /// Duplicates functionality available in System.Windows.Forms.SystemInformation
/// to reduce the dependency on WinForms /// to reduce the dependency on WinForms
/// </summary> /// </summary>
public static RectangleInfo GetVirtualScreen() private static RectangleInfo GetVirtualScreen()
{ {
return new( return new(
User32.GetSystemMetrics(SYSTEM_METRICS_INDEX.SM_XVIRTUALSCREEN), User32.GetSystemMetrics(SYSTEM_METRICS_INDEX.SM_XVIRTUALSCREEN),
@ -30,7 +26,7 @@ internal static class ScreenHelper
User32.GetSystemMetrics(SYSTEM_METRICS_INDEX.SM_CYVIRTUALSCREEN)); User32.GetSystemMetrics(SYSTEM_METRICS_INDEX.SM_CYVIRTUALSCREEN));
} }
internal static IEnumerable<ScreenInfo> GetAllScreens() public static IEnumerable<ScreenInfo> GetAllScreens()
{ {
// enumerate the monitors attached to the system // enumerate the monitors attached to the system
var hMonitors = new List<HMONITOR>(); var hMonitors = new List<HMONITOR>();
@ -80,7 +76,7 @@ internal static class ScreenHelper
} }
} }
internal static ScreenInfo GetScreenFromPoint( public static ScreenInfo GetScreenFromPoint(
List<ScreenInfo> screens, List<ScreenInfo> screens,
PointInfo pt) PointInfo pt)
{ {

View File

@ -2,15 +2,12 @@
// The Microsoft Corporation licenses this file to you under the MIT license. // The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
using System; using MouseJump.Common.Models.Drawing;
using System.Drawing; using MouseJump.Common.Models.Styles;
using MouseJumpUI.Common.Models.Drawing; namespace MouseJump.Common.Helpers;
using MouseJumpUI.Common.Models.Styles;
namespace MouseJumpUI.Helpers; public static class StyleHelper
internal static class StyleHelper
{ {
/// <summary> /// <summary>
/// Default v2 preview style /// Default v2 preview style

View File

@ -2,22 +2,19 @@
// The Microsoft Corporation licenses this file to you under the MIT license. // The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
using System;
using System.Diagnostics; using System.Diagnostics;
using System.Drawing;
using MouseJumpUI.Common.Models.Drawing; using MouseJump.Common.Models.Drawing;
using MouseJumpUI.Common.NativeMethods; using MouseJump.Common.NativeMethods;
using static MouseJump.Common.NativeMethods.Core;
using static MouseJumpUI.Common.NativeMethods.Core; namespace MouseJump.Common.Imaging;
namespace MouseJumpUI.Common.Imaging;
/// <summary> /// <summary>
/// Implements an IImageRegionCopyService that uses the current desktop window as the copy source. /// Implements an IImageRegionCopyService that uses the current desktop window as the copy source.
/// This is used during the main application runtime to generate preview images of the desktop. /// This is used during the main application runtime to generate preview images of the desktop.
/// </summary> /// </summary>
internal sealed class DesktopImageRegionCopyService : IImageRegionCopyService public sealed class DesktopImageRegionCopyService : IImageRegionCopyService
{ {
/// <summary> /// <summary>
/// Copies the source region from the current desktop window /// Copies the source region from the current desktop window

View File

@ -2,13 +2,11 @@
// The Microsoft Corporation licenses this file to you under the MIT license. // The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
using System.Drawing; using MouseJump.Common.Models.Drawing;
using MouseJumpUI.Common.Models.Drawing; namespace MouseJump.Common.Imaging;
namespace MouseJumpUI.Common.Imaging; public interface IImageRegionCopyService
internal interface IImageRegionCopyService
{ {
/// <summary> /// <summary>
/// Copies the source region from the provider's source image (e.g. the interactive desktop, /// Copies the source region from the provider's source image (e.g. the interactive desktop,

View File

@ -2,18 +2,15 @@
// The Microsoft Corporation licenses this file to you under the MIT license. // The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
using System; using MouseJump.Common.Models.Drawing;
using System.Drawing;
using MouseJumpUI.Common.Models.Drawing; namespace MouseJump.Common.Imaging;
namespace MouseJumpUI.Common.Imaging;
/// <summary> /// <summary>
/// Implements an IImageRegionCopyService that uses the specified image as the copy source. /// Implements an IImageRegionCopyService that uses the specified image as the copy source.
/// This is used for testing the DrawingHelper rather than as part of the main application. /// This is used for testing the DrawingHelper rather than as part of the main application.
/// </summary> /// </summary>
internal sealed class StaticImageRegionCopyService : IImageRegionCopyService public sealed class StaticImageRegionCopyService : IImageRegionCopyService
{ {
public StaticImageRegionCopyService(Image sourceImage) public StaticImageRegionCopyService(Image sourceImage)
{ {

View File

@ -2,9 +2,7 @@
// The Microsoft Corporation licenses this file to you under the MIT license. // The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
using System; namespace MouseJump.Common.Models.Drawing;
namespace MouseJumpUI.Common.Models.Drawing;
public sealed class BoxBounds public sealed class BoxBounds
{ {
@ -28,7 +26,7 @@ public sealed class BoxBounds
*/ */
internal BoxBounds( public BoxBounds(
RectangleInfo outerBounds, RectangleInfo outerBounds,
RectangleInfo marginBounds, RectangleInfo marginBounds,
RectangleInfo borderBounds, RectangleInfo borderBounds,

View File

@ -2,10 +2,7 @@
// The Microsoft Corporation licenses this file to you under the MIT license. // The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
using System; namespace MouseJump.Common.Models.Drawing;
using System.Drawing;
namespace MouseJumpUI.Common.Models.Drawing;
/// <summary> /// <summary>
/// Immutable version of a System.Drawing.Point object with some extra utility methods. /// Immutable version of a System.Drawing.Point object with some extra utility methods.

View File

@ -2,15 +2,12 @@
// The Microsoft Corporation licenses this file to you under the MIT license. // The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
using System;
using System.Drawing;
using System.Text.Json.Serialization; using System.Text.Json.Serialization;
using MouseJumpUI.Common.Models.Styles; using MouseJump.Common.Models.Styles;
using BorderStyle = MouseJump.Common.Models.Styles.BorderStyle;
using BorderStyle = MouseJumpUI.Common.Models.Styles.BorderStyle; namespace MouseJump.Common.Models.Drawing;
namespace MouseJumpUI.Common.Models.Drawing;
/// <summary> /// <summary>
/// Immutable version of a System.Drawing.Rectangle object with some extra utility methods. /// Immutable version of a System.Drawing.Rectangle object with some extra utility methods.

View File

@ -2,19 +2,15 @@
// The Microsoft Corporation licenses this file to you under the MIT license. // The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
using System; namespace MouseJump.Common.Models.Drawing;
using static MouseJumpUI.Common.NativeMethods.Core;
namespace MouseJumpUI.Common.Models.Drawing;
/// <summary> /// <summary>
/// Immutable version of a System.Windows.Forms.Screen object so we don't need to /// Immutable version of a System.Windows.Forms.Screen object so we don't need to
/// take a dependency on WinForms just for screen info. /// take a dependency on WinForms just for screen info.
/// </summary> /// </summary>
internal sealed class ScreenInfo public sealed class ScreenInfo
{ {
internal ScreenInfo(HMONITOR handle, bool primary, RectangleInfo displayArea, RectangleInfo workingArea) public ScreenInfo(int handle, bool primary, RectangleInfo displayArea, RectangleInfo workingArea)
{ {
this.Handle = handle; this.Handle = handle;
this.Primary = primary; this.Primary = primary;

View File

@ -2,14 +2,10 @@
// The Microsoft Corporation licenses this file to you under the MIT license. // The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
using System; using MouseJump.Common.Models.Styles;
using System.Drawing; using BorderStyle = MouseJump.Common.Models.Styles.BorderStyle;
using MouseJumpUI.Common.Models.Styles; namespace MouseJump.Common.Models.Drawing;
using BorderStyle = MouseJumpUI.Common.Models.Styles.BorderStyle;
namespace MouseJumpUI.Common.Models.Drawing;
/// <summary> /// <summary>
/// Immutable version of a System.Drawing.Size object with some extra utility methods. /// Immutable version of a System.Drawing.Size object with some extra utility methods.

View File

@ -2,15 +2,12 @@
// The Microsoft Corporation licenses this file to you under the MIT license. // The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel; using System.Collections.ObjectModel;
using System.Linq;
using MouseJumpUI.Common.Models.Drawing; using MouseJump.Common.Models.Drawing;
using MouseJumpUI.Common.Models.Styles; using MouseJump.Common.Models.Styles;
namespace MouseJumpUI.Common.Models.Layout; namespace MouseJump.Common.Models.Layout;
public sealed class PreviewLayout public sealed class PreviewLayout
{ {

View File

@ -2,9 +2,7 @@
// The Microsoft Corporation licenses this file to you under the MIT license. // The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
using System.Drawing; namespace MouseJump.Common.Models.Styles;
namespace MouseJumpUI.Common.Models.Styles;
/// <summary> /// <summary>
/// Represents the background fill style for a drawing object. /// Represents the background fill style for a drawing object.

View File

@ -2,9 +2,7 @@
// The Microsoft Corporation licenses this file to you under the MIT license. // The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
using System.Drawing; namespace MouseJump.Common.Models.Styles;
namespace MouseJumpUI.Common.Models.Styles;
/// <summary> /// <summary>
/// Represents the border style for a drawing object. /// Represents the border style for a drawing object.

View File

@ -2,9 +2,7 @@
// The Microsoft Corporation licenses this file to you under the MIT license. // The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
using System; namespace MouseJump.Common.Models.Styles;
namespace MouseJumpUI.Common.Models.Styles;
/// <summary> /// <summary>
/// Represents the styles to apply to a simple box-layout based drawing object. /// Represents the styles to apply to a simple box-layout based drawing object.

View File

@ -2,7 +2,7 @@
// The Microsoft Corporation licenses this file to you under the MIT license. // The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
namespace MouseJumpUI.Common.Models.Styles; namespace MouseJump.Common.Models.Styles;
/// <summary> /// <summary>
/// Represents the margin style for a drawing object. /// Represents the margin style for a drawing object.

View File

@ -2,7 +2,7 @@
// The Microsoft Corporation licenses this file to you under the MIT license. // The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
namespace MouseJumpUI.Common.Models.Styles; namespace MouseJump.Common.Models.Styles;
/// <summary> /// <summary>
/// Represents the margin style for a drawing object. /// Represents the margin style for a drawing object.

View File

@ -2,11 +2,9 @@
// The Microsoft Corporation licenses this file to you under the MIT license. // The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
using System; using MouseJump.Common.Models.Drawing;
using MouseJumpUI.Common.Models.Drawing; namespace MouseJump.Common.Models.Styles;
namespace MouseJumpUI.Common.Models.Styles;
public sealed class PreviewStyle public sealed class PreviewStyle
{ {

View File

@ -0,0 +1,24 @@
<Project Sdk="Microsoft.NET.Sdk">
<!-- Look at Directory.Build.props in root for common stuff as well -->
<Import Project="..\..\..\Common.Dotnet.CsWinRT.props" />
<PropertyGroup>
<ProjectGuid>{923DF87C-CA99-4D1C-B1D2-959174E95BFA}</ProjectGuid>
<AssemblyName>PowerToys.MouseJump.Common</AssemblyName>
<AssemblyTitle>PowerToys.MouseJump.Common</AssemblyTitle>
<AssemblyDescription>PowerToys MouseJump.Common</AssemblyDescription>
<OutputType>Library</OutputType>
<OutputPath>..\..\..\..\$(Platform)\$(Configuration)</OutputPath>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
<ApplicationHighDpiMode>PerMonitorV2</ApplicationHighDpiMode>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<Nullable>enable</Nullable>
<UseWindowsForms>true</UseWindowsForms>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
</Project>

View File

@ -2,7 +2,7 @@
// The Microsoft Corporation licenses this file to you under the MIT license. // The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
namespace MouseJumpUI.Common.NativeMethods; namespace MouseJump.Common.NativeMethods;
internal static partial class Core internal static partial class Core
{ {

View File

@ -5,7 +5,7 @@
using System.Diagnostics.CodeAnalysis; using System.Diagnostics.CodeAnalysis;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace MouseJumpUI.Common.NativeMethods; namespace MouseJump.Common.NativeMethods;
internal static partial class Core internal static partial class Core
{ {

View File

@ -4,7 +4,7 @@
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace MouseJumpUI.Common.NativeMethods; namespace MouseJump.Common.NativeMethods;
internal static partial class Core internal static partial class Core
{ {

View File

@ -2,9 +2,7 @@
// The Microsoft Corporation licenses this file to you under the MIT license. // The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
using System; namespace MouseJump.Common.NativeMethods;
namespace MouseJumpUI.Common.NativeMethods;
internal static partial class Core internal static partial class Core
{ {

View File

@ -2,9 +2,7 @@
// The Microsoft Corporation licenses this file to you under the MIT license. // The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
using System; namespace MouseJump.Common.NativeMethods;
namespace MouseJumpUI.Common.NativeMethods;
internal static partial class Core internal static partial class Core
{ {

View File

@ -2,9 +2,7 @@
// The Microsoft Corporation licenses this file to you under the MIT license. // The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
using System; namespace MouseJump.Common.NativeMethods;
namespace MouseJumpUI.Common.NativeMethods;
internal static partial class Core internal static partial class Core
{ {

View File

@ -2,10 +2,9 @@
// The Microsoft Corporation licenses this file to you under the MIT license. // The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
using System;
using System.Diagnostics.CodeAnalysis; using System.Diagnostics.CodeAnalysis;
namespace MouseJumpUI.Common.NativeMethods; namespace MouseJump.Common.NativeMethods;
internal static partial class Core internal static partial class Core
{ {

View File

@ -2,7 +2,7 @@
// The Microsoft Corporation licenses this file to you under the MIT license. // The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
namespace MouseJumpUI.Common.NativeMethods; namespace MouseJump.Common.NativeMethods;
internal static partial class Core internal static partial class Core
{ {

View File

@ -1,9 +1,8 @@
// Copyright (c) Microsoft Corporation // Copyright (c) Microsoft Corporation
// The Microsoft Corporation licenses this file to you under the MIT license. // The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
using System;
namespace MouseJumpUI.Common.NativeMethods; namespace MouseJump.Common.NativeMethods;
internal static partial class Core internal static partial class Core
{ {

View File

@ -2,10 +2,9 @@
// The Microsoft Corporation licenses this file to you under the MIT license. // The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
using System;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace MouseJumpUI.Common.NativeMethods; namespace MouseJump.Common.NativeMethods;
internal static partial class Core internal static partial class Core
{ {

View File

@ -2,10 +2,9 @@
// The Microsoft Corporation licenses this file to you under the MIT license. // The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
using System;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace MouseJumpUI.Common.NativeMethods; namespace MouseJump.Common.NativeMethods;
internal static partial class Core internal static partial class Core
{ {

View File

@ -1,10 +1,10 @@
// Copyright (c) Microsoft Corporation // Copyright (c) Microsoft Corporation
// The Microsoft Corporation licenses this file to you under the MIT license. // The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
using System;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace MouseJumpUI.Common.NativeMethods; namespace MouseJump.Common.NativeMethods;
internal static partial class Core internal static partial class Core
{ {

View File

@ -5,7 +5,7 @@
using System.Diagnostics.CodeAnalysis; using System.Diagnostics.CodeAnalysis;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace MouseJumpUI.Common.NativeMethods; namespace MouseJump.Common.NativeMethods;
internal static partial class Core internal static partial class Core
{ {

View File

@ -5,7 +5,7 @@
using System.Diagnostics.CodeAnalysis; using System.Diagnostics.CodeAnalysis;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace MouseJumpUI.Common.NativeMethods; namespace MouseJump.Common.NativeMethods;
internal static partial class Core internal static partial class Core
{ {

View File

@ -2,7 +2,7 @@
// The Microsoft Corporation licenses this file to you under the MIT license. // The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
namespace MouseJumpUI.Common.NativeMethods; namespace MouseJump.Common.NativeMethods;
internal static partial class Core internal static partial class Core
{ {

View File

@ -2,9 +2,7 @@
// The Microsoft Corporation licenses this file to you under the MIT license. // The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
using System; namespace MouseJump.Common.NativeMethods;
namespace MouseJumpUI.Common.NativeMethods;
internal static partial class Core internal static partial class Core
{ {

View File

@ -2,7 +2,7 @@
// The Microsoft Corporation licenses this file to you under the MIT license. // The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
namespace MouseJumpUI.Common.NativeMethods; namespace MouseJump.Common.NativeMethods;
internal static partial class Core internal static partial class Core
{ {

View File

@ -2,7 +2,7 @@
// The Microsoft Corporation licenses this file to you under the MIT license. // The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
namespace MouseJumpUI.Common.NativeMethods; namespace MouseJump.Common.NativeMethods;
internal static partial class Gdi32 internal static partial class Gdi32
{ {

View File

@ -2,7 +2,7 @@
// The Microsoft Corporation licenses this file to you under the MIT license. // The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
namespace MouseJumpUI.Common.NativeMethods; namespace MouseJump.Common.NativeMethods;
internal static partial class Gdi32 internal static partial class Gdi32
{ {

View File

@ -4,9 +4,9 @@
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using static MouseJumpUI.Common.NativeMethods.Core; using static MouseJump.Common.NativeMethods.Core;
namespace MouseJumpUI.Common.NativeMethods; namespace MouseJump.Common.NativeMethods;
internal static partial class Gdi32 internal static partial class Gdi32
{ {

View File

@ -4,9 +4,9 @@
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using static MouseJumpUI.Common.NativeMethods.Core; using static MouseJump.Common.NativeMethods.Core;
namespace MouseJumpUI.Common.NativeMethods; namespace MouseJump.Common.NativeMethods;
internal static partial class Gdi32 internal static partial class Gdi32
{ {

View File

@ -2,7 +2,7 @@
// The Microsoft Corporation licenses this file to you under the MIT license. // The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
namespace MouseJumpUI.Common.NativeMethods; namespace MouseJump.Common.NativeMethods;
internal static class Libraries internal static class Libraries
{ {

View File

@ -4,9 +4,9 @@
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using static MouseJumpUI.Common.NativeMethods.Core; using static MouseJump.Common.NativeMethods.Core;
namespace MouseJumpUI.Common.NativeMethods; namespace MouseJump.Common.NativeMethods;
internal static partial class User32 internal static partial class User32
{ {

View File

@ -4,9 +4,9 @@
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using static MouseJumpUI.Common.NativeMethods.Core; using static MouseJump.Common.NativeMethods.Core;
namespace MouseJumpUI.Common.NativeMethods; namespace MouseJump.Common.NativeMethods;
internal static partial class User32 internal static partial class User32
{ {

View File

@ -4,9 +4,9 @@
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using static MouseJumpUI.Common.NativeMethods.Core; using static MouseJump.Common.NativeMethods.Core;
namespace MouseJumpUI.Common.NativeMethods; namespace MouseJump.Common.NativeMethods;
internal static partial class User32 internal static partial class User32
{ {

View File

@ -2,10 +2,9 @@
// The Microsoft Corporation licenses this file to you under the MIT license. // The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
using System;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace MouseJumpUI.Common.NativeMethods; namespace MouseJump.Common.NativeMethods;
internal static partial class User32 internal static partial class User32
{ {

View File

@ -2,9 +2,9 @@
// The Microsoft Corporation licenses this file to you under the MIT license. // The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
using static MouseJumpUI.Common.NativeMethods.Core; using static MouseJump.Common.NativeMethods.Core;
namespace MouseJumpUI.Common.NativeMethods; namespace MouseJump.Common.NativeMethods;
internal static partial class User32 internal static partial class User32
{ {

View File

@ -5,9 +5,9 @@
using System.Diagnostics.CodeAnalysis; using System.Diagnostics.CodeAnalysis;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using static MouseJumpUI.Common.NativeMethods.Core; using static MouseJump.Common.NativeMethods.Core;
namespace MouseJumpUI.Common.NativeMethods; namespace MouseJump.Common.NativeMethods;
internal static partial class User32 internal static partial class User32
{ {

View File

@ -4,7 +4,7 @@
using System.Diagnostics.CodeAnalysis; using System.Diagnostics.CodeAnalysis;
namespace MouseJumpUI.Common.NativeMethods; namespace MouseJump.Common.NativeMethods;
[SuppressMessage("SA1310", "SA1310:FieldNamesMustNotContainUnderscore", Justification = "Names match Win32 api")] [SuppressMessage("SA1310", "SA1310:FieldNamesMustNotContainUnderscore", Justification = "Names match Win32 api")]
internal static partial class User32 internal static partial class User32

View File

@ -4,7 +4,7 @@
using System.Diagnostics.CodeAnalysis; using System.Diagnostics.CodeAnalysis;
namespace MouseJumpUI.Common.NativeMethods; namespace MouseJump.Common.NativeMethods;
[SuppressMessage("SA1310", "SA1310:FieldNamesMustNotContainUnderscore", Justification = "Names match Win32 api")] [SuppressMessage("SA1310", "SA1310:FieldNamesMustNotContainUnderscore", Justification = "Names match Win32 api")]
internal static partial class User32 internal static partial class User32

View File

@ -4,9 +4,9 @@
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using static MouseJumpUI.Common.NativeMethods.Core; using static MouseJump.Common.NativeMethods.Core;
namespace MouseJumpUI.Common.NativeMethods; namespace MouseJump.Common.NativeMethods;
internal static partial class User32 internal static partial class User32
{ {

View File

@ -4,9 +4,9 @@
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using static MouseJumpUI.Common.NativeMethods.Core; using static MouseJump.Common.NativeMethods.Core;
namespace MouseJumpUI.Common.NativeMethods; namespace MouseJump.Common.NativeMethods;
internal static partial class User32 internal static partial class User32
{ {

View File

@ -5,9 +5,9 @@
using System.Diagnostics.CodeAnalysis; using System.Diagnostics.CodeAnalysis;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using static MouseJumpUI.Common.NativeMethods.Core; using static MouseJump.Common.NativeMethods.Core;
namespace MouseJumpUI.Common.NativeMethods; namespace MouseJump.Common.NativeMethods;
internal static partial class User32 internal static partial class User32
{ {

View File

@ -5,9 +5,7 @@
using System.Diagnostics.CodeAnalysis; using System.Diagnostics.CodeAnalysis;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using static MouseJumpUI.Common.NativeMethods.Core; namespace MouseJump.Common.NativeMethods;
namespace MouseJumpUI.Common.NativeMethods;
internal static partial class User32 internal static partial class User32
{ {

View File

@ -4,7 +4,7 @@
using System.Diagnostics.CodeAnalysis; using System.Diagnostics.CodeAnalysis;
namespace MouseJumpUI.Common.NativeMethods; namespace MouseJump.Common.NativeMethods;
[SuppressMessage("SA1310", "SA1310:FieldNamesMustNotContainUnderscore", Justification = "Names match Win32 api")] [SuppressMessage("SA1310", "SA1310:FieldNamesMustNotContainUnderscore", Justification = "Names match Win32 api")]
internal static partial class User32 internal static partial class User32

View File

@ -5,9 +5,9 @@
using System.Diagnostics.CodeAnalysis; using System.Diagnostics.CodeAnalysis;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using static MouseJumpUI.Common.NativeMethods.Core; using static MouseJump.Common.NativeMethods.Core;
namespace MouseJumpUI.Common.NativeMethods; namespace MouseJump.Common.NativeMethods;
internal static partial class User32 internal static partial class User32
{ {

View File

@ -2,11 +2,9 @@
// The Microsoft Corporation licenses this file to you under the MIT license. // The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace MouseJumpUI.Common.NativeMethods; namespace MouseJump.Common.NativeMethods;
internal static partial class User32 internal static partial class User32
{ {

View File

@ -5,9 +5,9 @@
using System.Diagnostics.CodeAnalysis; using System.Diagnostics.CodeAnalysis;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using static MouseJumpUI.Common.NativeMethods.Core; using static MouseJump.Common.NativeMethods.Core;
namespace MouseJumpUI.Common.NativeMethods; namespace MouseJump.Common.NativeMethods;
internal static partial class User32 internal static partial class User32
{ {

View File

@ -2,10 +2,9 @@
// The Microsoft Corporation licenses this file to you under the MIT license. // The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
using System;
using System.Diagnostics.CodeAnalysis; using System.Diagnostics.CodeAnalysis;
namespace MouseJumpUI.Common.NativeMethods; namespace MouseJump.Common.NativeMethods;
[SuppressMessage("SA1310", "SA1310:FieldNamesMustNotContainUnderscore", Justification = "Names match Win32 api")] [SuppressMessage("SA1310", "SA1310:FieldNamesMustNotContainUnderscore", Justification = "Names match Win32 api")]
internal static partial class User32 internal static partial class User32

View File

@ -4,9 +4,9 @@
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using static MouseJumpUI.Common.NativeMethods.Core; using static MouseJump.Common.NativeMethods.Core;
namespace MouseJumpUI.Common.NativeMethods; namespace MouseJump.Common.NativeMethods;
internal static partial class User32 internal static partial class User32
{ {

View File

@ -4,9 +4,9 @@
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using static MouseJumpUI.Common.NativeMethods.Core; using static MouseJump.Common.NativeMethods.Core;
namespace MouseJumpUI.Common.NativeMethods; namespace MouseJump.Common.NativeMethods;
internal static partial class User32 internal static partial class User32
{ {

View File

@ -4,9 +4,9 @@
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using static MouseJumpUI.Common.NativeMethods.Core; using static MouseJump.Common.NativeMethods.Core;
namespace MouseJumpUI.Common.NativeMethods; namespace MouseJump.Common.NativeMethods;
internal static partial class User32 internal static partial class User32
{ {

View File

@ -4,7 +4,7 @@
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace MouseJumpUI.Common.NativeMethods; namespace MouseJump.Common.NativeMethods;
internal static partial class User32 internal static partial class User32
{ {

View File

@ -4,7 +4,7 @@
using System.Diagnostics.CodeAnalysis; using System.Diagnostics.CodeAnalysis;
namespace MouseJumpUI.Common.NativeMethods; namespace MouseJump.Common.NativeMethods;
[SuppressMessage("SA1310", "SA1310:FieldNamesMustNotContainUnderscore", Justification = "Names match Win32 api")] [SuppressMessage("SA1310", "SA1310:FieldNamesMustNotContainUnderscore", Justification = "Names match Win32 api")]
internal static partial class User32 internal static partial class User32

View File

@ -4,9 +4,9 @@
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using static MouseJumpUI.Common.NativeMethods.Core; using static MouseJump.Common.NativeMethods.Core;
namespace MouseJumpUI.Common.NativeMethods; namespace MouseJump.Common.NativeMethods;
internal static partial class User32 internal static partial class User32
{ {

View File

@ -4,4 +4,4 @@
using System.Runtime.CompilerServices; using System.Runtime.CompilerServices;
[assembly: InternalsVisibleTo("MouseJumpUI.UnitTests")] [assembly: InternalsVisibleTo("MouseJump.Common.UnitTests")]

View File

@ -1,35 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk">
<!-- Look at Directory.Build.props in root for common stuff as well -->
<Import Project="..\..\..\Common.Dotnet.CsWinRT.props" />
<PropertyGroup>
<ProjectGuid>{D9C5DE64-6849-4278-91AD-9660AECF2876}</ProjectGuid>
<RootNamespace>Microsoft.MouseJumpUI.UnitTests</RootNamespace>
<IsPackable>false</IsPackable>
<Nullable>enable</Nullable>
<OutputType>Library</OutputType>
</PropertyGroup>
<PropertyGroup>
<OutputPath>..\..\..\..\$(Platform)\$(Configuration)\tests\MouseJumpUI.UnitTests\</OutputPath>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="MSTest" />
<PackageReference Include="System.CodeDom">
<!-- This package is a dependency of System.Management, but we need to set it here so we can exclude the assets, so it doesn't conflict with the 8.0.1 dll coming from .NET SDK. -->
<ExcludeAssets>runtime</ExcludeAssets> <!-- Should already be present on .net sdk runtime, so we avoid the conflicting runtime version from nuget -->
</PackageReference>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Common\Helpers\_test-4grid-desktop.png" />
<EmbeddedResource Include="Common\Helpers\_test-4grid-expected.png" />
<EmbeddedResource Include="Common\Helpers\_test-win11-desktop.png" />
<EmbeddedResource Include="Common\Helpers\_test-win11-expected.png" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\MouseJumpUI\MouseJumpUI.csproj" />
</ItemGroup>
</Project>

View File

@ -13,7 +13,7 @@ using Microsoft.PowerToys.Settings.UI.Library.Utilities;
namespace MouseJumpUI.Helpers; namespace MouseJumpUI.Helpers;
internal class SettingsHelper internal sealed class SettingsHelper
{ {
public SettingsHelper() public SettingsHelper()
{ {

View File

@ -6,7 +6,7 @@ using System.Windows.Forms;
namespace MouseJumpUI; namespace MouseJumpUI;
partial class MainForm internal sealed partial class MainForm
{ {
/// <summary> /// <summary>

View File

@ -9,15 +9,15 @@ using System.Linq;
using System.Windows.Forms; using System.Windows.Forms;
using ManagedCommon; using ManagedCommon;
using MouseJumpUI.Common.Helpers; using MouseJump.Common.Helpers;
using MouseJumpUI.Common.Imaging; using MouseJump.Common.Imaging;
using MouseJumpUI.Common.Models.Drawing; using MouseJump.Common.Models.Drawing;
using MouseJumpUI.Common.Models.Layout; using MouseJump.Common.Models.Layout;
using MouseJumpUI.Helpers; using MouseJumpUI.Helpers;
namespace MouseJumpUI; namespace MouseJumpUI;
internal partial class MainForm : Form internal sealed partial class MainForm : Form
{ {
public MainForm(SettingsHelper settingsHelper) public MainForm(SettingsHelper settingsHelper)
{ {

View File

@ -4,26 +4,24 @@
<Import Project="..\..\..\Common.SelfContained.props" /> <Import Project="..\..\..\Common.SelfContained.props" />
<PropertyGroup> <PropertyGroup>
<AssemblyName>PowerToys.MouseJumpUI</AssemblyName>
<AssemblyTitle>PowerToys.MouseJumpUI</AssemblyTitle> <AssemblyTitle>PowerToys.MouseJumpUI</AssemblyTitle>
<AssemblyDescription>PowerToys MouseJumpUI</AssemblyDescription> <AssemblyDescription>PowerToys MouseJumpUI</AssemblyDescription>
<OutputType>WinExe</OutputType>
<OutputPath>..\..\..\..\$(Platform)\$(Configuration)</OutputPath> <OutputPath>..\..\..\..\$(Platform)\$(Configuration)</OutputPath>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath> <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath> <AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
<GenerateSatelliteAssembliesForCore>true</GenerateSatelliteAssembliesForCore>
<UseWindowsForms>true</UseWindowsForms> <ApplicationHighDpiMode>PerMonitorV2</ApplicationHighDpiMode>
<StartupObject>MouseJumpUI.Program</StartupObject>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks> <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
<ApplicationHighDpiMode>PerMonitorV2</ApplicationHighDpiMode> <UseWindowsForms>true</UseWindowsForms>
<ProjectGuid>{D962A009-834F-4EEC-AABB-430DF8F98E39}</ProjectGuid> <ImplicitUsings>disable</ImplicitUsings>
<OutputType>WinExe</OutputType>
<RootNamespace>MouseJumpUI</RootNamespace>
<AssemblyName>PowerToys.MouseJumpUI</AssemblyName>
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
</PropertyGroup> </PropertyGroup>
<!-- See https://learn.microsoft.com/windows/apps/develop/platform/csharp-winrt/net-projection-from-cppwinrt-component for more info --> <!-- See https://learn.microsoft.com/windows/apps/develop/platform/csharp-winrt/net-projection-from-cppwinrt-component for more info -->
<PropertyGroup> <PropertyGroup>
<CsWinRTIncludes>PowerToys.GPOWrapper</CsWinRTIncludes> <CsWinRTIncludes>PowerToys.GPOWrapper</CsWinRTIncludes>
<CsWinRTGeneratedFilesDir>$(OutDir)</CsWinRTGeneratedFilesDir> <CsWinRTGeneratedFilesDir>$(OutDir)</CsWinRTGeneratedFilesDir>
@ -36,5 +34,7 @@
<ProjectReference Include="..\..\..\common\interop\PowerToys.Interop.vcxproj" /> <ProjectReference Include="..\..\..\common\interop\PowerToys.Interop.vcxproj" />
<ProjectReference Include="..\..\..\common\ManagedCommon\ManagedCommon.csproj" /> <ProjectReference Include="..\..\..\common\ManagedCommon\ManagedCommon.csproj" />
<ProjectReference Include="..\..\..\settings-ui\Settings.UI.Library\Settings.UI.Library.csproj" /> <ProjectReference Include="..\..\..\settings-ui\Settings.UI.Library\Settings.UI.Library.csproj" />
<ProjectReference Include="..\MouseJump.Common\MouseJump.Common.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>