Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qwaylandserverbufferintegration_p.h
Go to the documentation of this file.
1// Copyright (C) 2019 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 QWAYLANDSERVERBUFFERINTEGRATION_H
5#define QWAYLANDSERVERBUFFERINTEGRATION_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#include <QtCore/QSize>
19#include <QtGui/qopengl.h>
20
21#include <QtWaylandClient/private/qwayland-server-buffer-extension.h>
22#include <QtWaylandClient/qtwaylandclientglobal.h>
23#include <QtCore/private/qglobal_p.h>
24
26
27class QOpenGLTexture;
28
29namespace QtWaylandClient {
30
31class QWaylandDisplay;
32
33class Q_WAYLANDCLIENT_EXPORT QWaylandServerBuffer
34{
35public:
36 enum Format {
39 Custom
40 };
41
43 virtual ~QWaylandServerBuffer();
44
46
47 Format format() const;
48 QSize size() const;
49
50 void setUserData(void *userData);
51 void *userData() const;
52
53protected:
54 Format m_format = RGBA32;
56
57private:
58 void *m_user_data = nullptr;
59};
60
61class Q_WAYLANDCLIENT_EXPORT QWaylandServerBufferIntegration
62{
63public:
66
68
69 virtual QWaylandServerBuffer *serverBuffer(struct qt_server_buffer *buffer) = 0;
70};
71
72}
73
75
76#endif
\inmodule QtGui
\inmodule QtCore
Definition qsize.h:25
virtual void initialize(QWaylandDisplay *display)=0
virtual QWaylandServerBuffer * serverBuffer(struct qt_server_buffer *buffer)=0
virtual QOpenGLTexture * toOpenGlTexture()=0
struct wl_display * display
Definition linuxdmabuf.h:41
Combined button and popup list for selecting options.
GLenum GLuint GLintptr GLsizeiptr size
[1]
GLenum GLuint buffer
GLint GLsizei GLsizei GLenum format