Zhao Yuhang
2023-12-17 efee8bcfb260d1ae25cce08bb8815ef86e1cc9df
src/core/contexts/cocoawindowcontext.mm
@@ -6,7 +6,10 @@
#include <QtGui/QGuiApplication>
namespace QWK {
    // ### FIXME FIXME FIXME
    // ### FIXME: Tell the user to call in the documentation, instead of automatically
    // calling it directly.
    // ### FIXME FIXME FIXME
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
    static const struct QWK_Hook {
        QWK_Hook() {
@@ -105,7 +108,7 @@
            nswindow.showsToolbarButton = NO;
            nswindow.movableByWindowBackground = NO;
            nswindow.movable = NO; // This line causes the window in the wrong position when
            // become fullscreen.
                                   // become fullscreen.
            //  For some unknown reason, we don't need the following hack in Qt versions below or
            //  equal to 6.2.4.
#if (QT_VERSION > QT_VERSION_CHECK(6, 2, 4))
@@ -277,8 +280,8 @@
        WindowItemDelegate *delegate = m_context->delegate();
        auto me = static_cast<const QMouseEvent *>(event);
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
        QPoint scenePos = mouseEvent->scenePosition().toPoint();
        QPoint globalPos = mouseEvent->globalPosition().toPoint();
        QPoint scenePos = me->scenePosition().toPoint();
        QPoint globalPos = me->globalPosition().toPoint();
#else
        QPoint scenePos = me->windowPos().toPoint();
        QPoint globalPos = me->screenPos().toPoint();
@@ -384,6 +387,17 @@
    }
    void CocoaWindowContext::virtual_hook(int id, void *data) {
        switch (id) {
            case ShowSystemMenuHook:
                // TODO: mac system menu
                return;
            case SystemButtonAreaChangedHook:
                // TODO: mac system button rect updated
                return;
            default:
                break;
        }
        AbstractWindowContext::virtual_hook(id, data);
    }
    bool CocoaWindowContext::setupHost() {