sig
type button =
BUTTON_LEFT
| BUTTON_MIDDLE
| BUTTON_RIGHT
| BUTTON_WHEELUP
| BUTTON_WHEELDOWN
| BUTTON_X of int
external get_state :
?relative:bool -> unit -> int * int * Sdlmouse.button list
= "mlsdlevent_get_mouse_state"
external warp : int -> int -> unit = "ml_SDL_WarpMouse"
type cursor
type cursor_data = {
data :
(int, Bigarray.int8_unsigned_elt, Bigarray.c_layout) Bigarray.Array2.t;
mask :
(int, Bigarray.int8_unsigned_elt, Bigarray.c_layout) Bigarray.Array2.t;
w : int;
h : int;
hot_x : int;
hot_y : int;
}
external make_cursor :
data:(int, Bigarray.int8_unsigned_elt, Bigarray.c_layout)
Bigarray.Array2.t ->
mask:(int, Bigarray.int8_unsigned_elt, Bigarray.c_layout)
Bigarray.Array2.t ->
hot_x:int -> hot_y:int -> Sdlmouse.cursor = "ml_SDL_CreateCursor"
external free_cursor : Sdlmouse.cursor -> unit = "ml_SDL_FreeCursor"
external set_cursor : Sdlmouse.cursor -> unit = "ml_SDL_SetCursor"
external get_cursor : unit -> Sdlmouse.cursor = "ml_SDL_GetCursor"
external cursor_visible : unit -> bool = "ml_SDL_ShowCursor_query"
external show_cursor : bool -> unit = "ml_SDL_ShowCursor"
external cursor_data : Sdlmouse.cursor -> Sdlmouse.cursor_data
= "ml_SDL_Cursor_data"
val pprint_cursor : Sdlmouse.cursor -> unit
val convert_to_cursor :
data:int array ->
mask:int array ->
w:int -> h:int -> hot_x:int -> hot_y:int -> Sdlmouse.cursor
end