Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria |
Safe Haskell | None |
Language | Haskell2010 |
Opaque datatype that records a start time.
Synopsis
- newtype Timer = Timer (ManagedPtr Timer)
- timerContinue :: (HasCallStack, MonadIO m) => Timer -> m ()
- timerDestroy :: (HasCallStack, MonadIO m) => Timer -> m ()
- timerElapsed :: (HasCallStack, MonadIO m) => Timer -> CULong -> m Double
- timerIsActive :: (HasCallStack, MonadIO m) => Timer -> m Bool
- timerReset :: (HasCallStack, MonadIO m) => Timer -> m ()
- timerStart :: (HasCallStack, MonadIO m) => Timer -> m ()
- timerStop :: (HasCallStack, MonadIO m) => Timer -> m ()
Exported types
Memory-managed wrapper type.
Instances
Eq Timer Source # | |
ManagedPtrNewtype Timer Source # | |
Defined in GI.GLib.Structs.Timer toManagedPtr :: Timer -> ManagedPtr Timer # | |
BoxedPtr Timer Source # | |
Defined in GI.GLib.Structs.Timer boxedPtrCopy :: Timer -> IO Timer # boxedPtrFree :: Timer -> IO () # |
Methods
Overloaded methods
continue
:: (HasCallStack, MonadIO m) | |
=> Timer |
|
-> m () |
destroy
:: (HasCallStack, MonadIO m) | |
=> Timer |
|
-> m () |
Destroys a timer, freeing associated resources.
elapsed
:: (HasCallStack, MonadIO m) | |
=> Timer |
|
-> CULong |
|
-> m Double | Returns: seconds elapsed as a floating point value, including any fractional part. |
If timer
has been started but not stopped, obtains the time since
the timer was started. If timer
has been stopped, obtains the
elapsed time between the time it was started and the time it was
stopped. The return value is the number of seconds elapsed,
including any fractional part. The microseconds
out parameter is
essentially useless.
isActive
:: (HasCallStack, MonadIO m) | |
=> Timer |
|
-> m Bool | Returns: |
Exposes whether the timer is currently active.
Since: 2.62
reset
:: (HasCallStack, MonadIO m) | |
=> Timer |
|
-> m () |
This function is useless; it's fine to call timerStart
on an
already-started timer to reset the start time, so timerReset
serves no purpose.
start
:: (HasCallStack, MonadIO m) | |
=> Timer |
|
-> m () |
Marks a start time, so that future calls to timerElapsed
will
report the time since timerStart
was called. g_timer_new()
automatically marks the start time, so no need to call
timerStart
immediately after creating the timer.
stop
:: (HasCallStack, MonadIO m) | |
=> Timer |
|
-> m () |
Marks an end time, so calls to timerElapsed
will return the
difference between this end time and the start time.