From 8517f5b133f1aceff893a1a01417157136fe0715 Mon Sep 17 00:00:00 2001
From: Sine Striker <trueful@163.com>
Date: 周一, 01 1月 2024 13:33:29 +0800
Subject: [PATCH] Add license and prepare to release

---
 src/core/qwkglobal_p.h |   60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 57 insertions(+), 3 deletions(-)

diff --git a/src/core/qwkglobal_p.h b/src/core/qwkglobal_p.h
index 5ad8a40..1691ef7 100644
--- a/src/core/qwkglobal_p.h
+++ b/src/core/qwkglobal_p.h
@@ -1,9 +1,23 @@
+// Copyright (C) 2023-2024 Stdware Collections
+// SPDX-License-Identifier: Apache-2.0
+
 #ifndef QWKGLOBAL_P_H
 #define QWKGLOBAL_P_H
 
-#include <QtCore/QLoggingCategory>
+//
+//  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/qwkcoreglobal.h>
+#include <QtCore/QObject>
+#include <QtCore/QLoggingCategory>
+#include <QtGui/QMouseEvent>
+
+#include <QWKCore/qwkglobal.h>
 
 QWK_CORE_EXPORT Q_DECLARE_LOGGING_CATEGORY(qWindowKitLog)
 
@@ -15,9 +29,49 @@
 #  define QWK_FATAL qCFatal(qWindowKitLog)
 #endif
 
-#define MAKE_RGB_COLOR(r, g, b) ((quint32) | (((r) &0xFF) << 16) | (((g) &0xFF) << 8) | ((b) &0xFF))
+#define MAKE_RGB_COLOR(r, g, b) ((quint32) (((r) &0xFF) << 16) | (((g) &0xFF) << 8) | ((b) &0xFF))
 
 #define MAKE_RGBA_COLOR(r, g, b, a)                                                                \
     ((quint32) (((a) &0xFF) << 24) | (((r) &0xFF) << 16) | (((g) &0xFF) << 8) | ((b) &0xFF))
 
+#if defined(Q_CC_MSVC)
+#  define QWK_NOINLINE __declspec(noinline)
+#  define QWK_INLINE   __forceinline
+#  define QWK_USED
+#else
+#  define QWK_NOINLINE __attribute__((noinline))
+#  define QWK_INLINE   __attribute__((always_inline))
+#  define QWK_USED     __attribute__((used))
+#endif
+
+namespace QWK {
+
+    namespace Private {
+
+        class ObjectHelper : public QObject {
+        public:
+            static inline bool sendEvent(QObject *obj, QEvent *event) {
+                return static_cast<ObjectHelper *>(obj)->event(event);
+            }
+        };
+
+    }
+
+    inline QPoint getMouseEventScenePos(const QMouseEvent *event) {
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+        return event->scenePosition().toPoint();
+#else
+        return event->windowPos().toPoint();
+#endif
+    }
+
+    inline QPoint getMouseEventGlobalPos(const QMouseEvent *event) {
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+        return event->globalPosition().toPoint();
+#else
+        return event->screenPos().toPoint();
+#endif
+    }
+}
+
 #endif // QWKGLOBAL_P_H

--
Gitblit v1.9.1