From 2ccafcb1d891ed0fff4cc85729ca1faf5b7f1c96 Mon Sep 17 00:00:00 2001
From: Sine Striker <trueful@163.com>
Date: 周二, 19 12月 2023 17:59:15 +0800
Subject: [PATCH] Add private warnings and change pictures

---
 src/core/kernel/systemwindow_p.h            |    9 ++
 src/widgets/widgetitemdelegate_p.h          |    9 ++
 src/core/contexts/abstractwindowcontext_p.h |    9 ++
 src/core/contexts/cocoawindowcontext_p.h    |    9 ++
 src/quick/quickwindowagent_p.h              |    9 ++
 docs/images/mac.png                         |    0 
 src/widgets/widgetwindowagent_p.h           |    9 ++
 README.md                                   |   63 +++++++++------
 src/core/contexts/qtwindowcontext_p.h       |    9 ++
 /dev/null                                   |    0 
 src/core/contexts/win32windowcontext_p.h    |    9 ++
 src/core/windowitemdelegate_p.h             |    9 ++
 src/core/kernel/nativeeventfilter_p.h       |    9 ++
 src/quick/quickitemdelegate_p.h             |    9 ++
 docs/images/linux.png                       |    0 
 docs/images/win10.png                       |    0 
 src/core/qwkglobal_p.h                      |    9 ++
 src/core/windowagentbase_p.h                |    9 ++
 examples/mainwindow/mainwindow.cpp          |    1 
 19 files changed, 153 insertions(+), 28 deletions(-)

diff --git a/README.md b/README.md
index 040e5fb..e3a1290 100644
--- a/README.md
+++ b/README.md
@@ -2,21 +2,20 @@
 
 Cross-platform window customization framework for Qt Widgets and Qt Quick. Support Windows, macOS, Linux.
 
-This project inherited most of [wangwenx190 FramelessHelper](https://github.com/wangwenx190/framelesshelper) implementation, with a complete refactoring and upgrading of the architecture.
+This project inherited most of [wangwenx190 FramelessHelper](https://github.com/wangwenx190/framelesshelper)
+implementation, with a complete refactoring and upgrading of the architecture.
 
-## Screenshots
+## Gallery
 
-### Windows
+### Basic
+
+|            Windows 10             |              MacOS              |               Linux               |
+|:---------------------------------:|:-------------------------------:|:---------------------------------:|
+| ![image](./docs/images/win10.png) | ![image](./docs/images/mac.png) | ![image](./docs/images/linux.png) |
+
+### Windows 11 Snap Layout
 
 ![image](./docs/images/win11.png)
-
-### Linux
-
-![image](./docs/images/linux.png)
-
-### macOS
-
-![image](./docs/images/mac.png)
 
 ## TODO
 
@@ -35,21 +34,21 @@
 
 ## Requirements
 
-| Component | Requirement |               Details                |
-|:---------:|:-----------:|:------------------------------------:|
-|    Qt     |   \>=5.15   |      Core, Gui, Widgets, Quick       |
-| Compiler  |  \>=C++17   |        MSVC 2019, GCC, Clang         |
-|   CMake   |   \>=3.17   |        >=3.20 is recommended         |
+| Component | Requirement |          Details          |
+|:---------:|:-----------:|:-------------------------:|
+|    Qt     |   \>=5.15   | Core, Gui, Widgets, Quick |
+| Compiler  |  \>=C++17   |   MSVC 2019, GCC, Clang   |
+|   CMake   |   \>=3.17   |   >=3.20 is recommended   |
 
 ### Tested Compilers
 
 + Windows
-  + MSVC: 2019, 2022
-  + MinGW (GCC): 13.2.0
+    + MSVC: 2019, 2022
+    + MinGW (GCC): 13.2.0
 + macOS
-  + Clang 14.0.3
+    + Clang 14.0.3
 + Ubuntu
-  + GCC: 9.4.0
+    + GCC: 9.4.0
 
 ## Dependencies
 
@@ -72,7 +71,8 @@
 
 You can also include this directory as a subproject if you choose CMake as your build system.
 
-For other build systems, you need to install with CMake first and include the corresponding configuration files in your project.
+For other build systems, you need to install with CMake first and include the corresponding configuration files in your
+project.
 
 ### Import
 
@@ -81,6 +81,7 @@
 ```sh
 cmake -B build -DQWindowKit_DIR=/path/install/cmake/QWindowKit
 ```
+
 ```cmake
 find_package(QWindowKit REQUIRED)
 target_link_libraries(widgets_app PUBLIC QWindowKit::Widgets)
@@ -88,6 +89,7 @@
 ```
 
 #### QMake Project
+
 ```cmake
 # WidgetsApp.pro
 include("/path/install/share/QWindowKit/qmake/QWKWidgets.pri")
@@ -105,6 +107,7 @@
 ### Qt Widgets Application
 
 First, setup `WidgetWindowAgent` for your top `QWidget` instance. (Each window needs its own agent.)
+
 ```c++
 #include <QWKWidgets/widgetwindowagent.h>
 
@@ -117,32 +120,38 @@
 ```
 
 You can also initialize the agent after the window constructs.
+
 ```c++
 auto w = new MyWidget();
 auto agent = new QWK::WidgetWindowAgent(w);
 agent->setup(w);
 ```
 
+Then, construct your title bar widget, without which the window lacks the basic interaction feature, and it's better to
+put it into the window's layout.
 
-
-Then, construct your title bar widget, without which the window lacks the basic interaction feature, and it's better to put it into the window's layout.
-
-You can use the [`WindowBar`](examples/shared/widgetframe/windowbar.h) provided by `WidgetFrame` in the examples as the container of your title bar components.
+You can use the [`WindowBar`](examples/shared/widgetframe/windowbar.h) provided by `WidgetFrame` in the examples as the
+container of your title bar components.
 
 Let `WidgetWindowAgent` know which widget the title bar is.
+
 ```c++
 agent->setTitleBarWidget(myTitleBar);
 ```
 
-Set system button hints to let `WidgetWindowAgent` know the role of the child widgets, which is important for the Snap Layout to work.
+Set system button hints to let `WidgetWindowAgent` know the role of the child widgets, which is important for the Snap
+Layout to work.
+
 ```c++
 agent->setSystemButton(QWK::WindowAgent::Base::Maximize, maxButton);
 ```
 
-Set hit-test visible hint to let `WidgetWindowAgent` know the widgets that desire to receive mouse events. 
+Set hit-test visible hint to let `WidgetWindowAgent` know the widgets that desire to receive mouse events.
+
 ```c++
 agent->setHitTestVisible(myTitleBar->menuBar(), true);
 ```
+
 The rest region within the title bar will be regarded as the draggable area for the user to move the window.
 
 Check [`MainWindow`](examples/mainwindow/mainwindow.cpp#L108) example to get detailed information.
diff --git a/docs/images/linux.png b/docs/images/linux.png
index 98b50e2..9ccd8b6 100644
--- a/docs/images/linux.png
+++ b/docs/images/linux.png
Binary files differ
diff --git a/docs/images/mac.png b/docs/images/mac.png
index 35cfff6..f4aecca 100644
--- a/docs/images/mac.png
+++ b/docs/images/mac.png
Binary files differ
diff --git a/docs/images/win10.png b/docs/images/win10.png
new file mode 100644
index 0000000..9b51312
--- /dev/null
+++ b/docs/images/win10.png
Binary files differ
diff --git a/docs/images/win32.png b/docs/images/win32.png
deleted file mode 100644
index e098ce6..0000000
--- a/docs/images/win32.png
+++ /dev/null
Binary files differ
diff --git a/examples/mainwindow/mainwindow.cpp b/examples/mainwindow/mainwindow.cpp
index c2e518c..8b32fe7 100644
--- a/examples/mainwindow/mainwindow.cpp
+++ b/examples/mainwindow/mainwindow.cpp
@@ -42,7 +42,6 @@
     }
 
     setWindowTitle(tr("Example MainWindow"));
-    resize(800, 600);
 }
 
 static inline void emulateLeaveEvent(QWidget *widget) {
diff --git a/src/core/contexts/abstractwindowcontext_p.h b/src/core/contexts/abstractwindowcontext_p.h
index 3115141..ecd2323 100644
--- a/src/core/contexts/abstractwindowcontext_p.h
+++ b/src/core/contexts/abstractwindowcontext_p.h
@@ -1,6 +1,15 @@
 #ifndef ABSTRACTWINDOWCONTEXT_P_H
 #define ABSTRACTWINDOWCONTEXT_P_H
 
+//
+//  W A R N I N G !!!
+//  -----------------
+//
+// This file is not part of the QWindowKit API. It is used purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or may even be removed.
+//
+
 #include <array>
 #include <memory>
 
diff --git a/src/core/contexts/cocoawindowcontext_p.h b/src/core/contexts/cocoawindowcontext_p.h
index c6c8e13..01b8699 100644
--- a/src/core/contexts/cocoawindowcontext_p.h
+++ b/src/core/contexts/cocoawindowcontext_p.h
@@ -1,6 +1,15 @@
 #ifndef COCOAWINDOWCONTEXT_P_H
 #define COCOAWINDOWCONTEXT_P_H
 
+//
+//  W A R N I N G !!!
+//  -----------------
+//
+// This file is not part of the QWindowKit API. It is used purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or may even be removed.
+//
+
 #include <QWKCore/private/abstractwindowcontext_p.h>
 
 namespace QWK {
diff --git a/src/core/contexts/qtwindowcontext_p.h b/src/core/contexts/qtwindowcontext_p.h
index dc19f0a..6905d67 100644
--- a/src/core/contexts/qtwindowcontext_p.h
+++ b/src/core/contexts/qtwindowcontext_p.h
@@ -1,6 +1,15 @@
 #ifndef QTWINDOWCONTEXT_P_H
 #define QTWINDOWCONTEXT_P_H
 
+//
+//  W A R N I N G !!!
+//  -----------------
+//
+// This file is not part of the QWindowKit API. It is used purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or may even be removed.
+//
+
 #include <QWKCore/private/abstractwindowcontext_p.h>
 
 namespace QWK {
diff --git a/src/core/contexts/win32windowcontext_p.h b/src/core/contexts/win32windowcontext_p.h
index c8c7ed4..8e25be7 100644
--- a/src/core/contexts/win32windowcontext_p.h
+++ b/src/core/contexts/win32windowcontext_p.h
@@ -1,6 +1,15 @@
 #ifndef WIN32WINDOWCONTEXT_P_H
 #define WIN32WINDOWCONTEXT_P_H
 
+//
+//  W A R N I N G !!!
+//  -----------------
+//
+// This file is not part of the QWindowKit API. It is used purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or may even be removed.
+//
+
 #include <QWKCore/qwindowkit_windows.h>
 #include <QWKCore/private/abstractwindowcontext_p.h>
 
diff --git a/src/core/kernel/nativeeventfilter_p.h b/src/core/kernel/nativeeventfilter_p.h
index 61fce35..8b50979 100644
--- a/src/core/kernel/nativeeventfilter_p.h
+++ b/src/core/kernel/nativeeventfilter_p.h
@@ -1,6 +1,15 @@
 #ifndef NATIVEEVENTFILTER_P_H
 #define NATIVEEVENTFILTER_P_H
 
+//
+//  W A R N I N G !!!
+//  -----------------
+//
+// This file is not part of the QWindowKit API. It is used purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or may even be removed.
+//
+
 #include <QWKCore/qwkglobal.h>
 
 namespace QWK {
diff --git a/src/core/kernel/systemwindow_p.h b/src/core/kernel/systemwindow_p.h
index d6eb2c8..567b993 100644
--- a/src/core/kernel/systemwindow_p.h
+++ b/src/core/kernel/systemwindow_p.h
@@ -1,6 +1,15 @@
 #ifndef SYSTEMWINDOW_P_H
 #define SYSTEMWINDOW_P_H
 
+//
+//  W A R N I N G !!!
+//  -----------------
+//
+// This file is not part of the QWindowKit API. It is used purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or may even be removed.
+//
+
 #include <QtGui/QWindow>
 #include <QtGui/QMouseEvent>
 
diff --git a/src/core/qwkglobal_p.h b/src/core/qwkglobal_p.h
index d780c53..bc0d393 100644
--- a/src/core/qwkglobal_p.h
+++ b/src/core/qwkglobal_p.h
@@ -1,6 +1,15 @@
 #ifndef QWKGLOBAL_P_H
 #define QWKGLOBAL_P_H
 
+//
+//  W A R N I N G !!!
+//  -----------------
+//
+// This file is not part of the QWindowKit API. It is used purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or may even be removed.
+//
+
 #include <QtCore/QLoggingCategory>
 #include <QtGui/QMouseEvent>
 
diff --git a/src/core/windowagentbase_p.h b/src/core/windowagentbase_p.h
index 032167e..cbf2655 100644
--- a/src/core/windowagentbase_p.h
+++ b/src/core/windowagentbase_p.h
@@ -1,6 +1,15 @@
 #ifndef WINDOWAGENTBASEPRIVATE_H
 #define WINDOWAGENTBASEPRIVATE_H
 
+//
+//  W A R N I N G !!!
+//  -----------------
+//
+// This file is not part of the QWindowKit API. It is used purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or may even be removed.
+//
+
 #include <QWKCore/windowagentbase.h>
 #include <QWKCore/private/abstractwindowcontext_p.h>
 
diff --git a/src/core/windowitemdelegate_p.h b/src/core/windowitemdelegate_p.h
index ca68c35..8418c59 100644
--- a/src/core/windowitemdelegate_p.h
+++ b/src/core/windowitemdelegate_p.h
@@ -1,6 +1,15 @@
 #ifndef WINDOWITEMDELEGATE_P_H
 #define WINDOWITEMDELEGATE_P_H
 
+//
+//  W A R N I N G !!!
+//  -----------------
+//
+// This file is not part of the QWindowKit API. It is used purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or may even be removed.
+//
+
 #include <QtCore/QObject>
 #include <QtCore/QPoint>
 #include <QtGui/QWindow>
diff --git a/src/quick/quickitemdelegate_p.h b/src/quick/quickitemdelegate_p.h
index 42e7059..eb2430d 100644
--- a/src/quick/quickitemdelegate_p.h
+++ b/src/quick/quickitemdelegate_p.h
@@ -1,6 +1,15 @@
 #ifndef QUICKITEMDELEGATE_P_H
 #define QUICKITEMDELEGATE_P_H
 
+//
+//  W A R N I N G !!!
+//  -----------------
+//
+// This file is not part of the QWindowKit API. It is used purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or may even be removed.
+//
+
 #include <QtCore/QObject>
 #include <QtGui/QWindow>
 
diff --git a/src/quick/quickwindowagent_p.h b/src/quick/quickwindowagent_p.h
index 1aecc10..15d8b58 100644
--- a/src/quick/quickwindowagent_p.h
+++ b/src/quick/quickwindowagent_p.h
@@ -1,6 +1,15 @@
 #ifndef QUICKWINDOWAGENTPRIVATE_H
 #define QUICKWINDOWAGENTPRIVATE_H
 
+//
+//  W A R N I N G !!!
+//  -----------------
+//
+// This file is not part of the QWindowKit API. It is used purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or may even be removed.
+//
+
 #include <QWKCore/private/windowagentbase_p.h>
 #include <QWKQuick/quickwindowagent.h>
 
diff --git a/src/widgets/widgetitemdelegate_p.h b/src/widgets/widgetitemdelegate_p.h
index f0ae939..6eb7fb3 100644
--- a/src/widgets/widgetitemdelegate_p.h
+++ b/src/widgets/widgetitemdelegate_p.h
@@ -1,6 +1,15 @@
 #ifndef WIDGETITEMDELEGATE_P_H
 #define WIDGETITEMDELEGATE_P_H
 
+//
+//  W A R N I N G !!!
+//  -----------------
+//
+// This file is not part of the QWindowKit API. It is used purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or may even be removed.
+//
+
 #include <QtCore/QObject>
 #include <QtGui/QWindow>
 
diff --git a/src/widgets/widgetwindowagent_p.h b/src/widgets/widgetwindowagent_p.h
index cb6d216..ac4d653 100644
--- a/src/widgets/widgetwindowagent_p.h
+++ b/src/widgets/widgetwindowagent_p.h
@@ -1,6 +1,15 @@
 #ifndef WIDGETWINDOWAGENTPRIVATE_H
 #define WIDGETWINDOWAGENTPRIVATE_H
 
+//
+//  W A R N I N G !!!
+//  -----------------
+//
+// This file is not part of the QWindowKit API. It is used purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or may even be removed.
+//
+
 #include <QWKCore/private/windowagentbase_p.h>
 #include <QWKWidgets/widgetwindowagent.h>
 

--
Gitblit v1.9.1