sig
module R :
sig
type buffer = R.buffer
val create_buffer : float -> Renderer.display -> buffer
val begin_draw : buffer -> unit
val end_draw : buffer -> unit
val clear : buffer -> unit
val event_queue : buffer -> Renderer.event list
val width : buffer -> int
val height : buffer -> int
val render : buffer -> Shape.t -> unit
end
val display : [> `Size of int * int ]
val loop : 'a -> 'b -> 'b
val draw : 'a -> 'b -> Shape.t
val mouse_pressed : 'a -> 'b -> 'b
val mouse_released : 'a -> 'b -> 'b
val mouse_moved : 'a -> 'b -> 'b
val mouse_dragged : 'a -> 'b -> 'b
val mouse_clicked : 'a -> 'b -> 'b
val mouse_scrolled : 'a -> 'b -> 'b
val key_pressed : 'a -> 'b -> 'b
val key_released : 'a -> 'b -> 'b
val key_typed : 'a -> 'b -> 'b
val window_resized : 'a -> 'b -> 'b
val window_closed : 'a -> 'b -> 'c
end