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
waylandeglstreamintegration.h
Go to the documentation of this file.
1
// Copyright (C) 2019 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
3
#
ifndef
WAYLANDEGLSTREAMINTEGRATION_H
4
#
define
WAYLANDEGLSTREAMINTEGRATION_H
5
6
#
include
<
QtWaylandCompositor
/
private
/
qwlclientbufferintegration_p
.
h
>
7
#
include
<
QtCore
/
QScopedPointer
>
8
#
include
<
QtWaylandCompositor
/
private
/
qwlclientbuffer_p
.
h
>
9
10
QT_BEGIN_NAMESPACE
11
12
class
WaylandEglStreamClientBufferIntegrationPrivate;
13
14
class
WaylandEglStreamClientBufferIntegration
:
public
QtWayland
::
ClientBufferIntegration
15
{
16
Q_DECLARE_PRIVATE
(
WaylandEglStreamClientBufferIntegration
)
17
public
:
18
WaylandEglStreamClientBufferIntegration
();
19
~
WaylandEglStreamClientBufferIntegration
()
override
;
20
21
void
initializeHardware
(
struct
::wl_display *display)
override
;
22
23
QtWayland::ClientBuffer *createBufferFor(wl_resource *buffer)
override
;
24
25
void
attachEglStreamConsumer
(
struct
::wl_resource *
wl_surface
,
struct
::wl_resource *wl_buffer);
26
27
private
:
28
Q_DISABLE_COPY
(
WaylandEglStreamClientBufferIntegration
)
29
QScopedPointer
<
WaylandEglStreamClientBufferIntegrationPrivate
>
d_ptr
;
30
};
31
32
struct
ControllerBufferState
;
33
34
class
WaylandEglStreamClientBuffer
:
public
QtWayland
::
ClientBuffer
35
{
36
public
:
37
~
WaylandEglStreamClientBuffer
()
override
;
38
39
QWaylandBufferRef
::
BufferFormatEgl
bufferFormatEgl
()
const
override
;
40
QSize
size
()
const
override
;
41
QWaylandSurface
::
Origin
origin
()
const
override
;
42
QOpenGLTexture
*
toOpenGlTexture
(
int
plane)
override
;
43
void
setCommitted
(QRegion &damage)
override
;
44
45
private
:
46
friend
class
WaylandEglStreamClientBufferIntegration
;
47
friend
class
WaylandEglStreamClientBufferIntegrationPrivate
;
48
49
WaylandEglStreamClientBuffer(
WaylandEglStreamClientBufferIntegration
* integration, wl_resource *bufferResource);
50
51
ControllerBufferState
*d =
nullptr
;
52
WaylandEglStreamClientBufferIntegration
*m_integration =
nullptr
;
53
};
54
55
QT_END_NAMESPACE
56
57
#
endif
// WAYLANDEGLSTREAMINTEGRATION_H
QWaylandEglStreamClientBufferIntegrationPlugin
Definition
main.cpp:11
WaylandEglStreamClientBufferIntegrationPrivate
Definition
waylandeglstreamintegration.cpp:126
WaylandEglStreamClientBufferIntegration
Definition
waylandeglstreamintegration.h:15
WaylandEglStreamClientBufferIntegration::~WaylandEglStreamClientBufferIntegration
~WaylandEglStreamClientBufferIntegration() override
Definition
waylandeglstreamintegration.cpp:298
WaylandEglStreamClientBuffer
Definition
waylandeglstreamintegration.h:35
WaylandEglStreamClientBuffer::toOpenGlTexture
QOpenGLTexture * toOpenGlTexture(int plane) override
Definition
waylandeglstreamintegration.cpp:445
WaylandEglStreamClientBuffer::origin
QWaylandSurface::Origin origin() const override
Definition
waylandeglstreamintegration.cpp:440
WaylandEglStreamClientBuffer::~WaylandEglStreamClientBuffer
~WaylandEglStreamClientBuffer() override
Definition
waylandeglstreamintegration.cpp:395
WaylandEglStreamClientBuffer::setCommitted
void setCommitted(QRegion &damage) override
Definition
waylandeglstreamintegration.cpp:456
WaylandEglStreamClientBuffer::bufferFormatEgl
QWaylandBufferRef::BufferFormatEgl bufferFormatEgl() const override
Definition
waylandeglstreamintegration.cpp:429
WaylandEglStreamClientBuffer::size
QSize size() const override
Definition
waylandeglstreamintegration.cpp:435
QPlatformGraphicsBufferHelper
\inmodule QtGui
ControllerBufferState
Definition
waylandeglstreamintegration.cpp:110
qtwayland
src
hardwareintegration
compositor
wayland-eglstream-controller
waylandeglstreamintegration.h
Generated on
for Qt by
1.14.0