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
//
5
// W A R N I N G
6
// -------------
7
//
8
// This file is not part of the Qt API. It exists purely as an
9
// implementation detail. This header file may change from version to
10
// version without notice, or even be removed.
11
//
12
// We mean it.
13
//
14
15
#
ifndef
QWAYLANDGLCONTEXT_H
16
#
define
QWAYLANDGLCONTEXT_H
17
18
#
include
"qwaylandeglinclude_p.h"
//must be first
19
20
#
include
<
QtWaylandClient
/
private
/
qwaylanddisplay_p
.
h
>
21
#
include
<
QtGui
/
private
/
qeglplatformcontext_p
.
h
>
22
#
include
<
qpa
/
qplatformopenglcontext
.
h
>
23
24
QT_BEGIN_NAMESPACE
25
26
class
QOpenGLShaderProgram;
27
class
QOpenGLTextureCache;
28
29
namespace
QtWaylandClient
{
30
31
class
QWaylandEglWindow;
32
class
DecorationsBlitter
;
33
34
class
Q_WAYLANDCLIENT_EXPORT
QWaylandGLContext
:
public
QEGLPlatformContext
35
{
36
public
:
37
QWaylandGLContext
(
EGLDisplay
eglDisplay
,
QWaylandDisplay
*
display
,
const
QSurfaceFormat
&
format
,
QPlatformOpenGLContext
*
share
);
38
~
QWaylandGLContext
();
39
void
swapBuffers
(
QPlatformSurface
*
surface
)
override
;
40
41
bool
makeCurrent
(
QPlatformSurface
*
surface
)
override
;
42
void
doneCurrent
()
override
;
43
44
void
beginFrame
()
override
;
45
void
endFrame
()
override
;
46
47
GLuint
defaultFramebufferObject
(
QPlatformSurface
*
surface
)
const
override
;
48
49
QFunctionPointer
getProcAddress
(
const
char
*
procName
)
override
;
50
51
protected
:
52
EGLSurface
eglSurfaceForPlatformSurface
(
QPlatformSurface
*
surface
)
override
;
53
EGLSurface
createTemporaryOffscreenSurface
()
override
;
54
void
destroyTemporaryOffscreenSurface
(
EGLSurface
surface
)
override
;
55
void
runGLChecks
()
override
;
56
57
private
:
58
QWaylandDisplay
*
m_display
=
nullptr
;
59
EGLContext
m_decorationsContext
;
60
DecorationsBlitter
*
m_blitter
=
nullptr
;
61
bool
m_supportNonBlockingSwap
=
true
;
62
EGLenum
m_api
;
63
wl_surface
*
m_wlSurface
=
nullptr
;
64
wl_egl_window
*
m_eglWindow
=
nullptr
;
65
QWaylandEglWindow
*
m_currentWindow
=
nullptr
;
66
QMetaObject
::
Connection
m_reconnectionWatcher
;
67
bool
m_doneCurrentWorkAround
=
false
;
68
};
69
70
}
71
72
QT_END_NAMESPACE
73
74
#
endif
// QWAYLANDGLCONTEXT_H
QtWaylandClient::DecorationsBlitter
Definition
qwaylandglcontext.cpp:77
QtWaylandClient::QWaylandEglClientBufferIntegration
Definition
qwaylandeglclientbufferintegration_p.h:31
QtWaylandClient::QWaylandEglWindow
Definition
qwaylandeglwindow_p.h:31
QtWaylandClient::QWaylandGLContext
Definition
qwaylandglcontext_p.h:35
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qstandardpaths_haiku.cpp:21
QtWaylandClient
Definition
qwaylandclientextension.h:15
QtWaylandClient::qwaylandegl_threadedgl_blacklist_vendor
static const char * qwaylandegl_threadedgl_blacklist_vendor[]
Definition
qwaylandeglclientbufferintegration.cpp:26
PFNEGLGETPLATFORMDISPLAYEXTPROC
EGLDisplay(* PFNEGLGETPLATFORMDISPLAYEXTPROC)(EGLenum platform, void *native_display, const EGLint *attrib_list)
Definition
qwaylandeglclientbufferintegration.cpp:15
EGL_PLATFORM_WAYLAND_KHR
#define EGL_PLATFORM_WAYLAND_KHR
Definition
qwaylandeglclientbufferintegration.cpp:19
qtwayland
src
hardwareintegration
client
wayland-egl
qwaylandglcontext_p.h
Generated on Mon Mar 10 2025 00:55:12 for Qt by
1.13.2