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