mirror of
https://gitea.nishi.boats/pyrite-dev/milsko
synced 2026-01-17 14:44:07 +00:00
fix tick things
git-svn-id: http://svn2.nishi.boats/svn/milsko/trunk@307 b9cfdab3-6d41-4d17-bbe4-086880011989
This commit is contained in:
@@ -502,3 +502,7 @@ void MwLLMakeBorderless(MwLL handle, int toggle) {
|
||||
|
||||
SetWindowPos(handle->hWnd, NULL, 0, 0, 0, 0, SWP_FRAMECHANGED | SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER);
|
||||
}
|
||||
|
||||
long MwLLGetTick(void) {
|
||||
return GetTickCount();
|
||||
}
|
||||
|
||||
@@ -603,3 +603,15 @@ void MwLLMakeBorderless(MwLL handle, int toggle) {
|
||||
XMapWindow(handle->display, handle->window);
|
||||
XMoveWindow(handle->display, handle->window, x, y);
|
||||
}
|
||||
|
||||
long MwLLGetTick(void) {
|
||||
struct timespec ts;
|
||||
long n = 0;
|
||||
|
||||
clock_gettime(CLOCK_MONOTONIC, &ts);
|
||||
|
||||
n += ts.tv_nsec / 1000 / 1000;
|
||||
n += ts.tv_sec * 1000;
|
||||
|
||||
return n;
|
||||
}
|
||||
|
||||
@@ -230,11 +230,14 @@ int MwPending(MwWidget handle) {
|
||||
}
|
||||
|
||||
void MwLoop(MwWidget handle) {
|
||||
long tick = MwLLGetTick();
|
||||
while(!handle->close) {
|
||||
MwStep(handle);
|
||||
while(MwPending(handle)) MwStep(handle);
|
||||
|
||||
MwDispatchUserHandler(handle, MwNtickHandler, NULL);
|
||||
MwLLSleep(MwWaitMS);
|
||||
tick = MwWaitMS - (MwLLGetTick() - tick);
|
||||
if(tick > 0) MwLLSleep(tick);
|
||||
tick = MwLLGetTick();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user