Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
qt_egl_p.h
Go to the documentation of this file.
1
// Copyright (C) 2020 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
QT_EGL_P_H
5
#
define
QT_EGL_P_H
6
7
//
8
// W A R N I N G
9
// -------------
10
//
11
// This file is not part of the Qt API. It exists purely as an
12
// implementation detail. This header file may change from version to
13
// version without notice, or even be removed.
14
//
15
// We mean it.
16
//
17
18
// q(data/text)stream.h must be included before any header file that defines Status
19
#
include
<
QtCore
/
qdatastream
.
h
>
20
#
include
<
QtCore
/
qtextstream
.
h
>
21
#
include
<
QtCore
/
private
/
qglobal_p
.
h
>
22
23
#
ifdef
QT_EGL_NO_X11
24
#
ifndef
EGL_NO_X11
25
#
define
EGL_NO_X11
26
#
endif
27
#
ifndef
MESA_EGL_NO_X11_HEADERS
28
#
define
MESA_EGL_NO_X11_HEADERS
// MESA
29
#
endif
30
#
if
!
defined
(
Q_OS_INTEGRITY
)
31
#
define
WIN_INTERFACE_CUSTOM
// NV
32
#
endif
// Q_OS_INTEGRITY
33
#
else
// QT_EGL_NO_X11
34
// If one has an eglplatform.h with https://github.com/KhronosGroup/EGL-Registry/pull/130
35
// that needs USE_X11 to be defined.
36
#
define
USE_X11
37
#
endif
38
39
#
ifdef
QT_EGL_WAYLAND
40
#
define
WAYLAND
// NV
41
#
endif
// QT_EGL_WAYLAND
42
43
#
include
<
EGL
/
egl
.
h
>
44
#
include
<
EGL
/
eglext
.
h
>
45
46
#
ifndef
QT_EGL_NO_X11
47
#
undef
Status
48
#
undef
None
49
#
undef
Bool
50
#
undef
CursorShape
51
#
undef
KeyPress
52
#
undef
KeyRelease
53
#
undef
FocusIn
54
#
undef
FocusOut
55
#
undef
FontChange
56
#
undef
Expose
57
#
undef
Unsorted
58
#
endif
59
60
#
include
<
stdint
.
h
>
61
62
QT_BEGIN_NAMESPACE
63
64
namespace
QtInternal
{
65
66
template
<
class
FromType,
class
ToType>
67
struct
QtEglConverter
68
{
69
static
inline
ToType
convert
(FromType v)
70
{
return
v; }
71
};
72
73
template
<>
74
struct
QtEglConverter
<uint32_t, uintptr_t>
75
{
76
static
inline
uintptr_t
convert
(uint32_t v)
77
{
return
v; }
78
};
79
80
#
if
QT_POINTER_SIZE
>
4
81
template
<>
82
struct
QtEglConverter
<
uintptr_t
,
uint32_t
>
83
{
84
static
inline
uint32_t
convert
(
uintptr_t
v
)
85
{
return
uint32_t
(
v
); }
86
};
87
#
endif
88
89
template
<>
90
struct
QtEglConverter
<uint32_t,
void
*>
91
{
92
static
inline
void
*
convert
(uint32_t v)
93
{
return
reinterpret_cast
<
void
*>(uintptr_t(v)); }
94
};
95
96
template
<>
97
struct
QtEglConverter
<
void
*, uint32_t>
98
{
99
static
inline
uint32_t
convert
(
void
*v)
100
{
return
uintptr_t(v); }
101
};
102
103
}
// QtInternal
104
105
template
<
class
ToType,
class
FromType>
106
static
inline
ToType
qt_egl_cast
(FromType from)
107
{
return
QtInternal
::
QtEglConverter
<FromType, ToType>::convert(from); }
108
109
QT_END_NAMESPACE
110
111
#
endif
// QT_EGL_P_H
QtInternal
Definition
qt_egl_p.h:64
qt_egl_cast
static ToType qt_egl_cast(FromType from)
Definition
qt_egl_p.h:106
QtInternal::QtEglConverter< uint32_t, uintptr_t >
Definition
qt_egl_p.h:75
QtInternal::QtEglConverter< uint32_t, uintptr_t >::convert
static uintptr_t convert(uint32_t v)
Definition
qt_egl_p.h:76
QtInternal::QtEglConverter< uint32_t, void * >
Definition
qt_egl_p.h:91
QtInternal::QtEglConverter< uint32_t, void * >::convert
static void * convert(uint32_t v)
Definition
qt_egl_p.h:92
QtInternal::QtEglConverter< void *, uint32_t >
Definition
qt_egl_p.h:98
QtInternal::QtEglConverter< void *, uint32_t >::convert
static uint32_t convert(void *v)
Definition
qt_egl_p.h:99
QtInternal::QtEglConverter
Definition
qt_egl_p.h:68
QtInternal::QtEglConverter::convert
static ToType convert(FromType v)
Definition
qt_egl_p.h:69
qtbase
src
gui
opengl
platform
egl
qt_egl_p.h
Generated on
for Qt by
1.18.0