From 1571d7b43228a0ed4347f681a16b2b23defccda9 Mon Sep 17 00:00:00 2001
From: Sine Striker <trueful@163.com>
Date: 周三, 27 12月 2023 03:52:03 +0800
Subject: [PATCH] Add doxygen documentations

---
 src/core/windowagentbase.cpp |   55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 55 insertions(+), 0 deletions(-)

diff --git a/src/core/windowagentbase.cpp b/src/core/windowagentbase.cpp
index 0131a60..60ade6a 100644
--- a/src/core/windowagentbase.cpp
+++ b/src/core/windowagentbase.cpp
@@ -17,6 +17,20 @@
 
 namespace QWK {
 
+    /*!
+        \namespace QWK
+        \brief QWindowKit namespace
+    */
+
+    /*!
+        \class WindowAgentBase
+        \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.
+    */
+
     WindowAgentBasePrivate::WindowContextFactoryMethod
         WindowAgentBasePrivate::windowContextFactoryMethod = nullptr;
 
@@ -48,33 +62,74 @@
         context.reset(ctx);
     }
 
+    /*!
+        Destructor.
+    */
     WindowAgentBase::~WindowAgentBase() = default;
 
+    /*!
+        Returns the window attribute value.
+
+        \sa setWindowAttribute()
+    */
     QVariant WindowAgentBase::windowAttribute(const QString &key) const {
         Q_D(const WindowAgentBase);
         return d->context->windowAttribute(key);
     }
 
+    /*!
+        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 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.
+            \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.
+
+        On macOS,
+            \li \c no-system-buttons: Specify a boolean value to set the system buttons' visibility.
+    */
     bool WindowAgentBase::setWindowAttribute(const QString &key, const QVariant &attribute) {
         Q_D(WindowAgentBase);
         return d->context->setWindowAttribute(key, attribute);
     }
 
+    /*!
+        Shows the system menu, it's only implemented on Windows.
+    */
     void WindowAgentBase::showSystemMenu(const QPoint &pos) {
         Q_D(WindowAgentBase);
         d->context->showSystemMenu(pos);
     }
 
+    /*!
+        Makes the window show in center of the current screen.
+    */
     void WindowAgentBase::centralize() {
         Q_D(WindowAgentBase);
         d->context->virtual_hook(AbstractWindowContext::CentralizeHook, nullptr);
     }
 
+    /*!
+        Brings the window to top.
+    */
     void WindowAgentBase::raise() {
         Q_D(WindowAgentBase);
         d->context->virtual_hook(AbstractWindowContext::RaiseWindowHook, nullptr);
     }
 
+    /*!
+        \internal
+    */
     WindowAgentBase::WindowAgentBase(WindowAgentBasePrivate &d, QObject *parent)
         : QObject(parent), d_ptr(&d) {
         d.q_ptr = this;

--
Gitblit v1.9.1