Module Bimage_display.Window

type 'a t
val create : ?callback:( 'c t -> unit ) -> ?width:int -> ?height:int -> string -> ( 'a, 'b, [< `Rgb | `Rgba ] ) Bimage.Image.t -> 'c -> 'c t
val window : 'a t -> GLFW.window
val image : 'a t -> Bimage.Image.any
val show : 'a t -> unit
val hide : 'a t -> unit
val close : 'a t -> unit
val update : 'a t -> unit
val data : 'a t -> 'a
val set_data : 'a t -> 'a -> unit
val set_callback : 'a t -> ( 'a t -> unit ) option -> unit
val replace_image : 'x t -> ( 'a, 'b, [< `Rgb | `Rgba ] ) Bimage.Image.t -> unit
val mouse_position : 'a t -> float -> float -> float * float
val on_mouse_button : ( 'a t -> int -> bool -> GLFW.key_mod list -> unit ) -> 'a t -> unit
val on_mouse_move : ( 'a t -> float -> float -> unit ) -> 'a t -> unit
val on_key : ( 'a t -> GLFW.key -> int -> GLFW.key_action -> GLFW.key_mod list -> unit ) -> 'a t -> unit
val get_mouse_position : 'a t -> float * float
val get_key : 'a t -> GLFW.key -> bool
val get_mouse_button : 'a t -> int -> bool