Implement timers for linux SampleApp. http://codereview.appspot.com/4592054/

git-svn-id: http://skia.googlecode.com/svn/trunk@1573 2bbb7eff-a529-9590-31e7-b0007b416f81
This commit is contained in:
Scroggo 2011-06-13 19:17:58 +00:00
parent b9255d523f
commit 5a23424b40
2 changed files with 6 additions and 10 deletions

View File

@ -84,6 +84,7 @@ void SkOSWindow::post_linuxevent()
event.data.l[0] = 0;
XSendEvent(fUnixWindow.fDisplay, fUnixWindow.fWin, false, 0,
(XEvent*) &event);
XFlush(fUnixWindow.fDisplay);
}
void SkOSWindow::loop()

View File

@ -6,21 +6,18 @@
#include "SkWindow.h"
#include "SkTypes.h"
//#include <signal.h>
//#include <sys/time.h>
#include <signal.h>
#include <sys/time.h>
SkOSWindow* gWindow;
#if 0
static void catch_alarm(int sig)
{
SkDebugf("caught alarm; calling ServiceQueueTimer\n");
SkEvent::ServiceQueueTimer();
}
#endif
int main(){
// signal(SIGALRM, catch_alarm);
signal(SIGALRM, catch_alarm);
gWindow = create_sk_window(NULL);
// Start normal Skia sequence
@ -44,13 +41,11 @@ void SkEvent::SignalNonEmptyQueue()
void SkEvent::SignalQueueTimer(SkMSec delay)
{
#if 0
itimerval newTimer;
newTimer.it_interval.tv_sec = 0;
newTimer.it_interval.tv_usec = 0;
newTimer.it_value.tv_sec = 0;
newTimer.it_value.tv_usec = delay * 1000;
int success = setitimer(ITIMER_REAL, NULL, &newTimer);
SkDebugf("SignalQueueTimer(%i)\nreturnval = %i\n", delay, success);
#endif
setitimer(ITIMER_REAL, &newTimer, NULL);
}