Remove last remaining bits of QtPlatformHeaders
Task-number: QTBUG-84220 Change-Id: I951e04bfe9358a99951d1d61ff47b675584b7f81 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
This commit is contained in:
parent
4595fb2c1e
commit
a00ad95137
@ -57,7 +57,6 @@ if(QT_FEATURE_gui)
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
add_subdirectory(platformsupport)
|
add_subdirectory(platformsupport)
|
||||||
add_subdirectory(platformheaders)
|
|
||||||
endif()
|
endif()
|
||||||
if (QT_FEATURE_testlib)
|
if (QT_FEATURE_testlib)
|
||||||
add_subdirectory(testlib)
|
add_subdirectory(testlib)
|
||||||
|
@ -34,7 +34,6 @@ depends += \
|
|||||||
qtmultimedia \
|
qtmultimedia \
|
||||||
qtnetwork \
|
qtnetwork \
|
||||||
qtopengl \
|
qtopengl \
|
||||||
qtplatformheaders \
|
|
||||||
qtsvg \
|
qtsvg \
|
||||||
qtqml \
|
qtqml \
|
||||||
qtquick \
|
qtquick \
|
||||||
|
@ -60,10 +60,6 @@ QT_BEGIN_NAMESPACE
|
|||||||
|
|
||||||
There is no public constructor nor any public factory function.
|
There is no public constructor nor any public factory function.
|
||||||
|
|
||||||
QPlatformGraphicsBuffer is intended to be created by using platform specific
|
|
||||||
APIs available from QtPlatformHeaders, or there might be accessor functions
|
|
||||||
similar to the accessor function that QPlatformBackingstore has.
|
|
||||||
|
|
||||||
\internal
|
\internal
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -77,6 +77,19 @@ struct Q_GUI_EXPORT QXcbScreen
|
|||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if QT_CONFIG(vsp2)
|
||||||
|
struct Q_GUI_EXPORT QVsp2Screen
|
||||||
|
{
|
||||||
|
QT_DECLARE_PLATFORM_INTERFACE(QVsp2Screen)
|
||||||
|
virtual int addLayer(int dmabufFd, const QSize &size, const QPoint &position, uint drmPixelFormat, uint bytesPerLine) = 0;
|
||||||
|
virtual void setLayerBuffer(int id, int dmabufFd) = 0;
|
||||||
|
virtual void setLayerPosition(int id, const QPoint &position) = 0;
|
||||||
|
virtual void setLayerAlpha(int id, qreal alpha) = 0;
|
||||||
|
virtual bool removeLayer(int id) = 0;
|
||||||
|
virtual void addBlendListener(void (*callback)()) = 0;
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
} // QPlatformInterface::Private
|
} // QPlatformInterface::Private
|
||||||
|
|
||||||
QT_END_NAMESPACE
|
QT_END_NAMESPACE
|
||||||
|
@ -88,6 +88,10 @@ QT_DEFINE_PRIVATE_PLATFORM_INTERFACE(QXcbScreen);
|
|||||||
QT_DEFINE_PRIVATE_PLATFORM_INTERFACE(QXcbWindow);
|
QT_DEFINE_PRIVATE_PLATFORM_INTERFACE(QXcbWindow);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if QT_CONFIG(vsp2)
|
||||||
|
QT_DEFINE_PRIVATE_PLATFORM_INTERFACE(QVsp2Screen);
|
||||||
|
#endif
|
||||||
|
|
||||||
#if QT_CONFIG(evdev)
|
#if QT_CONFIG(evdev)
|
||||||
QT_DEFINE_PRIVATE_PLATFORM_INTERFACE(QEvdevKeyMapper);
|
QT_DEFINE_PRIVATE_PLATFORM_INTERFACE(QEvdevKeyMapper);
|
||||||
|
|
||||||
|
@ -1,20 +0,0 @@
|
|||||||
# Generated from platformheaders.pro.
|
|
||||||
|
|
||||||
#####################################################################
|
|
||||||
## PlatformHeaders Module:
|
|
||||||
#####################################################################
|
|
||||||
|
|
||||||
qt_add_module(PlatformHeaders
|
|
||||||
HEADER_MODULE
|
|
||||||
SOURCES
|
|
||||||
eglfsfunctions/qeglfsfunctions_p.h
|
|
||||||
helper/qplatformheaderhelper_p.h
|
|
||||||
waylandfunctions/qwaylandwindowfunctions_p.h
|
|
||||||
PUBLIC_LIBRARIES
|
|
||||||
Qt::Core
|
|
||||||
Qt::Gui
|
|
||||||
)
|
|
||||||
qt_add_docs(PlatformHeaders
|
|
||||||
doc/qtplatformheaders.qdocconf
|
|
||||||
)
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
|||||||
# Generated from platformheaders.pro.
|
|
||||||
|
|
||||||
#####################################################################
|
|
||||||
## PlatformHeaders Module:
|
|
||||||
#####################################################################
|
|
||||||
|
|
||||||
qt_add_module(PlatformHeaders
|
|
||||||
HEADER_MODULE
|
|
||||||
# special case begin
|
|
||||||
# SOURCES
|
|
||||||
# eglfsfunctions/qeglfsfunctions_p.h
|
|
||||||
# helper/qplatformheaderhelper_p.h
|
|
||||||
# waylandfunctions/qwaylandwindowfunctions_p.h
|
|
||||||
# special case end
|
|
||||||
PUBLIC_LIBRARIES
|
|
||||||
Qt::Core
|
|
||||||
Qt::Gui
|
|
||||||
)
|
|
||||||
qt_add_docs(PlatformHeaders
|
|
||||||
doc/qtplatformheaders.qdocconf
|
|
||||||
)
|
|
||||||
|
|
@ -1,41 +0,0 @@
|
|||||||
include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
|
|
||||||
include($QT_INSTALL_DOCS/config/exampleurl-qtbase.qdocconf)
|
|
||||||
|
|
||||||
project = QtPlatformHeaders
|
|
||||||
description = Qt Platform Headers Reference Documentation
|
|
||||||
version = $QT_VERSION
|
|
||||||
|
|
||||||
examplesinstallpath = qtplatformheaders
|
|
||||||
|
|
||||||
qhp.projects = QtPlatformHeaders
|
|
||||||
|
|
||||||
qhp.QtPlatformHeaders.file = qtplatformheaders.qhp
|
|
||||||
qhp.QtPlatformHeaders.namespace = org.qt-project.qtplatformheaders.$QT_VERSION_TAG
|
|
||||||
qhp.QtPlatformHeaders.virtualFolder = qtplatformheaders
|
|
||||||
qhp.QtPlatformHeaders.indexTitle = Qt Platform Headers
|
|
||||||
qhp.QtPlatformHeaders.indexRoot =
|
|
||||||
|
|
||||||
qhp.QtPlatformHeaders.filterAttributes = qtplatformheaders $QT_VERSION qtrefdoc
|
|
||||||
qhp.QtPlatformHeaders.customFilters.Qt.name = QtPlatformHeaders $QT_VERSION
|
|
||||||
qhp.QtPlatformHeaders.customFilters.Qt.filterAttributes = qtplatformheaders $QT_VERSION
|
|
||||||
|
|
||||||
qhp.QtPlatformHeaders.subprojects = classes
|
|
||||||
qhp.QtPlatformHeaders.subprojects.classes.title = C++ Classes
|
|
||||||
qhp.QtPlatformHeaders.subprojects.classes.indexTitle = Qt Platform Headers C++ Classes
|
|
||||||
qhp.QtPlatformHeaders.subprojects.classes.selectors = class fake:headerfile
|
|
||||||
qhp.QtPlatformHeaders.subprojects.classes.sortPages = true
|
|
||||||
|
|
||||||
depends += \
|
|
||||||
qtcore \
|
|
||||||
qtgui \
|
|
||||||
qtwidgets \
|
|
||||||
qtdoc
|
|
||||||
|
|
||||||
headerdirs += ..
|
|
||||||
sourcedirs += ..
|
|
||||||
imagedirs += images
|
|
||||||
|
|
||||||
tagfile = qtplatformheaders.tags
|
|
||||||
|
|
||||||
navigation.landingpage = "Qt Platform Headers"
|
|
||||||
navigation.cppclassespage = "Qt Platform Headers C++ Classes"
|
|
@ -1,30 +0,0 @@
|
|||||||
/****************************************************************************
|
|
||||||
**
|
|
||||||
** Copyright (C) 2019 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$
|
|
||||||
**
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/*!
|
|
||||||
\dontdocument (QMetaTypeId)
|
|
||||||
*/
|
|
@ -1,96 +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$
|
|
||||||
**
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/*!
|
|
||||||
\module QtPlatformHeaders
|
|
||||||
\title Qt Platform Headers C++ Classes
|
|
||||||
\ingroup modules
|
|
||||||
|
|
||||||
\brief The Qt Platform Headers module offers header-only inline classes that
|
|
||||||
encapsulate platform-specific information that is tied to a given runtime
|
|
||||||
configuration of a platform plugin.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*!
|
|
||||||
\page qtplatformheaders-index.html
|
|
||||||
\title Qt Platform Headers
|
|
||||||
|
|
||||||
\brief The Qt Platform Headers module offers header-only inline classes that
|
|
||||||
encapsulate platform-specific information that is tied to a given runtime
|
|
||||||
configuration of a platform plugin.
|
|
||||||
|
|
||||||
Some applications may need to interface Qt with other frameworks. This often
|
|
||||||
means using graphics contexts or other types of native handles created by
|
|
||||||
one framework with another. For example, on some platforms, QOpenGLContext
|
|
||||||
offers the ability to wrap an existing native OpenGL context, instead of
|
|
||||||
creating a new one. This existing native context can be created by some
|
|
||||||
other third-party code.
|
|
||||||
|
|
||||||
The type of such native handles is highly platform specific and in some
|
|
||||||
cases the platform plugin will need more information to adopt a handle, just
|
|
||||||
the handle in itself will not be sufficient. Therefore the public API
|
|
||||||
consists of functions taking or returning a QVariant that contains a
|
|
||||||
platform-specific value type. See for example
|
|
||||||
QOpenGLContext::setNativeHandle() and QOpenGLContext::nativeHandle(). When
|
|
||||||
running on Linux/X11, using the xcb platform plugin and the GLX windowing
|
|
||||||
system interface, the variant contains a QGLXNativeContext. On other
|
|
||||||
platforms a different class will be used. These classes are all placed in
|
|
||||||
the Qt Platform Headers module.
|
|
||||||
|
|
||||||
Platform headers can be used in conjunction with
|
|
||||||
QGuiApplication::platformFunction() to give a type safe interface to
|
|
||||||
platform specific functionality. It is possible for headers defined in
|
|
||||||
QtPlatformHeaders to define typedefs for functions that can be returned by
|
|
||||||
a platform plugin from QGuiApplication::platformFunction(). Headers in
|
|
||||||
QtPlatformHeaders can also implement wrapper functions for the function
|
|
||||||
pointer, giving a static function that can be called from any context after
|
|
||||||
the platform integration has been created.
|
|
||||||
|
|
||||||
\note Similar to the other QPA APIs, there are no binary compatibility
|
|
||||||
guarantees for these classes, meaning that an application using these
|
|
||||||
classes is only guaranteed to work with the Qt version it was developed
|
|
||||||
against. Unlike QPA however, source compatibility is guaranteed.
|
|
||||||
|
|
||||||
\sa QWindowsWindowFunctions
|
|
||||||
|
|
||||||
\section1 Getting Started
|
|
||||||
|
|
||||||
To include the definitions of the module's functions and classes, use the following directives:
|
|
||||||
\code
|
|
||||||
#include <QtPlatformHeaders/QWindowsWindowFunctions>
|
|
||||||
\endcode
|
|
||||||
|
|
||||||
As the module is header-only, no modifications to your build system are required.
|
|
||||||
|
|
||||||
\note The module name (\c QtPlatformHeaders) must appear in the \c #include directive.
|
|
||||||
\note It is not necessary to enclose the code in \c #ifdef directives depending on platform.
|
|
||||||
|
|
||||||
\section1 API Reference
|
|
||||||
\list
|
|
||||||
\li \l{Qt Platform Headers C++ Classes}{C++ Classes}
|
|
||||||
\endlist
|
|
||||||
*/
|
|
@ -1 +0,0 @@
|
|||||||
HEADERS += $$PWD/qeglfsfunctions_p.h
|
|
@ -1,129 +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 QEglFSFunctions
|
|
||||||
\inmodule QtPlatformHeaders
|
|
||||||
|
|
||||||
\brief The QEglFSFunctions class is an inline class containing
|
|
||||||
platform-specific functionality for the eglfs platform plugin that is
|
|
||||||
typically used on systems running Embedded Linux or Android.
|
|
||||||
|
|
||||||
\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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*!
|
|
||||||
\fn int QEglFSFunctions::vsp2AddLayer(const QScreen *screen, int dmabufFd, const QSize &size, const QPoint &position, uint drmPixelFormat, uint bytesPerLine)
|
|
||||||
\internal
|
|
||||||
\preliminary
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*!
|
|
||||||
\fn bool QEglFSFunctions::vsp2RemoveLayer(const QScreen *screen, int id)
|
|
||||||
\internal
|
|
||||||
\preliminary
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*!
|
|
||||||
\fn void QEglFSFunctions::vsp2SetLayerBuffer(const QScreen *screen, int id, int dmabufFd)
|
|
||||||
\internal
|
|
||||||
\preliminary
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*!
|
|
||||||
\fn bool QEglFSFunctions::vsp2SetLayerPosition(const QScreen *screen, int id, const QPoint &position)
|
|
||||||
\internal
|
|
||||||
\preliminary
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*!
|
|
||||||
\fn bool QEglFSFunctions::vsp2SetLayerAlpha(const QScreen *screen, int id, qreal alpha)
|
|
||||||
\internal
|
|
||||||
\preliminary
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*!
|
|
||||||
\fn void QEglFSFunctions::vsp2AddBlendListener(const QScreen *screen, void(*callback)())
|
|
||||||
\internal
|
|
||||||
\preliminary
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*!
|
|
||||||
\typedef QEglFSFunctions::Vsp2AddBlendListenerType
|
|
||||||
\internal
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*!
|
|
||||||
\typedef QEglFSFunctions::Vsp2AddLayerType
|
|
||||||
\internal
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*!
|
|
||||||
\typedef QEglFSFunctions::Vsp2RemoveLayerType
|
|
||||||
\internal
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*!
|
|
||||||
\typedef QEglFSFunctions::Vsp2SetLayerBufferType
|
|
||||||
\internal
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*!
|
|
||||||
\typedef QEglFSFunctions::Vsp2SetLayerPositionType
|
|
||||||
\internal
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*!
|
|
||||||
\typedef QEglFSFunctions::Vsp2SetLayerAlphaType
|
|
||||||
\internal
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*! \fn QByteArray QEglFSFunctions::vsp2AddBlendListenerTypeIdentifier()
|
|
||||||
\internal
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*! \fn QByteArray QEglFSFunctions::vsp2AddLayerTypeIdentifier()
|
|
||||||
\internal
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*! \fn QByteArray QEglFSFunctions::vsp2RemoveLayerTypeIdentifier()
|
|
||||||
\internal
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*! \fn QByteArray QEglFSFunctions::vsp2SetLayerBufferTypeIdentifier()
|
|
||||||
\internal
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*! \fn QByteArray QEglFSFunctions::vsp2SetLayerPositionTypeIdentifier()
|
|
||||||
\internal
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*! \fn QByteArray QEglFSFunctions::vsp2SetLayerAlphaTypeIdentifier()
|
|
||||||
\internal
|
|
||||||
*/
|
|
@ -1,125 +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 QEGLFSFUNCTIONS_H
|
|
||||||
#define QEGLFSFUNCTIONS_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 <QtCore/QByteArray>
|
|
||||||
#include <QtGui/QGuiApplication>
|
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
|
||||||
|
|
||||||
class QEglFSFunctions
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
typedef int (*Vsp2AddLayerType)(const QScreen *screen, int dmabufFd, const QSize &size, const QPoint &position, uint drmPixelFormat, uint bytesPerLine);
|
|
||||||
static QByteArray vsp2AddLayerTypeIdentifier() { return QByteArrayLiteral("EglFSVsp2AddLayer"); }
|
|
||||||
|
|
||||||
//vsp2 functions are currently internal and preliminary (see qdoc file)
|
|
||||||
static int vsp2AddLayer(const QScreen *screen, int dmabufFd, const QSize &size, const QPoint &position, uint drmPixelFormat, uint bytesPerLine)
|
|
||||||
{
|
|
||||||
auto func = reinterpret_cast<Vsp2AddLayerType>(QGuiApplication::platformFunction(vsp2AddLayerTypeIdentifier()));
|
|
||||||
if (func)
|
|
||||||
return func(screen, dmabufFd, size, position, drmPixelFormat, bytesPerLine);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
typedef bool (*Vsp2RemoveLayerType)(const QScreen *screen, int id);
|
|
||||||
static QByteArray vsp2RemoveLayerTypeIdentifier() { return QByteArrayLiteral("EglFSVsp2RemoveLayer"); }
|
|
||||||
|
|
||||||
static bool vsp2RemoveLayer(const QScreen *screen, int id)
|
|
||||||
{
|
|
||||||
auto func = reinterpret_cast<Vsp2RemoveLayerType>(QGuiApplication::platformFunction(vsp2RemoveLayerTypeIdentifier()));
|
|
||||||
return func && func(screen, id);
|
|
||||||
}
|
|
||||||
|
|
||||||
typedef void (*Vsp2SetLayerBufferType)(const QScreen *screen, int id, int dmabufFd);
|
|
||||||
static QByteArray vsp2SetLayerBufferTypeIdentifier() { return QByteArrayLiteral("EglFSVsp2SetLayerBuffer"); }
|
|
||||||
|
|
||||||
static void vsp2SetLayerBuffer(const QScreen *screen, int id, int dmabufFd)
|
|
||||||
{
|
|
||||||
auto func = reinterpret_cast<Vsp2SetLayerBufferType>(QGuiApplication::platformFunction(vsp2SetLayerBufferTypeIdentifier()));
|
|
||||||
if (func)
|
|
||||||
func(screen, id, dmabufFd);
|
|
||||||
}
|
|
||||||
|
|
||||||
typedef bool (*Vsp2SetLayerPositionType)(const QScreen *screen, int id, const QPoint &position);
|
|
||||||
static QByteArray vsp2SetLayerPositionTypeIdentifier() { return QByteArrayLiteral("EglFSVsp2SetLayerPosition"); }
|
|
||||||
|
|
||||||
static bool vsp2SetLayerPosition(const QScreen *screen, int id, const QPoint &position)
|
|
||||||
{
|
|
||||||
auto func = reinterpret_cast<Vsp2SetLayerPositionType>(QGuiApplication::platformFunction(vsp2SetLayerPositionTypeIdentifier()));
|
|
||||||
return func && func(screen, id, position);
|
|
||||||
}
|
|
||||||
|
|
||||||
typedef bool (*Vsp2SetLayerAlphaType)(const QScreen *screen, int id, qreal alpha);
|
|
||||||
static QByteArray vsp2SetLayerAlphaTypeIdentifier() { return QByteArrayLiteral("EglFSVsp2SetLayerAlpha"); }
|
|
||||||
|
|
||||||
static bool vsp2SetLayerAlpha(const QScreen *screen, int id, qreal alpha)
|
|
||||||
{
|
|
||||||
auto func = reinterpret_cast<Vsp2SetLayerAlphaType>(QGuiApplication::platformFunction(vsp2SetLayerAlphaTypeIdentifier()));
|
|
||||||
return func && func(screen, id, alpha);
|
|
||||||
}
|
|
||||||
|
|
||||||
typedef void (*Vsp2AddBlendListenerType)(const QScreen *screen, void(*callback)());
|
|
||||||
static QByteArray vsp2AddBlendListenerTypeIdentifier() { return QByteArrayLiteral("EglFSVsp2AddBlendListener"); }
|
|
||||||
|
|
||||||
static void vsp2AddBlendListener(const QScreen *screen, void(*callback)())
|
|
||||||
{
|
|
||||||
auto func = reinterpret_cast<Vsp2AddBlendListenerType>(QGuiApplication::platformFunction(vsp2AddBlendListenerTypeIdentifier()));
|
|
||||||
if (func)
|
|
||||||
func(screen, callback);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
QT_END_NAMESPACE
|
|
||||||
|
|
||||||
#endif // QEGLFSFUNCTIONS_H
|
|
@ -1,2 +0,0 @@
|
|||||||
HEADERS += \
|
|
||||||
$$PWD/qplatformheaderhelper_p.h
|
|
@ -1,104 +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 QPLATFORMHEADERHELPER_H
|
|
||||||
#define QPLATFORMHEADERHELPER_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 <QtCore/QByteArray>
|
|
||||||
#include <QtGui/QGuiApplication>
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
#pragma qt_class(QPlatformHeaderHelper)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
|
||||||
|
|
||||||
namespace QPlatformHeaderHelper {
|
|
||||||
|
|
||||||
template<typename ReturnT, typename FunctionT>
|
|
||||||
ReturnT callPlatformFunction(const QByteArray &functionName)
|
|
||||||
{
|
|
||||||
FunctionT func = reinterpret_cast<FunctionT>(QGuiApplication::platformFunction(functionName));
|
|
||||||
return func ? func() : ReturnT();
|
|
||||||
}
|
|
||||||
|
|
||||||
template<typename ReturnT, typename FunctionT, typename Arg1>
|
|
||||||
ReturnT callPlatformFunction(const QByteArray &functionName, Arg1 a1)
|
|
||||||
{
|
|
||||||
FunctionT func = reinterpret_cast<FunctionT>(QGuiApplication::platformFunction(functionName));
|
|
||||||
return func ? func(a1) : ReturnT();
|
|
||||||
}
|
|
||||||
|
|
||||||
template<typename ReturnT, typename FunctionT, typename Arg1, typename Arg2>
|
|
||||||
ReturnT callPlatformFunction(const QByteArray &functionName, Arg1 a1, Arg2 a2)
|
|
||||||
{
|
|
||||||
FunctionT func = reinterpret_cast<FunctionT>(QGuiApplication::platformFunction(functionName));
|
|
||||||
return func ? func(a1, a2) : ReturnT();
|
|
||||||
}
|
|
||||||
|
|
||||||
template<typename ReturnT, typename FunctionT, typename Arg1, typename Arg2, typename Arg3>
|
|
||||||
ReturnT callPlatformFunction(const QByteArray &functionName, Arg1 a1, Arg2 a2, Arg3 a3)
|
|
||||||
{
|
|
||||||
FunctionT func = reinterpret_cast<FunctionT>(QGuiApplication::platformFunction(functionName));
|
|
||||||
return func ? func(a1, a2, a3) : ReturnT();
|
|
||||||
}
|
|
||||||
|
|
||||||
template<typename ReturnT, typename FunctionT, typename Arg1, typename Arg2, typename Arg3, typename Arg4>
|
|
||||||
ReturnT callPlatformFunction(const QByteArray &functionName, Arg1 a1, Arg2 a2, Arg3 a3, Arg4 a4)
|
|
||||||
{
|
|
||||||
FunctionT func = reinterpret_cast<FunctionT>(QGuiApplication::platformFunction(functionName));
|
|
||||||
return func ? func(a1, a2, a3, a4) : ReturnT();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
QT_END_NAMESPACE
|
|
||||||
|
|
||||||
#endif /*QPLATFORMHEADERHELPER_H*/
|
|
@ -1,9 +0,0 @@
|
|||||||
TARGET = QtPlatformHeaders
|
|
||||||
CONFIG += header_module
|
|
||||||
|
|
||||||
include(eglfsfunctions/eglfsfunctions.pri)
|
|
||||||
include(helper/helper.pri)
|
|
||||||
|
|
||||||
QMAKE_DOCS = $$PWD/doc/qtplatformheaders.qdocconf
|
|
||||||
|
|
||||||
load(qt_module)
|
|
@ -58,7 +58,6 @@ qt_internal_add_plugin(QCocoaIntegrationPlugin
|
|||||||
Qt::CorePrivate
|
Qt::CorePrivate
|
||||||
Qt::Gui
|
Qt::Gui
|
||||||
Qt::GuiPrivate
|
Qt::GuiPrivate
|
||||||
Qt::PlatformHeadersPrivate
|
|
||||||
)
|
)
|
||||||
|
|
||||||
# Resources:
|
# Resources:
|
||||||
|
@ -64,7 +64,6 @@ qt_internal_add_plugin(QCocoaIntegrationPlugin
|
|||||||
Qt::CorePrivate
|
Qt::CorePrivate
|
||||||
Qt::Gui
|
Qt::Gui
|
||||||
Qt::GuiPrivate
|
Qt::GuiPrivate
|
||||||
Qt::PlatformHeadersPrivate
|
|
||||||
)
|
)
|
||||||
|
|
||||||
# special case begin
|
# special case begin
|
||||||
|
@ -99,7 +99,7 @@ LIBS += -framework AppKit -framework CoreServices -framework Carbon -framework I
|
|||||||
|
|
||||||
DEFINES += QT_NO_FOREACH
|
DEFINES += QT_NO_FOREACH
|
||||||
|
|
||||||
QT += core-private gui-private platformheaders-private
|
QT += core-private gui-private
|
||||||
|
|
||||||
CONFIG += no_app_extension_api_only
|
CONFIG += no_app_extension_api_only
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
TARGET = qdirect2d
|
TARGET = qdirect2d
|
||||||
|
|
||||||
QT += \
|
QT += \
|
||||||
core-private gui-private platformheaders-private
|
core-private gui-private
|
||||||
|
|
||||||
LIBS += -ldwmapi -lversion -ld3d11 -ldxgi -ldxguid
|
LIBS += -ldwmapi -lversion -ld3d11 -ldxgi -ldxguid
|
||||||
QMAKE_USE_PRIVATE += gdi32 dwrite_2 d2d1_1
|
QMAKE_USE_PRIVATE += gdi32 dwrite_2 d2d1_1
|
||||||
|
@ -24,7 +24,6 @@ qt_add_module(EglFSDeviceIntegration
|
|||||||
Qt::DeviceDiscoverySupportPrivate
|
Qt::DeviceDiscoverySupportPrivate
|
||||||
Qt::FbSupportPrivate
|
Qt::FbSupportPrivate
|
||||||
Qt::GuiPrivate
|
Qt::GuiPrivate
|
||||||
Qt::PlatformHeadersPrivate
|
|
||||||
)
|
)
|
||||||
|
|
||||||
#### Keys ignored in scope 2:.:.:eglfsdeviceintegration.pro:<TRUE>:
|
#### Keys ignored in scope 2:.:.:eglfsdeviceintegration.pro:<TRUE>:
|
||||||
@ -91,7 +90,6 @@ qt_internal_add_plugin(QEglFSIntegrationPlugin
|
|||||||
api
|
api
|
||||||
PUBLIC_LIBRARIES
|
PUBLIC_LIBRARIES
|
||||||
Qt::EglFSDeviceIntegrationPrivate
|
Qt::EglFSDeviceIntegrationPrivate
|
||||||
Qt::PlatformHeadersPrivate
|
|
||||||
)
|
)
|
||||||
|
|
||||||
#### Keys ignored in scope 12:.:.:eglfs-plugin.pro:<TRUE>:
|
#### Keys ignored in scope 12:.:.:eglfs-plugin.pro:<TRUE>:
|
||||||
|
@ -25,7 +25,6 @@ qt_add_module(EglFSDeviceIntegration
|
|||||||
Qt::DeviceDiscoverySupportPrivate
|
Qt::DeviceDiscoverySupportPrivate
|
||||||
Qt::FbSupportPrivate
|
Qt::FbSupportPrivate
|
||||||
Qt::GuiPrivate
|
Qt::GuiPrivate
|
||||||
Qt::PlatformHeadersPrivate
|
|
||||||
EGL::EGL # special case
|
EGL::EGL # special case
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -98,7 +97,6 @@ qt_internal_add_plugin(QEglFSIntegrationPlugin
|
|||||||
PUBLIC_LIBRARIES
|
PUBLIC_LIBRARIES
|
||||||
Qt::CorePrivate # special case
|
Qt::CorePrivate # special case
|
||||||
Qt::EglFSDeviceIntegrationPrivate
|
Qt::EglFSDeviceIntegrationPrivate
|
||||||
Qt::PlatformHeadersPrivate
|
|
||||||
EGL::EGL # special case
|
EGL::EGL # special case
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -94,8 +94,6 @@
|
|||||||
#include <QtInputSupport/qintegrityhidmanager.h>
|
#include <QtInputSupport/qintegrityhidmanager.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <QtPlatformHeaders/private/qeglfsfunctions_p.h>
|
|
||||||
|
|
||||||
static void initResources()
|
static void initResources()
|
||||||
{
|
{
|
||||||
#ifndef QT_NO_CURSOR
|
#ifndef QT_NO_CURSOR
|
||||||
|
@ -52,7 +52,6 @@
|
|||||||
#include <QtCore/QJsonArray>
|
#include <QtCore/QJsonArray>
|
||||||
#include <QtGui/qpa/qplatformwindow.h>
|
#include <QtGui/qpa/qplatformwindow.h>
|
||||||
#include <QtGui/QScreen>
|
#include <QtGui/QScreen>
|
||||||
#include <QtPlatformHeaders/private/qeglfsfunctions_p.h>
|
|
||||||
|
|
||||||
#include <xf86drm.h>
|
#include <xf86drm.h>
|
||||||
#include <xf86drmMode.h>
|
#include <xf86drmMode.h>
|
||||||
@ -123,24 +122,6 @@ void QEglFSKmsVsp2Integration::presentBuffer(QPlatformSurface *surface)
|
|||||||
screen->flip();
|
screen->flip();
|
||||||
}
|
}
|
||||||
|
|
||||||
QFunctionPointer QEglFSKmsVsp2Integration::platformFunction(const QByteArray &function) const
|
|
||||||
{
|
|
||||||
if (function == QEglFSFunctions::vsp2AddLayerTypeIdentifier())
|
|
||||||
return QFunctionPointer(addLayerStatic);
|
|
||||||
if (function == QEglFSFunctions::vsp2RemoveLayerTypeIdentifier())
|
|
||||||
return QFunctionPointer(removeLayerStatic);
|
|
||||||
if (function == QEglFSFunctions::vsp2SetLayerBufferTypeIdentifier())
|
|
||||||
return QFunctionPointer(setLayerBufferStatic);
|
|
||||||
if (function == QEglFSFunctions::vsp2SetLayerPositionTypeIdentifier())
|
|
||||||
return QFunctionPointer(setLayerPositionStatic);
|
|
||||||
if (function == QEglFSFunctions::vsp2SetLayerAlphaTypeIdentifier())
|
|
||||||
return QFunctionPointer(setLayerAlphaStatic);
|
|
||||||
if (function == QEglFSFunctions::vsp2AddBlendListenerTypeIdentifier())
|
|
||||||
return QFunctionPointer(addBlendListenerStatic);
|
|
||||||
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
QKmsDevice *QEglFSKmsVsp2Integration::createDevice()
|
QKmsDevice *QEglFSKmsVsp2Integration::createDevice()
|
||||||
{
|
{
|
||||||
QString path = screenConfig()->devicePath();
|
QString path = screenConfig()->devicePath();
|
||||||
@ -162,42 +143,6 @@ QKmsDevice *QEglFSKmsVsp2Integration::createDevice()
|
|||||||
return new QEglFSKmsVsp2Device(screenConfig(), path);
|
return new QEglFSKmsVsp2Device(screenConfig(), path);
|
||||||
}
|
}
|
||||||
|
|
||||||
int QEglFSKmsVsp2Integration::addLayerStatic(const QScreen *screen, int dmabufFd, const QSize &size, const QPoint &position, uint pixelFormat, uint bytesPerLine)
|
|
||||||
{
|
|
||||||
auto vsp2Screen = static_cast<QEglFSKmsVsp2Screen *>(screen->handle());
|
|
||||||
return vsp2Screen->addLayer(dmabufFd, size, position, pixelFormat, bytesPerLine);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool QEglFSKmsVsp2Integration::removeLayerStatic(const QScreen *screen, int id)
|
|
||||||
{
|
|
||||||
auto vsp2Screen = static_cast<QEglFSKmsVsp2Screen *>(screen->handle());
|
|
||||||
return vsp2Screen->removeLayer(id);
|
|
||||||
}
|
|
||||||
|
|
||||||
void QEglFSKmsVsp2Integration::setLayerBufferStatic(const QScreen *screen, int id, int dmabufFd)
|
|
||||||
{
|
|
||||||
auto vsp2Screen = static_cast<QEglFSKmsVsp2Screen *>(screen->handle());
|
|
||||||
vsp2Screen->setLayerBuffer(id, dmabufFd);
|
|
||||||
}
|
|
||||||
|
|
||||||
void QEglFSKmsVsp2Integration::setLayerPositionStatic(const QScreen *screen, int id, const QPoint &position)
|
|
||||||
{
|
|
||||||
auto vsp2Screen = static_cast<QEglFSKmsVsp2Screen *>(screen->handle());
|
|
||||||
vsp2Screen->setLayerPosition(id, position);
|
|
||||||
}
|
|
||||||
|
|
||||||
void QEglFSKmsVsp2Integration::setLayerAlphaStatic(const QScreen *screen, int id, qreal alpha)
|
|
||||||
{
|
|
||||||
auto vsp2Screen = static_cast<QEglFSKmsVsp2Screen *>(screen->handle());
|
|
||||||
vsp2Screen->setLayerAlpha(id, alpha);
|
|
||||||
}
|
|
||||||
|
|
||||||
void QEglFSKmsVsp2Integration::addBlendListenerStatic(const QScreen *screen, void(*callback)())
|
|
||||||
{
|
|
||||||
auto vsp2Screen = static_cast<QEglFSKmsVsp2Screen *>(screen->handle());
|
|
||||||
vsp2Screen->addBlendListener(callback);
|
|
||||||
}
|
|
||||||
|
|
||||||
class QEglFSKmsVsp2Window : public QEglFSWindow
|
class QEglFSKmsVsp2Window : public QEglFSWindow
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -62,18 +62,8 @@ public:
|
|||||||
void presentBuffer(QPlatformSurface *surface) override;
|
void presentBuffer(QPlatformSurface *surface) override;
|
||||||
QEglFSWindow *createWindow(QWindow *window) const override;
|
QEglFSWindow *createWindow(QWindow *window) const override;
|
||||||
|
|
||||||
QFunctionPointer platformFunction(const QByteArray &function) const override;
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
QKmsDevice *createDevice() override;
|
QKmsDevice *createDevice() override;
|
||||||
|
|
||||||
private:
|
|
||||||
static int addLayerStatic(const QScreen *screen, int dmabufFd, const QSize &size, const QPoint &position, uint pixelFormat, uint bytesPerLine);
|
|
||||||
static bool removeLayerStatic(const QScreen *screen, int id);
|
|
||||||
static void setLayerBufferStatic(const QScreen *screen, int id, int dmabufFd);
|
|
||||||
static void setLayerPositionStatic(const QScreen *screen, int id, const QPoint &position);
|
|
||||||
static void setLayerAlphaStatic(const QScreen *screen, int id, qreal alpha);
|
|
||||||
static void addBlendListenerStatic(const QScreen *screen, void(*callback)());
|
|
||||||
};
|
};
|
||||||
|
|
||||||
QT_END_NAMESPACE
|
QT_END_NAMESPACE
|
||||||
|
@ -46,11 +46,14 @@
|
|||||||
#include "qvsp2blendingdevice.h"
|
#include "qvsp2blendingdevice.h"
|
||||||
#include <QtCore/QMutex>
|
#include <QtCore/QMutex>
|
||||||
|
|
||||||
|
#include <qpa/qplatformscreen_p.h>
|
||||||
|
|
||||||
#include <gbm.h>
|
#include <gbm.h>
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
QT_BEGIN_NAMESPACE
|
||||||
|
|
||||||
class QEglFSKmsVsp2Screen : public QEglFSKmsScreen
|
class QEglFSKmsVsp2Screen : public QEglFSKmsScreen
|
||||||
|
, public QPlatformInterface::Private::QVsp2Screen
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
QEglFSKmsVsp2Screen(QEglFSKmsDevice *device, const QKmsOutput &output);
|
QEglFSKmsVsp2Screen(QEglFSKmsDevice *device, const QKmsOutput &output);
|
||||||
@ -63,12 +66,12 @@ public:
|
|||||||
void initQtLayer();
|
void initQtLayer();
|
||||||
|
|
||||||
//TODO: use a fixed index API instead of auto increment?
|
//TODO: use a fixed index API instead of auto increment?
|
||||||
int addLayer(int dmabufFd, const QSize &size, const QPoint &position, uint drmPixelFormat, uint bytesPerLine);
|
int addLayer(int dmabufFd, const QSize &size, const QPoint &position, uint drmPixelFormat, uint bytesPerLine) override;
|
||||||
void setLayerBuffer(int id, int dmabufFd);
|
void setLayerBuffer(int id, int dmabufFd) override;
|
||||||
void setLayerPosition(int id, const QPoint &position);
|
void setLayerPosition(int id, const QPoint &position) override;
|
||||||
void setLayerAlpha(int id, qreal alpha);
|
void setLayerAlpha(int id, qreal alpha) override;
|
||||||
bool removeLayer(int id);
|
bool removeLayer(int id) override;
|
||||||
void addBlendListener(void (*callback)());
|
void addBlendListener(void (*callback)()) override;
|
||||||
|
|
||||||
void flip();
|
void flip();
|
||||||
void blendAndFlipDrm();
|
void blendAndFlipDrm();
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
TARGET = qeglfs
|
TARGET = qeglfs
|
||||||
|
|
||||||
QT += eglfsdeviceintegration-private platformheaders-private
|
QT += eglfsdeviceintegration-private
|
||||||
|
|
||||||
CONFIG += egl
|
CONFIG += egl
|
||||||
|
|
||||||
|
@ -10,7 +10,6 @@ MODULE = eglfsdeviceintegration
|
|||||||
|
|
||||||
QT += \
|
QT += \
|
||||||
core-private gui-private \
|
core-private gui-private \
|
||||||
platformheaders-private \
|
|
||||||
devicediscovery_support-private \
|
devicediscovery_support-private \
|
||||||
fb_support-private
|
fb_support-private
|
||||||
|
|
||||||
|
@ -19,7 +19,6 @@ qt_internal_add_plugin(QLinuxFbIntegrationPlugin
|
|||||||
Qt::FbSupportPrivate
|
Qt::FbSupportPrivate
|
||||||
Qt::Gui
|
Qt::Gui
|
||||||
Qt::GuiPrivate
|
Qt::GuiPrivate
|
||||||
Qt::PlatformHeadersPrivate
|
|
||||||
)
|
)
|
||||||
|
|
||||||
#### Keys ignored in scope 1:.:.:linuxfb.pro:<TRUE>:
|
#### Keys ignored in scope 1:.:.:linuxfb.pro:<TRUE>:
|
||||||
|
@ -20,7 +20,6 @@ qt_internal_add_plugin(QLinuxFbIntegrationPlugin
|
|||||||
Qt::FbSupportPrivate
|
Qt::FbSupportPrivate
|
||||||
Qt::Gui
|
Qt::Gui
|
||||||
Qt::GuiPrivate
|
Qt::GuiPrivate
|
||||||
Qt::PlatformHeadersPrivate
|
|
||||||
)
|
)
|
||||||
|
|
||||||
#### Keys ignored in scope 1:.:.:linuxfb.pro:<TRUE>:
|
#### Keys ignored in scope 1:.:.:linuxfb.pro:<TRUE>:
|
||||||
|
@ -4,7 +4,6 @@ DEFINES += QT_NO_FOREACH
|
|||||||
|
|
||||||
QT += \
|
QT += \
|
||||||
core-private gui-private \
|
core-private gui-private \
|
||||||
platformheaders-private \
|
|
||||||
fb_support-private
|
fb_support-private
|
||||||
|
|
||||||
qtHaveModule(input_support-private): \
|
qtHaveModule(input_support-private): \
|
||||||
|
@ -53,7 +53,6 @@ qt_internal_add_plugin(QWindowsIntegrationPlugin
|
|||||||
Qt::CorePrivate
|
Qt::CorePrivate
|
||||||
Qt::Gui
|
Qt::Gui
|
||||||
Qt::GuiPrivate
|
Qt::GuiPrivate
|
||||||
Qt::PlatformHeadersPrivate
|
|
||||||
dwmapi
|
dwmapi
|
||||||
imm32
|
imm32
|
||||||
oleaut32
|
oleaut32
|
||||||
|
@ -54,7 +54,6 @@ qt_internal_add_plugin(QWindowsIntegrationPlugin
|
|||||||
Qt::CorePrivate
|
Qt::CorePrivate
|
||||||
Qt::Gui
|
Qt::Gui
|
||||||
Qt::GuiPrivate
|
Qt::GuiPrivate
|
||||||
Qt::PlatformHeadersPrivate
|
|
||||||
dwmapi
|
dwmapi
|
||||||
imm32
|
imm32
|
||||||
oleaut32
|
oleaut32
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
TARGET = qwindows
|
TARGET = qwindows
|
||||||
|
|
||||||
QT += \
|
QT += core-private gui-private
|
||||||
core-private gui-private platformheaders-private
|
|
||||||
|
|
||||||
qtConfig(opengl): QT += opengl-private
|
qtConfig(opengl): QT += opengl-private
|
||||||
|
|
||||||
|
@ -42,7 +42,6 @@ qt_add_module(XcbQpa
|
|||||||
PkgConfig::XKB_COMMON_X11
|
PkgConfig::XKB_COMMON_X11
|
||||||
Qt::CorePrivate
|
Qt::CorePrivate
|
||||||
Qt::GuiPrivate
|
Qt::GuiPrivate
|
||||||
Qt::PlatformHeadersPrivate
|
|
||||||
XCB::ICCCM
|
XCB::ICCCM
|
||||||
XCB::IMAGE
|
XCB::IMAGE
|
||||||
XCB::KEYSYMS
|
XCB::KEYSYMS
|
||||||
@ -142,7 +141,6 @@ qt_internal_add_plugin(QXcbIntegrationPlugin
|
|||||||
PUBLIC_LIBRARIES
|
PUBLIC_LIBRARIES
|
||||||
Qt::CorePrivate
|
Qt::CorePrivate
|
||||||
Qt::GuiPrivate
|
Qt::GuiPrivate
|
||||||
Qt::PlatformHeadersPrivate
|
|
||||||
Qt::XcbQpaPrivate
|
Qt::XcbQpaPrivate
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -42,7 +42,6 @@ qt_add_module(XcbQpa
|
|||||||
PkgConfig::XKB_COMMON_X11
|
PkgConfig::XKB_COMMON_X11
|
||||||
Qt::CorePrivate
|
Qt::CorePrivate
|
||||||
Qt::GuiPrivate
|
Qt::GuiPrivate
|
||||||
Qt::PlatformHeadersPrivate
|
|
||||||
XCB::ICCCM
|
XCB::ICCCM
|
||||||
XCB::IMAGE
|
XCB::IMAGE
|
||||||
XCB::KEYSYMS
|
XCB::KEYSYMS
|
||||||
@ -169,7 +168,6 @@ qt_internal_add_plugin(QXcbIntegrationPlugin
|
|||||||
PUBLIC_LIBRARIES
|
PUBLIC_LIBRARIES
|
||||||
Qt::CorePrivate
|
Qt::CorePrivate
|
||||||
Qt::GuiPrivate
|
Qt::GuiPrivate
|
||||||
Qt::PlatformHeadersPrivate
|
|
||||||
Qt::XcbQpaPrivate
|
Qt::XcbQpaPrivate
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
TARGET = qxcb
|
TARGET = qxcb
|
||||||
|
|
||||||
QT += core-private gui-private xcb_qpa_lib-private platformheaders-private
|
QT += core-private gui-private xcb_qpa_lib-private
|
||||||
|
|
||||||
DEFINES += QT_NO_FOREACH
|
DEFINES += QT_NO_FOREACH
|
||||||
|
|
||||||
|
@ -2,9 +2,7 @@ TARGET = QtXcbQpa
|
|||||||
CONFIG += no_module_headers internal_module
|
CONFIG += no_module_headers internal_module
|
||||||
DEFINES += QT_NO_FOREACH
|
DEFINES += QT_NO_FOREACH
|
||||||
|
|
||||||
QT += \
|
QT += core-private gui-private
|
||||||
core-private gui-private \
|
|
||||||
platformheaders-private
|
|
||||||
|
|
||||||
qtConfig(opengl): QT += opengl-private
|
qtConfig(opengl): QT += opengl-private
|
||||||
|
|
||||||
|
12
src/src.pro
12
src/src.pro
@ -117,17 +117,13 @@ src_gui.subdir = $$PWD/gui
|
|||||||
src_gui.target = sub-gui
|
src_gui.target = sub-gui
|
||||||
src_gui.depends = src_corelib src_tools_rcc
|
src_gui.depends = src_corelib src_tools_rcc
|
||||||
|
|
||||||
src_platformheaders.subdir = $$PWD/platformheaders
|
|
||||||
src_platformheaders.target = sub-platformheaders
|
|
||||||
src_platformheaders.depends = src_corelib src_gui
|
|
||||||
|
|
||||||
src_platformsupport.subdir = $$PWD/platformsupport
|
src_platformsupport.subdir = $$PWD/platformsupport
|
||||||
src_platformsupport.target = sub-platformsupport
|
src_platformsupport.target = sub-platformsupport
|
||||||
src_platformsupport.depends = src_corelib src_gui src_platformheaders
|
src_platformsupport.depends = src_corelib src_gui
|
||||||
|
|
||||||
src_widgets.subdir = $$PWD/widgets
|
src_widgets.subdir = $$PWD/widgets
|
||||||
src_widgets.target = sub-widgets
|
src_widgets.target = sub-widgets
|
||||||
src_widgets.depends = src_corelib src_gui src_tools_uic src_platformheaders
|
src_widgets.depends = src_corelib src_gui src_tools_uic
|
||||||
|
|
||||||
src_opengl.subdir = $$PWD/opengl
|
src_opengl.subdir = $$PWD/opengl
|
||||||
src_opengl.target = sub-opengl
|
src_opengl.target = sub-opengl
|
||||||
@ -212,13 +208,13 @@ qtConfig(gui) {
|
|||||||
src_gui.depends += src_tools_qvkgen
|
src_gui.depends += src_tools_qvkgen
|
||||||
TOOLS += src_tools_qvkgen
|
TOOLS += src_tools_qvkgen
|
||||||
}
|
}
|
||||||
SUBDIRS += src_gui src_platformsupport src_platformheaders
|
SUBDIRS += src_gui src_platformsupport
|
||||||
qtConfig(opengl) {
|
qtConfig(opengl) {
|
||||||
SUBDIRS += src_opengl
|
SUBDIRS += src_opengl
|
||||||
src_plugins.depends += src_opengl
|
src_plugins.depends += src_opengl
|
||||||
src_platformsupport.depends += src_opengl
|
src_platformsupport.depends += src_opengl
|
||||||
}
|
}
|
||||||
src_plugins.depends += src_gui src_platformsupport src_platformheaders
|
src_plugins.depends += src_gui src_platformsupport
|
||||||
src_testlib.depends += src_gui # if QtGui is enabled, QtTest requires QtGui's headers
|
src_testlib.depends += src_gui # if QtGui is enabled, QtTest requires QtGui's headers
|
||||||
qtConfig(widgets) {
|
qtConfig(widgets) {
|
||||||
SUBDIRS += src_tools_uic src_widgets
|
SUBDIRS += src_tools_uic src_widgets
|
||||||
|
@ -57,7 +57,6 @@ qt_add_module(Widgets
|
|||||||
LIBRARIES
|
LIBRARIES
|
||||||
Qt::CorePrivate
|
Qt::CorePrivate
|
||||||
Qt::GuiPrivate
|
Qt::GuiPrivate
|
||||||
Qt::PlatformHeadersPrivate
|
|
||||||
PUBLIC_LIBRARIES
|
PUBLIC_LIBRARIES
|
||||||
Qt::Core
|
Qt::Core
|
||||||
Qt::Gui
|
Qt::Gui
|
||||||
|
@ -57,7 +57,6 @@ qt_add_module(Widgets
|
|||||||
LIBRARIES
|
LIBRARIES
|
||||||
Qt::CorePrivate
|
Qt::CorePrivate
|
||||||
Qt::GuiPrivate
|
Qt::GuiPrivate
|
||||||
Qt::PlatformHeadersPrivate
|
|
||||||
PUBLIC_LIBRARIES
|
PUBLIC_LIBRARIES
|
||||||
Qt::Core
|
Qt::Core
|
||||||
Qt::Gui
|
Qt::Gui
|
||||||
|
@ -30,7 +30,7 @@ qhp.QtWidgets.subprojects.classes.sortPages = true
|
|||||||
|
|
||||||
tagfile = ../../../doc/qtwidgets/qtwidgets.tags
|
tagfile = ../../../doc/qtwidgets/qtwidgets.tags
|
||||||
|
|
||||||
depends += qtcore qtgui qtdoc qtsql qtdesigner qtquick qmake qtcmake qtplatformheaders qtsvg qtlinguist
|
depends += qtcore qtgui qtdoc qtsql qtdesigner qtquick qmake qtcmake qtsvg qtlinguist
|
||||||
|
|
||||||
headerdirs += ..
|
headerdirs += ..
|
||||||
|
|
||||||
|
@ -3,8 +3,6 @@
|
|||||||
# Only used on platforms with CONFIG += precompile_header
|
# Only used on platforms with CONFIG += precompile_header
|
||||||
PRECOMPILED_HEADER = kernel/qt_widgets_pch.h
|
PRECOMPILED_HEADER = kernel/qt_widgets_pch.h
|
||||||
|
|
||||||
QT_PRIVATE += platformheaders-private
|
|
||||||
|
|
||||||
KERNEL_P= kernel
|
KERNEL_P= kernel
|
||||||
HEADERS += \
|
HEADERS += \
|
||||||
kernel/qtwidgetsglobal.h \
|
kernel/qtwidgetsglobal.h \
|
||||||
|
@ -15,7 +15,6 @@
|
|||||||
"QtInputSupport" => "$basedir/src/platformsupport/input",
|
"QtInputSupport" => "$basedir/src/platformsupport/input",
|
||||||
"QtFbSupport" => "$basedir/src/platformsupport/fbconvenience",
|
"QtFbSupport" => "$basedir/src/platformsupport/fbconvenience",
|
||||||
"QtKmsSupport" => "$basedir/src/platformsupport/kmsconvenience",
|
"QtKmsSupport" => "$basedir/src/platformsupport/kmsconvenience",
|
||||||
"QtPlatformHeaders" => "$basedir/src/platformheaders",
|
|
||||||
"QtZlib" => "!>$basedir/src/corelib;$basedir/src/3rdparty/zlib",
|
"QtZlib" => "!>$basedir/src/corelib;$basedir/src/3rdparty/zlib",
|
||||||
"QtEglFSDeviceIntegration" => "$basedir/src/plugins/platforms/eglfs",
|
"QtEglFSDeviceIntegration" => "$basedir/src/plugins/platforms/eglfs",
|
||||||
"QtMockPlugins1" => "$basedir/tests/auto/cmake/mockplugins/mockplugins1",
|
"QtMockPlugins1" => "$basedir/tests/auto/cmake/mockplugins/mockplugins1",
|
||||||
@ -66,7 +65,7 @@
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
@qpa_headers = ( qr/^(?!qplatformheaderhelper)qplatform/, qr/^qwindowsystem/ );
|
@qpa_headers = ( qr/^qplatform/, qr/^qwindowsystem/ );
|
||||||
my @internal_zlib_headers = ( "crc32.h", "deflate.h", "gzguts.h", "inffast.h", "inffixed.h", "inflate.h", "inftrees.h", "trees.h", "zutil.h" );
|
my @internal_zlib_headers = ( "crc32.h", "deflate.h", "gzguts.h", "inffast.h", "inffixed.h", "inflate.h", "inftrees.h", "trees.h", "zutil.h" );
|
||||||
my @zlib_headers = ( "zconf.h", "zlib.h" );
|
my @zlib_headers = ( "zconf.h", "zlib.h" );
|
||||||
@ignore_headers = ( @internal_zlib_headers );
|
@ignore_headers = ( @internal_zlib_headers );
|
||||||
|
@ -9,7 +9,7 @@ qt_add_manual_test(defaultUpMenuBar
|
|||||||
SOURCES
|
SOURCES
|
||||||
main.cpp
|
main.cpp
|
||||||
PUBLIC_LIBRARIES
|
PUBLIC_LIBRARIES
|
||||||
Qt::Gui
|
Qt::GuiPrivate
|
||||||
Qt::Widgets
|
Qt::Widgets
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
QT += widgets
|
QT += widgets gui-private
|
||||||
TEMPLATE = app
|
TEMPLATE = app
|
||||||
TARGET = defaultUpMenuBar
|
TARGET = defaultUpMenuBar
|
||||||
SOURCES += main.cpp
|
SOURCES += main.cpp
|
||||||
|
@ -54,7 +54,8 @@
|
|||||||
// secondary is above it).
|
// secondary is above it).
|
||||||
|
|
||||||
#include <QtWidgets>
|
#include <QtWidgets>
|
||||||
#include <QtPlatformHeaders/QWindowsWindowFunctions>
|
#include <QtGui/qpa/qplatformwindow.h>
|
||||||
|
#include <QtGui/qpa/qplatformwindow_p.h>
|
||||||
|
|
||||||
class MainWindow : public QMainWindow
|
class MainWindow : public QMainWindow
|
||||||
{
|
{
|
||||||
@ -116,7 +117,10 @@ int main(int argc, char **argv)
|
|||||||
for (QScreen *screen : QApplication::screens()) {
|
for (QScreen *screen : QApplication::screens()) {
|
||||||
MainWindow *mainWindow = new MainWindow;
|
MainWindow *mainWindow = new MainWindow;
|
||||||
mainWindow->setGeometry(screen->geometry());
|
mainWindow->setGeometry(screen->geometry());
|
||||||
QWindowsWindowFunctions::setHasBorderInFullScreen(mainWindow->windowHandle(), true);
|
mainWindow->winId();
|
||||||
|
using namespace QPlatformInterface::Private;
|
||||||
|
if (auto *windowsWindow = dynamic_cast<QWindowsWindow *>(mainWindow->windowHandle()->handle()))
|
||||||
|
windowsWindow->setHasBorderInFullScreen(true);
|
||||||
mainWindow->showMaximized();
|
mainWindow->showMaximized();
|
||||||
}
|
}
|
||||||
int ret = a.exec();
|
int ret = a.exec();
|
||||||
|
@ -168,9 +168,6 @@ _qt_library_map = [
|
|||||||
"gsttools", "Qt6", "Qt::MultimediaGstTools", extra=["COMPONENTS", "MultimediaGstTools"]
|
"gsttools", "Qt6", "Qt::MultimediaGstTools", extra=["COMPONENTS", "MultimediaGstTools"]
|
||||||
),
|
),
|
||||||
LibraryMapping("gui", "Qt6", "Qt::Gui", extra=["COMPONENTS", "Gui"]),
|
LibraryMapping("gui", "Qt6", "Qt::Gui", extra=["COMPONENTS", "Gui"]),
|
||||||
LibraryMapping(
|
|
||||||
"platformheaders", "Qt6", "Qt::PlatformHeaders", extra=["COMPONENTS", "PlatformHeaders"]
|
|
||||||
),
|
|
||||||
LibraryMapping("help", "Qt6", "Qt::Help", extra=["COMPONENTS", "Help"]),
|
LibraryMapping("help", "Qt6", "Qt::Help", extra=["COMPONENTS", "Help"]),
|
||||||
LibraryMapping(
|
LibraryMapping(
|
||||||
"hunspellinputmethod",
|
"hunspellinputmethod",
|
||||||
|
Loading…
Reference in New Issue
Block a user