KWin
Loading...
Searching...
No Matches
drm_qpainter_backend.h
Go to the documentation of this file.
1/*
2 KWin - the KDE window manager
3 This file is part of the KDE project.
4
5 SPDX-FileCopyrightText: 2015 Martin Gräßlin <mgraesslin@kde.org>
6
7 SPDX-License-Identifier: GPL-2.0-or-later
8*/
9#pragma once
10#include "drm_render_backend.h"
12
13#include <QList>
14#include <QObject>
15
16namespace KWin
17{
18
19class DrmBackend;
20class DrmAbstractOutput;
21class DrmQPainterLayer;
22class DrmPipeline;
23
25{
26 Q_OBJECT
27public:
30
32
33 void present(Output *output, const std::shared_ptr<OutputFrame> &frame) override;
34 OutputLayer *primaryLayer(Output *output) override;
35 OutputLayer *cursorLayer(Output *output) override;
36
37 std::shared_ptr<DrmPipelineLayer> createPrimaryLayer(DrmPipeline *pipeline) override;
38 std::shared_ptr<DrmPipelineLayer> createCursorLayer(DrmPipeline *pipeline) override;
39 std::shared_ptr<DrmOutputLayer> createLayer(DrmVirtualOutput *output) override;
40
41private:
42 DrmBackend *m_backend;
43};
44}
OutputLayer * primaryLayer(Output *output) override
GraphicsBufferAllocator * graphicsBufferAllocator() const override
std::shared_ptr< DrmPipelineLayer > createCursorLayer(DrmPipeline *pipeline) override
DrmQPainterBackend(DrmBackend *backend)
std::shared_ptr< DrmPipelineLayer > createPrimaryLayer(DrmPipeline *pipeline) override
std::shared_ptr< DrmOutputLayer > createLayer(DrmVirtualOutput *output) override
OutputLayer * cursorLayer(Output *output) override
void present(Output *output, const std::shared_ptr< OutputFrame > &frame) override