forked from github_mirror/framelesshelper
Minor improvements
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
This commit is contained in:
parent
5be463436c
commit
3aba956d66
|
@ -36,7 +36,7 @@ Window {
|
|||
title: qsTr("Hello, World!")
|
||||
color: "#f0f0f0"
|
||||
|
||||
property real _flh_margin: ((window.visibility === Window.Maximized) | (window.visibility === Window.FullScreen)) ? 0.0 : (1.0 / Screen.devicePixelRatio)
|
||||
property real _flh_margin: ((window.visibility === Window.Maximized) | (window.visibility === Window.FullScreen)) ? 0.0 : Math.max(1.0, Screen.devicePixelRatio)
|
||||
property var _win_prev_state: null
|
||||
|
||||
FramelessHelper {
|
||||
|
|
|
@ -367,7 +367,7 @@ bool FramelessHelperWin::nativeEventFilter(const QByteArray &eventType, void *me
|
|||
}
|
||||
}
|
||||
}
|
||||
#if 0
|
||||
#if 1
|
||||
// Fix the flickering issue while resizing.
|
||||
// "clientRect->right += 1;" also works.
|
||||
// This small technique is known to have two draw backs:
|
||||
|
@ -604,6 +604,14 @@ bool FramelessHelperWin::nativeEventFilter(const QByteArray &eventType, void *me
|
|||
*result = ret;
|
||||
return true;
|
||||
}
|
||||
case WM_WINDOWPOSCHANGING: {
|
||||
#if (QT_VERSION < QT_VERSION_CHECK(6, 2, 2))
|
||||
// Tell Windows to discard the entire contents of the client area, as re-using
|
||||
// parts of the client area would lead to jitter during resize.
|
||||
const auto windowPos = reinterpret_cast<LPWINDOWPOS>(msg->lParam);
|
||||
windowPos->flags |= SWP_NOCOPYBITS;
|
||||
#endif
|
||||
} break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -328,7 +328,8 @@ int Utilities::getWindowVisibleFrameBorderThickness(const WId winId)
|
|||
UINT value = 0;
|
||||
const HRESULT hr = DwmGetWindowAttribute(hWnd, _DWMWA_VISIBLE_FRAME_BORDER_THICKNESS, &value, sizeof(value));
|
||||
if (SUCCEEDED(hr)) {
|
||||
return value;
|
||||
const QWindow *w = findWindow(winId);
|
||||
return static_cast<int>(qRound(static_cast<qreal>(value) * (w ? w->devicePixelRatio() : 1.0)));
|
||||
} else {
|
||||
// We just eat this error because this enum value was introduced in a very
|
||||
// late Windows 10 version, so querying it's value will always result in
|
||||
|
|
Loading…
Reference in New Issue