X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=src%2Fgacela_widgets.scm;h=b5ddc478e2563cf940cd98e29ccc519e8b46b1e5;hb=81c0541834f1d9dbf4fa0616cda482387d52fd0b;hp=fedc56338bc3b62e993cba76839896d69b742d31;hpb=afd5b9c3d8e3e5ce81893771c7cac53f6469aa07;p=gacela.git diff --git a/src/gacela_widgets.scm b/src/gacela_widgets.scm index fedc563..b5ddc47 100755 --- a/src/gacela_widgets.scm +++ b/src/gacela_widgets.scm @@ -21,20 +21,45 @@ (let ((start 0) (paused 0) (state 'stopped)) (lambda (op) (case op - (('start-timer) + ((start-timer) (set! start (SDL_GetTicks)) (set! state 'running)) - (('stop-timer) + + ((stop-timer) (set! state 'stopped)) - (('get-time) + + ((get-time) (cond ((eq? state 'stopped) 0) ((eq? state 'paused) paused) (else (- (SDL_GetTicks) start)))) - (('pause-timer) + + ((get-state) + state) + + ((pause-timer) (cond ((eq? state 'running) (set! paused (- (SDL_GetTicks) start)) (set! state 'paused)))) - (('resume-timer) + + ((resume-timer) (cond ((eq? state 'paused) (set! start (- (SDL_GetTicks) paused)) (set! state 'running)))))))) + +(define (start-timer timer) + (timer 'start-timer)) + +(define (stop-timer timer) + (timer 'stop-timer)) + +(define (get-time timer) + (timer 'get-time)) + +(define (get-state timer) + (timer 'get-state)) + +(define (pause-timer timer) + (timer 'pause-timer)) + +(define (resume-timer timer) + (timer 'resume-timer))