Woopsi 1.0 GUI Framework for Nintendo DS Homebrew

- Main Page
- Classes
- Files

- Class List
- Class Hierarchy
- Class Members

Public Member Functions | Protected Member Functions | Protected Attributes

# WoopsiUI::WoopsiTimer Class Reference

`#include <woopsitimer.h>`

Inheritance diagram for WoopsiUI::WoopsiTimer:

List of all members.

## Public Member Functions
| WoopsiTimer (u32 timeout, bool repeat)
const u32 | getTimeout () const
const u32 | getFrameCount () const
void | reset ()
void | start ()
void | stop ()
void | pause ()
void | setTimeout (u32 timeout)
virtual bool | run ()
## Protected Member Functions
virtual | ~WoopsiTimer ()
| WoopsiTimer (const WoopsiTimer &woopsiTimer)
## Protected Attributes
u32 | _frameCount
u32 | _timeout
bool | _isRunning
bool | _isRepeater

## Detailed Description

Timer gadget. It can drive time-based events, animations, etc. All actions that are time or vertical blank based should be driven by a WoopsiTimer. Attempting to tie into libnds' low-level vertical blank interrupt can potentially cause all sorts of havoc.

Using the timer is simple:

- Create an instance of the WoopsiTimer and add it as a child to a gadget.
- Call the instance's "start()" method.
- Catch the timer's action event and call any code that should run.

The maximum speed for timer-driven code is one iteration per vertical blank.

## Constructor & Destructor Documentation

WoopsiUI::WoopsiTimer::WoopsiTimer | ( | u32 | timeout,
|  | bool | repeat
| ) |  |

Constructor.

Parameters:

  timeout | Time, in frames, before the timer fires an EVENT_ACTION event.
  repeat | If true, the timer will fire multiple events. If false, the timer will fire just once and stop.

virtual WoopsiUI::WoopsiTimer::~WoopsiTimer | ( |  | ) | `[inline, protected, virtual]`

Destructor.

WoopsiUI::WoopsiTimer::WoopsiTimer | ( | const WoopsiTimer & | woopsiTimer | ) | `[inline, protected]`

Copy constructor is protected to prevent usage.

## Member Function Documentation

const u32 WoopsiUI::WoopsiTimer::getFrameCount | ( |  | ) | const`[inline]`

Return the number of frames that this timer has been running for since the last event fired.

Returns:
  Frame count since the last event fired.

const u32 WoopsiUI::WoopsiTimer::getTimeout | ( |  | ) | const`[inline]`

Return the timeout of this timer.

Returns:
  The number of frames that this timer runs before firing an event.

void WoopsiUI::WoopsiTimer::pause | ( |  | ) | `[inline]`

Stops the timer but does not reset the frame count.

void WoopsiUI::WoopsiTimer::reset | ( |  | ) | `[inline]`

Resets the frame count back to 0.

virtual bool WoopsiUI::WoopsiTimer::run | ( |  | ) | `[virtual]`

Run any code that should execute every VBL.

Returns:
  True if the function ran succesfully.

void WoopsiUI::WoopsiTimer::setTimeout | ( | u32 | timeout | ) | `[inline]`

Set the timeout of this timer.

Parameters:

  timeout | The number of frames that this timer will run before firing an event.

void WoopsiUI::WoopsiTimer::start | ( |  | ) | `[inline]`

Starts the timer.

void WoopsiUI::WoopsiTimer::stop | ( |  | ) | `[inline]`

Stops the timer and resets the frame count.

## Member Data Documentation

u32 WoopsiUI::WoopsiTimer::_frameCount`[protected]`

Number of frames run so far

bool WoopsiUI::WoopsiTimer::_isRepeater`[protected]`

Indicates whether or not the timer repeats

bool WoopsiUI::WoopsiTimer::_isRunning`[protected]`

Indicates whether or not the timer is running

u32 WoopsiUI::WoopsiTimer::_timeout`[protected]`

Number of frames to run before firing an event

The documentation for this class was generated from the following file:

- woopsitimer.h