Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qeglfskmsdevice.cpp
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// Copyright (C) 2016 Pelagicore AG
3// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
4// Qt-Security score:significant reason:default
5
8#include "private/qeglfsintegration_p.h"
9#include <QtGui/private/qguiapplication_p.h>
10
12
13QEglFSKmsDevice::QEglFSKmsDevice(QKmsScreenConfig *screenConfig, const QString &path)
14 : QKmsDevice(screenConfig, path)
15{
16}
17
18void QEglFSKmsDevice::registerScreen(QPlatformScreen *screen,
19 bool isPrimary,
20 const QPoint &virtualPos,
21 const QList<QPlatformScreen *> &virtualSiblings)
22{
23 QEglFSKmsScreen *s = static_cast<QEglFSKmsScreen *>(screen);
24 s->setVirtualPosition(virtualPos);
25 s->setVirtualSiblings(virtualSiblings);
26 QWindowSystemInterface::handleScreenAdded(s, isPrimary);
27}
28
29void QEglFSKmsDevice::unregisterScreen(QPlatformScreen *screen)
30{
31 QEglFSKmsScreen *s = static_cast<QEglFSKmsScreen *>(screen);
32 for (QPlatformScreen *sibling : s->virtualSiblings())
33 static_cast<QEglFSKmsScreen *>(sibling)->removeSibling(s);
34
35 QWindowSystemInterface::handleScreenRemoved(screen);
36}
37
38void QEglFSKmsDevice::updateScreen(QPlatformScreen *screen, const QPoint &virtualPos,
39 const QList<QPlatformScreen *> &virtualSiblings)
40{
41 QEglFSKmsScreen *s = static_cast<QEglFSKmsScreen *>(screen);
42 QRect before = s->geometry();
43 s->setVirtualPosition(virtualPos);
44 s->setVirtualSiblings(virtualSiblings);
45 QRect after = s->geometry();
46
47 if (before != after)
48 QWindowSystemInterface::handleScreenGeometryChange(s->screen(), after,
49 s->availableGeometry());
50}
51
52void QEglFSKmsDevice::updateScreenOutput(QPlatformScreen *screen, const QKmsOutput &output)
53{
54 QEglFSKmsScreen *s = static_cast<QEglFSKmsScreen *>(screen);
55 QRect before = s->geometry();
56 s->updateOutput(output);
57 QRect after = s->geometry();
58
59 if (before != after)
60 QWindowSystemInterface::handleScreenGeometryChange(s->screen(), after,
61 s->availableGeometry());
62}
63
64QT_END_NAMESPACE
Combined button and popup list for selecting options.