[−][src]Struct pushrod::widget::timer_widget::TimerWidget
This is the TimerWidget. It contains no base widget, it only contains a start and end
time,
Example usage:
let mut timer_widget = TimerWidget::new(); timer_widget.set_timeout(60000); timer_widget.on_timeout(Box::new( || eprintln!("Timer triggered.") )); timer_widget.set_enabled(true);
Methods
impl TimerWidget[src]
Implementation of the constructor for the TimerWidget. Timer widgets are not accessible
on the screen, so they have an origin of 0x0 and width of 0x0.
The timer provides a simple way to call a callback function after a certain amount of time has passed. Upon instantiation, the timer is enabled.
Here are a few limitations of the timer as it currently stands:
- Timer cannot be paused; it is enabled or disabled, and the timer resets when enabled.
- Timer is called when the screen refreshes, so slower FPS settings will affect the timer.
pub fn new() -> Self[src]
Constructor, creates a new TimerWidget struct with an empty timeout function.
pub fn set_enabled(&mut self, enabled: bool)[src]
Enables or disables the timer. When disabled, the timer will not initiate the callback function. When re-enabled, the initiation time resets, so the timer will reset back to zero, effectively resetting the entire timer.
pub fn on_timeout(&mut self, callback: BlankCallback)[src]
Sets the closure function for the timer when a timeout has been triggered. This closure
needs to be Boxed.
pub fn set_timeout(&mut self, timeout: u64)[src]
Sets the timeout in milliseconds for this timer. Will trigger a call to the function
set in on_timeout when triggered, and will continue to call that function until this
timer is disabled by using self.set_enabled(false).
Trait Implementations
impl Widget for TimerWidget[src]
Implementation of the TimerWidget object with the Widget traits implemented.
fn config(&mut self) -> &mut Configurable[src]
fn callbacks(&mut self) -> &mut CallbackStore[src]
fn is_invalidated(&mut self) -> bool[src]
Timer is always invalidated, this way, the tick function is always called on each screen refresh.
fn get_origin(&mut self) -> Point[src]
Origin is always set to X/Y at points 0x0.
fn get_size(&mut self) -> Size[src]
Size is always unsized, as timers are invisible.
fn draw(&mut self, _context: Context, _graphics: &mut G2d, _clip: &DrawState)[src]
Does not draw anything - only calls the timer tick() function to increment the
timer.
fn invalidate(&mut self)[src]
Indicates that a widget needs to be redrawn/refreshed.
fn clear_invalidate(&mut self)[src]
Clears the invalidation flag.
fn set_origin(&mut self, x: i32, y: i32)[src]
Sets the Point of origin for this widget, given the X and Y origin points. Invalidates the widget afterward.
fn set_size(&mut self, w: i32, h: i32)[src]
Sets the Size for this widget, given a width and height. Invalidates the widget afterward.
fn set_color(&mut self, color: Color)[src]
Sets the color for this widget. Invalidates the widget afterward.
fn get_color(&mut self) -> Color[src]
Retrieves the color of this widget. Defaults to white color [1.0; 4] if not set. Read more
fn perform_single_callback(&mut self, callback_id: u32, widget_id: i32)[src]
Performs a callback stored in the CallbackStore for this Widget, but only for the CallbackTypes::SingleCallback enum type. If the callback does not exist, or is not defined properly, it will be silently dropped and ignored. Read more
fn perform_bool_callback(
&mut self,
callback_id: u32,
widget_id: i32,
flag: bool
)[src]
&mut self,
callback_id: u32,
widget_id: i32,
flag: bool
)
Performs a callback stored in the CallbackStore for this Widget, but only for the CallbackTypes::BoolCallback enum type. If the callback does not exist, or is not defined properly, it will be silently dropped and ignored. Read more
fn perform_point_callback(
&mut self,
callback_id: u32,
widget_id: i32,
point: Point
)[src]
&mut self,
callback_id: u32,
widget_id: i32,
point: Point
)
Performs a callback stored in the CallbackStore for this Widget, but only for the CallbackTypes::PointCallback enum type. If the callback does not exist, or is not defined properly, it will be silently dropped and ignored. Read more
fn perform_size_callback(
&mut self,
callback_id: u32,
widget_id: i32,
size: Size
)[src]
&mut self,
callback_id: u32,
widget_id: i32,
size: Size
)
Performs a callback stored in the CallbackStore for this Widget, but only for the CallbackTypes::SizeCallback enum type. If the callback does not exist, or is not defined properly, it will be silently dropped and ignored. Read more
fn perform_button_callback(
&mut self,
callback_id: u32,
widget_id: i32,
button: Button
)[src]
&mut self,
callback_id: u32,
widget_id: i32,
button: Button
)
fn perform_key_callback(
&mut self,
callback_id: u32,
widget_id: i32,
key: Key,
state: ButtonState
)[src]
&mut self,
callback_id: u32,
widget_id: i32,
key: Key,
state: ButtonState
)
Performs a callback stored in the CallbackStore for this Widget, but only for the CallbackTypes::KeyCallback enum type. If the callback does not exist, or is not defined properly, it will be silently dropped and ignored. Read more
fn key_pressed(&mut self, widget_id: i32, key: &Key, state: &ButtonState)[src]
Called when a keyboard event takes place within the bounds of a widget. Includes the widget ID, the key code that was affected, and its state - pressed or released. Read more
fn mouse_entered(&mut self, widget_id: i32)[src]
Called when a mouse enters the bounds of the widget. Includes the widget ID. Only override if you want to signal a mouse enter event. Read more
fn mouse_exited(&mut self, widget_id: i32)[src]
Called when a mouse exits the bounds of the widget. Includes the widget ID. Only override if you want to signal a mouse exit event. Read more
fn mouse_scrolled(&mut self, widget_id: i32, point: Point)[src]
Called when a scroll event is called within the bounds of the widget. Includes the widget ID. Only override if you want to signal a mouse scroll event. Read more
fn mouse_moved(&mut self, widget_id: i32, point: Point)[src]
Called when the mouse pointer is moved inside a widget. Includes the widget ID and point. Only override if you want to track mouse movement. Read more
fn window_resized(&mut self, widget_id: i32, size: Size)[src]
Called when the main window is resized. Includes the widget ID and the new window size. Only override if you want to respond to a window resize (and if the window is resizable.) Read more
fn window_focused(&mut self, widget_id: i32, focused: bool)[src]
Called when a window focus state changes. Includes the widget ID and a focus flag: true when window gains focus, false otherwise. Only override if you want to signal a window focus event. Read more
fn button_down(&mut self, widget_id: i32, button: Button)[src]
Called when a mouse button is clicked down. Includes the widget ID and the button code. Only override if you want to respond to a mouse click. Read more
fn button_up_inside(&mut self, widget_id: i32, button: Button)[src]
Called when a mouse button is released inside the same Widget that it was clicked inside. Includes the widget ID and the button code. Only override if you want to respond to a mouse button release. Read more
fn button_up_outside(&mut self, widget_id: i32, button: Button)[src]
Called when a mouse button is released outside the same Widget that it was clicked inside. Includes the widget ID and the button code. Only override if you want to respond to a mouse button release. Read more
fn on_key_pressed(&mut self, callback: KeyCallback)[src]
fn on_mouse_entered(&mut self, callback: SingleCallback)[src]
Sets the closure action to be performed when a mouse enters a Widget.
fn on_mouse_exited(&mut self, callback: SingleCallback)[src]
Sets the closure action to be performed when a mouse exits a Widget.
fn on_mouse_scrolled(&mut self, callback: PointCallback)[src]
Sets the closure action to be performed when a mouse scrolls inside a Widget.
fn on_mouse_moved(&mut self, callback: PointCallback)[src]
Sets the closure action to be performed when a mouse moves within a Widget. The mouse point is based on the position within the Widget, not its Point relative to the window. Read more
fn on_window_resized(&mut self, callback: SizeCallback)[src]
Sets the window resize action to be performed when the window is resized.
fn on_focused(&mut self, callback: BoolCallback)[src]
Sets the window focused action to be performed when the window is (un)focused.
fn on_button_down(&mut self, callback: ButtonCallback)[src]
Sets the button click action to be performed when a mouse button is clicked.
fn on_button_up_inside(&mut self, callback: ButtonCallback)[src]
Sets the callback to be performed when a mouse button is released within the same Widget that it was pressed down inside. Read more
fn on_button_up_outside(&mut self, callback: ButtonCallback)[src]
Sets the callback to be performed when a mouse button is released outside of the same Widget that it was pressed down inside. Read more
Auto Trait Implementations
impl !Send for TimerWidget
impl !Sync for TimerWidget
Blanket Implementations
impl<T, U> Into for T where
U: From<T>, [src]
U: From<T>,
impl<T> From for T[src]
impl<T, U> TryFrom for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T> Borrow for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T[src]
impl<T, U> TryInto for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> SetParameter for T
default fn set<T>(&mut self, value: T) -> <T as Parameter<Self>>::Result where
T: Parameter<Self>,
T: Parameter<Self>,
Sets value as a parameter of self.