Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qwaylandglcontext_p.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
#
pragma
once
5
6
#
include
"qwaylandeglinclude_p.h"
//must be first
7
8
#
include
<
QtWaylandClient
/
private
/
qwaylanddisplay_p
.
h
>
9
#
include
<
QtGui
/
private
/
qeglplatformcontext_p
.
h
>
10
#
include
<
qpa
/
qplatformopenglcontext
.
h
>
11
12
QT_BEGIN_NAMESPACE
13
14
class
QOpenGLShaderProgram;
15
class
QOpenGLTextureCache;
16
17
namespace
QtWaylandClient
{
18
19
class
QWaylandEglWindow;
20
class
DecorationsBlitter
;
21
22
class
Q_WAYLANDCLIENT_EXPORT
QWaylandGLContext
:
public
QEGLPlatformContext
23
{
24
public
:
25
QWaylandGLContext
();
26
QWaylandGLContext
(
EGLDisplay
eglDisplay
,
QWaylandDisplay
*
display
,
const
QSurfaceFormat
&
format
,
QPlatformOpenGLContext
*
share
);
27
~
QWaylandGLContext
();
28
29
void
initialize
()
override
;
30
void
swapBuffers
(
QPlatformSurface
*
surface
)
override
;
31
32
bool
makeCurrent
(
QPlatformSurface
*
surface
)
override
;
33
void
doneCurrent
()
override
;
34
35
void
beginFrame
()
override
;
36
void
endFrame
()
override
;
37
38
GLuint
defaultFramebufferObject
(
QPlatformSurface
*
surface
)
const
override
;
39
40
protected
:
41
EGLSurface
eglSurfaceForPlatformSurface
(
QPlatformSurface
*
surface
)
override
;
42
EGLSurface
createTemporaryOffscreenSurface
()
override
;
43
void
destroyTemporaryOffscreenSurface
(
EGLSurface
surface
)
override
;
44
void
runGLChecks
()
override
;
45
46
private
:
47
QWaylandDisplay
*
m_display
=
nullptr
;
48
EGLContext
m_decorationsContext
=
EGL_NO_CONTEXT
;
49
DecorationsBlitter
*
m_blitter
=
nullptr
;
50
bool
m_supportNonBlockingSwap
=
true
;
51
EGLenum
m_api
;
52
wl_surface
*
m_wlSurface
=
nullptr
;
53
wl_egl_window
*
m_eglWindow
=
nullptr
;
54
QWaylandEglWindow
*
m_currentWindow
=
nullptr
;
55
QMetaObject
::
Connection
m_reconnectionWatcher
;
56
bool
m_doneCurrentWorkAround
=
false
;
57
};
58
59
}
60
61
QT_END_NAMESPACE
QtWaylandClient::DecorationsBlitter
Definition
qwaylandglcontext.cpp:104
QtWaylandClient::QWaylandEglWindow
Definition
qwaylandeglwindow_p.h:19
QtWaylandClient::QWaylandGLContext
Definition
qwaylandglcontext_p.h:23
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qrandomaccessasyncfile_darwin.mm:17
QtWaylandClient
Definition
qwaylandclientextension.h:15
QtWaylandClient::qwaylandegl_threadedgl_blacklist_vendor
static const char * qwaylandegl_threadedgl_blacklist_vendor[]
Definition
qwaylandeglclientbufferintegration.cpp:27
PFNEGLGETPLATFORMDISPLAYEXTPROC
EGLDisplay(* PFNEGLGETPLATFORMDISPLAYEXTPROC)(EGLenum platform, void *native_display, const EGLint *attrib_list)
Definition
qwaylandeglclientbufferintegration.cpp:16
EGL_PLATFORM_WAYLAND_KHR
#define EGL_PLATFORM_WAYLAND_KHR
Definition
qwaylandeglclientbufferintegration.cpp:20
qtbase
src
plugins
platforms
wayland
plugins
hardwareintegration
wayland-egl
qwaylandglcontext_p.h
Generated on
for Qt by
1.16.1