Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 8042 → Rev 8043

/programs/cmm/examples/timers.c
0,0 → 1,42
#define MEMSIZE 4096*10
 
#include "../lib/io.h"
#include "../lib/window.h"
#include "../lib/timers.h"
 
window win1=0;
dword timeID = 0;
int t = 0;
void intervalTest()
{
t++;
if (t==10) clearInterval(timeID);
DrawBar(100, 70, 100, 100, 0xDED7CE);
WriteText(100,70,0x90,0,itoa(t));
}
void main()
{
word id=0;
timeID = setInterval(#intervalTest, 100); // 100 => 1s
loop()
{
switch(WaitEventTimeout(1))
{
case evButton:
id=GetButtonID();
IF (id==1) ExitProcess();
break;
case evKey:
GetKeys();
break;
case evReDraw:
DefineAndDrawWindow(20,30,500,600,WINDOW_NORMAL,0xDED7CE,"Window",0);
if (!t) WriteText(100,70,0x90,0,"Start!");
break;
}
Timer.revise();
}
}
 
/programs/cmm/lib/kolibri.h
94,9 → 94,10
$int 0x40
}
 
inline fastcall dword WaitEventTimeout(EBX)
inline dword WaitEventTimeout(dword time)
{
EAX = 23;
EBX = time;
$int 0x40
}
/programs/cmm/lib/timers.h
88,20 → 88,20
}
 
// Analogs JS Functions
:Timers Time = {0};
:Timers Timer = {0};
inline dword setTimeout(dword function, time)
{
RETURN Time.set(function, time, 0);
RETURN Timer.set(function, time, 0);
}
inline dword setInterval(dword function, time)
{
RETURN Time.set(function, time, 1);
RETURN Timer.set(function, time, 1);
}
inline dword clearTimeout(dword id)
{
RETURN Time.clear(id);
RETURN Timer.clear(id);
}
inline dword clearInterval(dword id)
{
RETURN Time.clear(id);
RETURN Timer.clear(id);
}