kwin/plugins/platforms/drm/drm_object_crtc.h
Vlad Zahorodnii 1fb9f6f13a Switch to SPDX license markers
The main advantage of SPDX license identifiers over the traditional
license headers is that it's more difficult to overlook inappropriate
licenses for kwin, for example GPL 3. We also don't have to copy a
lot of boilerplate text.

In order to create this change, I ran licensedigger -r -c from the
toplevel source directory.
2020-08-07 19:57:56 +00:00

74 lines
1.4 KiB
C++

/********************************************************************
KWin - the KDE window manager
This file is part of the KDE project.
SPDX-FileCopyrightText: 2016 Roman Gilg <subdiff@gmail.com>
SPDX-License-Identifier: GPL-2.0-or-later
*********************************************************************/
#ifndef KWIN_DRM_OBJECT_CRTC_H
#define KWIN_DRM_OBJECT_CRTC_H
#include "drm_object.h"
namespace KWin
{
class DrmBackend;
class DrmBuffer;
class DrmDumbBuffer;
class GammaRamp;
class DrmCrtc : public DrmObject
{
public:
DrmCrtc(uint32_t crtc_id, DrmBackend *backend, int resIndex);
~DrmCrtc() override;
bool atomicInit() override;
enum class PropertyIndex {
ModeId = 0,
Active,
Count
};
bool initProps() override;
int resIndex() const {
return m_resIndex;
}
DrmBuffer *current() {
return m_currentBuffer;
}
DrmBuffer *next() {
return m_nextBuffer;
}
void setNext(DrmBuffer *buffer) {
m_nextBuffer = buffer;
}
void flipBuffer();
bool blank();
int gammaRampSize() const {
return m_gammaRampSize;
}
bool setGammaRamp(const GammaRamp &gamma);
private:
int m_resIndex;
uint32_t m_gammaRampSize = 0;
DrmBuffer *m_currentBuffer = nullptr;
DrmBuffer *m_nextBuffer = nullptr;
DrmDumbBuffer *m_blackBuffer = nullptr;
DrmBackend *m_backend;
};
}
#endif