From e9d163b1a811ee4f02e898bc7c2e6336d88e4a7f Mon Sep 17 00:00:00 2001
From: Sine Striker <trueful@163.com>
Date: 周日, 28 7月 2024 18:09:03 +0800
Subject: [PATCH] Make hit-test items auto-delete

---
 src/widgets/widgetwindowagent.h |   28 ++++++++++++++++++++--------
 1 files changed, 20 insertions(+), 8 deletions(-)

diff --git a/src/widgets/widgetwindowagent.h b/src/widgets/widgetwindowagent.h
index d13d628..4a0f9c8 100644
--- a/src/widgets/widgetwindowagent.h
+++ b/src/widgets/widgetwindowagent.h
@@ -1,3 +1,7 @@
+// 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 WIDGETWINDOWAGENT_H
 #define WIDGETWINDOWAGENT_H
 
@@ -20,19 +24,27 @@
     public:
         bool setup(QWidget *w);
 
-        const QWidget *titleBar() const;
-        void setTitleBar(const QWidget *w);
+        QWidget *titleBar() const;
+        void setTitleBar(QWidget *w);
 
-        const QWidget *systemButton(SystemButton button) const;
-        void setSystemButton(SystemButton button, const QWidget *w);
+        QWidget *systemButton(SystemButton button) const;
+        void setSystemButton(SystemButton button, QWidget *w);
+
+#ifdef Q_OS_MAC
+        // The system button area APIs are experimental, very likely to change in the future.
+        QWidget *systemButtonArea() const;
+        void setSystemButtonArea(QWidget *widget);
+
+        ScreenRectCallback systemButtonAreaCallback() const;
+        void setSystemButtonAreaCallback(const ScreenRectCallback &callback);
+#endif
 
         bool isHitTestVisible(const QWidget *w) const;
-        void setHitTestVisible(const QWidget *w, bool visible = true);
-        void setHitTestVisible(const QRect &rect, bool visible = true);
+        void setHitTestVisible(QWidget *w, bool visible = true);
 
     Q_SIGNALS:
-        void titleBarWidgetChanged(const QWidget *w);
-        void systemButtonChanged(SystemButton button, const QWidget *w);
+        void titleBarChanged(QWidget *w);
+        void systemButtonChanged(SystemButton button, QWidget *w);
 
     protected:
         WidgetWindowAgent(WidgetWindowAgentPrivate &d, QObject *parent = nullptr);

--
Gitblit v1.9.1