Phosphor
Qt6 / Wayland library suite for window-management tools
 
Loading...
Searching...
No Matches
SlotEntry.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2026 fuddlesworth
2// SPDX-License-Identifier: LGPL-2.1-or-later
3
4#pragma once
5
6// A single content slot living on a per-screen shell. Holds the slot's
7// QQuickItem (looked up by the consumer at shell-create time via the
8// post-create callback) and the PhosphorLayer::Role the slot's
9// SurfaceAnimator show/hide leg targets.
10//
11// The role is per-slot because every consumer's slots have a stable
12// animator scope - PZ's OSD slot always animates as PzRoles::Osd, the
13// zone-selector slot as PzRoles::ZoneSelector, and so on. Pinning the
14// role into the slot entry lets the library drive
15// SurfaceAnimator::beginShow / beginHide without the consumer
16// re-specifying the role at every show/hide call site.
17
18#include <PhosphorOverlay/phosphoroverlay_export.h>
19
20#include <PhosphorLayer/Role.h>
21
22#include <QPointer>
23
24class QQuickItem;
25
26namespace PhosphorOverlay {
27
28struct PHOSPHOROVERLAY_EXPORT SlotEntry
29{
33 QPointer<QQuickItem> item;
34
39};
40
41} // namespace PhosphorOverlay
Definition ShellHost.h:39
Value type describing a surface's protocol-level configuration.
Definition Role.h:77
Definition SlotEntry.h:29
QPointer< QQuickItem > item
The slot's QQuickItem.
Definition SlotEntry.h:33
PhosphorLayer::Role role
The PhosphorLayer::Role identifying this slot's animator scope.
Definition SlotEntry.h:38