From bc8868d519702c5a55f21377711cf4db54714650 Mon Sep 17 00:00:00 2001 From: SineStriker <55847490+SineStriker@users.noreply.github.com> Date: 周一, 29 1月 2024 22:03:10 +0800 Subject: [PATCH] Fix centerize issue (#34) --- src/core/contexts/win32windowcontext_p.h | 28 ++++++++++++++++++++++------ 1 files changed, 22 insertions(+), 6 deletions(-) diff --git a/src/core/contexts/win32windowcontext_p.h b/src/core/contexts/win32windowcontext_p.h index 758633f..b99c90d 100644 --- a/src/core/contexts/win32windowcontext_p.h +++ b/src/core/contexts/win32windowcontext_p.h @@ -1,12 +1,25 @@ +// Copyright (C) 2023-2024 Stdware Collections (https://www.github.com/stdware) +// Copyright (C) 2021-2023 wangwenx190 (Yuhang Zhao) +// SPDX-License-Identifier: Apache-2.0 + #ifndef WIN32WINDOWCONTEXT_P_H #define WIN32WINDOWCONTEXT_P_H + +// +// W A R N I N G !!! +// ----------------- +// +// This file is not part of the QWindowKit API. It is used purely as an +// implementation detail. This header file may change from version to +// version without notice, or may even be removed. +// #include <QWKCore/qwindowkit_windows.h> #include <QWKCore/private/abstractwindowcontext_p.h> namespace QWK { - class QWK_CORE_EXPORT Win32WindowContext : public AbstractWindowContext { + class Win32WindowContext : public AbstractWindowContext { Q_OBJECT public: Win32WindowContext(); @@ -21,10 +34,15 @@ TitleBar, }; - void showSystemMenu(const QPoint &pos) override; + QString key() const override; + void virtual_hook(int id, void *data) override; + + QVariant windowAttribute(const QString &key) const override; protected: - bool setupHost() override; + void winIdChanged() override; + bool windowAttributeChanged(const QString &key, const QVariant &attribute, + const QVariant &oldAttribute) override; public: bool windowProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam, LRESULT *result); @@ -33,7 +51,7 @@ LRESULT *result); // In order to perfectly apply Windows 11 Snap Layout into the Qt window, we need to - // intercept and simulate most of the mouse events, so that the processing logic + // intercept and emulate most of the mouse events, so that the processing logic // is quite complex. Simultaneously, in order to make the handling code of other // Windows messages clearer, we have separated them into this function. bool snapLayoutHandler(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam, @@ -54,8 +72,6 @@ // Whether the last mouse leave message is blocked, mainly for handling the unexpected // WM_MOUSELEAVE. bool mouseLeaveBlocked = false; - - bool centered = false; }; } -- Gitblit v1.9.1