File indexing completed on 2024-05-12 04:00:24
0001 /* 0002 SPDX-FileCopyrightText: 2013 Martin Gräßlin <mgraesslin@kde.org> 0003 SPDX-FileCopyrightText: 2023 David Redondo <kde@david-redondo.de> 0004 0005 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0006 */ 0007 0008 #pragma once 0009 0010 #include "logging.h" 0011 0012 #include <qwayland-wayland.h> 0013 0014 #include <QSize> 0015 #include <QWaylandClientExtensionTemplate> 0016 0017 #include <memory> 0018 0019 class ShmBuffer : public QtWayland::wl_buffer 0020 { 0021 public: 0022 ShmBuffer(::wl_buffer *buffer); 0023 ~ShmBuffer(); 0024 }; 0025 0026 class Shm : public QWaylandClientExtensionTemplate<Shm>, public QtWayland::wl_shm 0027 { 0028 public: 0029 static Shm *instance(); 0030 ~Shm(); 0031 std::unique_ptr<ShmBuffer> createBuffer(const QImage &image); 0032 0033 private: 0034 Shm(QObject *parent); 0035 };