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 View
s’
coordinate transform applied to their own, in addition to being clipped to
the View
s’ 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: ViewRefControl
control_ref.reference
must have default eventpair rights (i.e., with
signaling), minus ZX_RIGHT_DUPLICATE.
view_ref: ViewRef
view_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
.§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 more§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.