Sine Striker
2024-01-01 d08030ea8f04f056aed88a4ad96dc9233d069787
src/widgets/widgetwindowagent_win.cpp
@@ -1,3 +1,6 @@
// Copyright (C) 2023-2024 Stdware Collections
// SPDX-License-Identifier: Apache-2.0
#include "widgetwindowagent_p.h"
#include <QtCore/QDebug>
@@ -5,6 +8,7 @@
#include <QtGui/QPainter>
#include <QWKCore/qwindowkit_windows.h>
#include <QWKCore/private/qwkglobal_p.h>
namespace QWK {
@@ -68,14 +72,8 @@
        }
        inline void resumeWidgetEventAndDraw(QWidget *w, QEvent *event) {
            // Friend class helping to call `event`
            class HackedWidget : public QWidget {
            public:
                friend class QWK::WidgetBorderHandler;
            };
            // Let the widget paint first
            static_cast<HackedWidget *>(w)->event(event);
            Private::ObjectHelper::sendEvent(w, event);
            // Due to the timer or user action, Qt will repaint some regions spontaneously,
            // even if there is no WM_PAINT message, we must wait for it to finish painting
@@ -84,14 +82,8 @@
        }
        inline void resumeWindowEventAndDraw(QWindow *window, QEvent *event) {
            // Friend class helping to call `event`
            class HackedWindow : public QWindow {
            public:
                friend class QWK::WidgetBorderHandler;
            };
            // Let Qt paint first
            static_cast<HackedWindow *>(window)->event(event);
            Private::ObjectHelper::sendEvent(window, event);
            // Upon receiving the WM_PAINT message, Qt will repaint the entire view, and we
            // must wait for it to finish painting before drawing this top border area.