KWin
Loading...
Searching...
No Matches
src
backends
drm
drm_virtual_output.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: 2018 Roman Gilg <subdiff@gmail.com>
6
SPDX-FileCopyrightText: 2021 Xaver Hugl <xaver.hugl@gmail.com>
7
8
SPDX-License-Identifier: GPL-2.0-or-later
9
*/
10
#pragma once
11
12
#include "
drm_abstract_output.h
"
13
14
#include <QObject>
15
#include <QRect>
16
17
namespace
KWin
18
{
19
20
class
SoftwareVsyncMonitor;
21
class
VirtualBackend;
22
class
DrmPipelineLayer;
23
24
class
DrmVirtualOutput
:
public
DrmAbstractOutput
25
{
26
Q_OBJECT
27
28
public
:
29
DrmVirtualOutput
(
const
QString &
name
,
DrmGpu
*
gpu
,
const
QSize &size, qreal
scale
);
30
~DrmVirtualOutput
()
override
;
31
32
bool
present
(
const
std::shared_ptr<OutputFrame> &frame)
override
;
33
DrmOutputLayer
*
primaryLayer
()
const override
;
34
DrmOutputLayer
*
cursorLayer
()
const override
;
35
void
recreateSurface
();
36
37
private
:
38
void
vblank(std::chrono::nanoseconds timestamp);
39
void
setDpmsMode(
DpmsMode
mode)
override
;
40
41
std::shared_ptr<DrmOutputLayer> m_layer;
42
bool
m_pageFlipPending =
true
;
43
44
std::unique_ptr<SoftwareVsyncMonitor> m_vsyncMonitor;
45
};
46
47
}
KWin::DrmAbstractOutput
Definition
drm_abstract_output.h:22
KWin::DrmAbstractOutput::gpu
DrmGpu * gpu() const
Definition
drm_abstract_output.cpp:42
KWin::DrmGpu
Definition
drm_gpu.h:62
KWin::DrmOutputLayer
Definition
drm_layer.h:25
KWin::DrmVirtualOutput
Definition
drm_virtual_output.h:25
KWin::DrmVirtualOutput::~DrmVirtualOutput
~DrmVirtualOutput() override
Definition
drm_virtual_output.cpp:44
KWin::DrmVirtualOutput::DrmVirtualOutput
DrmVirtualOutput(const QString &name, DrmGpu *gpu, const QSize &size, qreal scale)
Definition
drm_virtual_output.cpp:21
KWin::DrmVirtualOutput::recreateSurface
void recreateSurface()
Definition
drm_virtual_output.cpp:81
KWin::DrmVirtualOutput::present
bool present(const std::shared_ptr< OutputFrame > &frame) override
Definition
drm_virtual_output.cpp:48
KWin::DrmVirtualOutput::primaryLayer
DrmOutputLayer * primaryLayer() const override
Definition
drm_virtual_output.cpp:71
KWin::DrmVirtualOutput::cursorLayer
DrmOutputLayer * cursorLayer() const override
Definition
drm_virtual_output.cpp:76
KWin::Output::scale
qreal scale() const
Definition
output.cpp:455
KWin::Output::DpmsMode
DpmsMode
Definition
output.h:142
KWin::Output::name
QString name
Definition
output.h:136
drm_abstract_output.h
KWin
Definition
activation_test.cpp:20
Generated on Sat Feb 17 2024 01:42:09 for KWin by
1.10.0