18void QEglFSKmsDevice::registerScreen(QPlatformScreen *screen,
20 const QPoint &virtualPos,
21 const QList<QPlatformScreen *> &virtualSiblings)
23 QEglFSKmsScreen *s =
static_cast<QEglFSKmsScreen *>(screen);
24 s->setVirtualPosition(virtualPos);
25 s->setVirtualSiblings(virtualSiblings);
26 QWindowSystemInterface::handleScreenAdded(s, isPrimary);
29void QEglFSKmsDevice::unregisterScreen(QPlatformScreen *screen)
31 QEglFSKmsScreen *s =
static_cast<QEglFSKmsScreen *>(screen);
32 for (QPlatformScreen *sibling : s->virtualSiblings())
33 static_cast<QEglFSKmsScreen *>(sibling)->removeSibling(s);
35 QWindowSystemInterface::handleScreenRemoved(screen);
38void QEglFSKmsDevice::updateScreen(QPlatformScreen *screen,
const QPoint &virtualPos,
39 const QList<QPlatformScreen *> &virtualSiblings)
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();
48 QWindowSystemInterface::handleScreenGeometryChange(s->screen(), after,
49 s->availableGeometry());
52void QEglFSKmsDevice::updateScreenOutput(QPlatformScreen *screen,
const QKmsOutput &output)
54 QEglFSKmsScreen *s =
static_cast<QEglFSKmsScreen *>(screen);
55 QRect before = s->geometry();
56 s->updateOutput(output);
57 QRect after = s->geometry();
60 QWindowSystemInterface::handleScreenGeometryChange(s->screen(), after,
61 s->availableGeometry());