pub struct Visual { /* private fields */ }Expand description
Base class for controls that provides rendering and related visual properties.
The visual class represents elements that have a visual on-screen
representation and stores all the information needed for a renderer to
render the control. To traverse the visual tree, use the methods in the
visual_tree module.
Implementations§
Source§impl Visual
impl Visual
Sourcepub fn calculate_distance_from_ancestor(
&self,
ancestor: Option<&Visual>,
) -> Option<usize>
pub fn calculate_distance_from_ancestor( &self, ancestor: Option<&Visual>, ) -> Option<usize>
Calculates the distance from a visual’s ancestor.
Returns the number of steps from the visual to the ancestor, or
None if this visual is not a descendent of ancestor. With no
ancestor given, never matches and returns None.
Sourcepub fn calculate_distance_from_root(&self) -> usize
pub fn calculate_distance_from_root(&self) -> usize
Calculates the distance from a visual’s root.
Sourcepub fn find_common_visual_ancestor(
&self,
target: &Visual,
) -> Option<Ref<Visual>>
pub fn find_common_visual_ancestor( &self, target: &Visual, ) -> Option<Ref<Visual>>
Tries to get the first common ancestor of two visuals.
Sourcepub fn get_visual_ancestors(&self) -> VisualAncestors ⓘ
pub fn get_visual_ancestors(&self) -> VisualAncestors ⓘ
Enumerates the ancestors of the visual in the visual tree.
Sourcepub fn get_self_and_visual_ancestors(&self) -> VisualAncestors ⓘ
pub fn get_self_and_visual_ancestors(&self) -> VisualAncestors ⓘ
Enumerates the visual and its ancestors in the visual tree.
Sourcepub fn find_ancestor_of_type<T: ObjectType>(
&self,
include_self: bool,
) -> Option<Ref<T>>
pub fn find_ancestor_of_type<T: ObjectType>( &self, include_self: bool, ) -> Option<Ref<T>>
Finds the first ancestor of class T, optionally starting with the
visual itself.
Sourcepub fn find_ancestor_of_type_where<T: ObjectType>(
&self,
include_self: bool,
predicate: impl Fn(&T) -> bool,
) -> Option<Ref<T>>
pub fn find_ancestor_of_type_where<T: ObjectType>( &self, include_self: bool, predicate: impl Fn(&T) -> bool, ) -> Option<Ref<T>>
Finds the first ancestor of class T that matches a predicate,
optionally starting with the visual itself.
Sourcepub fn find_descendant_of_type<T: ObjectType>(
&self,
include_self: bool,
) -> Option<Ref<T>>
pub fn find_descendant_of_type<T: ObjectType>( &self, include_self: bool, ) -> Option<Ref<T>>
Finds the first descendant of class T (depth first), optionally
starting with the visual itself.
Sourcepub fn find_descendant_of_type_where<T: ObjectType>(
&self,
include_self: bool,
predicate: impl Fn(&T) -> bool,
) -> Option<Ref<T>>
pub fn find_descendant_of_type_where<T: ObjectType>( &self, include_self: bool, predicate: impl Fn(&T) -> bool, ) -> Option<Ref<T>>
Finds the first descendant of class T that matches a predicate
(depth first), optionally starting with the visual itself.
Sourcepub fn get_transformed_bounds(&self) -> Option<TransformedBounds>
pub fn get_transformed_bounds(&self) -> Option<TransformedBounds>
Gets the bounds of the visual in the coordinate space of its root,
with the clip applied by its ancestors. Returns None if the visual
or one of its ancestors is invisible.
Sourcepub fn get_visual_at(&self, p: Point) -> Option<Ref<Visual>>
pub fn get_visual_at(&self, p: Point) -> Option<Ref<Visual>>
Gets the first visible visual at a point, in the coordinates of this visual.
Sourcepub fn get_visual_at_filtered(
&self,
p: Point,
filter: &dyn Fn(&Visual) -> bool,
) -> Option<Ref<Visual>>
pub fn get_visual_at_filtered( &self, p: Point, filter: &dyn Fn(&Visual) -> bool, ) -> Option<Ref<Visual>>
Gets the first visual at a point, in the coordinates of this visual.
If filter returns false for a visual then the visual and all its
descendants are excluded from the results.
Sourcepub fn get_visual_at_geometry(
&self,
geometry: &Geometry,
) -> Option<GeometryHitTestResult>
pub fn get_visual_at_geometry( &self, geometry: &Geometry, ) -> Option<GeometryHitTestResult>
Gets the first visible visual intersecting a geometry, in the coordinates of this visual, with the details of the intersection.
Sourcepub fn get_visual_at_geometry_filtered(
&self,
geometry: &Geometry,
filter: &dyn Fn(&Visual) -> bool,
) -> Option<GeometryHitTestResult>
pub fn get_visual_at_geometry_filtered( &self, geometry: &Geometry, filter: &dyn Fn(&Visual) -> bool, ) -> Option<GeometryHitTestResult>
Gets the first visual intersecting a geometry, in the coordinates of this visual, with the details of the intersection.
If filter returns false for a visual then the visual and all its
descendants are excluded from the results.
Sourcepub fn get_visuals_at(&self, p: Point) -> Vec<Ref<Visual>>
pub fn get_visuals_at(&self, p: Point) -> Vec<Ref<Visual>>
Enumerates the visible visuals at a point, in the coordinates of this visual, topmost first.
Sourcepub fn get_visuals_at_filtered(
&self,
p: Point,
filter: &dyn Fn(&Visual) -> bool,
) -> Vec<Ref<Visual>>
pub fn get_visuals_at_filtered( &self, p: Point, filter: &dyn Fn(&Visual) -> bool, ) -> Vec<Ref<Visual>>
Enumerates the visuals at a point, in the coordinates of this visual, topmost first.
If filter returns false for a visual then the visual and all its
descendants are excluded from the results.
Sourcepub fn get_visuals_at_geometry(
&self,
geometry: &Geometry,
) -> Vec<GeometryHitTestResult>
pub fn get_visuals_at_geometry( &self, geometry: &Geometry, ) -> Vec<GeometryHitTestResult>
Enumerates the visible visuals intersecting a geometry, in the coordinates of this visual, topmost first, with the details of the intersections.
Sourcepub fn get_visuals_at_geometry_filtered(
&self,
geometry: &Geometry,
filter: &dyn Fn(&Visual) -> bool,
) -> Vec<GeometryHitTestResult>
pub fn get_visuals_at_geometry_filtered( &self, geometry: &Geometry, filter: &dyn Fn(&Visual) -> bool, ) -> Vec<GeometryHitTestResult>
Enumerates the visuals intersecting a geometry, in the coordinates of this visual, topmost first, with the details of the intersections.
If filter returns false for a visual then the visual and all its
descendants are excluded from the results.
Sourcepub fn get_visual_children(&self) -> Rc<Vec<Ref<Visual>>>
pub fn get_visual_children(&self) -> Rc<Vec<Ref<Visual>>>
Gets a snapshot of the visual children of the visual.
Sourcepub fn get_visual_descendants(&self) -> VisualDescendants ⓘ
pub fn get_visual_descendants(&self) -> VisualDescendants ⓘ
Enumerates the descendants of the visual in the visual tree, in depth-first pre-order.
Sourcepub fn get_self_and_visual_descendants(&self) -> VisualDescendants ⓘ
pub fn get_self_and_visual_descendants(&self) -> VisualDescendants ⓘ
Enumerates the visual and its descendants in the visual tree, in depth-first pre-order.
Sourcepub fn get_visual_parent(&self) -> Option<Ref<Visual>>
pub fn get_visual_parent(&self) -> Option<Ref<Visual>>
Gets the visual parent of the visual.
Sourcepub fn get_visual_parent_of_type<T: ObjectType>(&self) -> Option<Ref<T>>
pub fn get_visual_parent_of_type<T: ObjectType>(&self) -> Option<Ref<T>>
Gets the visual parent of the visual, if it is of class T.
Sourcepub fn get_presentation_source(&self) -> Option<Rc<dyn IPresentationSource>>
pub fn get_presentation_source(&self) -> Option<Rc<dyn IPresentationSource>>
The presentation source the visual is attached to.
Sourcepub fn get_visual_root(&self) -> Option<Ref<Visual>>
pub fn get_visual_root(&self) -> Option<Ref<Visual>>
The root visual of the presentation source the visual is attached to.
Sourcepub fn get_layout_root(&self) -> Option<Rc<dyn ILayoutRoot>>
pub fn get_layout_root(&self) -> Option<Rc<dyn ILayoutRoot>>
The layout root of the tree the visual is attached to.
Sourcepub fn get_layout_manager(&self) -> Option<Rc<dyn ILayoutManager>>
pub fn get_layout_manager(&self) -> Option<Rc<dyn ILayoutManager>>
The layout manager of the presentation source of the visual, or
None when the visual is not attached to a visual root.
Sourcepub fn get_input_root(&self) -> Option<Rc<dyn IInputRoot>>
pub fn get_input_root(&self) -> Option<Rc<dyn IInputRoot>>
The input root of the tree the visual is attached to.
Sourcepub fn get_platform_settings(&self) -> Option<Rc<dyn IPlatformSettings>>
pub fn get_platform_settings(&self) -> Option<Rc<dyn IPlatformSettings>>
The platform settings of the tree the visual is attached to.
Sourcepub fn is_visual_ancestor_of(&self, target: &Visual) -> bool
pub fn is_visual_ancestor_of(&self, target: &Visual) -> bool
Tests whether this visual is an ancestor of target.
Sourcepub fn sort_by_z_index(elements: &[Ref<Visual>]) -> Vec<Ref<Visual>>
pub fn sort_by_z_index(elements: &[Ref<Visual>]) -> Vec<Ref<Visual>>
Sorts visuals for hit testing: by descending Z index, and for equal Z indices by descending position in the input, so that the topmost visual comes first.
Sourcepub fn point_to_client(&self, point: PixelPoint) -> Point
pub fn point_to_client(&self, point: PixelPoint) -> Point
Converts a point from screen to client coordinates.
Panics if the visual does not belong to a visual tree.
Sourcepub fn point_to_screen(&self, point: Point) -> PixelPoint
pub fn point_to_screen(&self, point: Point) -> PixelPoint
Converts a point from client to screen coordinates.
Panics if the visual does not belong to a visual tree.
Sourcepub fn transform_to_visual(&self, to: &Visual) -> Option<Matrix>
pub fn transform_to_visual(&self, to: &Visual) -> Option<Matrix>
Returns a transform that transforms the visual’s coordinates into
the coordinates of the specified to visual, or None if the
visuals don’t share a common ancestor.
Source§impl Visual
impl Visual
Sourcepub fn render(&self, context: &mut DrawingContext<'_>)
pub fn render(&self, context: &mut DrawingContext<'_>)
Renders the visual to a drawing context.
Sourcepub fn on_attached_to_visual_tree_core(&self, e: &VisualTreeAttachmentEventArgs)
pub fn on_attached_to_visual_tree_core(&self, e: &VisualTreeAttachmentEventArgs)
Calls the on_attached_to_visual_tree method for this control and
all of its visual descendants.
Sourcepub fn on_detached_from_visual_tree_core(
&self,
e: &VisualTreeAttachmentEventArgs,
)
pub fn on_detached_from_visual_tree_core( &self, e: &VisualTreeAttachmentEventArgs, )
Calls the on_detached_from_visual_tree method for this control
and all of its visual descendants.
Sourcepub fn on_attached_to_visual_tree(&self, e: &VisualTreeAttachmentEventArgs)
pub fn on_attached_to_visual_tree(&self, e: &VisualTreeAttachmentEventArgs)
Called when the control is added to a rooted visual tree.
Sourcepub fn on_detached_from_visual_tree(&self, e: &VisualTreeAttachmentEventArgs)
pub fn on_detached_from_visual_tree(&self, e: &VisualTreeAttachmentEventArgs)
Called when the control is removed from a rooted visual tree.
Sourcepub fn on_visual_parent_changed(
&self,
old_parent: Option<&Ref<Visual>>,
new_parent: Option<&Ref<Visual>>,
)
pub fn on_visual_parent_changed( &self, old_parent: Option<&Ref<Visual>>, new_parent: Option<&Ref<Visual>>, )
Called when the control’s visual parent changes.
Sourcepub fn bypass_flow_direction_policies(&self) -> bool
pub fn bypass_flow_direction_policies(&self) -> bool
Whether the control ignores the flow direction policies, i.e. is never mirrored.
Sourcepub fn invalidate_mirror_transform(&self)
pub fn invalidate_mirror_transform(&self)
Computes the has_mirror_transform value according to the flow
direction of this visual and its parent.
Sourcepub fn clip_to_bounds_radius(&self) -> Option<CornerRadius>
pub fn clip_to_bounds_radius(&self) -> Option<CornerRadius>
The corner radius the visual clips its content with when
clip_to_bounds is set; None for a plain rectangular clip.
(Upstream: the IVisualWithRoundRectClip interface.)
Sourcepub fn custom_hit_test(&self, point: Point) -> Option<bool>
pub fn custom_hit_test(&self, point: Point) -> Option<bool>
The custom hit test of the visual at a point in its own
coordinates; None when the visual has none and is hit by what
it occupies or draws. (Upstream: the ICustomHitTest interface;
a class implementing it overrides this and the geometry form.)
Sourcepub fn custom_hit_test_geometry(
&self,
geometry: &Ref<Geometry>,
) -> Option<IntersectionResult>
pub fn custom_hit_test_geometry( &self, geometry: &Ref<Geometry>, ) -> Option<IntersectionResult>
The custom hit test of the visual against a geometry in its own
coordinates; None when the visual has none.
Sourcepub fn ensure_initialized_for_visual_brush(&self)
pub fn ensure_initialized_for_visual_brush(&self)
Ensures that the visual is ready to use as the visual in a
visual brush. (Upstream: the IVisualBrushInitialize interface;
a class implementing it overrides this.)
Sourcepub fn create_composition_visual(
&self,
compositor: &Rc<Compositor>,
) -> CompositionDrawListVisual
pub fn create_composition_visual( &self, compositor: &Rc<Compositor>, ) -> CompositionDrawListVisual
Creates the composition visual of the visual on compositor.
Sourcepub fn detach_from_compositor(&self)
pub fn detach_from_compositor(&self)
Releases the composition visual of the visual.
Sourcepub fn synchronize_composition_child_visuals(&self)
pub fn synchronize_composition_child_visuals(&self)
Makes the children of the composition visual match the visual children (in Z order) and the child composition visual.
Sourcepub fn synchronize_composition_properties(&self)
pub fn synchronize_composition_properties(&self)
Copies the properties of the visual to its composition visual.
Source§impl Visual
impl Visual
Sourcepub fn bounds_property() -> &'static DirectProperty<Visual, Rect>
pub fn bounds_property() -> &'static DirectProperty<Visual, Rect>
Defines the Bounds property.
Sourcepub fn clip_to_bounds_property() -> &'static StyledProperty<bool>
pub fn clip_to_bounds_property() -> &'static StyledProperty<bool>
Defines the ClipToBounds property.
Sourcepub fn clip_property() -> &'static StyledProperty<Option<Ref<Geometry>>>
pub fn clip_property() -> &'static StyledProperty<Option<Ref<Geometry>>>
Defines the Clip property.
Sourcepub fn cache_mode_property() -> &'static StyledProperty<Option<Ref<CacheMode>>>
pub fn cache_mode_property() -> &'static StyledProperty<Option<Ref<CacheMode>>>
Defines the CacheMode property.
Sourcepub fn effect_property() -> &'static StyledProperty<Option<Rc<dyn IEffect>>>
pub fn effect_property() -> &'static StyledProperty<Option<Rc<dyn IEffect>>>
Defines the Effect property.
Sourcepub fn opacity_mask_property() -> &'static StyledProperty<Option<Rc<dyn IBrush>>>
pub fn opacity_mask_property() -> &'static StyledProperty<Option<Rc<dyn IBrush>>>
Defines the OpacityMask property.
Sourcepub fn render_transform_property() -> &'static StyledProperty<Option<Rc<dyn ITransform>>>
pub fn render_transform_property() -> &'static StyledProperty<Option<Rc<dyn ITransform>>>
Defines the RenderTransform property.
Sourcepub fn render_transform_origin_property() -> &'static StyledProperty<RelativePoint>
pub fn render_transform_origin_property() -> &'static StyledProperty<RelativePoint>
Defines the RenderTransformOrigin property.
Sourcepub fn is_visible_property() -> &'static StyledProperty<bool>
pub fn is_visible_property() -> &'static StyledProperty<bool>
Defines the IsVisible property.
Sourcepub fn opacity_property() -> &'static StyledProperty<f64>
pub fn opacity_property() -> &'static StyledProperty<f64>
Defines the Opacity property.
Sourcepub fn has_mirror_transform_property() -> &'static DirectProperty<Visual, bool>
pub fn has_mirror_transform_property() -> &'static DirectProperty<Visual, bool>
Defines the HasMirrorTransform property.
Sourcepub fn flow_direction_property() -> &'static AttachedProperty<FlowDirection>
pub fn flow_direction_property() -> &'static AttachedProperty<FlowDirection>
Defines the FlowDirection attached property.
Sourcepub fn visual_parent_property() -> &'static DirectProperty<Visual, Option<Ref<Visual>>>
pub fn visual_parent_property() -> &'static DirectProperty<Visual, Option<Ref<Visual>>>
Defines the VisualParent property.
Sourcepub fn z_index_property() -> &'static StyledProperty<i32>
pub fn z_index_property() -> &'static StyledProperty<i32>
Defines the ZIndex property.
Source§impl Visual
impl Visual
Sourcepub fn construct() -> Self
pub fn construct() -> Self
Creates the class data; see crate::FerroObject::construct.
pub fn new() -> Ref<Self>
Sourcepub fn attached_to_visual_tree(
&self,
handler: impl Fn(&VisualTreeAttachmentEventArgs) + 'static,
) -> Rc<dyn IDisposable>
pub fn attached_to_visual_tree( &self, handler: impl Fn(&VisualTreeAttachmentEventArgs) + 'static, ) -> Rc<dyn IDisposable>
Raised when the control is attached to a rooted visual tree.
Sourcepub fn detached_from_visual_tree(
&self,
handler: impl Fn(&VisualTreeAttachmentEventArgs) + 'static,
) -> Rc<dyn IDisposable>
pub fn detached_from_visual_tree( &self, handler: impl Fn(&VisualTreeAttachmentEventArgs) + 'static, ) -> Rc<dyn IDisposable>
Raised when the control is detached from a rooted visual tree.
Sourcepub fn is_effectively_visible_changed(
&self,
handler: impl Fn() + 'static,
) -> Rc<dyn IDisposable>
pub fn is_effectively_visible_changed( &self, handler: impl Fn() + 'static, ) -> Rc<dyn IDisposable>
Raised when is_effectively_visible changes.
Sourcepub fn set_bounds(&self, value: Rect)
pub fn set_bounds(&self, value: Rect)
Sets the bounds of the control. Called by the layout system.
Sourcepub fn clip_to_bounds(&self) -> bool
pub fn clip_to_bounds(&self) -> bool
Whether the control should be clipped to its bounds.
pub fn set_clip_to_bounds(&self, value: bool)
pub fn set_clip(&self, value: impl Into<Nullable<Geometry>>)
Sourcepub fn cache_mode(&self) -> Option<Ref<CacheMode>>
pub fn cache_mode(&self) -> Option<Ref<CacheMode>>
The cache mode of the visual.
pub fn set_cache_mode(&self, value: impl Into<Nullable<CacheMode>>)
pub fn set_effect(&self, value: Option<Rc<dyn IEffect>>)
Sourcepub fn opacity_mask(&self) -> Option<Rc<dyn IBrush>>
pub fn opacity_mask(&self) -> Option<Rc<dyn IBrush>>
The opacity mask of the control.
pub fn set_opacity_mask(&self, value: Option<Rc<dyn IBrush>>)
Sourcepub fn render_transform(&self) -> Option<Rc<dyn ITransform>>
pub fn render_transform(&self) -> Option<Rc<dyn ITransform>>
The render transform of the control.
pub fn set_render_transform(&self, value: Option<Rc<dyn ITransform>>)
Sourcepub fn render_transform_origin(&self) -> RelativePoint
pub fn render_transform_origin(&self) -> RelativePoint
The transform origin of the control.
pub fn set_render_transform_origin(&self, value: RelativePoint)
Sourcepub fn is_effectively_visible(&self) -> bool
pub fn is_effectively_visible(&self) -> bool
Whether this control and all its parents are visible.
Sourcepub fn is_visible(&self) -> bool
pub fn is_visible(&self) -> bool
Whether this control is visible.
pub fn set_is_visible(&self, value: bool)
pub fn set_opacity(&self, value: f64)
Sourcepub fn has_mirror_transform(&self) -> bool
pub fn has_mirror_transform(&self) -> bool
Whether the control is mirrored relative to its parent because of its flow direction.
Sourcepub fn set_has_mirror_transform(&self, value: bool)
pub fn set_has_mirror_transform(&self, value: bool)
Sets the mirror transform flag.
Sourcepub fn flow_direction(&self) -> FlowDirection
pub fn flow_direction(&self) -> FlowDirection
The text flow direction.
pub fn set_flow_direction(&self, value: FlowDirection)
Sourcepub fn get_flow_direction(visual: &Visual) -> FlowDirection
pub fn get_flow_direction(visual: &Visual) -> FlowDirection
Gets the value of the attached FlowDirection property on a visual.
Sourcepub fn set_flow_direction_on(visual: &Visual, value: FlowDirection)
pub fn set_flow_direction_on(visual: &Visual, value: FlowDirection)
Sets the value of the attached FlowDirection property on a visual.
Sourcepub fn z_index(&self) -> i32
pub fn z_index(&self) -> i32
The Z index of the control.
Controls with a higher Z index appear in front of controls with a lower one. Among controls with the same value, order of appearance in the visual children decides.
pub fn set_z_index(&self, value: i32)
Sourcepub fn visual_children(&self) -> &FerroList<Ref<Visual>>
pub fn visual_children(&self) -> &FerroList<Ref<Visual>>
The control’s child visuals.
Sourcepub fn visual_children_count(&self) -> usize
pub fn visual_children_count(&self) -> usize
The number of visual children, without creating the collection.
Sourcepub fn visual_children_snapshot(&self) -> Option<Rc<Vec<Ref<Visual>>>>
pub fn visual_children_snapshot(&self) -> Option<Rc<Vec<Ref<Visual>>>>
A snapshot of the visual children, without creating the collection.
Sourcepub fn presentation_source(&self) -> Option<Rc<dyn IPresentationSource>>
pub fn presentation_source(&self) -> Option<Rc<dyn IPresentationSource>>
The presentation source the visual is attached to.
Sourcepub fn visual_root(&self) -> Option<Ref<Visual>>
pub fn visual_root(&self) -> Option<Ref<Visual>>
The root of the visual tree, if the control is attached to one.
Sourcepub fn composition_visual(&self) -> Option<CompositionDrawListVisual>
pub fn composition_visual(&self) -> Option<CompositionDrawListVisual>
The composition visual of the visual, while it is attached to a visual tree rendered by a compositor.
Sourcepub fn child_composition_visual(&self) -> Option<Rc<CompositionVisual>>
pub fn child_composition_visual(&self) -> Option<Rc<CompositionVisual>>
The composition visual shown as the last child of the composition
visual of this visual (see ElementComposition).
pub fn set_child_composition_visual(&self, value: Option<Rc<CompositionVisual>>)
Sourcepub fn attach_to_compositor(
&self,
compositor: &Rc<Compositor>,
) -> CompositionDrawListVisual
pub fn attach_to_compositor( &self, compositor: &Rc<Compositor>, ) -> CompositionDrawListVisual
Makes sure the visual has a composition visual on compositor and
returns it.
Sourcepub fn has_non_uniform_z_index_children(&self) -> bool
pub fn has_non_uniform_z_index_children(&self) -> bool
Whether any child has a non-default Z index.
Sourcepub fn is_attached_to_visual_tree(&self) -> bool
pub fn is_attached_to_visual_tree(&self) -> bool
Whether this control is attached to a visual root.
Sourcepub fn visual_parent(&self) -> Option<Ref<Visual>>
pub fn visual_parent(&self) -> Option<Ref<Visual>>
The control’s parent visual.
Sourcepub fn invalidate_visual(&self)
pub fn invalidate_visual(&self)
Invalidates the visual and queues a repaint.
Sourcepub fn affects_render<T: ObjectType + Upcast<Visual>>(
properties: &[&'static FerroProperty],
)
pub fn affects_render<T: ObjectType + Upcast<Visual>>( properties: &[&'static FerroProperty], )
Indicates that a property change should cause invalidate_visual to
be called on objects of class T.
When the value of such a property is a media object that can change (a brush, pen, geometry, transform, effect or image), its invalidation invalidates the visual as well.
Sourcepub fn set_presentation_source_for_root_visual(
&self,
presentation_source: Option<Rc<dyn IPresentationSource>>,
)
pub fn set_presentation_source_for_root_visual( &self, presentation_source: Option<Rc<dyn IPresentationSource>>, )
Attaches or detaches the root visual of a presentation source.
Methods from Deref<Target = StyledElement>§
Sourcepub fn get_logical_ancestors(&self) -> LogicalAncestors ⓘ
pub fn get_logical_ancestors(&self) -> LogicalAncestors ⓘ
Enumerates the ancestors of the element in the logical tree, from its parent to the root.
Sourcepub fn get_self_and_logical_ancestors(&self) -> LogicalAncestors ⓘ
pub fn get_self_and_logical_ancestors(&self) -> LogicalAncestors ⓘ
Enumerates the element and its ancestors in the logical tree.
Sourcepub fn find_logical_ancestor_of_type<T: ObjectType>(
&self,
include_self: bool,
) -> Option<Ref<T>>
pub fn find_logical_ancestor_of_type<T: ObjectType>( &self, include_self: bool, ) -> Option<Ref<T>>
Finds the first logical ancestor of class T, optionally starting
with the element itself.
Sourcepub fn get_logical_children(&self) -> Rc<Vec<Ref<StyledElement>>>
pub fn get_logical_children(&self) -> Rc<Vec<Ref<StyledElement>>>
The logical children of the element.
Sourcepub fn get_logical_descendants(&self) -> LogicalDescendants ⓘ
pub fn get_logical_descendants(&self) -> LogicalDescendants ⓘ
Enumerates the descendants of the element in the logical tree, in depth-first pre-order.
Sourcepub fn get_self_and_logical_descendants(&self) -> LogicalDescendants ⓘ
pub fn get_self_and_logical_descendants(&self) -> LogicalDescendants ⓘ
Enumerates the element and its descendants in the logical tree, in depth-first pre-order.
Sourcepub fn find_logical_descendant_of_type<T: ObjectType>(
&self,
include_self: bool,
) -> Option<Ref<T>>
pub fn find_logical_descendant_of_type<T: ObjectType>( &self, include_self: bool, ) -> Option<Ref<T>>
Finds the first logical descendant of class T (depth first),
optionally starting with the element itself.
Sourcepub fn get_logical_parent(&self) -> Option<Ref<StyledElement>>
pub fn get_logical_parent(&self) -> Option<Ref<StyledElement>>
The logical parent of the element.
Sourcepub fn get_logical_parent_of_type<T: ObjectType>(&self) -> Option<Ref<T>>
pub fn get_logical_parent_of_type<T: ObjectType>(&self) -> Option<Ref<T>>
The logical parent of the element, if it is of class T.
Sourcepub fn get_logical_siblings(&self) -> Rc<Vec<Ref<StyledElement>>>
pub fn get_logical_siblings(&self) -> Rc<Vec<Ref<StyledElement>>>
The children of the logical parent of the element, including the element itself; empty when the element has no logical parent.
Sourcepub fn is_logical_ancestor_of(&self, target: Option<&StyledElement>) -> bool
pub fn is_logical_ancestor_of(&self, target: Option<&StyledElement>) -> bool
Whether the element is a logical ancestor of target.
Sourcepub fn to_ref(&self) -> Ref<StyledElement>
pub fn to_ref(&self) -> Ref<StyledElement>
Returns a strong reference to this object.
Sourcepub fn begin_init(&self)
pub fn begin_init(&self)
Signals the beginning of a batch of initialization: styling is
deferred until the matching end_init.
Sourcepub fn try_end_init(&self) -> Result<(), InitializationError>
pub fn try_end_init(&self) -> Result<(), InitializationError>
Signals the end of a batch of initialization: the element is
styled (if it is attached to a rooted logical tree) and
initialized. A style or control theme that cannot be applied (two
setters for the same property) is an error, the counterpart of
the invalid operation EndInit raises in the managed original;
what follows the failure is skipped. This is the overridable
member; end_init is the form that
panics on the error.
Sourcepub fn logical_children_collection_changed(
&self,
e: &NotifyCollectionChangedEventArgs<'_, Ref<StyledElement>>,
)
pub fn logical_children_collection_changed( &self, e: &NotifyCollectionChangedEventArgs<'_, Ref<StyledElement>>, )
Called when the logical children collection changes.
Sourcepub fn on_attached_to_logical_tree(&self, e: &LogicalTreeAttachmentEventArgs)
pub fn on_attached_to_logical_tree(&self, e: &LogicalTreeAttachmentEventArgs)
Called when the styled element is added to a rooted logical tree.
Sourcepub fn on_detached_from_logical_tree(&self, e: &LogicalTreeAttachmentEventArgs)
pub fn on_detached_from_logical_tree(&self, e: &LogicalTreeAttachmentEventArgs)
Called when the styled element is removed from a rooted logical tree.
Sourcepub fn on_data_context_changed(&self)
pub fn on_data_context_changed(&self)
Called when the data context changes.
Sourcepub fn on_data_context_begin_update(&self)
pub fn on_data_context_begin_update(&self)
Called when the data context begins updating.
Sourcepub fn on_data_context_end_update(&self)
pub fn on_data_context_end_update(&self)
Called when the data context finishes updating.
Sourcepub fn on_initialized(&self)
pub fn on_initialized(&self)
Called when the control finishes initialization.
Sourcepub fn style_key_override(&self) -> &'static TypeInfo
pub fn style_key_override(&self) -> &'static TypeInfo
The type by which the element is styled. Defaults to the element’s own type; override to be styled as a base class.
Sourcepub fn on_control_theme_changed(&self)
pub fn on_control_theme_changed(&self)
Called when the control theme changes.
Sourcepub fn on_templated_parent_control_theme_changed(&self)
pub fn on_templated_parent_control_theme_changed(&self)
Called when the templated parent’s control theme changes.
Sourcepub fn invalidate_styles(&self, recurse: bool)
pub fn invalidate_styles(&self, recurse: bool)
Detaches all styles from the element (and optionally from its inheritance children) so that they are re-applied.
Sourcepub fn is_logical_root(&self) -> bool
pub fn is_logical_root(&self) -> bool
Whether the element is the root of a logical tree.
Sourcepub fn styling_parent(&self) -> Option<StyleHostRef>
pub fn styling_parent(&self) -> Option<StyleHostRef>
The parent style host of the element: by default the inheritance parent, when it is a styled element. The root of a tree overrides this to return the host of the global styles.
Sourcepub fn notify_child_resources_changed(&self, e: ResourcesChangedEventArgs)
pub fn notify_child_resources_changed(&self, e: ResourcesChangedEventArgs)
Notifies the children of the element that the resources visible to them have changed. The base method notifies the logical children.
Sourcepub fn child_index_provider(&self) -> Option<Rc<dyn IChildIndexProvider>>
pub fn child_index_provider(&self) -> Option<Rc<dyn IChildIndexProvider>>
The child index provider implemented by the element, if any. Used to match the children of the element by their position.
Sourcepub fn is_theme_variant_root(&self) -> bool
pub fn is_theme_variant_root(&self) -> bool
Whether the element is a root of theme variant resolution: at a root the default theme variant resolves to the variant of the platform instead of being inherited.
Sourcepub fn attached_to_logical_tree(
&self,
handler: impl Fn(&LogicalTreeAttachmentEventArgs) + 'static,
) -> Rc<dyn IDisposable>
pub fn attached_to_logical_tree( &self, handler: impl Fn(&LogicalTreeAttachmentEventArgs) + 'static, ) -> Rc<dyn IDisposable>
Raised when the styled element is attached to a rooted logical tree.
Sourcepub fn detached_from_logical_tree(
&self,
handler: impl Fn(&LogicalTreeAttachmentEventArgs) + 'static,
) -> Rc<dyn IDisposable>
pub fn detached_from_logical_tree( &self, handler: impl Fn(&LogicalTreeAttachmentEventArgs) + 'static, ) -> Rc<dyn IDisposable>
Raised when the styled element is detached from a rooted logical tree.
Sourcepub fn data_context_changed(
&self,
handler: impl Fn() + 'static,
) -> Rc<dyn IDisposable>
pub fn data_context_changed( &self, handler: impl Fn() + 'static, ) -> Rc<dyn IDisposable>
Occurs when the data context property changes.
Sourcepub fn initialized(&self, handler: impl Fn() + 'static) -> Rc<dyn IDisposable>
pub fn initialized(&self, handler: impl Fn() + 'static) -> Rc<dyn IDisposable>
Occurs when the styled element has finished initialization.
Sourcepub fn resources_changed(
&self,
handler: impl Fn(&ResourcesChangedEventArgs) + 'static,
) -> Rc<dyn IDisposable>
pub fn resources_changed( &self, handler: impl Fn(&ResourcesChangedEventArgs) + 'static, ) -> Rc<dyn IDisposable>
Raised when the resources change on the element or an ancestor of the element.
Sourcepub fn actual_theme_variant_changed(
&self,
handler: impl Fn() + 'static,
) -> Rc<dyn IDisposable>
pub fn actual_theme_variant_changed( &self, handler: impl Fn() + 'static, ) -> Rc<dyn IDisposable>
Raised when the theme variant in effect for the element changes.
Sourcepub fn name(&self) -> Option<String>
pub fn name(&self) -> Option<String>
The name of the styled element.
An element’s name is used to uniquely identify it within its name scope. Once the element has been styled its name may not be changed.
pub fn set_name(&self, value: Option<String>)
Sourcepub fn classes(&self) -> Classes
pub fn classes(&self) -> Classes
The styled element’s classes.
The collection is returned by handle: clones refer to the same collection.
Sourcepub fn pseudo_classes(&self) -> &dyn IPseudoClasses
pub fn pseudo_classes(&self) -> &dyn IPseudoClasses
The pseudoclasses of the element, settable by the control itself.
Sourcepub fn data_context(&self) -> Option<BoxedValue>
pub fn data_context(&self) -> Option<BoxedValue>
The control’s data context.
The data context is an inherited property that specifies the default object that will be used for data binding.
pub fn set_data_context(&self, value: Option<BoxedValue>)
Sourcepub fn is_initialized(&self) -> bool
pub fn is_initialized(&self) -> bool
Whether the element has finished initialization.
For more information about when this happens, see the initialized
event.
Sourcepub fn styles(&self) -> Ref<Styles>
pub fn styles(&self) -> Ref<Styles>
The styles for the styled element.
Styles for the entire application are added to the application’s styles collection.
Sourcepub fn is_styles_initialized(&self) -> bool
pub fn is_styles_initialized(&self) -> bool
Whether the styles collection of the element has been created.
Sourcepub fn resources(&self) -> Ref<ResourceDictionary>
pub fn resources(&self) -> Ref<ResourceDictionary>
The styled element’s resource dictionary.
pub fn set_resources(&self, value: Ref<ResourceDictionary>)
Sourcepub fn theme(&self) -> Option<Ref<ControlTheme>>
pub fn theme(&self) -> Option<Ref<ControlTheme>>
The theme to be applied to the element.
By default the theme is looked up as a resource keyed by the element’s style key; setting this property takes precedence over that lookup.
pub fn set_theme(&self, value: impl Into<Nullable<ControlTheme>>)
Sourcepub fn actual_theme_variant(&self) -> Option<ThemeVariant>
pub fn actual_theme_variant(&self) -> Option<ThemeVariant>
The UI theme variant that is currently used by the element, which
might be different than the requested theme variant. None until a
theme variant has been established for the element or an ancestor.
Sourcepub fn has_resources(&self) -> bool
pub fn has_resources(&self) -> bool
Whether the element or its styles have resources.
Sourcepub fn try_get_resource(
&self,
key: &ResourceKey,
theme: Option<&ThemeVariant>,
) -> Option<ResourceValue>
pub fn try_get_resource( &self, key: &ResourceKey, theme: Option<&ThemeVariant>, ) -> Option<ResourceValue>
Tries to find a resource within the element: in its resource dictionary, then in its styles.
Sourcepub fn try_find_resource(
&self,
key: &ResourceKey,
theme: Option<&ThemeVariant>,
) -> Option<ResourceValue>
pub fn try_find_resource( &self, key: &ResourceKey, theme: Option<&ThemeVariant>, ) -> Option<ResourceValue>
Tries to find a resource by searching up the logical tree and then the global styles.
Sourcepub fn find_resource(&self, key: &ResourceKey) -> ResourceValue
pub fn find_resource(&self, key: &ResourceKey) -> ResourceValue
Finds a resource by searching up the logical tree and then the global styles. Returns the unset value marker if it is not found.
Sourcepub fn templated_parent(&self) -> Option<Ref<FerroObject>>
pub fn templated_parent(&self) -> Option<Ref<FerroObject>>
The styled element whose lookless template this element is part of.
Sourcepub fn set_templated_parent(&self, value: impl Into<Nullable<FerroObject>>)
pub fn set_templated_parent(&self, value: impl Into<Nullable<FerroObject>>)
Sets the templated parent. Called by the template that creates the element.
Sourcepub fn logical_children(&self) -> &FerroList<Ref<StyledElement>>
pub fn logical_children(&self) -> &FerroList<Ref<StyledElement>>
The styled element’s logical children.
Sourcepub fn is_attached_to_logical_tree(&self) -> bool
pub fn is_attached_to_logical_tree(&self) -> bool
Whether the element is attached to a rooted logical tree.
Sourcepub fn parent(&self) -> Option<Ref<StyledElement>>
pub fn parent(&self) -> Option<Ref<StyledElement>>
The styled element’s logical parent.
Sourcepub fn apply_styling(&self) -> bool
pub fn apply_styling(&self) -> bool
Applies styling to the control if the control is initialized and styling is not already applied.
The styling system will automatically apply styling when required, so this method need only be called by tests or in rare special cases.
Returns true if styling is applied to the control, false if the control is still initializing.
Sourcepub fn try_apply_styling(&self) -> Result<bool, DuplicateSetterError>
pub fn try_apply_styling(&self) -> Result<bool, DuplicateSetterError>
As apply_styling, reporting a style or
control theme that cannot be applied (two setters for the same
property: the invalid operation of the managed original) instead of
panicking. After an error the styling pass is ended and the element
is not marked as styled, as when the managed original throws.
Sourcepub fn end_init(&self)
pub fn end_init(&self)
Signals the end of a batch of initialization
(try_end_init). A style or control theme that
cannot be applied panics with the message of the error.
Sourcepub fn initialize_if_needed(&self)
pub fn initialize_if_needed(&self)
Marks the element as initialized and raises the initialization notifications, if initialization is complete.
Sourcepub fn set_parent(&self, parent: impl Into<Nullable<StyledElement>>)
pub fn set_parent(&self, parent: impl Into<Nullable<StyledElement>>)
Sets the element’s logical parent.
You should not usually need to call this method: it is called when an element is added to or removed from a logical children collection.
Sourcepub fn notify_attached_to_logical_tree(
&self,
e: &LogicalTreeAttachmentEventArgs,
)
pub fn notify_attached_to_logical_tree( &self, e: &LogicalTreeAttachmentEventArgs, )
Notifies the element that it has been attached to a rooted logical tree. Called by a parent for children that are part of its logical tree without being in its logical children collection (the template child of a templated control).
Sourcepub fn notify_detached_from_logical_tree(
&self,
e: &LogicalTreeAttachmentEventArgs,
)
pub fn notify_detached_from_logical_tree( &self, e: &LogicalTreeAttachmentEventArgs, )
Notifies the element that it has been detached from a rooted logical
tree. See notify_attached_to_logical_tree.
Sourcepub fn get_effective_theme(&self) -> Option<Ref<ControlTheme>>
pub fn get_effective_theme(&self) -> Option<Ref<ControlTheme>>
The theme in effect for the element: the Theme property if set,
otherwise the control theme resource keyed by the element’s style key
that is visible to the element (a resource holding a
Ref<ControlTheme>).
Sourcepub fn styles_added(&self, styles: &[Rc<dyn IStyle>])
pub fn styles_added(&self, styles: &[Rc<dyn IStyle>])
Called when styles are added to the styles collection of the element or a nested styles collection.
Sourcepub fn styles_removed(&self, styles: &[Rc<dyn IStyle>])
pub fn styles_removed(&self, styles: &[Rc<dyn IStyle>])
Called when styles are removed from the styles collection of the element or a nested styles collection.
Sourcepub fn notify_resources_changed(
&self,
e: ResourcesChangedEventArgs,
propagate: bool,
)
pub fn notify_resources_changed( &self, e: ResourcesChangedEventArgs, propagate: bool, )
Notifies the element, and with propagate its children, that the
resources visible to it have changed.
Sourcepub fn set_data_context_with_priority(
&self,
value: Option<BoxedValue>,
priority: BindingPriority,
) -> Option<Rc<dyn IDisposable>>
pub fn set_data_context_with_priority( &self, value: Option<BoxedValue>, priority: BindingPriority, ) -> Option<Rc<dyn IDisposable>>
The priority-aware setter used by templates.
Sourcepub fn bind_class(
&self,
class_name: &str,
source: &dyn BindingBase,
anchor: Option<&Ref<FerroObject>>,
) -> Rc<dyn BindingExpressionBase>
pub fn bind_class( &self, class_name: &str, source: &dyn BindingBase, anchor: Option<&Ref<FerroObject>>, ) -> Rc<dyn BindingExpressionBase>
Binds the presence of the class class_name on this element to
source. anchor provides the context the binding locates its source
with when the element cannot.
Methods from Deref<Target = Animatable>§
Sourcepub fn to_ref(&self) -> Ref<Animatable>
pub fn to_ref(&self) -> Ref<Animatable>
Returns a strong reference to this object.
Sourcepub fn clock(&self) -> Option<Rc<dyn IClock>>
pub fn clock(&self) -> Option<Rc<dyn IClock>>
The clock which controls the animations and transitions on the object and, by inheritance, on its descendants. The global clock is used when there is none.
pub fn set_clock(&self, value: Option<Rc<dyn IClock>>)
Sourcepub fn transitions(&self) -> Option<Transitions>
pub fn transitions(&self) -> Option<Transitions>
The property transitions of the object.
pub fn set_transitions(&self, value: Option<Transitions>)
Sourcepub fn enable_transitions(&self)
pub fn enable_transitions(&self)
Enables transitions for the object.
This is called when the object is attached to the visual tree, so that transitions do not run on its initial property values.
Sourcepub fn disable_transitions(&self)
pub fn disable_transitions(&self)
Disables transitions for the object.
This is called when the object is detached from the visual tree.
Sourcepub fn try_get_transition_instance(
&self,
transition: &Rc<dyn ITransition>,
) -> Option<Rc<TransitionInstance>>
pub fn try_get_transition_instance( &self, transition: &Rc<dyn ITransition>, ) -> Option<Rc<TransitionInstance>>
The progress of the transition that transition is currently
running on this object: the instance created when the transition was
last applied. None when the transition is not one of the object’s
transitions or has not been applied.
Methods from Deref<Target = FerroObject>§
Sourcepub fn dispatcher(&self) -> &Arc<Dispatcher> ⓘ
pub fn dispatcher(&self) -> &Arc<Dispatcher> ⓘ
Returns the Dispatcher that this object is associated with: the
dispatcher of the thread that owns the object.
Sourcepub fn check_access(&self) -> bool
pub fn check_access(&self) -> bool
Returns whether the calling thread is the thread that owns this object.
Sourcepub fn verify_access(&self)
pub fn verify_access(&self)
Sourcepub fn to_ref(&self) -> Ref<FerroObject>
pub fn to_ref(&self) -> Ref<FerroObject>
A strong reference to this object.
Sourcepub fn to_weak(&self) -> WeakRef<FerroObject>
pub fn to_weak(&self) -> WeakRef<FerroObject>
A weak reference to this object.
Sourcepub fn is<T: ObjectType>(&self) -> bool
pub fn is<T: ObjectType>(&self) -> bool
Whether the object is of class T or a class derived from it.
Sourcepub fn downcast_ref<T: ObjectType>(&self) -> Option<&T>
pub fn downcast_ref<T: ObjectType>(&self) -> Option<&T>
Returns the object viewed as class T if it is one.
Sourcepub fn on_property_changed(&self, change: &FerroPropertyChangedEventArgs<'_>)
pub fn on_property_changed(&self, change: &FerroPropertyChangedEventArgs<'_>)
Invokes the on_property_changed virtual member.
Sourcepub fn inheritance_parent(&self) -> Option<Ref<FerroObject>>
pub fn inheritance_parent(&self) -> Option<Ref<FerroObject>>
The parent object that inherited property values are inherited from.
Sourcepub fn set_inheritance_parent(&self, value: impl Into<Nullable<FerroObject>>)
pub fn set_inheritance_parent(&self, value: impl Into<Nullable<FerroObject>>)
Sets the parent object that inherited property values are inherited from.
Sourcepub fn clear_value<T: PropertyValue>(
&self,
property: &'static StyledProperty<T>,
)
pub fn clear_value<T: PropertyValue>( &self, property: &'static StyledProperty<T>, )
Clears a property’s local value.
Sourcepub fn get_value<T: PropertyValue>(
&self,
property: &'static StyledProperty<T>,
) -> T
pub fn get_value<T: PropertyValue>( &self, property: &'static StyledProperty<T>, ) -> T
Gets a property value.
Sourcepub fn get_base_value<T: PropertyValue>(
&self,
property: &'static StyledProperty<T>,
) -> Option<T>
pub fn get_base_value<T: PropertyValue>( &self, property: &'static StyledProperty<T>, ) -> Option<T>
Gets a property’s base value: the value excluding animated values.
Returns None if the value comes from inheritance or the default.
Sourcepub fn is_animating(&self, property: &FerroProperty) -> bool
pub fn is_animating(&self, property: &FerroProperty) -> bool
Checks whether a property is animating.
Sourcepub fn is_set(&self, property: &FerroProperty) -> bool
pub fn is_set(&self, property: &FerroProperty) -> bool
Checks whether a styled property has a value assigned to it or a binding targeting it.
Sourcepub fn set_value<T: PropertyValue>(
&self,
property: &'static StyledProperty<T>,
value: T,
)
pub fn set_value<T: PropertyValue>( &self, property: &'static StyledProperty<T>, value: T, )
Sets a property value with local value priority.
Sourcepub fn set_value_with_priority<T: PropertyValue>(
&self,
property: &'static StyledProperty<T>,
value: T,
priority: BindingPriority,
) -> Option<Rc<dyn IDisposable>>
pub fn set_value_with_priority<T: PropertyValue>( &self, property: &'static StyledProperty<T>, value: T, priority: BindingPriority, ) -> Option<Rc<dyn IDisposable>>
Sets a property value with the given priority. For priorities other than local value, disposing the returned handle removes the value.
Sourcepub fn set_current_value<T: PropertyValue>(
&self,
property: &'static StyledProperty<T>,
value: T,
)
pub fn set_current_value<T: PropertyValue>( &self, property: &'static StyledProperty<T>, value: T, )
Sets the value of a property without changing its value source.
This is used by a component that programmatically sets the value of one of its own properties without disabling an application’s declared use of the property: the effective value changes, but existing bindings and styles continue to work. The new value has the property’s current priority.
Sourcepub fn bind_binding(
&self,
property: &'static FerroProperty,
binding: &dyn BindingBase,
) -> Rc<dyn BindingExpressionBase>
pub fn bind_binding( &self, property: &'static FerroProperty, binding: &dyn BindingBase, ) -> Rc<dyn BindingExpressionBase>
Binds a property to a binding. Returns the binding expression which represents the binding instance on this object.
Sourcepub fn bind_binding_with_anchor(
&self,
property: &'static FerroProperty,
binding: &dyn BindingBase,
anchor: Option<&Ref<FerroObject>>,
) -> Rc<dyn BindingExpressionBase>
pub fn bind_binding_with_anchor( &self, property: &'static FerroProperty, binding: &dyn BindingBase, anchor: Option<&Ref<FerroObject>>, ) -> Rc<dyn BindingExpressionBase>
Binds a property to a binding.
Some bindings need context to locate their source: a data context,
named elements or resources. If this object is not an element, or is
not yet attached to the tree, anchor provides that context.
Sourcepub fn indexer(&self, binding: &IndexerDescriptor) -> IndexerBinding
pub fn indexer(&self, binding: &IndexerDescriptor) -> IndexerBinding
Gets a binding to a property of this object: the indexer taking an
IndexerDescriptor
(source[!Property] is source.indexer(&Property.bind())).
Sourcepub fn bind_indexer(
&self,
binding: &IndexerDescriptor,
value: &dyn BindingBase,
) -> Rc<dyn BindingExpressionBase>
pub fn bind_indexer( &self, binding: &IndexerDescriptor, value: &dyn BindingBase, ) -> Rc<dyn BindingExpressionBase>
Binds the property of an
IndexerDescriptor to a binding:
the setter of the indexer (target[!Property] = binding is
target.bind_indexer(&Property.bind(), &binding)).
Sourcepub fn bind<T: PropertyValue>(
&self,
property: &'static StyledProperty<T>,
source: Rc<dyn IObservable<T>>,
priority: BindingPriority,
) -> Rc<dyn IDisposable>
pub fn bind<T: PropertyValue>( &self, property: &'static StyledProperty<T>, source: Rc<dyn IObservable<T>>, priority: BindingPriority, ) -> Rc<dyn IDisposable>
Binds a property to an observable.
Sourcepub fn bind_value<T: PropertyValue>(
&self,
property: &'static StyledProperty<T>,
source: Rc<dyn IObservable<BindingValue<T>>>,
priority: BindingPriority,
) -> Rc<dyn IDisposable>
pub fn bind_value<T: PropertyValue>( &self, property: &'static StyledProperty<T>, source: Rc<dyn IObservable<BindingValue<T>>>, priority: BindingPriority, ) -> Rc<dyn IDisposable>
Binds a property to an observable of binding values.
Sourcepub fn bind_untyped<T: PropertyValue>(
&self,
property: &'static StyledProperty<T>,
source: Rc<dyn IObservable<BoxedValue>>,
priority: BindingPriority,
) -> Rc<dyn IDisposable>
pub fn bind_untyped<T: PropertyValue>( &self, property: &'static StyledProperty<T>, source: Rc<dyn IObservable<BoxedValue>>, priority: BindingPriority, ) -> Rc<dyn IDisposable>
Binds a property to an observable of untyped values.
Sourcepub fn coerce_value(&self, property: &'static FerroProperty)
pub fn coerce_value(&self, property: &'static FerroProperty)
Coerces the specified property.
Sourcepub fn get_direct_value<T: PropertyValue>(
&self,
property: &'static DirectPropertyBase<T>,
) -> T
pub fn get_direct_value<T: PropertyValue>( &self, property: &'static DirectPropertyBase<T>, ) -> T
Gets a direct property value.
Sourcepub fn set_direct_value<T: PropertyValue>(
&self,
property: &'static DirectPropertyBase<T>,
value: T,
)
pub fn set_direct_value<T: PropertyValue>( &self, property: &'static DirectPropertyBase<T>, value: T, )
Sets a direct property value.
Sourcepub fn clear_direct_value<T: PropertyValue>(
&self,
property: &'static DirectPropertyBase<T>,
)
pub fn clear_direct_value<T: PropertyValue>( &self, property: &'static DirectPropertyBase<T>, )
Resets a direct property to its unset value.
Sourcepub fn bind_direct<T: PropertyValue>(
&self,
property: &'static DirectPropertyBase<T>,
source: Rc<dyn IObservable<T>>,
) -> Rc<dyn IDisposable>
pub fn bind_direct<T: PropertyValue>( &self, property: &'static DirectPropertyBase<T>, source: Rc<dyn IObservable<T>>, ) -> Rc<dyn IDisposable>
Binds a direct property to an observable.
Sourcepub fn bind_direct_value<T: PropertyValue>(
&self,
property: &'static DirectPropertyBase<T>,
source: Rc<dyn IObservable<BindingValue<T>>>,
) -> Rc<dyn IDisposable>
pub fn bind_direct_value<T: PropertyValue>( &self, property: &'static DirectPropertyBase<T>, source: Rc<dyn IObservable<BindingValue<T>>>, ) -> Rc<dyn IDisposable>
Binds a direct property to an observable of binding values.
Sourcepub fn bind_direct_untyped<T: PropertyValue>(
&self,
property: &'static DirectPropertyBase<T>,
source: Rc<dyn IObservable<BoxedValue>>,
) -> Rc<dyn IDisposable>
pub fn bind_direct_untyped<T: PropertyValue>( &self, property: &'static DirectPropertyBase<T>, source: Rc<dyn IObservable<BoxedValue>>, ) -> Rc<dyn IDisposable>
Binds a direct property to an observable of untyped values.
Sourcepub fn set_and_raise<T: PropertyValue>(
&self,
property: &'static DirectPropertyBase<T>,
field: &RefCell<T>,
value: T,
) -> bool
pub fn set_and_raise<T: PropertyValue>( &self, property: &'static DirectPropertyBase<T>, field: &RefCell<T>, value: T, ) -> bool
Sets the backing field of a direct property, raising a change notification if the value changed. Returns true if it changed.
Sourcepub fn set_and_raise_cell<T: PropertyValue + Copy>(
&self,
property: &'static DirectPropertyBase<T>,
field: &Cell<T>,
value: T,
) -> bool
pub fn set_and_raise_cell<T: PropertyValue + Copy>( &self, property: &'static DirectPropertyBase<T>, field: &Cell<T>, value: T, ) -> bool
set_and_raise for Copy values stored in a
Cell.
Sourcepub fn get_value_untyped(&self, property: &'static FerroProperty) -> BoxedValue
pub fn get_value_untyped(&self, property: &'static FerroProperty) -> BoxedValue
Gets a property value as an untyped value.
Sourcepub fn set_value_untyped(
&self,
property: &'static FerroProperty,
value: &dyn Any,
priority: BindingPriority,
) -> Option<Rc<dyn IDisposable>>
pub fn set_value_untyped( &self, property: &'static FerroProperty, value: &dyn Any, priority: BindingPriority, ) -> Option<Rc<dyn IDisposable>>
Sets a property from an untyped value, which must hold exactly the property’s value type or the unset marker.
Sourcepub fn set_current_value_untyped(
&self,
property: &'static FerroProperty,
value: &dyn Any,
)
pub fn set_current_value_untyped( &self, property: &'static FerroProperty, value: &dyn Any, )
set_current_value with an untyped value.
Sourcepub fn clear_value_untyped(&self, property: &'static FerroProperty)
pub fn clear_value_untyped(&self, property: &'static FerroProperty)
Clears a property’s local value.
Sourcepub fn bind_property_untyped(
&self,
property: &'static FerroProperty,
source: Rc<dyn IObservable<BoxedValue>>,
priority: BindingPriority,
) -> Rc<dyn IDisposable>
pub fn bind_property_untyped( &self, property: &'static FerroProperty, source: Rc<dyn IObservable<BoxedValue>>, priority: BindingPriority, ) -> Rc<dyn IDisposable>
Binds a property to an observable of untyped values.
Sourcepub fn property_changed(
&self,
handler: impl Fn(&FerroPropertyChangedEventArgs<'_>) + 'static,
) -> Rc<dyn IDisposable>
pub fn property_changed( &self, handler: impl Fn(&FerroPropertyChangedEventArgs<'_>) + 'static, ) -> Rc<dyn IDisposable>
Subscribes to property changes on this object. Disposing the returned handle unsubscribes.
Sourcepub fn add_property_changed_handler(
&self,
handler: Rc<dyn Fn(&FerroPropertyChangedEventArgs<'_>)>,
) -> u64
pub fn add_property_changed_handler( &self, handler: Rc<dyn Fn(&FerroPropertyChangedEventArgs<'_>)>, ) -> u64
Subscribes handler to property changes on this object and returns
the token that remove_property_changed_handler
takes: property_changed for a subscriber
that keeps the object and the token itself, so that no handle is made.
Sourcepub fn remove_property_changed_handler(&self, token: u64) -> bool
pub fn remove_property_changed_handler(&self, token: u64) -> bool
Ends a subscription of add_property_changed_handler.
Sourcepub fn property_changed_subscriber_count(&self) -> usize
pub fn property_changed_subscriber_count(&self) -> usize
The number of subscribers to property changes on this object (a diagnostics member, used by tests to verify that subscriptions are released).
Sourcepub fn raise_property_changed<T: PropertyValue>(
&self,
property: &'static FerroProperty,
old_value: Option<&T>,
new_value: &T,
priority: BindingPriority,
is_effective_value: bool,
)
pub fn raise_property_changed<T: PropertyValue>( &self, property: &'static FerroProperty, old_value: Option<&T>, new_value: &T, priority: BindingPriority, is_effective_value: bool, )
Raises a property changed notification.
Sourcepub fn raise_direct_property_changed<T: PropertyValue>(
&self,
property: &'static DirectPropertyBase<T>,
old_value: &T,
new_value: &T,
)
pub fn raise_direct_property_changed<T: PropertyValue>( &self, property: &'static DirectPropertyBase<T>, old_value: &T, new_value: &T, )
Raises a property changed notification for a direct property.
Trait Implementations§
Source§impl Deref for Visual
impl Deref for Visual
Source§type Target = StyledElement
type Target = StyledElement
Source§fn deref(&self) -> &StyledElement
fn deref(&self) -> &StyledElement
Source§impl FerroObjectImpl for Visual
impl FerroObjectImpl for Visual
Source§fn constructed(this: &Self)
fn constructed(this: &Self)
parent_constructed first.Source§fn on_property_changed(this: &Self, change: &FerroPropertyChangedEventArgs<'_>)
fn on_property_changed(this: &Self, change: &FerroPropertyChangedEventArgs<'_>)
Source§fn on_property_changed_core(
this: &Self,
change: &FerroPropertyChangedEventArgs<'_>,
)
fn on_property_changed_core( this: &Self, change: &FerroPropertyChangedEventArgs<'_>, )
on_property_changed instead.Source§fn update_data_validation(
this: &Self,
property: &'static FerroProperty,
state: BindingValueType,
error: Option<&BindingError>,
)
fn update_data_validation( this: &Self, property: &'static FerroProperty, state: BindingValueType, error: Option<&BindingError>, )
Source§impl ObjectType for Visual
impl ObjectType for Visual
Source§type Parent = StyledElement
type Parent = StyledElement
Source§type VTable = VisualVTable
type VTable = VisualVTable
Source§fn vtable() -> &'static Self::VTable
fn vtable() -> &'static Self::VTable
Self.Source§fn register_class()
fn register_class()
Source§impl StyledElementImpl for Visual
impl StyledElementImpl for Visual
Source§fn logical_children_collection_changed(
this: &Self,
e: &NotifyCollectionChangedEventArgs<'_, Ref<StyledElement>>,
)
fn logical_children_collection_changed( this: &Self, e: &NotifyCollectionChangedEventArgs<'_, Ref<StyledElement>>, )
Source§fn on_templated_parent_control_theme_changed(this: &Self)
fn on_templated_parent_control_theme_changed(this: &Self)
Source§fn begin_init(this: &Self)
fn begin_init(this: &Self)
end_init.Source§fn try_end_init(this: &Self) -> Result<(), InitializationError>
fn try_end_init(this: &Self) -> Result<(), InitializationError>
EndInit raises in the managed original;
what follows the failure is skipped. This is the overridable
member; end_init is the form that
panics on the error.Source§fn on_attached_to_logical_tree(this: &Self, e: &LogicalTreeAttachmentEventArgs)
fn on_attached_to_logical_tree(this: &Self, e: &LogicalTreeAttachmentEventArgs)
Source§fn on_detached_from_logical_tree(
this: &Self,
e: &LogicalTreeAttachmentEventArgs,
)
fn on_detached_from_logical_tree( this: &Self, e: &LogicalTreeAttachmentEventArgs, )
Source§fn on_data_context_changed(this: &Self)
fn on_data_context_changed(this: &Self)
Source§fn on_data_context_begin_update(this: &Self)
fn on_data_context_begin_update(this: &Self)
Source§fn on_data_context_end_update(this: &Self)
fn on_data_context_end_update(this: &Self)
Source§fn on_initialized(this: &Self)
fn on_initialized(this: &Self)
Source§fn style_key_override(this: &Self) -> &'static TypeInfo
fn style_key_override(this: &Self) -> &'static TypeInfo
Source§fn on_control_theme_changed(this: &Self)
fn on_control_theme_changed(this: &Self)
Source§fn invalidate_styles(this: &Self, recurse: bool)
fn invalidate_styles(this: &Self, recurse: bool)
Source§fn is_logical_root(this: &Self) -> bool
fn is_logical_root(this: &Self) -> bool
Source§fn styling_parent(this: &Self) -> Option<StyleHostRef>
fn styling_parent(this: &Self) -> Option<StyleHostRef>
Source§fn notify_child_resources_changed(this: &Self, e: ResourcesChangedEventArgs)
fn notify_child_resources_changed(this: &Self, e: ResourcesChangedEventArgs)
Source§fn child_index_provider(this: &Self) -> Option<Rc<dyn IChildIndexProvider>>
fn child_index_provider(this: &Self) -> Option<Rc<dyn IChildIndexProvider>>
Source§fn is_theme_variant_root(this: &Self) -> bool
fn is_theme_variant_root(this: &Self) -> bool
impl<T: VisualImpl> Subclassable<T> for Visualwhere
StyledElement: Subclassable<T>,
Source§impl VisualImpl for Visual
impl VisualImpl for Visual
Source§fn render(_this: &Self, _context: &mut DrawingContext<'_>)
fn render(_this: &Self, _context: &mut DrawingContext<'_>)
Source§fn on_attached_to_visual_tree_core(
this: &Self,
e: &VisualTreeAttachmentEventArgs,
)
fn on_attached_to_visual_tree_core( this: &Self, e: &VisualTreeAttachmentEventArgs, )
on_attached_to_visual_tree method for this control and
all of its visual descendants.Source§fn on_detached_from_visual_tree_core(
this: &Self,
e: &VisualTreeAttachmentEventArgs,
)
fn on_detached_from_visual_tree_core( this: &Self, e: &VisualTreeAttachmentEventArgs, )
on_detached_from_visual_tree method for this control
and all of its visual descendants.Source§fn on_attached_to_visual_tree(_this: &Self, _e: &VisualTreeAttachmentEventArgs)
fn on_attached_to_visual_tree(_this: &Self, _e: &VisualTreeAttachmentEventArgs)
Source§fn on_detached_from_visual_tree(
_this: &Self,
_e: &VisualTreeAttachmentEventArgs,
)
fn on_detached_from_visual_tree( _this: &Self, _e: &VisualTreeAttachmentEventArgs, )
Source§fn on_visual_parent_changed(
this: &Self,
old_parent: Option<&Ref<Visual>>,
new_parent: Option<&Ref<Visual>>,
)
fn on_visual_parent_changed( this: &Self, old_parent: Option<&Ref<Visual>>, new_parent: Option<&Ref<Visual>>, )
Source§fn bypass_flow_direction_policies(_this: &Self) -> bool
fn bypass_flow_direction_policies(_this: &Self) -> bool
Source§fn clip_to_bounds_radius(_this: &Self) -> Option<CornerRadius>
fn clip_to_bounds_radius(_this: &Self) -> Option<CornerRadius>
clip_to_bounds is set; None for a plain rectangular clip.
(Upstream: the IVisualWithRoundRectClip interface.)Source§fn custom_hit_test(_this: &Self, _point: Point) -> Option<bool>
fn custom_hit_test(_this: &Self, _point: Point) -> Option<bool>
None when the visual has none and is hit by what
it occupies or draws. (Upstream: the ICustomHitTest interface;
a class implementing it overrides this and the geometry form.)Source§fn custom_hit_test_geometry(
_this: &Self,
_geometry: &Ref<Geometry>,
) -> Option<IntersectionResult>
fn custom_hit_test_geometry( _this: &Self, _geometry: &Ref<Geometry>, ) -> Option<IntersectionResult>
None when the visual has none.Source§fn ensure_initialized_for_visual_brush(_this: &Self)
fn ensure_initialized_for_visual_brush(_this: &Self)
IVisualBrushInitialize interface;
a class implementing it overrides this.)Source§fn create_composition_visual(
this: &Self,
compositor: &Rc<Compositor>,
) -> CompositionDrawListVisual
fn create_composition_visual( this: &Self, compositor: &Rc<Compositor>, ) -> CompositionDrawListVisual
compositor.Source§fn detach_from_compositor(this: &Self)
fn detach_from_compositor(this: &Self)
Source§fn synchronize_composition_child_visuals(this: &Self)
fn synchronize_composition_child_visuals(this: &Self)
Source§fn synchronize_composition_properties(this: &Self)
fn synchronize_composition_properties(this: &Self)
Source§fn invalidate_mirror_transform(this: &Self)
fn invalidate_mirror_transform(this: &Self)
has_mirror_transform value according to the flow
direction of this visual and its parent.Auto Trait Implementations§
impl !Freeze for Visual
impl !RefUnwindSafe for Visual
impl !Send for Visual
impl !Sync for Visual
impl !UnwindSafe for Visual
impl Unpin for Visual
impl UnsafeUnpin for Visual
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> ClassDefaults for Twhere
T: ?Sized,
impl<T> ClassDefaults for Twhere
T: ?Sized,
Source§fn static_constructor()
fn static_constructor()
affects_render, metadata
overrides). Read more