pub struct ActionLabel {
id: Id,
rect: Rectangle,
children: Vec<Box<dyn View>>,
active: bool,
}Expand description
A label that provides visual feedback when touched by inverting its colors.
The ActionLabel responds to finger down/up events by toggling an active state, which switches between normal and inverted color schemes. It delegates text rendering to an internal Label child. When tapped, it can emit an event through the internal Label.
Fields§
§id: Id§rect: Rectangle§children: Vec<Box<dyn View>>§active: boolImplementations§
Source§impl ActionLabel
impl ActionLabel
pub fn new(rect: Rectangle, text: String, align: Align) -> ActionLabel
Sourcepub fn event(self, event: Option<Event>) -> ActionLabel
pub fn event(self, event: Option<Event>) -> ActionLabel
Sets the event to be emitted when the label is tapped.
Sourcepub fn set_event(&mut self, event: Option<Event>)
pub fn set_event(&mut self, event: Option<Event>)
Sets the event to be emitted when the label is tapped.
Sourcepub fn update(&mut self, text: &str, rq: &mut RenderQueue)
pub fn update(&mut self, text: &str, rq: &mut RenderQueue)
Updates the label’s text.
Sourcefn update_label_scheme(&mut self, rq: &mut RenderQueue)
fn update_label_scheme(&mut self, rq: &mut RenderQueue)
Updates the label’s color scheme based on the active state.
Trait Implementations§
Source§impl View for ActionLabel
impl View for ActionLabel
Source§fn handle_event(
&mut self,
evt: &Event,
_hub: &Hub,
_bus: &mut Bus,
rq: &mut RenderQueue,
_context: &mut Context,
) -> bool
fn handle_event( &mut self, evt: &Event, _hub: &Hub, _bus: &mut Bus, rq: &mut RenderQueue, _context: &mut Context, ) -> bool
Handles finger down/up events to toggle active state and update label scheme.
This method responds to touch input by managing the active state of the label, which controls the visual feedback through color inversion.
Behavior:
- Finger Down: If the touch position is within the label’s bounds, sets the active state to true, inverting the label’s colors to provide visual feedback.
- Finger Up: Deactivates the label and restores normal colors. This is handled regardless of whether the finger position is within the label’s bounds.
Returns true if the event was handled, false otherwise.
fn render( &self, _fb: &mut dyn Framebuffer, _rect: Rectangle, _fonts: &mut Fonts, )
fn rect(&self) -> &Rectangle
fn rect_mut(&mut self) -> &mut Rectangle
fn children(&self) -> &Vec<Box<dyn View>>
fn children_mut(&mut self) -> &mut Vec<Box<dyn View>>
fn id(&self) -> Id
fn render_rect(&self, _rect: &Rectangle) -> Rectangle
fn resize( &mut self, rect: Rectangle, _hub: &Hub, _rq: &mut RenderQueue, _context: &mut Context, )
fn child(&self, index: usize) -> &dyn View
fn child_mut(&mut self, index: usize) -> &mut dyn View
fn len(&self) -> usize
fn might_skip(&self, _evt: &Event) -> bool
fn might_rotate(&self) -> bool
fn is_background(&self) -> bool
fn view_id(&self) -> Option<ViewId>
Auto Trait Implementations§
impl Freeze for ActionLabel
impl !RefUnwindSafe for ActionLabel
impl !Send for ActionLabel
impl !Sync for ActionLabel
impl Unpin for ActionLabel
impl !UnwindSafe for ActionLabel
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
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.