|
|
|
@ -1965,7 +1965,8 @@ static void showSaveDialog(CvWindow* window) |
|
|
|
|
CV_IMPL int |
|
|
|
|
cvWaitKey( int delay ) |
|
|
|
|
{ |
|
|
|
|
int time0 = GetTickCount(); |
|
|
|
|
int64 time0 = cv::getTickCount(); |
|
|
|
|
int64 timeEnd = time0 + (int64)(delay * 0.001f * cv::getTickFrequency()); |
|
|
|
|
|
|
|
|
|
for(;;) |
|
|
|
|
{ |
|
|
|
@ -1973,13 +1974,13 @@ cvWaitKey( int delay ) |
|
|
|
|
MSG message; |
|
|
|
|
int is_processed = 0; |
|
|
|
|
|
|
|
|
|
if( (delay > 0 && abs((int)(GetTickCount() - time0)) >= delay) || hg_windows == 0 ) |
|
|
|
|
return -1; |
|
|
|
|
|
|
|
|
|
if( delay <= 0 ) |
|
|
|
|
GetMessage(&message, 0, 0, 0); |
|
|
|
|
else if( PeekMessage(&message, 0, 0, 0, PM_REMOVE) == FALSE ) |
|
|
|
|
{ |
|
|
|
|
int64 t = cv::getTickCount(); |
|
|
|
|
if (t - timeEnd >= 0) |
|
|
|
|
return -1; // no messages and no more time
|
|
|
|
|
Sleep(1); |
|
|
|
|
continue; |
|
|
|
|
} |
|
|
|
|