summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@qt.io>2020-05-14 11:34:26 +0200
committerTor Arne Vestbø <tor.arne.vestbo@qt.io>2020-07-07 11:49:31 +0200
commitbcbc4d4de2d4d27f70fc56baf104d93b31d57061 (patch)
treee3e304d270a5de862e67c04e58373277255655ed /src
parentd7fc2fb5c666e58facfa15e64551a80dfda2c9d2 (diff)
macOS: Get rid of QCocoaWindowFunctions
The functionality is now directly available in the QCocoaWindow platform interface, instead of going through the indirection of the platform headers and native interface. Task-number: QTBUG-84220 Change-Id: Ifc48263c83806705b44364f7727d317847737ab4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/gui/kernel/qplatformwindow.h1
-rw-r--r--src/platformheaders/cocoafunctions/cocoafunctions.pri1
-rw-r--r--src/platformheaders/cocoafunctions/qcocoawindowfunctions.qdoc58
-rw-r--r--src/platformheaders/cocoafunctions/qcocoawindowfunctions_p.h74
-rw-r--r--src/platformheaders/platformheaders.pro1
-rw-r--r--src/plugins/platforms/cocoa/qcocoanativeinterface.h2
-rw-r--r--src/plugins/platforms/cocoa/qcocoanativeinterface.mm10
-rw-r--r--src/plugins/platforms/cocoa/qcocoawindow.h3
-rw-r--r--src/plugins/platforms/cocoa/qcocoawindow.mm7
9 files changed, 2 insertions, 155 deletions
diff --git a/src/gui/kernel/qplatformwindow.h b/src/gui/kernel/qplatformwindow.h
index 5ec2ecb2e0..e6f087ebd0 100644
--- a/src/gui/kernel/qplatformwindow.h
+++ b/src/gui/kernel/qplatformwindow.h
@@ -179,6 +179,7 @@ struct Q_GUI_EXPORT QCocoaWindow
{
QT_DECLARE_PLATFORM_INTERFACE(QCocoaWindow)
virtual void setContentBorderEnabled(bool enable) = 0;
+ virtual QPoint bottomLeftClippedByNSWindowOffset() const = 0;
};
#endif
diff --git a/src/platformheaders/cocoafunctions/cocoafunctions.pri b/src/platformheaders/cocoafunctions/cocoafunctions.pri
deleted file mode 100644
index 640d29c8ce..0000000000
--- a/src/platformheaders/cocoafunctions/cocoafunctions.pri
+++ /dev/null
@@ -1 +0,0 @@
-HEADERS += $$PWD/qcocoawindowfunctions_p.h
diff --git a/src/platformheaders/cocoafunctions/qcocoawindowfunctions.qdoc b/src/platformheaders/cocoafunctions/qcocoawindowfunctions.qdoc
deleted file mode 100644
index e164a92e22..0000000000
--- a/src/platformheaders/cocoafunctions/qcocoawindowfunctions.qdoc
+++ /dev/null
@@ -1,58 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \class QCocoaWindowFunctions
- \inmodule QtPlatformHeaders
-
- \brief The QCocoaWindowFunctions class is an inline class containing
- miscellaneous functionality for NSWindow and NSView window specific functionality.
-
- \note There is no binary compatibility guarantee for this class,
- meaning that an application using it is only guaranteed to work with the Qt
- version it was developed against.
-*/
-
-/*!
- \typedef QCocoaWindowFunctions::BottomLeftClippedByNSWindowOffset
-
- This is the typedef for the function returned by QGuiApplication::platformFunction when passed clippedByNSWindowIdentifier.
-*/
-
-/*!
- \fn QByteArray QCocoaWindowFunctions::bottomLeftClippedByNSWindowOffsetIdentifier()
-
- This function returns the bytearray that can be used to query
- QGuiApplication::platformFunction to retrieve the BottomLeftClippedByNSWindowOffset function.
-*/
-
-/*!
- \fn QPoint QCocoaWindowFunctions::bottomLeftClippedByNSWindowOffset(QWindow *window)
-
- This is a convenience function that can be used directly instead of resolving the function pointer.
- \a window will be relayed to the function retrieved by QGuiApplication
-*/
diff --git a/src/platformheaders/cocoafunctions/qcocoawindowfunctions_p.h b/src/platformheaders/cocoafunctions/qcocoawindowfunctions_p.h
deleted file mode 100644
index 7701509a66..0000000000
--- a/src/platformheaders/cocoafunctions/qcocoawindowfunctions_p.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QCOCOAWINDOWFUNCTIONS_H
-#define QCOCOAWINDOWFUNCTIONS_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtPlatformHeaders/private/qplatformheaderhelper_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QWindow;
-
-class QCocoaWindowFunctions {
-public:
- typedef QPoint (*BottomLeftClippedByNSWindowOffset)(QWindow *window);
- static const QByteArray bottomLeftClippedByNSWindowOffsetIdentifier() { return QByteArrayLiteral("CocoaBottomLeftClippedByNSWindowOffset"); }
-
- static QPoint bottomLeftClippedByNSWindowOffset(QWindow *window)
- {
- return QPlatformHeaderHelper::callPlatformFunction<QPoint, BottomLeftClippedByNSWindowOffset>(bottomLeftClippedByNSWindowOffsetIdentifier(),window);
- }
-};
-
-
-QT_END_NAMESPACE
-
-#endif // QCOCOAWINDOWFUNCTIONS_H
diff --git a/src/platformheaders/platformheaders.pro b/src/platformheaders/platformheaders.pro
index 867f71a4bb..56a63d9688 100644
--- a/src/platformheaders/platformheaders.pro
+++ b/src/platformheaders/platformheaders.pro
@@ -5,7 +5,6 @@ include(xcbfunctions/xcbfunctions.pri)
include(eglfsfunctions/eglfsfunctions.pri)
include(windowsfunctions/windowsfunctions.pri)
include(helper/helper.pri)
-include(cocoafunctions/cocoafunctions.pri)
include(waylandfunctions/waylandfunctions.pri)
include(linuxfbfunctions/linuxfbfunctions.pri)
diff --git a/src/plugins/platforms/cocoa/qcocoanativeinterface.h b/src/plugins/platforms/cocoa/qcocoanativeinterface.h
index faa4e72e46..6606d61b7a 100644
--- a/src/plugins/platforms/cocoa/qcocoanativeinterface.h
+++ b/src/plugins/platforms/cocoa/qcocoanativeinterface.h
@@ -63,8 +63,6 @@ public:
NativeResourceForIntegrationFunction nativeResourceFunctionForIntegration(const QByteArray &resource) override;
- QFunctionPointer platformFunction(const QByteArray &function) const override;
-
public Q_SLOTS:
void onAppFocusWindowChanged(QWindow *window);
diff --git a/src/plugins/platforms/cocoa/qcocoanativeinterface.mm b/src/plugins/platforms/cocoa/qcocoanativeinterface.mm
index 3b11afa8a3..199ea99eb6 100644
--- a/src/plugins/platforms/cocoa/qcocoanativeinterface.mm
+++ b/src/plugins/platforms/cocoa/qcocoanativeinterface.mm
@@ -64,8 +64,6 @@
#include <QtGui/private/qcoregraphics_p.h>
-#include <QtPlatformHeaders/private/qcocoawindowfunctions_p.h>
-
#if QT_CONFIG(vulkan)
#include <MoltenVK/mvk_vulkan.h>
#endif
@@ -160,14 +158,6 @@ void QCocoaNativeInterface::onAppFocusWindowChanged(QWindow *window)
QCocoaMenuBar::updateMenuBarImmediately();
}
-QFunctionPointer QCocoaNativeInterface::platformFunction(const QByteArray &function) const
-{
- if (function == QCocoaWindowFunctions::bottomLeftClippedByNSWindowOffsetIdentifier())
- return QFunctionPointer(QCocoaWindowFunctions::BottomLeftClippedByNSWindowOffset(QCocoaWindow::bottomLeftClippedByNSWindowOffsetStatic));
-
- return nullptr;
-}
-
void QCocoaNativeInterface::addToMimeList(void *macPasteboardMime)
{
qt_mac_addToGlobalMimeList(reinterpret_cast<QMacInternalPasteboardMime *>(macPasteboardMime));
diff --git a/src/plugins/platforms/cocoa/qcocoawindow.h b/src/plugins/platforms/cocoa/qcocoawindow.h
index 0c607320f8..a46f8913f9 100644
--- a/src/plugins/platforms/cocoa/qcocoawindow.h
+++ b/src/plugins/platforms/cocoa/qcocoawindow.h
@@ -202,8 +202,7 @@ public:
QWindow *childWindowAt(QPoint windowPoint);
bool shouldRefuseKeyWindowAndFirstResponder();
- static QPoint bottomLeftClippedByNSWindowOffsetStatic(QWindow *window);
- QPoint bottomLeftClippedByNSWindowOffset() const;
+ QPoint bottomLeftClippedByNSWindowOffset() const override;
enum RecreationReason {
RecreationNotNeeded = 0,
diff --git a/src/plugins/platforms/cocoa/qcocoawindow.mm b/src/plugins/platforms/cocoa/qcocoawindow.mm
index 13a7523ade..667db88a91 100644
--- a/src/plugins/platforms/cocoa/qcocoawindow.mm
+++ b/src/plugins/platforms/cocoa/qcocoawindow.mm
@@ -1881,13 +1881,6 @@ bool QCocoaWindow::shouldRefuseKeyWindowAndFirstResponder()
return false;
}
-QPoint QCocoaWindow::bottomLeftClippedByNSWindowOffsetStatic(QWindow *window)
-{
- if (window->handle())
- return static_cast<QCocoaWindow *>(window->handle())->bottomLeftClippedByNSWindowOffset();
- return QPoint();
-}
-
QPoint QCocoaWindow::bottomLeftClippedByNSWindowOffset() const
{
if (!m_view)