class FocusChain
Defined at line 56 of file fidling/gen/sdk/fidl/fuchsia.ui.focus/fuchsia.ui.focus/hlcpp/fuchsia/ui/focus/cpp/fidl.h
A FocusChain tracks the status of the View hierarchy as View focus changes.
Reception. Only certain components may receive a FocusChain, as it
captures global information about the scene graph.
Public Members
static const fidl_type_t * FidlType
Public Methods
bool IsEmpty ()
Returns whether no field is set.
const ::std::vector< ::fuchsia::ui::views::ViewRef> & focus_chain ()
The `focus_chain` is reported in order of dominance in the View
hierarchy; each adjacent pair of elements represents a
parent-child relationship.
The `focus_chain` MAY be unset when `FocusChain` message is received, if
the message is sent very early in the scene setup, before the first
view is available.
When `focus_chain` is set, however, the root View is always present
and occupies slot 0 in the `focus_chain`. The newly-focused View
receives a `fuchsia.ui.input.FocusEvent` and occupies the final slot
in the vector.
If a View gets destroyed, a `FocusChain` holder that listens will
receive a `ZX_EVENTPAIR_PEER_CLOSED` signal on the corresponding
`ViewRef`.
## Invalidation.
A FocusChain is invalid if any one if its ViewRefs is
invalid.
Defined at line 83 of file fidling/gen/sdk/fidl/fuchsia.ui.focus/fuchsia.ui.focus/hlcpp/fuchsia/ui/focus/cpp/fidl.h
bool has_focus_chain ()
Defined at line 87 of file fidling/gen/sdk/fidl/fuchsia.ui.focus/fuchsia.ui.focus/hlcpp/fuchsia/ui/focus/cpp/fidl.h
::std::vector< ::fuchsia::ui::views::ViewRef> * mutable_focus_chain ()
The `focus_chain` is reported in order of dominance in the View
hierarchy; each adjacent pair of elements represents a
parent-child relationship.
The `focus_chain` MAY be unset when `FocusChain` message is received, if
the message is sent very early in the scene setup, before the first
view is available.
When `focus_chain` is set, however, the root View is always present
and occupies slot 0 in the `focus_chain`. The newly-focused View
receives a `fuchsia.ui.input.FocusEvent` and occupies the final slot
in the vector.
If a View gets destroyed, a `FocusChain` holder that listens will
receive a `ZX_EVENTPAIR_PEER_CLOSED` signal on the corresponding
`ViewRef`.
## Invalidation.
A FocusChain is invalid if any one if its ViewRefs is
invalid.
Defined at line 112 of file fidling/gen/sdk/fidl/fuchsia.ui.focus/fuchsia.ui.focus/hlcpp/fuchsia/ui/focus/cpp/fidl.h
void clear_focus_chain ()
Defined at line 120 of file fidling/gen/sdk/fidl/fuchsia.ui.focus/fuchsia.ui.focus/hlcpp/fuchsia/ui/focus/cpp/fidl.h
FocusChain & set_focus_chain (::std::vector< ::fuchsia::ui::views::ViewRef> _value)
void FocusChain ()
void FocusChain (FocusChain && other)
void ~FocusChain ()
FocusChain & operator= (FocusChain && other)
::std::unique_ptr<FocusChain> New ()
void Encode (::fidl::Encoder * _encoder, size_t _offset, std::optional< ::fidl::HandleInformation> maybe_handle_info)
void Decode (::fidl::Decoder * _decoder, FocusChain * _value, size_t _offset)
zx_status_t Clone (FocusChain * _result)