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)