blob: d2c3e33cf2d5f27d8a41d0b8c982c8eca044b14e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
private opaque DisplayP : NonemptyType
def Display : Type := DisplayP.type
instance : Nonempty Display := DisplayP.property
@[extern "waylean_display_new"]
opaque Display.new : (name : @& Option String) → IO Display
@[extern "waylean_display_roundtrip"]
opaque Display.roundtrip : (display : @& Display) → IO Unit
private opaque EventLoopP : NonemptyType
def EventLoop : Type := EventLoopP.type
instance : Nonempty EventLoop := EventLoopP.property
private opaque EventSourceP : NonemptyType
def EventSource : Type := EventSourceP.type
instance : Nonempty EventSource := EventSourceP.property
@[extern "waylean_event_loop_new"]
opaque EventLoop.new : IO EventLoop
@[extern "waylean_event_loop_add_display"]
opaque EventLoop.addDisplay : (eventLoop : @& EventLoop) → (display : @& Display) → IO EventSource
@[extern "waylean_event_loop_add_timer"]
opaque EventLoop.addTimer : (eventLoop : @& EventLoop) → (delayMs : UInt32) → (msg : @& IO Unit) → IO EventSource
@[extern "waylean_event_loop_add_signal"]
opaque EventLoop.addSignal : (eventLoop : @& EventLoop) → (signum : UInt32) → (msg : @& IO Unit) → IO EventSource
@[extern "waylean_event_loop_remove"]
opaque EventLoop.remove : (eventLoop : @& EventLoop) → (source : @& EventSource) → IO Unit
@[extern "waylean_event_loop_quit"]
opaque EventLoop.quit : (eventLoop : @& EventLoop) → IO Unit
@[extern "waylean_event_loop_poll"]
opaque EventLoop.poll : (eventLoop : @& EventLoop) → IO (Option (IO Unit))
|