From d08030ea8f04f056aed88a4ad96dc9233d069787 Mon Sep 17 00:00:00 2001
From: Sine Striker <trueful@163.com>
Date: 周一, 01 1月 2024 19:18:10 +0800
Subject: [PATCH] Add license

---
 src/quick/quickwindowagent.h |   31 +++++++++++++++++++++----------
 1 files changed, 21 insertions(+), 10 deletions(-)

diff --git a/src/quick/quickwindowagent.h b/src/quick/quickwindowagent.h
index 53e8652..92c0c3e 100644
--- a/src/quick/quickwindowagent.h
+++ b/src/quick/quickwindowagent.h
@@ -1,17 +1,20 @@
+// Copyright (C) 2023-2024 Stdware Collections
+// SPDX-License-Identifier: Apache-2.0
+
 #ifndef QUICKWINDOWAGENT_H
 #define QUICKWINDOWAGENT_H
 
 #include <QtQuick/QQuickItem>
 #include <QtQuick/QQuickWindow>
 
-#include <QWKCore/corewindowagent.h>
+#include <QWKCore/windowagentbase.h>
 #include <QWKQuick/qwkquickglobal.h>
 
 namespace QWK {
 
     class QuickWindowAgentPrivate;
 
-    class QWK_QUICK_EXPORT QuickWindowAgent : public CoreWindowAgent {
+    class QWK_QUICK_EXPORT QuickWindowAgent : public WindowAgentBase {
         Q_OBJECT
         Q_DECLARE_PRIVATE(QuickWindowAgent)
     public:
@@ -19,17 +22,25 @@
         ~QuickWindowAgent() override;
 
     public:
-        bool setup(QQuickWindow *window);
+        Q_INVOKABLE bool setup(QQuickWindow *window);
 
-        const QQuickItem *titleBar() const;
-        void setTitleBar(const QQuickItem *item);
+        Q_INVOKABLE QQuickItem *titleBar() const;
+        Q_INVOKABLE void setTitleBar(QQuickItem *item);
 
-        const QQuickItem *systemButton(SystemButton button) const;
-        void setSystemButton(SystemButton button, const QQuickItem *item);
+        Q_INVOKABLE QQuickItem *systemButton(SystemButton button) const;
+        Q_INVOKABLE void setSystemButton(SystemButton button, QQuickItem *item);
 
-        bool isHitTestVisible(const QQuickItem *item) const;
-        void setHitTestVisible(const QQuickItem *item, bool visible = true);
-        void setHitTestVisible(const QRect &rect, bool visible = true);
+        Q_INVOKABLE bool isHitTestVisible(const QQuickItem *item) const;
+        Q_INVOKABLE void setHitTestVisible(const QQuickItem *item, bool visible = true);
+
+#ifdef Q_OS_MAC
+        // The system button area APIs are experimental, very likely to change in the future.
+        Q_INVOKABLE QQuickItem *systemButtonArea() const;
+        Q_INVOKABLE void setSystemButtonArea(QQuickItem *item);
+
+        Q_INVOKABLE ScreenRectCallback systemButtonAreaCallback() const;
+        Q_INVOKABLE void setSystemButtonAreaCallback(const ScreenRectCallback &callback);
+#endif
 
     Q_SIGNALS:
         void titleBarWidgetChanged(const QQuickItem *item);

--
Gitblit v1.9.1