]> gitweb.factorcode.org Git - factor.git/blob - basis/ui/event-loop/event-loop.factor
f054d2b4044f9ef86533ffb2c79e2ffdc7d89369
[factor.git] / basis / ui / event-loop / event-loop.factor
1 ! Copyright (C) 2008, 2009 Slava Pestov.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: calendar combinators deques kernel namespaces sequences
4 threads ui ui.private ui.backend ui.gadgets ui.gadgets.private ;
5 IN: ui.event-loop
6
7 : event-loop? ( -- ? )
8     {
9         { [ graft-queue deque-empty? not ] [ t ] }
10         { [ windows get-global empty? not ] [ t ] }
11         [ f ]
12     } cond ;
13
14 HOOK: do-events ui-backend ( -- )
15
16 : event-loop ( -- ) [ event-loop? ] [ do-events ] while ;
17
18 : ui-wait ( -- ) 10 milliseconds sleep ;