From 573488a6fec17a9fc71e4d8b0a4741c107ab4ef8 Mon Sep 17 00:00:00 2001 From: Sine Striker <trueful@163.com> Date: 周一, 11 12月 2023 16:35:29 +0800 Subject: [PATCH] Add virtual hook --- src/core/contexts/win32windowcontext.cpp | 19 +++++++++++++++++++ 1 files changed, 19 insertions(+), 0 deletions(-) diff --git a/src/core/contexts/win32windowcontext.cpp b/src/core/contexts/win32windowcontext.cpp index c1f3dbd..2168e44 100644 --- a/src/core/contexts/win32windowcontext.cpp +++ b/src/core/contexts/win32windowcontext.cpp @@ -5,6 +5,7 @@ #include <QtCore/QHash> #include <QtCore/QScopeGuard> #include <QtGui/QGuiApplication> +#include <QtGui/QPainter> #include <QtCore/private/qsystemlibrary_p.h> #include <QtGui/private/qhighdpiscaling_p.h> @@ -683,6 +684,24 @@ m_delegate->isHostSizeFixed(m_host)); return; } + case NeedsDrawBordersHook: { + auto &result = *reinterpret_cast<bool *>(data); + result = isWin10OrGreater() && !isWin11OrGreater(); + return; + } + case DrawBordersHook: { + auto a = reinterpret_cast<void **>(data); + auto &painter = *reinterpret_cast<QPainter *>(a[0]); + auto &rect = *reinterpret_cast<const QRect *>(a[1]); + auto ®ion = *reinterpret_cast<const QRegion *>(a[2]); + + qDebug() << "paint" << &painter << rect << region; + + // TODO: Draw border + // ... + + break; + } default: break; } -- Gitblit v1.9.1