mirror of
https://github.com/barry-ran/QtScrcpy.git
synced 2025-04-20 11:35:56 +00:00
Merge pull request #690 from FrzMtrsprt/dark_border
Enable dark window border on Windows
This commit is contained in:
commit
c9919b3020
4 changed files with 54 additions and 0 deletions
|
@ -149,6 +149,8 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
|||
set(QC_UTIL_SOURCES ${QC_UTIL_SOURCES}
|
||||
util/mousetap/winmousetap.h
|
||||
util/mousetap/winmousetap.cpp
|
||||
util/winutils.h
|
||||
util/winutils.cpp
|
||||
)
|
||||
endif()
|
||||
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||
|
|
|
@ -11,6 +11,10 @@
|
|||
#include "videoform.h"
|
||||
#include "../groupcontroller/groupcontroller.h"
|
||||
|
||||
#ifdef Q_OS_WIN32
|
||||
#include "../util/winutils.h"
|
||||
#endif
|
||||
|
||||
QString s_keyMapPath = "";
|
||||
|
||||
const QString &getKeyMapPath()
|
||||
|
@ -137,6 +141,10 @@ void Dialog::initUI()
|
|||
|
||||
setWindowTitle(Config::getInstance().getTitle());
|
||||
|
||||
#ifdef Q_OS_WIN32
|
||||
WinUtils::setDarkBorderToWindow((HWND)this->winId(), true);
|
||||
#endif
|
||||
|
||||
ui->bitRateEdit->setValidator(new QIntValidator(1, 99999, this));
|
||||
|
||||
ui->maxSizeBox->addItem("640");
|
||||
|
|
28
QtScrcpy/util/winutils.cpp
Normal file
28
QtScrcpy/util/winutils.cpp
Normal file
|
@ -0,0 +1,28 @@
|
|||
#include <QDebug>
|
||||
#include <Windows.h>
|
||||
#include <dwmapi.h>
|
||||
#pragma comment(lib, "dwmapi")
|
||||
|
||||
#include "winutils.h"
|
||||
|
||||
enum : WORD
|
||||
{
|
||||
DwmwaUseImmersiveDarkMode = 20,
|
||||
DwmwaUseImmersiveDarkModeBefore20h1 = 19
|
||||
};
|
||||
|
||||
WinUtils::WinUtils(){};
|
||||
|
||||
WinUtils::~WinUtils(){};
|
||||
|
||||
// Set dark border to window
|
||||
// Reference: qt/qtbase.git/tree/src/plugins/platforms/windows/qwindowswindow.cpp
|
||||
bool WinUtils::setDarkBorderToWindow(const HWND &hwnd, const bool &d)
|
||||
{
|
||||
const BOOL darkBorder = d ? TRUE : FALSE;
|
||||
const bool ok = SUCCEEDED(DwmSetWindowAttribute(hwnd, DwmwaUseImmersiveDarkMode, &darkBorder, sizeof(darkBorder)))
|
||||
|| SUCCEEDED(DwmSetWindowAttribute(hwnd, DwmwaUseImmersiveDarkModeBefore20h1, &darkBorder, sizeof(darkBorder)));
|
||||
if (!ok)
|
||||
qWarning("%s: Unable to set dark window border.", __FUNCTION__);
|
||||
return ok;
|
||||
}
|
16
QtScrcpy/util/winutils.h
Normal file
16
QtScrcpy/util/winutils.h
Normal file
|
@ -0,0 +1,16 @@
|
|||
#ifndef WINUTILS_H
|
||||
#define WINUTILS_H
|
||||
|
||||
#include <QApplication>
|
||||
#include <Windows.h>
|
||||
|
||||
class WinUtils
|
||||
{
|
||||
public:
|
||||
WinUtils();
|
||||
~WinUtils();
|
||||
|
||||
static bool setDarkBorderToWindow(const HWND &hwnd, const bool &d);
|
||||
};
|
||||
|
||||
#endif // WINUTILS_H
|
Loading…
Add table
Reference in a new issue