File indexing completed on 2024-05-19 16:35:25
0001 /* 0002 SPDX-FileCopyrightText: 2014 Martin Gräßlin <mgraesslin@kde.org> 0003 SPDX-FileCopyrightText: 2020 Vlad Zahorodnii <vlad.zahorodnii@kde.org> 0004 0005 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0006 */ 0007 #pragma once 0008 0009 #include <QRegion> 0010 0011 #include "qwayland-server-wayland.h" 0012 0013 namespace KWaylandServer 0014 { 0015 class RegionInterface : public QtWaylandServer::wl_region 0016 { 0017 public: 0018 static RegionInterface *get(wl_resource *native); 0019 explicit RegionInterface(wl_resource *resource); 0020 0021 QRegion region() const; 0022 0023 protected: 0024 void region_destroy_resource(Resource *resource) override; 0025 void region_destroy(Resource *resource) override; 0026 void region_add(Resource *resource, int32_t x, int32_t y, int32_t width, int32_t height) override; 0027 void region_subtract(Resource *resource, int32_t x, int32_t y, int32_t width, int32_t height) override; 0028 0029 private: 0030 QRegion m_region; 0031 }; 0032 0033 } // namespace KWaylandServer