1// Copyright (C) 2019 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
3
4#ifndef WAYLANDEGLSTREAMCONTROLLER_H
5#define WAYLANDEGLSTREAMCONTROLLER_H
6
7#include "qwayland-server-wl-eglstream-controller.h"
8
9#include <QtWaylandCompositor/private/qwayland-server-wayland.h>
10#include <QtWaylandCompositor/private/qwlclientbufferintegration_p.h>
11
12#include <QtOpenGL/QOpenGLTexture>
13#include <QtCore/QObject>
14#include <QtCore/QHash>
15#include <QtCore/QSize>
16#include <QtCore/QTextStream>
17
18#include <EGL/egl.h>
19#include <EGL/eglext.h>
20
21
22QT_BEGIN_NAMESPACE
23
24class QWaylandCompositor;
25class QWaylandResource;
26class WaylandEglStreamClientBufferIntegration;
27
28class WaylandEglStreamController : public QtWaylandServer::wl_eglstream_controller
29{
30public:
31 explicit WaylandEglStreamController(wl_display *display, WaylandEglStreamClientBufferIntegration *clientBufferIntegration);
32
33protected:
34 void eglstream_controller_attach_eglstream_consumer(Resource *resource, struct ::wl_resource *wl_surface, struct ::wl_resource *wl_buffer) override;
35
36private:
37 WaylandEglStreamClientBufferIntegration *m_clientBufferIntegration;
38};
39
40
41QT_END_NAMESPACE
42
43#endif // WAYLANDEGLSTREAMCONTROLLER_H
44

source code of qtwayland/src/hardwareintegration/compositor/wayland-eglstream-controller/waylandeglstreamcontroller.h