From 07e9440b52d74e2b21b0b1df4bb959b553670452 Mon Sep 17 00:00:00 2001 From: Zhao Yuhang <2546789017@qq.com> Date: 周六, 06 1月 2024 21:06:40 +0800 Subject: [PATCH] update README --- src/core/qwkglobal_p.h | 61 +++++++++++++++++++++++++++++- 1 files changed, 58 insertions(+), 3 deletions(-) diff --git a/src/core/qwkglobal_p.h b/src/core/qwkglobal_p.h index 5ad8a40..afaac67 100644 --- a/src/core/qwkglobal_p.h +++ b/src/core/qwkglobal_p.h @@ -1,9 +1,24 @@ +// 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 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 +30,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