タイマ機能も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関数により周期が制御されます. FRAMEWORKとIDLEモードを利用するに はFWAppのCreateTimer関数を用いる必要があります. 基本的にFRAMEWORKモードではGLUTのタイマコールバックが使われ, IDLEモードではGLUTのアイドルコールバックが使われます.
FrameworkモジュールのFWAppを利用する場合は,FWAppのCreateTimer関数を利用する方が便利でしょう.