Skip to main content

ServerCompositionTarget

Struct ServerCompositionTarget 

Source
pub struct ServerCompositionTarget { /* private fields */ }
Expand description

Server-side counterpart of the CompositionTarget. That’s the place where we update visual transforms, track dirty rects and actually do rendering.

Implementations§

Source§

impl ServerCompositionTarget

Source

pub fn new( compositor: &Rc<ServerCompositor>, surfaces: RenderSurfaces, id: i64, ) -> Rc<ServerCompositionTarget>

id is the identity of the target, allocated by the UI thread so that it can match readback data against it.

Source

pub fn compositor(&self) -> Option<Rc<ServerCompositor>>

Source

pub fn dirty_rects(&self) -> &Rc<dyn IDirtyRectTracker>

Source

pub fn id(&self) -> i64

Source

pub fn debug_events(&self) -> Option<Arc<dyn ICompositionTargetDebugEvents>>

Source

pub fn set_debug_events( &self, value: Option<Arc<dyn ICompositionTargetDebugEvents>>, )

Source

pub fn rendered_visuals(&self) -> i32

Source

pub fn visited_visuals(&self) -> i32

Source

pub fn pixel_size(&self) -> PixelSize

Source

pub fn is_waiting_for_ready_render_target(&self) -> bool

Returns true if the target is enabled and has pending work but its render target was not ready.

Source

pub fn is_waiting_for_render_loop_wakeup(&self) -> bool

Returns true if the target’s render target is waiting for a render loop wakeup (i.e. the platform will call Wakeup() when ready, no need to keep polling).

Source

pub fn root(&self) -> Option<Rc<ServerCompositionVisual>>

Source

pub fn is_enabled(&self) -> bool

Source

pub fn debug_overlays(&self) -> RendererDebugOverlays

Source

pub fn last_layout_pass_timing(&self) -> LayoutPassTiming

Source

pub fn scaling(&self) -> f64

Source

pub fn size(&self) -> Size

Source

pub fn transparency_level(&self) -> CompositionTransparencyLevel

Source

pub fn platform_specific_scene_info(&self) -> Option<Arc<dyn Any + Send + Sync>>

Source

pub fn update( self: &Rc<Self>, diagnostics_compositor_global_update_elapsed_time: Duration, )

Source

pub fn render(self: &Rc<Self>)

Source

pub fn request_update(&self)

Source

pub fn reset_render_target(&self)

Source

pub fn add_visual(&self, visual: &Rc<ServerCompositionVisual>)

Source

pub fn remove_visual(&self, visual: &Rc<ServerCompositionVisual>)

Source

pub fn request_full_redraw(&self)

Trait Implementations§

Source§

impl IAnimatedServerObject for ServerCompositionTarget

Source§

fn server_object(&self) -> &ServerObject

The embedded ServerObject part.
Source§

fn as_server_object_dyn(&self) -> &dyn IServerObject

The object as the base contract (an explicit upcast).
Source§

fn get_composition_property( &self, _field_name: &str, ) -> Option<&'static CompositionProperty>

The composition property with the given name, if the class has one.
Source§

impl IServerAnimatedPropertyHost for ServerCompositionTarget

Source§

fn set_animated_value( &self, property: &'static CompositionProperty, current_value: ExpressionVariant, committed_at: Duration, animation: Rc<dyn IAnimationInstance>, )

SetAnimatedValue(prop, ref field, committedAt, animation): starts animation on the property. current_value is the value of the field as a variant; the animation writes the field through CompositionProperty::set_variant.
Source§

fn remove_animation_for_property(&self, property: &'static CompositionProperty)

The tail of SetAnimatedValue(prop, out field, value): the field has been assigned directly, so the animation of the property, if any, is removed.
Source§

fn notify_animated_value_changed(&self, _property: &'static CompositionProperty)

An animation wrote a new value into the field of property.
Source§

impl IServerObject for ServerCompositionTarget

Source§

fn deserialize_changes_core( &self, reader: &mut BatchStreamReader<'_>, committed_at: Duration, )

Reads the changes of the object from a batch.
Source§

fn dispose(&self)

Releases the object: it has been disposed on the UI thread.
Source§

fn get_props(&self, type_id: TypeId) -> Option<&dyn Any>

The generated property block of the given type embedded in the object, if it has one. A class that embeds generated properties forwards to their find_props; composition properties locate their fields through it.
Source§

fn as_animated(self: Rc<Self>) -> Option<Rc<dyn IAnimatedServerObject>>

The object as an animatable object, if it is one.
Source§

fn as_any(&self) -> &dyn Any

Source§

fn into_any_rc(self: Rc<Self>) -> Rc<dyn Any>

Source§

fn values_invalidated(&self)

Called after a group of values of the object changed.
Source§

fn deserialize_changes( &self, reader: &mut BatchStreamReader<'_>, committed_at: Duration, )

Applies the changes of the object from a batch.
Source§

fn as_render_resource(self: Rc<Self>) -> Option<Rc<dyn IServerRenderResource>>

The object as a render resource, if it is one.
Source§

fn as_brush(self: Rc<Self>) -> Option<Rc<dyn IBrush>>

The object as a brush, if it is a server-side brush.
Source§

fn as_pen(self: Rc<Self>) -> Option<Rc<dyn IPen>>

The object as a pen, if it is a server-side pen.
Source§

fn as_render_data_geometry( self: Rc<Self>, ) -> Option<Rc<dyn IRenderDataGeometry>>

The object as a geometry usable by render data, if it is a server-side geometry.
Source§

fn as_transform(self: Rc<Self>) -> Option<Rc<dyn ITransform>>

The object as a transform, if it is a server-side transform.
Source§

fn as_gradient_stop(self: Rc<Self>) -> Option<Rc<dyn IGradientStop>>

The object as a gradient stop, if it is a server-side gradient stop.
Source§

fn as_surface(self: Rc<Self>) -> Option<Rc<dyn IServerCompositionSurface>>

The object as a composition surface, if it is one.
Source§

impl IServerPropertyHost for ServerCompositionTarget

Source§

fn server_compositor(&self) -> Option<Rc<ServerCompositor>>

The compositor of the object, while it is alive. Used to resolve the server objects a batch refers to.
Source§

fn set_value( &self, property: &'static CompositionProperty, change: ServerValueChange<'_>, )

SetValue(prop, ref field, value) as the class of the object defines it. A plain server object assigns; an animated object also invalidates the subscriptions of the property; a render resource goes through super::ServerRenderResourceCore::set_value.
Source§

impl ServerCompositionTargetHooks for ServerCompositionTarget

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
Source§

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

Source§

fn static_constructor()

The static constructor of a type: work done once per thread, after the properties of the type are registered and before its first instance exists (class handlers, affects_render, metadata overrides). Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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.

Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

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

Source§

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.