Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::view::View::RootInteractionState Struct Reference

#include <view.hpp>

Public Attributes

View * focused_input = nullptr
View * active_overlay = nullptr
ComboBox * active_popup = nullptr
std::vector< OverlayRequest > overlay_queue
std::vector< View * > overlay_stack
 Open overlays, bottom-first; active_overlay mirrors .back().
std::uint64_t pending_overlay_opener = 0
 Instance id of the trigger the latest press reached (0: none); a claim with no anchor of its own adopts it.

Member Data Documentation

◆ active_overlay

View* pulp::view::View::RootInteractionState::active_overlay = nullptr

◆ active_popup

ComboBox* pulp::view::View::RootInteractionState::active_popup = nullptr

◆ focused_input

View* pulp::view::View::RootInteractionState::focused_input = nullptr

◆ overlay_queue

std::vector<OverlayRequest> pulp::view::View::RootInteractionState::overlay_queue

◆ overlay_stack

std::vector<View*> pulp::view::View::RootInteractionState::overlay_stack

Open overlays, bottom-first; active_overlay mirrors .back().

A slot could only ever describe ONE open popover, so a submenu and the menu that opened it could not both be described: claiming the submenu silently overwrote its parent, which then stayed on screen with nothing tracking it, unreachable by Escape or an outside click. The stack is what lets a nest of menus close one level at a time. Which claims nest and which replace is decided in claim_overlay().

◆ pending_overlay_opener

std::uint64_t pulp::view::View::RootInteractionState::pending_overlay_opener = 0

Instance id of the trigger the latest press reached (0: none); a claim with no anchor of its own adopts it.

See set_overlay_anchor.


The documentation for this struct was generated from the following file:
  • /home/runner/work/pulp/pulp/core/view/include/pulp/view/view.hpp