| | |
| | | // 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 |
| | | |
| | |
| | | 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); |
| | | |
| | | Q_SIGNALS: |
| | | void titleBarWidgetChanged(const QWidget *w); |
| | | void titleBarChanged(const QWidget *w); |
| | | void systemButtonChanged(SystemButton button, const QWidget *w); |
| | | |
| | | protected: |
| | | WidgetWindowAgent(WidgetWindowAgentPrivate &d, QObject *parent = nullptr); |
| | | }; |
| | | |
| | | inline WidgetWindowAgent *setupWidgetWindow(QWidget *w) { |
| | | auto agent = new WidgetWindowAgent(w); |
| | | agent->setup(w); |
| | | return agent; |
| | | } |
| | | |
| | | } |
| | | |