pub struct Separator { /* private fields */ }Expand description
A thin horizontal or vertical divider line.
When no explicit colour is set via with_color,
the separator reads its colour from the active theme’s separator field at
paint time, so it automatically adapts to dark / light mode.
Implementations§
Source§impl Separator
impl Separator
Sourcepub fn horizontal() -> Self
pub fn horizontal() -> Self
Create a horizontal separator (the common case).
pub fn with_line_inset(self, m: f64) -> Self
pub fn with_color(self, c: Color) -> Self
pub fn with_margin(self, m: Insets) -> Self
pub fn with_h_anchor(self, h: HAnchor) -> Self
pub fn with_v_anchor(self, v: VAnchor) -> Self
pub fn with_min_size(self, s: Size) -> Self
pub fn with_max_size(self, s: Size) -> Self
Trait Implementations§
Source§impl Widget for Separator
impl Widget for Separator
Source§fn type_name(&self) -> &'static str
fn type_name(&self) -> &'static str
A static name for this widget type, used by the inspector. Default: “Widget”.
Source§fn set_bounds(&mut self, b: Rect)
fn set_bounds(&mut self, b: Rect)
Set the bounding rectangle. Called by the parent during layout.
Source§fn children_mut(&mut self) -> &mut Vec<Box<dyn Widget>>
fn children_mut(&mut self) -> &mut Vec<Box<dyn Widget>>
Mutable access to child widgets (required for event dispatch + layout).
Source§fn widget_base(&self) -> Option<&WidgetBase>
fn widget_base(&self) -> Option<&WidgetBase>
Direct read access to the widget’s embedded
WidgetBase. Read moreSource§fn widget_base_mut(&mut self) -> Option<&mut WidgetBase>
fn widget_base_mut(&mut self) -> Option<&mut WidgetBase>
Mutable counterpart of
widget_base. Read moreSource§fn h_anchor(&self) -> HAnchor
fn h_anchor(&self) -> HAnchor
Horizontal anchor: how this widget sizes/positions itself horizontally
within the slot the parent assigns.
Default:
HAnchor::FIT (take natural content width).Source§fn v_anchor(&self) -> VAnchor
fn v_anchor(&self) -> VAnchor
Vertical anchor: how this widget sizes/positions itself vertically
within the slot the parent assigns.
Default:
VAnchor::FIT (take natural content height).Source§fn layout(&mut self, available: Size) -> Size
fn layout(&mut self, available: Size) -> Size
Compute desired size given available space, and update internal layout. Read more
Source§fn paint(&mut self, ctx: &mut dyn DrawCtx)
fn paint(&mut self, ctx: &mut dyn DrawCtx)
Paint this widget’s own content into
ctx. Read moreSource§fn on_event(&mut self, _: &Event) -> EventResult
fn on_event(&mut self, _: &Event) -> EventResult
Handle an event. The event’s positions are already in local Y-up
coordinates. Return
EventResult::Consumed to stop bubbling. Read moreSource§fn hit_test(&self, local_pos: Point) -> bool
fn hit_test(&self, local_pos: Point) -> bool
Return
true if local_pos (in this widget’s local coordinates) falls
inside this widget’s interactive area. Default: axis-aligned rect test.Source§fn claims_pointer_exclusively(&self, _local_pos: Point) -> bool
fn claims_pointer_exclusively(&self, _local_pos: Point) -> bool
When
true, hit_test_subtree stops recursing into this widget’s
children and returns this widget as the hit target. Used for floating
overlays (e.g. a scrollbar painted above its content) that must claim
the pointer before children that happen to share the same pixels.
Default: false.Source§fn hit_test_global_overlay(&self, _local_pos: Point) -> bool
fn hit_test_global_overlay(&self, _local_pos: Point) -> bool
Return true when
local_pos hits an app-level overlay owned by this
widget. Unlike normal hit testing, ancestors may be missed because the
overlay is painted outside their bounds.Source§fn has_active_modal(&self) -> bool
fn has_active_modal(&self) -> bool
Whether this widget currently owns an app-modal interaction layer. Read more
Source§fn on_unconsumed_key(
&mut self,
_key: &Key,
_modifiers: Modifiers,
) -> EventResult
fn on_unconsumed_key( &mut self, _key: &Key, _modifiers: Modifiers, ) -> EventResult
Handle a key that was not consumed by the focused widget path. Read more
Source§fn is_focusable(&self) -> bool
fn is_focusable(&self) -> bool
Whether this widget can receive keyboard focus. Default: false.
Source§fn id(&self) -> Option<&str>
fn id(&self) -> Option<&str>
Optional human-readable identifier for this widget instance. Read more
Source§fn is_visible(&self) -> bool
fn is_visible(&self) -> bool
Return
false to suppress painting this widget and all its children.
The widget’s own paint() will not be called. Default: true.Source§fn properties(&self) -> Vec<(&'static str, String)>
fn properties(&self) -> Vec<(&'static str, String)>
Return type-specific properties for the inspector properties pane. Read more
Source§fn set_label_color(&mut self, _color: Color)
fn set_label_color(&mut self, _color: Color)
If this widget is text-bearing (e.g.
Label), update its foreground
colour. Default is a no-op. Composite widgets call this on their
children to retint labels without rebuilding them — used by Button
when toggling between active (white text on accent) and inactive
(theme text on subtle bg) appearances.Source§fn set_label_text(&mut self, _text: &str)
fn set_label_text(&mut self, _text: &str)
If this widget is text-bearing (e.g.
Label), update its
displayed text. Default is a no-op. Composite widgets that
own a Label child use this to push live values (e.g. an FPS
counter) into the child without bypassing the standard
backbuffered glyph cache — calling this on a Label only
invalidates the cache when the text actually changed.Source§fn as_reflect(&self) -> Option<&dyn Reflect>
fn as_reflect(&self) -> Option<&dyn Reflect>
Opt-in reflection accessor for the inspector’s typed property editors. Read more
Source§fn as_reflect_mut(&mut self) -> Option<&mut dyn Reflect>
fn as_reflect_mut(&mut self) -> Option<&mut dyn Reflect>
Mutable counterpart of
as_reflect. Used by the
inspector to write edits back into the live widget.Source§fn has_backbuffer(&self) -> bool
fn has_backbuffer(&self) -> bool
Whether this widget renders into its own offscreen buffer before
compositing into the parent. Read more
Source§fn compositing_layer(&mut self) -> Option<CompositingLayer>
fn compositing_layer(&mut self) -> Option<CompositingLayer>
Request that this widget subtree be painted into a transient
transparent compositing layer before being blended into its parent. Read more
Source§fn backbuffer_spec(&mut self) -> BackbufferSpec
fn backbuffer_spec(&mut self) -> BackbufferSpec
Unified widget-owned backbuffer request.
Source§fn backbuffer_state_mut(&mut self) -> Option<&mut BackbufferState>
fn backbuffer_state_mut(&mut self) -> Option<&mut BackbufferState>
Mutable retained backbuffer state for widgets that request a
BackbufferSpec other than BackbufferKind::None.Source§fn mark_dirty(&mut self)
fn mark_dirty(&mut self)
Mark this widget’s own retained surface dirty, if it owns one. Read more
Source§fn backbuffer_cache_mut(&mut self) -> Option<&mut BackbufferCache>
fn backbuffer_cache_mut(&mut self) -> Option<&mut BackbufferCache>
Opt into per-widget CPU bitmap caching with a dirty flag. Read more
Source§fn backbuffer_mode(&self) -> BackbufferMode
fn backbuffer_mode(&self) -> BackbufferMode
Storage format for this widget’s backbuffer. Ignored unless
[
backbuffer_cache_mut] returns Some. Default
BackbufferMode::Rgba — correct for any widget.
Opt into BackbufferMode::LcdCoverage only when the widget
paints opaque content covering its full bounds.Source§fn contributes_children_to_inspector(&self) -> bool
fn contributes_children_to_inspector(&self) -> bool
Whether the inspector should recurse into this widget’s children. Read more
Source§fn show_in_inspector(&self) -> bool
fn show_in_inspector(&self) -> bool
Return
false to hide this widget (and its subtree) from the inspector
node snapshot entirely. Intended for zero-size utility widgets such
as layout-time watchers / tickers / invisible composers — they bloat
the inspector tree without providing user-relevant information and,
at scale, can make the inspector’s per-frame tree rebuild expensive.Source§fn lcd_preference(&self) -> Option<bool>
fn lcd_preference(&self) -> Option<bool>
Per-widget LCD subpixel preference for backbuffered text rendering. Read more
Source§fn paint_overlay(&mut self, _ctx: &mut dyn DrawCtx)
fn paint_overlay(&mut self, _ctx: &mut dyn DrawCtx)
Paint decorations that must appear on top of all children. Read more
Source§fn finish_paint(&mut self, _ctx: &mut dyn DrawCtx)
fn finish_paint(&mut self, _ctx: &mut dyn DrawCtx)
Called after
paint, child painting, and optional overlay painting. Read moreSource§fn paint_global_overlay(&mut self, _ctx: &mut dyn DrawCtx)
fn paint_global_overlay(&mut self, _ctx: &mut dyn DrawCtx)
Paint app-level overlays after the entire widget tree has been painted. Read more
Source§fn clip_children_rect(&self) -> Option<(f64, f64, f64, f64)>
fn clip_children_rect(&self) -> Option<(f64, f64, f64, f64)>
Return a clip rectangle (in local coordinates) that constrains all child
painting.
paint_subtree applies this clip before recursing into
children, then restores the previous clip state afterward. The clip does
not affect paint_overlay, which runs after the clip is removed. Read moreSource§fn padding(&self) -> Insets
fn padding(&self) -> Insets
Inner padding — space the widget reserves between its own bounds and
its child layout area. Only container widgets carry padding; leaf
widgets default to
Insets::ZERO. Read moreSource§fn enforce_integer_bounds(&self) -> bool
fn enforce_integer_bounds(&self) -> bool
Whether
paint_subtree should snap this widget’s incoming
translation to the physical pixel grid. Read moreSource§fn measure_min_height(&self, _available_w: f64) -> f64
fn measure_min_height(&self, _available_w: f64) -> f64
Report the minimum height this widget needs to fully render
its content when given the supplied
available_w for width. Read moreSource§fn take_raise_request(&mut self) -> bool
fn take_raise_request(&mut self) -> bool
Container widgets (notably
crate::widgets::Stack) call this on each
child at the start of layout(). A widget that returns true is
moved to the END of its parent’s child list — painted last, i.e.
raised to the top of the z-order. take_ semantics: the call is
also expected to clear the request so the child doesn’t keep
getting raised every frame. Read moreSource§fn needs_draw(&self) -> bool
fn needs_draw(&self) -> bool
Return
true if this widget, or any visible descendant, has an ongoing
draw need that should keep the host drawing. Read moreSource§fn next_draw_deadline(&self) -> Option<Instant>
fn next_draw_deadline(&self) -> Option<Instant>
Return the earliest wall-clock instant at which this widget (or any
visible descendant) wants the next draw.
None = no scheduled wake.
The host loop turns a Some(t) into ControlFlow::WaitUntil(t) so
e.g. a cursor blink fires without continuous polling. Read moreAuto Trait Implementations§
impl Freeze for Separator
impl !RefUnwindSafe for Separator
impl !Send for Separator
impl !Sync for Separator
impl Unpin for Separator
impl UnsafeUnpin for Separator
impl !UnwindSafe for Separator
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
Mutably borrows from an owned value. Read more
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more