Springhead Users Manual

5.4 タイマ

タイマ機能もFoundationで提供されます. タイマクラスはUTTimerです. タイマを作成するには

UTTimerIf* timer = UTTimerIf::Create();

とします.UTTimerには以下のAPIがあります.

[Get|Set]Resolution 分解能の取得と設定
[Get|Set]Interval 周期の取得と設定
[Get|Set]Mode モードの取得と設定
[Get|Set]Callback コールバック関数の取得と設定
IsStarted 動いているかどうか
IsRunning コールバック呼び出し中
Start 始動
Stop 停止
Call コールバック呼び出し

SetModeで指定できるモードには以下があります.

MULTIEDIA マルチメディアタイマ
THREAD 独立スレッド
FRAMEWORK Frameworkが提供するタイマ
IDLE Frameworkが提供するアイドルコールバック

マルチメディアタイマはWindowsが提供する高機能タイマです. 独立スレッドモードでは,タイマ用のスレッドが実行されSleep関数により周期が制御されます. FRAMEWORKIDLEモードを利用するに はFWAppCreateTimer関数を用いる必要があります. 基本的にFRAMEWORKモードではGLUTのタイマコールバックが使われ, IDLEモードではGLUTのアイドルコールバックが使われます.

FrameworkモジュールのFWAppを利用する場合は,FWAppCreateTimer関数を利用する方が便利でしょう.