- function winmain(hinstance:hinst;hprevinstance:hinst;lpcmdline:pchar;ncmdshow:integer):integer;stdcall;
- var msg:tmsg;
- ctime,ltime:longword;
- begin
- finished:=false;
- active:=true;
- if not glcreatewnd(wwidth,wheight,wfullscreen,bpp)then
- begin
- result:=0;
- exit;
- end;
- fps:=100;
- ltime:=gettickcount;
- etime:=0;
- while not finished do
- begin
- if peekmessage(msg,0,0,0,pm_remove)then
- begin
- if msg.message=wm_quit then
- begin
- finished:=true;
- end
- else
- begin
- translatemessage(msg);
- dispatchmessage(msg);
- end;
- end
- else
- begin
- if active then
- begin
- getcursorpos(mouse);
- end;
- ctime:=gettickcount;
- etime:=(etime+(ctime-ltime))shr 1;
- ltime:=ctime;
- gldraw;
- swapbuffers(dc);
- if keys[vk_escape]then finished:=true;
- inc(fpsc);
- end;
- end;
- glkillwnd(wfullscreen);
- result:=msg.wparam;
- end;