From b413d0b1e674e60738f4e38b051cf5c40f374127 Mon Sep 17 00:00:00 2001 From: VerySimple <55847490+SineStriker@users.noreply.github.com> Date: Thu, 7 Jul 2022 10:26:14 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=E5=87=A0=E4=B8=AA?= =?UTF-8?q?=E5=9C=B0=E6=96=B9=20(#139)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * merge 3 commits modify a few lines Update framelesshelper_windows.h * improve syntax --- .../Core/framelesshelper_windows.h | 17 ++++++++++++++--- .../Core/private/sysapiloader_p.h | 2 ++ src/core/CMakeLists.txt | 7 ++++++- src/core/framelessmanager.cpp | 1 + 4 files changed, 23 insertions(+), 4 deletions(-) diff --git a/include/FramelessHelper/Core/framelesshelper_windows.h b/include/FramelessHelper/Core/framelesshelper_windows.h index 62ed8e4..09c1b52 100644 --- a/include/FramelessHelper/Core/framelesshelper_windows.h +++ b/include/FramelessHelper/Core/framelesshelper_windows.h @@ -159,6 +159,10 @@ using NTSTATUS = LONG; +#ifndef WINMMAPI + +#define WINMMAPI EXTERN_C DECLSPEC_IMPORT + using MMRESULT = UINT; using TIMECAPS = struct TIMECAPS @@ -170,6 +174,8 @@ using PTIMECAPS = TIMECAPS *; using NPTIMECAPS = TIMECAPS NEAR *; using LPTIMECAPS = TIMECAPS FAR *; +#endif + using PROCESS_DPI_AWARENESS = enum PROCESS_DPI_AWARENESS { PROCESS_DPI_UNAWARE = 0, @@ -284,18 +290,18 @@ using LPWINDOWCOMPOSITIONATTRIBDATA = WINDOWCOMPOSITIONATTRIBDATA FAR *; using GetWindowCompositionAttributePtr = BOOL(WINAPI *)(HWND, PWINDOWCOMPOSITIONATTRIBDATA); using SetWindowCompositionAttributePtr = BOOL(WINAPI *)(HWND, PWINDOWCOMPOSITIONATTRIBDATA); -EXTERN_C MMRESULT WINAPI +WINMMAPI MMRESULT WINAPI timeGetDevCaps( _Out_writes_bytes_(cbtc) LPTIMECAPS ptc, _In_ UINT cbtc ); -EXTERN_C MMRESULT WINAPI +WINMMAPI MMRESULT WINAPI timeBeginPeriod( _In_ UINT uPeriod ); -EXTERN_C MMRESULT WINAPI +WINMMAPI MMRESULT WINAPI timeEndPeriod( _In_ UINT uPeriod ); @@ -324,6 +330,11 @@ GetDpiForWindow( _In_ HWND hwnd ); +WINUSERAPI UINT WINAPI +GetDpiForSystem( + VOID +); + WINUSERAPI UINT WINAPI GetSystemDpiForProcess( _In_ HANDLE hProcess diff --git a/include/FramelessHelper/Core/private/sysapiloader_p.h b/include/FramelessHelper/Core/private/sysapiloader_p.h index a1f5f39..ee096b9 100644 --- a/include/FramelessHelper/Core/private/sysapiloader_p.h +++ b/include/FramelessHelper/Core/private/sysapiloader_p.h @@ -29,6 +29,8 @@ #include #include +#include + FRAMELESSHELPER_BEGIN_NAMESPACE class FRAMELESSHELPER_CORE_API SysApiLoader : public QObject diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index f42ae9e..d43dd98 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -125,7 +125,12 @@ else() ) endif() -if(UNIX AND NOT APPLE) +if (APPLE) + target_link_libraries(${SUB_PROJ_NAME} PRIVATE + "-framework Foundation" + "-framework Cocoa" + ) +elseif (UNIX) target_compile_definitions(${SUB_PROJ_NAME} PRIVATE GDK_VERSION_MIN_REQUIRED=GDK_VERSION_3_6 ) diff --git a/src/core/framelessmanager.cpp b/src/core/framelessmanager.cpp index 6016ad7..51ed17b 100644 --- a/src/core/framelessmanager.cpp +++ b/src/core/framelessmanager.cpp @@ -25,6 +25,7 @@ #include "framelessmanager.h" #include "framelessmanager_p.h" #include +#include #include #include #include