Yuhang Zhao
2025-05-09 e9999fa61ea0ffa602c69e10e54996b3a636a5e6
src/core/windowagentbase.cpp
@@ -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
#include "windowagentbase.h"
#include "windowagentbase_p.h"
@@ -27,8 +31,8 @@
        \brief WindowAgentBase is the base class of the specifiy window agent for QtWidgets and
        QtQuick.
        It processes some system events and the implements of frameless logic, and provides some
        common methods for derived classes to call.
        It processes some system events to remove the window's default title bar, and provides some
        shared methods for derived classes to call.
    */
    WindowAgentBasePrivate::WindowContextFactoryMethod
@@ -78,25 +82,36 @@
    }
    /*!
        Sets the platform-related attribute for the window.
        Available attributes:
        Sets the platform-related attribute for the window. Available attributes:
        On Windows,
            \li \c acrylic-material: Specify a boolean value to enable or disable acrylic material,
                    this attribute is only available on Windows 11.
            \li \c mica: Specify a boolean value to enable or disable mica material,
                    this attribute is only available on Windows 11.
            \li \c mica-alt: Specify a boolean value to enable or disable mica-alt material,
                    this attribute is only available on Windows 11.
            \li \c dwm-blur: Specify a boolean value to enable or disable dwm blur effect, this
                   attribute is available on Windows 10 or later.
            \li \c dark-mode: Specify a boolean value to enable or disable the dark mode, it is
                    enabled by default on Windows 10 if the system borders config is enabled.
                   enabled by default on Windows 10 if the system borders config is enabled. This
                   attribute is available on Windows 10 or later.
            \li \c acrylic-material: Specify a boolean value to enable or disable acrylic material,
                   this attribute is only available on Windows 11.
            \li \c mica: Specify a boolean value to enable or disable mica material,
                   this attribute is only available on Windows 11.
            \li \c mica-alt: Specify a boolean value to enable or disable mica-alt material,
                   this attribute is only available on Windows 11.
            \li \c extra-margins: Specify a margin value to change the \c dwm extended area
                    geometry, you shouldn't change this attribute because it may break the
                    internal state.
                   geometry, you shouldn't change this attribute because it may break the
                   internal state.
            \li \c border-thickness: Returns the system border thickness. (Readonly)
            \li \c title-bar-height: Returns the system title bar height, some system features may
                   be related to this property so that it is recommended to set the custom title bar
                   height to this value. (Readonly)
        On macOS,
            \li \c no-system-buttons: Specify a boolean value to set the system buttons' visibility.
            \li \c no-system-buttons: Specify a boolean value to set the system buttons'
                   visibility.
            \li \c blur-effect: You can specify a string value, "dark" to enable dark mode, "light"
                   to set enable mode, "none" to disable. You can also specify a boolean value,
                   \c true to enable current theme mode, \c false to disable.
            \li \c title-bar-height: Returns the system title bar height, the system button display
                   area will be limited to this height. (Readonly)
    */
    bool WindowAgentBase::setWindowAttribute(const QString &key, const QVariant &attribute) {
        Q_D(WindowAgentBase);