SineStriker
2024-07-28 f44042bff145a0c5dcea04852ca5a8424477cf50
src/quick/quickwindowagent.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 QUICKWINDOWAGENT_H
#define QUICKWINDOWAGENT_H
@@ -19,21 +23,33 @@
        ~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);
#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
        Q_INVOKABLE bool isHitTestVisible(QQuickItem *item) const;
#else
        Q_INVOKABLE bool isHitTestVisible(const QQuickItem *item) const;
#endif
        Q_INVOKABLE void setHitTestVisible(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);
        void systemButtonChanged(SystemButton button, const QQuickItem *item);
        void titleBarWidgetChanged(QQuickItem *item);
        void systemButtonChanged(SystemButton button, QQuickItem *item);
    protected:
        QuickWindowAgent(QuickWindowAgentPrivate &d, QObject *parent = nullptr);
@@ -41,4 +57,4 @@
}
#endif // QUICKWINDOWAGENT_H
#endif // QUICKWINDOWAGENT_H