kwin/plugins/colord-integration/colordintegration.h
Vlad Zahorodnii f037a69f1c Introduce colord integration
This change introduces basic colord integration in wayland session. It
is implemented as a binary plugin.

If an output is connected, the plugin will create the corresponding
colord device using the D-Bus API and start monitoring the device for
changes.

When a colord devices changes, the plugin will read the VCGT tag of the
current ICC color profile and apply it.
2020-11-24 17:51:32 +02:00

37 lines
682 B
C++

/*
SPDX-FileCopyrightText: 2020 Vlad Zahorodnii <vlad.zahorodnii@kde.org>
SPDX-License-Identifier: GPL-2.0-or-later
*/
#pragma once
#include "colordinterface.h"
#include "plugin.h"
#include <QHash>
#include <QObject>
namespace KWin
{
class AbstractOutput;
class ColordDevice;
class KWIN_EXPORT ColordIntegration : public Plugin
{
Q_OBJECT
public:
explicit ColordIntegration(QObject *parent = nullptr);
private Q_SLOTS:
void handleOutputAdded(AbstractOutput *output);
void handleOutputRemoved(AbstractOutput *output);
private:
QHash<AbstractOutput *, ColordDevice *> m_outputToDevice;
CdInterface *m_colordInterface;
};
} // namespace KWin