pub trait IServerVisualContent: 'static {
Show 16 methods
// Required method
fn as_any(&self) -> &dyn Any;
// Provided methods
fn deserialize_changes_core(
&self,
visual: &ServerCompositionVisual,
reader: &mut BatchStreamReader<'_>,
committed_at: Duration,
) { ... }
fn compute_own_content_bounds(
&self,
_visual: &ServerCompositionVisual,
) -> Option<LtrbRect> { ... }
fn render_core(
&self,
_visual: &ServerCompositionVisual,
_context: &mut ServerVisualRenderContext<'_>,
_current_transformed_clip: LtrbRect,
) { ... }
fn size_changed(&self, _visual: &ServerCompositionVisual) { ... }
fn on_attached_to_root(
&self,
_visual: &ServerCompositionVisual,
_target: &Rc<ServerCompositionTarget>,
) { ... }
fn on_detached_from_root(
&self,
_visual: &ServerCompositionVisual,
_target: &Rc<ServerCompositionTarget>,
) { ... }
fn push_clip_to_bounds(
&self,
visual: &ServerCompositionVisual,
canvas: &mut dyn IDrawingContextImpl,
) { ... }
fn has_effect(&self, visual: &ServerCompositionVisual) -> bool { ... }
fn dependency_queued_invalidate(&self, _visual: &ServerCompositionVisual) { ... }
fn render_after_children(
&self,
_visual: &ServerCompositionVisual,
_context: &mut ServerVisualRenderContext<'_>,
) { ... }
fn sub_tree_bounds_padding(
&self,
_visual: &ServerCompositionVisual,
) -> Option<Thickness> { ... }
fn has_update_pass_content_bounds(&self) -> bool { ... }
fn find_props(&self, _type_id: TypeId) -> Option<&dyn Any> { ... }
fn get_composition_property(
&self,
name: &str,
) -> Option<&'static CompositionProperty> { ... }
fn dispose(&self, _visual: &ServerCompositionVisual) { ... }
}Expand description
What a concrete server visual class adds to ServerCompositionVisual:
its own properties and its overrides of the virtual members.
Required Methods§
Provided Methods§
Sourcefn deserialize_changes_core(
&self,
visual: &ServerCompositionVisual,
reader: &mut BatchStreamReader<'_>,
committed_at: Duration,
)
fn deserialize_changes_core( &self, visual: &ServerCompositionVisual, reader: &mut BatchStreamReader<'_>, committed_at: Duration, )
DeserializeChangesCore of the class; the default is the one of the
container visual.
fn compute_own_content_bounds( &self, _visual: &ServerCompositionVisual, ) -> Option<LtrbRect>
fn render_core( &self, _visual: &ServerCompositionVisual, _context: &mut ServerVisualRenderContext<'_>, _current_transformed_clip: LtrbRect, )
fn size_changed(&self, _visual: &ServerCompositionVisual)
fn on_attached_to_root( &self, _visual: &ServerCompositionVisual, _target: &Rc<ServerCompositionTarget>, )
fn on_detached_from_root( &self, _visual: &ServerCompositionVisual, _target: &Rc<ServerCompositionTarget>, )
fn push_clip_to_bounds( &self, visual: &ServerCompositionVisual, canvas: &mut dyn IDrawingContextImpl, )
fn has_effect(&self, visual: &ServerCompositionVisual) -> bool
Sourcefn dependency_queued_invalidate(&self, _visual: &ServerCompositionVisual)
fn dependency_queued_invalidate(&self, _visual: &ServerCompositionVisual)
A render resource the content depends on changed.
Sourcefn render_after_children(
&self,
_visual: &ServerCompositionVisual,
_context: &mut ServerVisualRenderContext<'_>,
)
fn render_after_children( &self, _visual: &ServerCompositionVisual, _context: &mut ServerVisualRenderContext<'_>, )
Called by the render walk after the children of the visual were
rendered, before the opacity mask, effect, clips and transform of the
visual are popped: what render_core pushed for the children is
popped here (not from upstream; the layer of a layer visual).
Sourcefn sub_tree_bounds_padding(
&self,
_visual: &ServerCompositionVisual,
) -> Option<Thickness>
fn sub_tree_bounds_padding( &self, _visual: &ServerCompositionVisual, ) -> Option<Thickness>
What the content adds around the bounds of the subtree, like the
output padding of an effect (not from upstream; the shadow of a layer
visual). None for nothing.
Sourcefn has_update_pass_content_bounds(&self) -> bool
fn has_update_pass_content_bounds(&self) -> bool
Whether the bounds of the own content depend on other visuals and are computed again when the update pass of the target reaches the visual (not from upstream; a redirect visual covers the bounds of its source as that pass leaves them).
Sourcefn find_props(&self, _type_id: TypeId) -> Option<&dyn Any>
fn find_props(&self, _type_id: TypeId) -> Option<&dyn Any>
The generated property block of the given type, if the class has one of its own.
fn get_composition_property( &self, name: &str, ) -> Option<&'static CompositionProperty>
Sourcefn dispose(&self, _visual: &ServerCompositionVisual)
fn dispose(&self, _visual: &ServerCompositionVisual)
The visual has been disposed on the UI thread.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".