pub enum PuppetRequest {
    EmbedRemoteView {
        payload: PuppetEmbedRemoteViewRequest,
        responder: PuppetEmbedRemoteViewResponder,
    },
    SetEmbeddedViewProperties {
        payload: PuppetSetEmbeddedViewPropertiesRequest,
        responder: PuppetSetEmbeddedViewPropertiesResponder,
    },
    DrawImage {
        payload: PuppetDrawImageRequest,
        responder: PuppetDrawImageResponder,
    },
    SetImageProperties {
        payload: PuppetSetImagePropertiesRequest,
        responder: PuppetSetImagePropertiesResponder,
    },
}
Expand description

******************************* PLEASE READ *******************************

A tool to help developers write generalizable tests against a well-defined client application (“the puppet”). This API is not intended to cover every possible UI platform API use case.

TOPOLOGY

Each puppet is assumed to own exactly one view.

Each piece of content added is assumed to be a “direct child” of this view; and a sibling of the rest of the view’s contents. In other words, all embedded views, filled rects, etc. are considered to have “sibling” semantics; for example, repositioning or resizing one piece of content should not reposition/resize any other piece of content.

Z-ORDERING

The contents of a puppet’s view are z-ordered according to the order in which they were created. The first piece of content created appears at the “bottom”, and the last piece of content created appears at the “top”.

IDS

All ids must be globally unique, e.g. a “filled rect” id belongs to the same id space as an “embedded view” id.

SYNCHRONIZATION

All methods should block until the frame containing the requested changes has rendered to the display, if a new frame is required.

RETURN VALUES

See documentation on the Result enum above.

UNKNOWN INTERACTIONS

Puppet implementations may live outside of fuchsia.git, so they will encounter unknown methods and/or fields any time we extend the puppet API. In these cases, the puppet should always return UNSUPPORTED.

Variants§

§

EmbedRemoteView

Embeds a view owned elsewhere.

The puppet should create a (ViewportCreationToken, ViewCreationToken) pair and use the former to create a viewport with the specified properties. Once the puppet has presented a frame containing the new viewport, it should return the view creation token to the caller.

§

SetEmbeddedViewProperties

Updates the properties of an embedded view.

§

DrawImage

Draws an image composed of solid, monochrome-filled rectangles.

§

SetImageProperties

Updates the properties of an image.

Implementations§

Trait Implementations§

source§

impl Debug for PuppetRequest

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T, D> Encode<Ambiguous1, D> for T
where D: ResourceDialect,

§

unsafe fn encode( self, _encoder: &mut Encoder<'_, D>, _offset: usize, _depth: Depth, ) -> Result<(), Error>

Encodes the object into the encoder’s buffers. Any handles stored in the object are swapped for Handle::INVALID. Read more
§

impl<T, D> Encode<Ambiguous2, D> for T
where D: ResourceDialect,

§

unsafe fn encode( self, _encoder: &mut Encoder<'_, D>, _offset: usize, _depth: Depth, ) -> Result<(), Error>

Encodes the object into the encoder’s buffers. Any handles stored in the object are swapped for Handle::INVALID. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more