7#include <PhosphorLayer/phosphorlayer_export.h>
20class ILayerShellTransport;
21class IQmlEngineProvider;
23class ISurfaceAnimator;
24class ITransportHandle;
98class PHOSPHORLAYER_EXPORT
Surface :
public QObject
101 Q_PROPERTY(
State state READ state NOTIFY stateChanged FINAL)
141 [[nodiscard]]
bool isLogicallyShown() const noexcept;
169 QQuickWindow* window() const noexcept;
188 void failed(const QString& reason);
239 std::unique_ptr<Impl> m_impl;
Abstracts the layer-shell protocol binding.
Definition ILayerShellTransport.h:111
Hook point for consumer-controlled QQmlEngine ownership policy.
Definition IQmlEngineProvider.h:32
Source-of-truth interface for the available QScreen set.
Definition IScreenProvider.h:62
Hook point for show/hide transitions on Surfaces.
Definition ISurfaceAnimator.h:50
Handle returned by attach(); lets the caller mutate post-show properties that the wlr-layer-shell pro...
Definition ILayerShellTransport.h:53
Stateless constructor for Surfaces.
Definition SurfaceFactory.h:35
Opaque construction token — only SurfaceFactory can create instances of it.
Definition Surface.h:222
One layer-shell surface with a managed lifecycle.
Definition Surface.h:99
~Surface() override
Q_ENUM so QMetaEnum can stringify State values in log messages (State::Failed → "Failed") and so Q_PR...
State state() const noexcept
State
Definition Surface.h:104
Surface(CtorToken, SurfaceConfig cfg, SurfaceDeps deps, QObject *parent)
Protected so subclasses can forward a CtorToken through their own constructor.
Definition SurfaceAnimator.h:26
Immutable per-surface configuration passed to SurfaceFactory::create().
Definition SurfaceConfig.h:46
Bundle of dependencies the Surface inherits from the factory.
Definition Surface.h:42
QString loggingCategory
Definition Surface.h:61
ILayerShellTransport * transport
Definition Surface.h:43
ISurfaceAnimator * animator
Phase-5 hook for show/hide visual transitions.
Definition Surface.h:60
IQmlEngineProvider * engineProvider
Definition Surface.h:44
IScreenProvider * screenProvider
Screen provider the Surface subscribes to for hot-unplug detection.
Definition Surface.h:49