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