Struct native_windows_gui::AnimationTimer
source · [−]pub struct AnimationTimer {
pub handle: ControlHandle,
}
Expand description
A timer is an invisible UI component that trigger the OnTimerTick
event at the specified interval.
Timers are mosty used to handle animations OR to create a timeout. To sync multithreaded action see the Notice
object.
AnimationTimer is controlled from a singletion running in another thread. All instance of AnimationTimer will live on that thread.
A timer still requires a top level window parent. If the top level window parent is destroyed, the timer becomes invalid.
AnimationTimer replaces the default winapi timer. Please, for the love of god, do not use the default timer.
Builder parameters:
* parent
: Required. The timer parent container that will receive the timer event. Should be a top level window
* interval
: The timer tick interval as a rust Duration. Minimum is 1 ms
* lifetime
: The timer should automatically stop after the selected Duration. Defaults to None
.
* max_tick
: The timer should automatically stop after sending X amount of OnTImerTick events. Defaults to None
.
* active
: If the timer should start right away. Default to false
Control events:
* OnTimerTick
: When the timer ticks
* OnTimerStop
: When the timer stops itself (due to max_tick_count or lifetime being reached, not user actions)
use native_windows_gui as nwg;
use std::time::Duration;
/// Builds a timer that will animation something at 60fps for 3 sec
fn build_timer(parent: &nwg::Window) {
let mut timer = Default::default();
nwg::AnimationTimer::builder()
.parent(parent)
.interval(Duration::from_millis(1000/60))
.lifetime(Some(Duration::from_millis(3000)))
.build(&mut timer);
}
Fields
handle: ControlHandle
Implementations
sourceimpl AnimationTimer
impl AnimationTimer
pub fn builder() -> AnimationTimerBuilder
sourcepub fn valid(&self) -> bool
pub fn valid(&self) -> bool
Checks if the timer is still usable. A timer becomes unusable when the parent window is destroyed. This will also return false if the timer is not initialized.
sourcepub fn start(&self)
pub fn start(&self)
Start the selected timer. If the timer is already running this resets it. This resets the life time and tick count if relevant.
sourcepub fn stop(&self)
pub fn stop(&self)
Stop the selected timer. If the timer is already stopped, this does nothing.
sourcepub fn set_interval(&self, i: Duration)
pub fn set_interval(&self, i: Duration)
Sets the interval on the this timer
sourcepub fn set_lifetime(&self, life: Option<Duration>)
pub fn set_lifetime(&self, life: Option<Duration>)
Sets the life time on the this timer
sourcepub fn set_max_tick(&self, max_tick: Option<u64>)
pub fn set_max_tick(&self, max_tick: Option<u64>)
Sets the max tick count on the this timer
Trait Implementations
sourceimpl Default for AnimationTimer
impl Default for AnimationTimer
sourcefn default() -> AnimationTimer
fn default() -> AnimationTimer
Returns the “default value” for a type. Read more
sourceimpl Drop for AnimationTimer
impl Drop for AnimationTimer
sourceimpl From<&AnimationTimer> for ControlHandle
impl From<&AnimationTimer> for ControlHandle
sourcefn from(control: &AnimationTimer) -> Self
fn from(control: &AnimationTimer) -> Self
Converts to this type from the input type.
sourceimpl From<&mut AnimationTimer> for ControlHandle
impl From<&mut AnimationTimer> for ControlHandle
sourcefn from(control: &mut AnimationTimer) -> Self
fn from(control: &mut AnimationTimer) -> Self
Converts to this type from the input type.
sourceimpl PartialEq<AnimationTimer> for AnimationTimer
impl PartialEq<AnimationTimer> for AnimationTimer
sourcefn eq(&self, other: &AnimationTimer) -> bool
fn eq(&self, other: &AnimationTimer) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourceimpl PartialEq<AnimationTimer> for ControlHandle
impl PartialEq<AnimationTimer> for ControlHandle
sourcefn eq(&self, other: &AnimationTimer) -> bool
fn eq(&self, other: &AnimationTimer) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourceimpl PartialEq<ControlHandle> for AnimationTimer
impl PartialEq<ControlHandle> for AnimationTimer
sourcefn eq(&self, other: &ControlHandle) -> bool
fn eq(&self, other: &ControlHandle) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
impl Eq for AnimationTimer
impl StructuralEq for AnimationTimer
impl StructuralPartialEq for AnimationTimer
Auto Trait Implementations
impl RefUnwindSafe for AnimationTimer
impl !Send for AnimationTimer
impl !Sync for AnimationTimer
impl Unpin for AnimationTimer
impl UnwindSafe for AnimationTimer
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more