Production IScreenProvider — a thin wrapper over QGuiApplication. More...
#include <phosphor-screens/include/PhosphorScreens/QtScreenProvider.h>
Public Member Functions | |
| QtScreenProvider (QObject *parent=nullptr) | |
| QVector< PhysicalScreen > | screens () const override |
| Every currently-connected output. Order is not significant. | |
| PhysicalScreen | primaryScreen () const override |
| The primary output, or an invalid PhysicalScreen if there is none. | |
Public Member Functions inherited from Phosphor::Screens::IScreenProvider | |
| IScreenProvider (QObject *parent=nullptr) | |
| ~IScreenProvider () override=default | |
Additional Inherited Members | |
Signals inherited from Phosphor::Screens::IScreenProvider | |
| void | screenAdded (const PhysicalScreen &screen) |
| A new output connected. | |
| void | screenRemoved (const PhysicalScreen &screen) |
| An output disconnected. | |
| void | screenGeometryChanged (const PhysicalScreen &screen) |
| A connected output's geometry changed (move, resize, rotate, scale). | |
Production IScreenProvider — a thin wrapper over QGuiApplication.
Enumerates QGuiApplication::screens() and relays screenAdded, screenRemoved, and per-screen QScreen::geometryChanged as the IScreenProvider lifecycle signals. The connector → PhysicalScreen conversion fills in the EDID-aware identifier via ScreenIdentity.
Always live: it wires up Qt's screen signals in its constructor, so it needs no explicit start/stop — matching QGuiApplication's own always-on screen tracking. Construct one and inject it via ScreenManagerConfig.
|
explicit |
|
overridevirtual |
The primary output, or an invalid PhysicalScreen if there is none.
Implements Phosphor::Screens::IScreenProvider.
|
overridevirtual |
Every currently-connected output. Order is not significant.
Implements Phosphor::Screens::IScreenProvider.