KWin
Loading...
Searching...
No Matches
window.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 SPDX-FileCopyrightText: 2019 Vlad Zahorodnii <vlad.zahorodnii@kde.org>
7
8 SPDX-License-Identifier: GPL-2.0-or-later
9*/
10#pragma once
11
12#include <QPointer>
13#include <qpa/qplatformwindow.h>
14
15namespace KWin
16{
17
18class InternalWindow;
19
20namespace QPA
21{
22
23class Swapchain;
24
25class Window : public QPlatformWindow
26{
27public:
28 explicit Window(QWindow *window);
29 ~Window() override;
30
31 void invalidateSurface() override;
32 QSurfaceFormat format() const override;
33 void setVisible(bool visible) override;
34 void setGeometry(const QRect &rect) override;
35 WId winId() const override;
36 qreal devicePixelRatio() const override;
37 void requestActivateWindow() override;
38
40 Swapchain *swapchain(const QHash<uint32_t, QList<uint64_t>> &formats);
41
42private:
43 void map();
44 void unmap();
45
46 QSurfaceFormat m_format;
47 QPointer<InternalWindow> m_handle;
48 std::unique_ptr<Swapchain> m_swapchain;
49 quint32 m_windowId;
50 qreal m_scale = 1;
51};
52
53}
54}
QSurfaceFormat format() const override
Definition window.cpp:97
InternalWindow * internalWindow() const
Definition window.cpp:135
~Window() override
Definition window.cpp:40
void setGeometry(const QRect &rect) override
Definition window.cpp:111
qreal devicePixelRatio() const override
Definition window.cpp:130
void setVisible(bool visible) override
Definition window.cpp:86
void requestActivateWindow() override
Definition window.cpp:102
Swapchain * swapchain(const QHash< uint32_t, QList< uint64_t > > &formats)
Definition window.cpp:45
Window(QWindow *window)
Definition window.cpp:32
WId winId() const override
Definition window.cpp:125
void invalidateSurface() override
Definition window.cpp:81