17void QEglFSKmsDevice::registerScreen(QPlatformScreen *screen,
19 const QPoint &virtualPos,
20 const QList<QPlatformScreen *> &virtualSiblings)
22 QEglFSKmsScreen *s =
static_cast<QEglFSKmsScreen *>(screen);
23 s->setVirtualPosition(virtualPos);
24 s->setVirtualSiblings(virtualSiblings);
25 QWindowSystemInterface::handleScreenAdded(s, isPrimary);
28void QEglFSKmsDevice::unregisterScreen(QPlatformScreen *screen)
30 QEglFSKmsScreen *s =
static_cast<QEglFSKmsScreen *>(screen);
31 for (QPlatformScreen *sibling : s->virtualSiblings())
32 static_cast<QEglFSKmsScreen *>(sibling)->removeSibling(s);
34 QWindowSystemInterface::handleScreenRemoved(screen);
37void QEglFSKmsDevice::updateScreen(QPlatformScreen *screen,
const QPoint &virtualPos,
38 const QList<QPlatformScreen *> &virtualSiblings)
40 QEglFSKmsScreen *s =
static_cast<QEglFSKmsScreen *>(screen);
41 QRect before = s->geometry();
42 s->setVirtualPosition(virtualPos);
43 s->setVirtualSiblings(virtualSiblings);
44 QRect after = s->geometry();
47 QWindowSystemInterface::handleScreenGeometryChange(s->screen(), after,
48 s->availableGeometry());
51void QEglFSKmsDevice::updateScreenOutput(QPlatformScreen *screen,
const QKmsOutput &output)
53 QEglFSKmsScreen *s =
static_cast<QEglFSKmsScreen *>(screen);
54 QRect before = s->geometry();
55 s->updateOutput(output);
56 QRect after = s->geometry();
59 QWindowSystemInterface::handleScreenGeometryChange(s->screen(), after,
60 s->availableGeometry());