diff --git a/src/Snap.Hutao/Snap.Hutao/App.xaml.cs b/src/Snap.Hutao/Snap.Hutao/App.xaml.cs index 9ec6c6e3..2e9b7ecb 100644 --- a/src/Snap.Hutao/Snap.Hutao/App.xaml.cs +++ b/src/Snap.Hutao/Snap.Hutao/App.xaml.cs @@ -59,7 +59,7 @@ public sealed partial class App : Application public new void Exit() { - XamlWindowLifetime.ApplicationExiting = true; + XamlLifetime.ApplicationExiting = true; base.Exit(); } diff --git a/src/Snap.Hutao/Snap.Hutao/Core/LifeCycle/AppActivation.cs b/src/Snap.Hutao/Snap.Hutao/Core/LifeCycle/AppActivation.cs index cb296236..fb9be880 100644 --- a/src/Snap.Hutao/Snap.Hutao/Core/LifeCycle/AppActivation.cs +++ b/src/Snap.Hutao/Snap.Hutao/Core/LifeCycle/AppActivation.cs @@ -74,7 +74,7 @@ internal sealed partial class AppActivation : IAppActivation, IAppActivationActi if (serviceProvider.GetRequiredService().IsNotifyIconEnabled) { - XamlWindowLifetime.ApplicationLaunchedWithNotifyIcon = true; + XamlLifetime.ApplicationLaunchedWithNotifyIcon = true; serviceProvider.GetRequiredService().DispatcherShutdownMode = DispatcherShutdownMode.OnExplicitShutdown; _ = serviceProvider.GetRequiredService(); } diff --git a/src/Snap.Hutao/Snap.Hutao/Core/Windowing/XamlWindowLifetime.cs b/src/Snap.Hutao/Snap.Hutao/Core/Windowing/XamlLifetime.cs similarity index 86% rename from src/Snap.Hutao/Snap.Hutao/Core/Windowing/XamlWindowLifetime.cs rename to src/Snap.Hutao/Snap.Hutao/Core/Windowing/XamlLifetime.cs index 46e63c3b..48348063 100644 --- a/src/Snap.Hutao/Snap.Hutao/Core/Windowing/XamlWindowLifetime.cs +++ b/src/Snap.Hutao/Snap.Hutao/Core/Windowing/XamlLifetime.cs @@ -3,7 +3,7 @@ namespace Snap.Hutao.Core.Windowing; -internal static class XamlWindowLifetime +internal static class XamlLifetime { public static bool ApplicationLaunchedWithNotifyIcon { get; set; } diff --git a/src/Snap.Hutao/Snap.Hutao/Core/Windowing/XamlWindowController.cs b/src/Snap.Hutao/Snap.Hutao/Core/Windowing/XamlWindowController.cs index bb6717c4..564b73f4 100644 --- a/src/Snap.Hutao/Snap.Hutao/Core/Windowing/XamlWindowController.cs +++ b/src/Snap.Hutao/Snap.Hutao/Core/Windowing/XamlWindowController.cs @@ -99,7 +99,7 @@ internal sealed class XamlWindowController private void OnWindowClosed(object sender, WindowEventArgs args) { - if (XamlWindowLifetime.ApplicationLaunchedWithNotifyIcon && !XamlWindowLifetime.ApplicationExiting) + if (XamlLifetime.ApplicationLaunchedWithNotifyIcon && !XamlLifetime.ApplicationExiting) { args.Handled = true; window.Hide(); diff --git a/src/Snap.Hutao/Snap.Hutao/Core/Windowing/XamlWindowSubclass.cs b/src/Snap.Hutao/Snap.Hutao/Core/Windowing/XamlWindowSubclass.cs index a2488e38..2f6990a4 100644 --- a/src/Snap.Hutao/Snap.Hutao/Core/Windowing/XamlWindowSubclass.cs +++ b/src/Snap.Hutao/Snap.Hutao/Core/Windowing/XamlWindowSubclass.cs @@ -96,7 +96,7 @@ internal sealed class XamlWindowSubclass : IDisposable } } - if (XamlWindowLifetime.ApplicationExiting) + if (XamlLifetime.ApplicationExiting) { return default; } diff --git a/src/Snap.Hutao/Snap.Hutao/Core/WindowsVersion.cs b/src/Snap.Hutao/Snap.Hutao/Core/WindowsVersion.cs index e3581868..ce742a71 100644 --- a/src/Snap.Hutao/Snap.Hutao/Core/WindowsVersion.cs +++ b/src/Snap.Hutao/Snap.Hutao/Core/WindowsVersion.cs @@ -3,6 +3,8 @@ namespace Snap.Hutao.Core; +// See %PROGRAMFILES(X86)%\Windows Kits\10\Platforms\UAP\ +// Windows.Foundation.UniversalApiContract internal enum WindowsVersion : ushort { /// diff --git a/src/Snap.Hutao/Snap.Hutao/Service/Game/Automation/ScreenCapture/GameScreenCaptureService.cs b/src/Snap.Hutao/Snap.Hutao/Service/Game/Automation/ScreenCapture/GameScreenCaptureService.cs index 0f1367f2..a4822f70 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/Game/Automation/ScreenCapture/GameScreenCaptureService.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/Game/Automation/ScreenCapture/GameScreenCaptureService.cs @@ -11,7 +11,7 @@ using Windows.Graphics.Capture; using Windows.Graphics.DirectX.Direct3D11; using WinRT; using static Snap.Hutao.Win32.ConstValues; -using static Snap.Hutao.Win32.D3D11; +using static Snap.Hutao.Win32.D3d11; using static Snap.Hutao.Win32.Macros; namespace Snap.Hutao.Service.Game.Automation.ScreenCapture; diff --git a/src/Snap.Hutao/Snap.Hutao/Win32/D3D11.cs b/src/Snap.Hutao/Snap.Hutao/Win32/D3d11_Temp.cs similarity index 98% rename from src/Snap.Hutao/Snap.Hutao/Win32/D3D11.cs rename to src/Snap.Hutao/Snap.Hutao/Win32/D3d11_Temp.cs index 03c2e07a..cf2ea052 100644 --- a/src/Snap.Hutao/Snap.Hutao/Win32/D3D11.cs +++ b/src/Snap.Hutao/Snap.Hutao/Win32/D3d11_Temp.cs @@ -13,7 +13,7 @@ namespace Snap.Hutao.Win32; [SuppressMessage("", "SA1313")] [SuppressMessage("", "SYSLIB1054")] -internal static class D3D11 +internal static class D3d11 { [DllImport("d3d11.dll", CallingConvention = CallingConvention.Winapi, ExactSpelling = true)] public static unsafe extern HRESULT CreateDirect3D11DeviceFromDXGIDevice(IDXGIDevice* dxgiDevice, IInspectable** graphicsDevice); diff --git a/src/Snap.Hutao/Snap.Hutao/Win32/Dxgi.cs b/src/Snap.Hutao/Snap.Hutao/Win32/Dxgi.cs new file mode 100644 index 00000000..2ddfc7c5 --- /dev/null +++ b/src/Snap.Hutao/Snap.Hutao/Win32/Dxgi.cs @@ -0,0 +1,15 @@ +// Copyright (c) DGP Studio. All rights reserved. +// Licensed under the MIT license. + +using Snap.Hutao.Win32.Foundation; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; + +namespace Snap.Hutao.Win32; + +internal static class Dxgi +{ + [DllImport("dxgi.dll", ExactSpelling = true, PreserveSig = false)] + [SupportedOSPlatform("windows8.1")] + public unsafe static extern HRESULT CreateDXGIFactory2([In] uint Flags, [In][Const] Guid* riid, [Out][ComOutPtr] void** ppFactory); +} \ No newline at end of file