123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- /*****************************************************************************/
- /* ここから */
- /*****************************************************************************/
- #include "WWTimerP.h"
- #include "WonX.h"
- /*****************************************************************************/
- /* メンバ関数の定義 */
- /*****************************************************************************/
- int WWTimer_ON( WWTimer ww_timer) { return (ww_timer->timer_on = 1); }
- int WWTimer_OFF( WWTimer ww_timer) { return (ww_timer->timer_on = 0); }
- int WWTimer_IsON( WWTimer ww_timer) { return (ww_timer->timer_on != 0); }
- int WWTimer_IsOFF(WWTimer ww_timer) { return (ww_timer->timer_on == 0); }
- int WWTimer_GetAutoPreset(WWTimer ww_timer)
- { return (ww_timer->auto_preset); }
- int WWTimer_GetPresetCounter(WWTimer ww_timer)
- { return (ww_timer->preset_counter); }
- int WWTimer_GetCounter(WWTimer ww_timer)
- { return (ww_timer->counter); }
- int WWTimer_IsAutoPresetOFF(WWTimer ww_timer)
- { return (WWTimer_GetAutoPreset(ww_timer) == 0); }
- int WWTimer_IsAutoPresetON(WWTimer ww_timer)
- { return (WWTimer_GetAutoPreset(ww_timer) == 1); }
- int WWTimer_SetAutoPreset(WWTimer ww_timer, int auto_preset)
- { return (ww_timer->auto_preset = auto_preset); }
- int WWTimer_SetPresetCounter(WWTimer ww_timer, int preset_counter)
- { return (ww_timer->preset_counter = preset_counter); }
- int WWTimer_SetCounter(WWTimer ww_timer, int counter)
- { return (ww_timer->counter = counter); }
- int WWTimer_SetAutoPresetOFF(WWTimer ww_timer)
- { return (WWTimer_SetAutoPreset(ww_timer, 0)); }
- int WWTimer_SetAutoPresetON(WWTimer ww_timer)
- { return (WWTimer_SetAutoPreset(ww_timer, 1)); }
- int WWTimer_Reset(WWTimer ww_timer)
- {
- int counter;
- counter = WWTimer_GetCounter(ww_timer);
- WWTimer_SetCounter(ww_timer, WWTimer_GetPresetCounter(ww_timer));
- return (counter);
- }
- int WWTimer_Count(WWTimer ww_timer)
- {
- int ret;
- int counter;
- if (WWTimer_IsOFF(ww_timer)) return (0);
- counter = WWTimer_GetCounter(ww_timer);
- counter--;
- if (counter <= 0) {
- ret = 1;
- if (WWTimer_IsAutoPresetON(ww_timer))
- WWTimer_Reset(ww_timer);
- else
- WWTimer_OFF(ww_timer);
- } else {
- ret = 0;
- WWTimer_SetCounter(ww_timer, counter);
- }
- return (ret);
- }
- /*---------------------------------------------------------------------------*/
- /* オブジェクトの作成 */
- /*---------------------------------------------------------------------------*/
- WWTimer WWTimer_Create(int auto_preset, int preset)
- {
- WWTimer ww_timer;
- ww_timer = (WWTimer)malloc(sizeof(_WWTimer));
- if (ww_timer == NULL)
- WonX_Error("WWTimer_Create", "Cannot allocate memory.");
- WWTimer_OFF(ww_timer);
- WWTimer_SetAutoPreset(ww_timer, auto_preset);
- WWTimer_SetPresetCounter(ww_timer, preset);
- WWTimer_Reset(ww_timer);
- return (ww_timer);
- }
- /*---------------------------------------------------------------------------*/
- /* オブジェクトの削除 */
- /*---------------------------------------------------------------------------*/
- WWTimer WWTimer_Destroy(WWTimer ww_timer)
- {
- if (ww_timer == NULL)
- WonX_Error("WWTimer_Destroy", "Object is not created.");
- free(ww_timer);
- return (NULL);
- }
- /*****************************************************************************/
- /* ここまで */
- /*****************************************************************************/
- /*****************************************************************************/
- /* End of File. */
- /*****************************************************************************/
|