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
shmserverbufferintegration.h
Go to the documentation of this file.
1
// Copyright (C) 2017 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
3
// Qt-Security score:critical reason:network-protocol
4
5
#
ifndef
SHMSERVERBUFFERINTEGRATION_H
6
#
define
SHMSERVERBUFFERINTEGRATION_H
7
8
#
include
<
QtWaylandCompositor
/
private
/
qwlserverbufferintegration_p
.
h
>
9
10
#
include
"qwayland-server-shm-emulation-server-buffer.h"
11
12
#
include
<
QtGui
/
QImage
>
13
#
include
<
QtGui
/
QWindow
>
14
#
include
<
QtGui
/
qpa
/
qplatformnativeinterface
.
h
>
15
#
include
<
QtGui
/
QGuiApplication
>
16
17
#
include
<
QtWaylandCompositor
/
qwaylandcompositor
.
h
>
18
#
include
<
QtWaylandCompositor
/
private
/
qwayland
-
server
-
server
-
buffer
-
extension
.
h
>
19
20
QT_BEGIN_NAMESPACE
21
22
class
ShmServerBufferIntegration;
23
class
QSharedMemory;
24
25
class
ShmServerBuffer
:
public
QtWayland
::
ServerBuffer
,
public
QtWaylandServer
::
qt_server_buffer
26
{
27
public
:
28
ShmServerBuffer
(
ShmServerBufferIntegration
*integration,
const
QImage &qimage, QtWayland::ServerBuffer::Format format);
29
~
ShmServerBuffer
()
override
;
30
31
struct
::wl_resource *
resourceForClient
(
struct
::wl_client *)
override
;
32
bool
bufferInUse
()
override
;
33
QOpenGLTexture
*
toOpenGlTexture
()
override
;
34
35
private
:
36
ShmServerBufferIntegration
*m_integration =
nullptr
;
37
38
QSharedMemory *m_shm =
nullptr
;
39
int
m_width;
40
int
m_height;
41
int
m_bpl;
42
QOpenGLTexture *m_texture =
nullptr
;
43
QtWaylandServer::qt_shm_emulation_server_buffer::format m_shm_format;
44
};
45
46
class
ShmServerBufferIntegration
:
47
public
QtWayland
::
ServerBufferIntegration
,
48
public
QtWaylandServer
::
qt_shm_emulation_server_buffer
49
{
50
public
:
51
ShmServerBufferIntegration
();
52
~
ShmServerBufferIntegration
()
override
;
53
54
bool
initializeHardware
(QWaylandCompositor *)
override
;
55
56
bool
supportsFormat
(QtWayland::ServerBuffer::Format format)
const
override
;
57
QtWayland
::
ServerBuffer
*
createServerBufferFromImage
(
const
QImage &qimage, QtWayland::ServerBuffer::Format format)
override
;
58
59
60
private
:
61
};
62
63
QT_END_NAMESPACE
64
65
#
endif
ShmServerBufferIntegration
Definition
shmserverbufferintegration.h:49
ShmServerBufferIntegration::initializeHardware
bool initializeHardware(QWaylandCompositor *) override
Definition
shmserverbufferintegration.cpp:93
ShmServerBufferIntegration::supportsFormat
bool supportsFormat(QtWayland::ServerBuffer::Format format) const override
Definition
shmserverbufferintegration.cpp:101
ShmServerBufferIntegration::createServerBufferFromImage
QtWayland::ServerBuffer * createServerBufferFromImage(const QImage &qimage, QtWayland::ServerBuffer::Format format) override
Definition
shmserverbufferintegration.cpp:113
ShmServerBufferIntegration::ShmServerBufferIntegration
ShmServerBufferIntegration()
Definition
shmserverbufferintegration.cpp:85
ShmServerBufferIntegration::~ShmServerBufferIntegration
~ShmServerBufferIntegration() override
Definition
shmserverbufferintegration.cpp:89
ShmServerBuffer
Definition
shmserverbufferintegration.h:26
ShmServerBuffer::~ShmServerBuffer
~ShmServerBuffer() override
Definition
shmserverbufferintegration.cpp:49
ShmServerBuffer::bufferInUse
bool bufferInUse() override
Definition
shmserverbufferintegration.cpp:72
ShmServerBuffer::toOpenGlTexture
QOpenGLTexture * toOpenGlTexture() override
Definition
shmserverbufferintegration.cpp:77
ShmServerBuffer::ShmServerBuffer
ShmServerBuffer(ShmServerBufferIntegration *integration, const QImage &qimage, QtWayland::ServerBuffer::Format format)
Definition
shmserverbufferintegration.cpp:15
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
qtwayland
src
hardwareintegration
compositor
shm-emulation-server
shmserverbufferintegration.h
Generated on
for Qt by
1.18.0