From 76924a335f40a0c3cc13805b4cb9429c336d33ca Mon Sep 17 00:00:00 2001 From: SineStriker <trueful@163.com> Date: 周五, 29 12月 2023 11:34:22 +0800 Subject: [PATCH] Optimize system button area APIs --- src/quick/quickwindowagent.h | 24 ++++++++++++++++-------- 1 files changed, 16 insertions(+), 8 deletions(-) diff --git a/src/quick/quickwindowagent.h b/src/quick/quickwindowagent.h index 714ffcf..2fd7b3e 100644 --- a/src/quick/quickwindowagent.h +++ b/src/quick/quickwindowagent.h @@ -19,17 +19,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, may be changed 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