Woopsi 1.3
Nintendo DS Gui Framework
Public Member Functions | Protected Member Functions | Protected Attributes
WoopsiUI::WoopsiTimer Class Reference

#include <libwoopsi/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 ()
bool isRunning ()

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:

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

Constructor & Destructor Documentation

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


timeoutTime, in frames, before the timer fires an EVENT_ACTION event.
repeatIf true, the timer will fire multiple events. If false, the timer will fire just once and stop.
virtual WoopsiUI::WoopsiTimer::~WoopsiTimer ( ) [inline, protected, virtual]


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.

Frame count since the last event fired.
const u32 WoopsiUI::WoopsiTimer::getTimeout ( ) const [inline]

Return the timeout of this timer.

The number of frames that this timer runs before firing an event.
bool WoopsiUI::WoopsiTimer::isRunning ( ) [inline]

Check if the timer is running or not.

True if the timer is running; false if not.
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.

True if the function ran succesfully.
void WoopsiUI::WoopsiTimer::setTimeout ( u32  timeout) [inline]

Set the timeout of this timer.

timeoutThe 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

Number of frames run so far

Indicates whether or not the timer repeats

Indicates whether or not the timer is running

Number of frames to run before firing an event

The documentation for this class was generated from the following file:
 All Classes Functions Variables Enumerations Enumerator