kwin/src/wayland/xdgoutput_v1_interface.h
Vlad Zahorodnii 0c34957625 wayland: Hide XdgOutputV1Interface class
With the pull approach, the XdgOutputV1Interface class doesn't have to
be exposed in the public api and can be made private to simplify the
implementation of the xdg-output-v1 protocol.
2022-10-27 11:57:52 +00:00

40 lines
901 B
C++

/*
SPDX-FileCopyrightText: 2018 David Edmundson <kde@davidedmundson.co.uk>
SPDX-FileCopyrightText: 2020 David Edmundson <kde@davidedmundson.co.uk>
SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
*/
#ifndef KWAYLAND_SERVER_XDGOUTPUT_INTERFACE_H
#define KWAYLAND_SERVER_XDGOUTPUT_INTERFACE_H
#include "kwin_export.h"
#include <QObject>
#include <memory>
namespace KWaylandServer
{
class Display;
class OutputInterface;
class XdgOutputManagerV1InterfacePrivate;
/**
* Global manager for XdgOutputs
*/
class KWIN_EXPORT XdgOutputManagerV1Interface : public QObject
{
Q_OBJECT
public:
explicit XdgOutputManagerV1Interface(Display *display, QObject *parent = nullptr);
~XdgOutputManagerV1Interface() override;
void offer(OutputInterface *output);
private:
std::unique_ptr<XdgOutputManagerV1InterfacePrivate> d;
};
}
#endif