Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qeglfsx11integration.h
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QEGLFSX11INTEGRATION_H
5#define QEGLFSX11INTEGRATION_H
6
7#include "private/qeglfsdeviceintegration_p.h"
8
9#include <qpa/qwindowsysteminterface.h>
10#include <qpa/qplatformwindow.h>
11
12#include <xcb/xcb.h>
13
15
28
29class EventReader;
30
32{
33public:
34 QEglFSX11Integration() : m_connection(nullptr), m_window(0), m_eventReader(nullptr) {}
35
36 void platformInit() override;
37 void platformDestroy() override;
38 EGLNativeDisplayType platformDisplay() const override;
39 QSize screenSize() const override;
40 EGLNativeWindowType createNativeWindow(QPlatformWindow *window,
41 const QSize &size,
42 const QSurfaceFormat &format) override;
43 void destroyNativeWindow(EGLNativeWindowType window) override;
45
46 xcb_connection_t *connection() { return m_connection; }
47 const xcb_atom_t *atoms() const { return m_atoms; }
48 QPlatformWindow *platformWindow() { return m_platformWindow; }
49
50private:
51 void sendConnectionEvent(xcb_atom_t a);
52
53 void *m_display;
54 xcb_connection_t *m_connection;
55 xcb_atom_t m_atoms[Atoms::N_ATOMS];
56 xcb_window_t m_window;
57 EventReader *m_eventReader;
58 xcb_window_t m_connectionEventListener;
59 QPlatformWindow *m_platformWindow;
60 mutable QSize m_screenSize;
61};
62
64
65#endif
xcb_connection_t * connection()
const xcb_atom_t * atoms() const
QPlatformWindow * platformWindow()
EGLNativeWindowType createNativeWindow(QPlatformWindow *window, const QSize &size, const QSurfaceFormat &format) override
EGLNativeDisplayType platformDisplay() const override
QSize screenSize() const override
bool hasCapability(QPlatformIntegration::Capability cap) const override
void destroyNativeWindow(EGLNativeWindowType window) override
Capability
Capabilities are used to determine specific features of a platform integration.
The QPlatformWindow class provides an abstraction for top-level windows.
\inmodule QtCore
Definition qsize.h:25
The QSurfaceFormat class represents the format of a QSurface. \inmodule QtGui.
Combined button and popup list for selecting options.
GLboolean GLboolean GLboolean GLboolean a
[7]
GLenum GLuint GLintptr GLsizeiptr size
[1]
GLint GLsizei GLsizei GLenum format
GLenum cap
QObject::connect nullptr
aWidget window() -> setWindowTitle("New Window Title")
[2]