KWaylandServer

eglstream_controller_interface.h
1 /*
2  SPDX-FileCopyrightText: 2019 NVIDIA Inc.
3 
4  SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
5 */
6 #pragma once
7 
8 #include "surface_interface.h"
9 
10 #include <KWaylandServer/kwaylandserver_export.h>
11 #include <QObject>
12 #include <wayland-util.h>
13 
14 namespace KWaylandServer
15 {
16 class Display;
17 class EglStreamControllerInterfacePrivate;
18 /**
19  * @brief Represents the Global for the wl_eglstream_controller interface.
20  *
21  * This class handles requests (typically from the NVIDIA EGL driver) to attach
22  * a newly created EGL Stream to a Wayland surface, facilitating the sharing
23  * of buffer contents between client and compositor.
24  *
25  */
26 class KWAYLANDSERVER_EXPORT EglStreamControllerInterface : public QObject
27 {
28  Q_OBJECT
29 
30 public:
31  explicit EglStreamControllerInterface(Display *display, QObject *parent = nullptr);
32  ~EglStreamControllerInterface() override;
33 
34 Q_SIGNALS:
35  /**
36  * Emitted when a new stream attach request is received.
37  */
38  void streamConsumerAttached(SurfaceInterface *surface, void *eglStream, wl_array *attribs);
39 
40 private:
42 };
43 
44 }
Class holding the Wayland server display loop.
Definition: display.h:47
Represents the Global for the wl_eglstream_controller interface.
Resource representing a wl_surface.
This file is part of the KDE documentation.
Documentation copyright © 1996-2021 The KDE developers.
Generated on Sat Oct 16 2021 23:10:14 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.