Wayland layer-shell surface backed by zwlr_layer_shell_v1. More...
#include <phosphor-wayland/include/PhosphorWayland/LayerSurface.h>
Classes | |
| class | BatchGuard |
| RAII guard: suppresses propertiesChanged() until destroyed. More... | |
Public Types | |
| enum | Layer { LayerBackground = 0 , LayerBottom = 1 , LayerTop = 2 , LayerOverlay = 3 } |
| enum | KeyboardInteractivity { KeyboardInteractivityNone = 0 , KeyboardInteractivityExclusive = 1 , KeyboardInteractivityOnDemand = 2 } |
| enum | Anchor { AnchorNone = 0 , AnchorTop = 1 , AnchorBottom = 2 , AnchorLeft = 4 , AnchorRight = 8 } |
Signals | |
| void | layerChanged () |
| void | anchorsChanged () |
| void | exclusiveZoneChanged () |
| void | keyboardInteractivityChanged () |
| void | scopeChanged () |
| void | marginsChanged () |
| void | exclusiveEdgeChanged () |
| void | screenChanged () |
| void | desiredSizeChanged () |
| void | propertiesChanged () |
Public Member Functions | |
| ~LayerSurface () override | |
| void | setLayer (Layer layer) |
| Layer | layer () const |
| void | setAnchors (Anchors anchors) |
| Anchors | anchors () const |
| void | setExclusiveZone (int32_t zone) |
| int32_t | exclusiveZone () const |
| void | setKeyboardInteractivity (KeyboardInteractivity interactivity) |
| KeyboardInteractivity | keyboardInteractivity () const |
| void | setMargins (const QMargins &margins) |
| QMargins | margins () const |
| void | setExclusiveEdge (Anchors edge) |
| Anchors | exclusiveEdge () const |
| void | setDesiredSize (const QSize &size) |
Override the layer-shell set_size value sent on the next configure- triggering commit, decoupling it from QQuickWindow::size(). | |
| QSize | desiredSize () const |
| void | setScope (const QString &scope) |
| QString | scope () const |
| void | setScreen (QScreen *screen) |
| QScreen * | screen () const |
Static Public Member Functions | |
| static LayerSurface * | get (QWindow *window) |
| Get or create a LayerSurface for the given window (call before first show()). | |
| static LayerSurface * | find (QWindow *window) |
| Retrieve existing LayerSurface for the window, or nullptr. | |
| static bool | isSupported () |
| True if the compositor supports zwlr_layer_shell_v1. | |
| static std::pair< uint32_t, uint32_t > | computeLayerSize (Anchors anchors, const QSize &windowSize) |
| Compute layer-shell size: 0 for axes anchored to both edges. | |
Static Public Attributes | |
| static constexpr Anchors | AnchorAll = Anchors(AnchorTop | AnchorBottom | AnchorLeft | AnchorRight) |
Wayland layer-shell surface backed by zwlr_layer_shell_v1.
Pure Qt API — no Wayland types exposed.
|
override |
| Anchors PhosphorWayland::LayerSurface::anchors | ( | ) | const |
|
signal |
|
static |
Compute layer-shell size: 0 for axes anchored to both edges.
| QSize PhosphorWayland::LayerSurface::desiredSize | ( | ) | const |
|
signal |
| Anchors PhosphorWayland::LayerSurface::exclusiveEdge | ( | ) | const |
|
signal |
| int32_t PhosphorWayland::LayerSurface::exclusiveZone | ( | ) | const |
|
signal |
|
static |
Retrieve existing LayerSurface for the window, or nullptr.
|
static |
Get or create a LayerSurface for the given window (call before first show()).
|
static |
True if the compositor supports zwlr_layer_shell_v1.
| KeyboardInteractivity PhosphorWayland::LayerSurface::keyboardInteractivity | ( | ) | const |
|
signal |
| Layer PhosphorWayland::LayerSurface::layer | ( | ) | const |
|
signal |
| QMargins PhosphorWayland::LayerSurface::margins | ( | ) | const |
|
signal |
|
signal |
| QString PhosphorWayland::LayerSurface::scope | ( | ) | const |
|
signal |
| QScreen * PhosphorWayland::LayerSurface::screen | ( | ) | const |
|
signal |
| void PhosphorWayland::LayerSurface::setAnchors | ( | Anchors | anchors | ) |
| void PhosphorWayland::LayerSurface::setDesiredSize | ( | const QSize & | size | ) |
Override the layer-shell set_size value sent on the next configure- triggering commit, decoupling it from QQuickWindow::size().
Use QSize() (default-constructed) to clear the override and fall back to the window's reported size. See ITransportHandle::setDesiredSize for the architectural rationale (Qt's QWindow::resize is silently clamped against min/max sizing constraints, so client-initiated layer-shell resizes have to push the new value through the protocol directly).
| void PhosphorWayland::LayerSurface::setExclusiveEdge | ( | Anchors | edge | ) |
| void PhosphorWayland::LayerSurface::setExclusiveZone | ( | int32_t | zone | ) |
| void PhosphorWayland::LayerSurface::setKeyboardInteractivity | ( | KeyboardInteractivity | interactivity | ) |
| void PhosphorWayland::LayerSurface::setLayer | ( | Layer | layer | ) |
| void PhosphorWayland::LayerSurface::setMargins | ( | const QMargins & | margins | ) |
| void PhosphorWayland::LayerSurface::setScope | ( | const QString & | scope | ) |
| void PhosphorWayland::LayerSurface::setScreen | ( | QScreen * | screen | ) |
|
staticconstexpr |