pub struct ViewArgs3 {
pub token: ViewToken,
pub control_ref: ViewRefControl,
pub view_ref: ViewRef,
pub debug_name: Option<String>,
}Expand description
Represents the root of a subgraph within a larger scene graph. Nodes can be
attached to the View as children, and these Nodes will have the Views’
coordinate transform applied to their own, in addition to being clipped to
the Views’ bounding box.
See ViewProperties.
Each View is linked to a paired ViewHolder via a shared token pair.
Usually the View and its associated ViewHolder exist in separate
processes. By combining them, the UI for an entire system can be built
using content contributed from many different processes.
Clients self-identify their View with a ViewRef, which is a stable
identifier that may be cloned and passed to other components in a
feed-forward style. It is accompanied by a ViewRefControl, which Scenic
uses to signal View destruction across the system; the ViewRefControl
must be unique - do not clone it.
Fields§
§token: ViewToken§control_ref: ViewRefControlcontrol_ref.reference must have default eventpair rights (i.e., with
signaling), minus ZX_RIGHT_DUPLICATE.
view_ref: ViewRefview_ref.reference must have basic rights (i.e., no signaling).
debug_name: Option<String>Trait Implementations§
Source§impl Decode<ViewArgs3, DefaultFuchsiaResourceDialect> for ViewArgs3
impl Decode<ViewArgs3, DefaultFuchsiaResourceDialect> for ViewArgs3
Source§impl<T0: Encode<ViewToken, DefaultFuchsiaResourceDialect>, T1: Encode<ViewRefControl, DefaultFuchsiaResourceDialect>, T2: Encode<ViewRef, DefaultFuchsiaResourceDialect>, T3: Encode<Optional<UnboundedString>, DefaultFuchsiaResourceDialect>> Encode<ViewArgs3, DefaultFuchsiaResourceDialect> for (T0, T1, T2, T3)
impl<T0: Encode<ViewToken, DefaultFuchsiaResourceDialect>, T1: Encode<ViewRefControl, DefaultFuchsiaResourceDialect>, T2: Encode<ViewRef, DefaultFuchsiaResourceDialect>, T3: Encode<Optional<UnboundedString>, DefaultFuchsiaResourceDialect>> Encode<ViewArgs3, DefaultFuchsiaResourceDialect> for (T0, T1, T2, T3)
Source§impl ResourceTypeMarker for ViewArgs3
impl ResourceTypeMarker for ViewArgs3
Source§type Borrowed<'a> = &'a mut ViewArgs3
type Borrowed<'a> = &'a mut ViewArgs3
Encode<Self>
type cheaply obtainable from &mut Self::Owned. There are three cases: Read moreSource§fn take_or_borrow<'a>(
value: &'a mut <Self as TypeMarker>::Owned,
) -> Self::Borrowed<'a>
fn take_or_borrow<'a>( value: &'a mut <Self as TypeMarker>::Owned, ) -> Self::Borrowed<'a>
&mut Self::Owned to Self::Borrowed. For
HandleBased types this is “take” (it returns an owned handle and
replaces value with Handle::invalid), and for all other types it is
“borrow” (just converts from one reference to another).Source§impl TypeMarker for ViewArgs3
impl TypeMarker for ViewArgs3
Source§fn inline_align(_context: Context) -> usize
fn inline_align(_context: Context) -> usize
Source§fn inline_size(_context: Context) -> usize
fn inline_size(_context: Context) -> usize
inline_align.Source§fn encode_is_copy() -> bool
fn encode_is_copy() -> bool
Self::Owned matches the FIDL wire
format and encoding requires no validation. When true, we can optimize
encoding arrays and vectors of Self::Owned to a single memcpy. Read moreSource§fn decode_is_copy() -> bool
fn decode_is_copy() -> bool
Self::Owned matches the FIDL wire
format and decoding requires no validation. When true, we can optimize
decoding arrays and vectors of Self::Owned to a single memcpy.