From a51b5688e1c33d3ce96b48c869603b00f908f513 Mon Sep 17 00:00:00 2001 From: Sine Striker <trueful@163.com> Date: 周三, 13 12月 2023 04:16:37 +0800 Subject: [PATCH] Make better code structure for border handlers --- src/core/contexts/abstractwindowcontext_p.h | 16 ++++++++-------- 1 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/core/contexts/abstractwindowcontext_p.h b/src/core/contexts/abstractwindowcontext_p.h index 3c04073..2934b4d 100644 --- a/src/core/contexts/abstractwindowcontext_p.h +++ b/src/core/contexts/abstractwindowcontext_p.h @@ -9,11 +9,12 @@ #include <QtGui/QPolygon> #include <QWKCore/windowagentbase.h> +#include <QWKCore/private/eventobserver_p.h> #include <QWKCore/private/windowitemdelegate_p.h> namespace QWK { - class QWK_CORE_EXPORT AbstractWindowContext : public QObject { + class QWK_CORE_EXPORT AbstractWindowContext : public QObject, public EventDispatcher { Q_OBJECT public: AbstractWindowContext(); @@ -35,8 +36,6 @@ inline QObject *titleBar() const; bool setTitleBar(QObject *obj); - void showSystemMenu(const QPoint &pos); - QRegion hitTestShape() const; bool isInSystemButtons(const QPoint &pos, WindowAgentBase::SystemButton *button) const; bool isInTitleBarDraggableArea(const QPoint &pos) const; @@ -46,19 +45,20 @@ enum WindowContextHook { CentralizeHook = 1, ShowSystemMenuHook, - NeedsDrawBordersHook, - DrawBordersHook, - QueryBorderThicknessHook + DefaultColorsHook, + DrawWindows10BorderHook, // Only works on Windows 10 }; virtual void virtual_hook(int id, void *data); + + void showSystemMenu(const QPoint &pos); protected: virtual bool setupHost() = 0; protected: - QObject *m_host; + QObject *m_host{}; std::unique_ptr<WindowItemDelegate> m_delegate; - QWindow *m_windowHandle; + QWindow *m_windowHandle{}; QSet<const QObject *> m_hitTestVisibleItems; QList<QRect> m_hitTestVisibleRects; -- Gitblit v1.9.1