13#include <QtGui/private/qeglconvenience_p.h>
14#include <QGuiApplication>
15#include <private/qguiapplication_p.h>
18#if QT_CONFIG(regularexpression)
20# include <QRegularExpression>
22#include <QLoggingCategory>
24#if defined(Q_OS_LINUX)
31#include <private/qfactoryloader_p.h>
32#include <private/qcore_unix_p.h>
47 qCDebug(qLcEglDevDebug) <<
"EGL device integration plugin keys:" <<
list;
55 integration = qLoadPlugin<QEglFSDeviceIntegration, QEglFSDeviceIntegrationPlugin>(
loader(),
key);
57 qCDebug(qLcEglDevDebug) <<
"Using EGL device integration" <<
key;
59 qCWarning(qLcEglDevDebug) <<
"Failed to load EGL device integration" <<
key;
82#if QT_CONFIG(regularexpression)
91 fbIndex =
match.captured(1).toInt();
105 qFatal(
"EGLFS: Can't continue without a display");
126 return displayOk ? EGLNativeDisplayType(
quintptr(defaultDisplay)) : EGL_DEFAULT_DISPLAY;
131 return eglGetDisplay(nativeDisplay);
163 return QDpi(100, 100);
168 return QDpi(100, 100);
198 return EGL_WINDOW_BIT;
207 format.setRedBufferSize(8);
208 format.setGreenBufferSize(8);
209 format.setBlueBufferSize(8);
266#if defined(Q_OS_LINUX) && defined(FBIO_WAITFORVSYNC)
271 qWarning(
"Could not wait for vsync.");
321 bool filterConfig(EGLConfig
config)
const override {
329 chooser.setSurfaceFormat(
format);
330 return chooser.chooseConfig();
335#include "moc_qeglfsdeviceintegration_p.cpp"
const char * constData() const noexcept
Returns a pointer to the const data stored in the byte array.
bool isEmpty() const noexcept
Returns true if the byte array has size 0; otherwise returns false.
virtual bool filterConfig(EGLConfig config) const
static QEglFSDeviceIntegration * create(const QString &name)
virtual void presentBuffer(QPlatformSurface *surface)
virtual void platformInit()
virtual void platformDestroy()
virtual QSizeF physicalScreenSize() const
virtual bool filterConfig(EGLDisplay display, EGLConfig config) const
virtual QSurfaceFormat surfaceFormatFor(const QSurfaceFormat &inputFormat) const
virtual Qt::ScreenOrientation nativeOrientation() const
virtual QImage::Format screenFormat() const
virtual void screenInit()
virtual bool usesDefaultScreen()
virtual EGLNativeWindowType createNativeWindow(QPlatformWindow *platformWindow, const QSize &size, const QSurfaceFormat &format)
virtual void waitForVSync(QPlatformSurface *surface) const
virtual bool supportsPBuffers() const
virtual void * nativeResourceForIntegration(const QByteArray &name)
static EGLConfig chooseConfig(EGLDisplay display, const QSurfaceFormat &format)
virtual EGLNativeWindowType createNativeOffscreenWindow(const QSurfaceFormat &format)
virtual QDpi logicalDpi() const
virtual qreal refreshRate() const
virtual QFunctionPointer platformFunction(const QByteArray &function) const
virtual QEglFSWindow * createWindow(QWindow *window) const
virtual QByteArray fbDeviceName() const
virtual int framebufferIndex() const
virtual void * wlDisplay() const
virtual EGLint surfaceType() const
virtual EGLDisplay createDisplay(EGLNativeDisplayType nativeDisplay)
virtual bool supportsSurfacelessContexts() const
virtual EGLNativeDisplayType platformDisplay() const
virtual QDpi logicalBaseDpi() const
virtual QSize screenSize() const
virtual QPlatformCursor * createCursor(QPlatformScreen *screen) const
virtual void destroyNativeWindow(EGLNativeWindowType window)
virtual void screenDestroy()
virtual void * nativeResourceForScreen(const QByteArray &resource, QScreen *screen)
virtual int screenDepth() const
virtual Qt::ScreenOrientation orientation() const
virtual bool hasCapability(QPlatformIntegration::Capability cap) const
\inmodule QtCore \reentrant
bool isSymLink() const
Returns true if this object points to a symbolic link, shortcut, or alias; otherwise returns false.
QString symLinkTarget() const
QString fileName() const
Returns the name of the file, excluding the path.
static QList< QScreen * > screens()
Returns a list of all the screens associated with the windowing system the application is connected t...
Format
The following image formats are available in Qt.
bool isEmpty() const noexcept
const T & constLast() const noexcept
void append(parameter_type t)
\inmodule QtCore \reentrant
\inmodule QtCore \reentrant
QRegularExpressionMatch match(const QString &subject, qsizetype offset=0, MatchType matchType=NormalMatch, MatchOptions matchOptions=NoMatchOption) const
Attempts to match the regular expression against the given subject string, starting at the position o...
The QScreen class is used to query screen properties. \inmodule QtGui.
QPlatformScreen * handle() const
Get the platform screen handle.
\macro QT_RESTRICTED_CAST_FROM_ASCII
static QString fromLocal8Bit(QByteArrayView ba)
This is an overloaded member function, provided for convenience. It differs from the above function o...
static void handleScreenRemoved(QPlatformScreen *screen)
Should be called by the implementation whenever a screen is removed.
struct wl_display * display
Combined button and popup list for selecting options.
#define QByteArrayLiteral(str)
static int qt_safe_open(const char *pathname, int flags, mode_t mode=0777)
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction function
#define QEglFSDeviceIntegrationFactoryInterface_iid
QEglFSDeviceIntegration * qt_egl_device_integration()
typedef EGLDisplay(EGLAPIENTRYP PFNEGLGETPLATFORMDISPLAYEXTPROC)(EGLenum platform
#define Q_GLOBAL_STATIC_WITH_ARGS(TYPE, NAME, ARGS)
QPair< qreal, qreal > QDpi
#define Q_LOGGING_CATEGORY(name,...)
#define qCWarning(category,...)
#define qCDebug(category,...)
GLenum GLsizei GLsizei GLint * values
[15]
GLenum GLuint GLintptr GLsizeiptr size
[1]
GLint GLsizei GLsizei GLenum format
Q_CORE_EXPORT QByteArray qgetenv(const char *varName)
Q_CORE_EXPORT int qEnvironmentVariableIntValue(const char *varName, bool *ok=nullptr) noexcept
static bool match(const uchar *found, uint foundLen, const char *target, uint targetLen)
static const struct @437 keyMap[]
QApplication app(argc, argv)
[0]