File indexing completed on 2025-04-20 10:57:36
0001 /* 0002 KWin - the KDE window manager 0003 This file is part of the KDE project. 0004 0005 SPDX-FileCopyrightText: 2022 Xaver Hugl <xaver.hugl@gmail.com> 0006 0007 SPDX-License-Identifier: GPL-2.0-or-later 0008 */ 0009 #pragma once 0010 0011 #include <memory> 0012 0013 namespace KWin 0014 { 0015 0016 class DrmPipelineLayer; 0017 class DrmVirtualOutput; 0018 class DrmPipeline; 0019 class DrmOutputLayer; 0020 class DrmOverlayLayer; 0021 0022 class DrmRenderBackend 0023 { 0024 public: 0025 virtual ~DrmRenderBackend() = default; 0026 0027 virtual std::shared_ptr<DrmPipelineLayer> createPrimaryLayer(DrmPipeline *pipeline) = 0; 0028 virtual std::shared_ptr<DrmOverlayLayer> createCursorLayer(DrmPipeline *pipeline) = 0; 0029 virtual std::shared_ptr<DrmOutputLayer> createLayer(DrmVirtualOutput *output) = 0; 0030 }; 0031 0032 }