Files
sml-projects/ffi/glfw-input.sml

78 lines
2.7 KiB
Standard ML
Raw Normal View History

2024-09-30 13:43:43 +01:00
structure Input =
struct
type window = MLton.Pointer.t
(* Constants. *)
val (PRESS, _) =
_symbol "PRESS" public : ( unit -> int ) * ( int -> unit );
2024-09-30 15:46:19 +01:00
val PRESS = PRESS ()
2024-09-30 13:43:43 +01:00
val (REPEAT, _) =
_symbol "REPEAT" public : ( unit -> int ) * ( int -> unit );
2024-09-30 15:46:19 +01:00
val REPEAT = REPEAT ()
2024-09-30 13:43:43 +01:00
val (RELEASE, _) =
_symbol "RELEASE" public : ( unit -> int ) * ( int -> unit );
2024-09-30 15:46:19 +01:00
val RELEASE = RELEASE ()
val exportFramebufferSizeCallback =
_export "mltonFramebufferSizeCallback" public : (int * int -> unit) -> unit;
val setFramebufferSizeCallback =
_import "setFramebufferSizeCallback" public : window -> unit;
2024-10-17 01:20:48 +01:00
val exportCharCallback =
_export "mltonCharCallback" public : (Word32.word -> unit) -> unit;
val setCharCallback =
_import "setCharCallback" public : window -> unit;
val exportKeyCallback =
_export "mltonKeyCallback" public : (int * int * int * int -> unit) -> unit;
val setKeyCallback =
_import "setKeyCallback" public : window -> unit;
val (KEY_ESC, _) =
_symbol "KEY_ESC" public : ( unit -> int ) * ( int -> unit );
val KEY_ESC = KEY_ESC ()
val (KEY_ENTER, _) =
_symbol "KEY_ENTER" public : ( unit -> int ) * ( int -> unit );
val KEY_ENTER = KEY_ENTER ()
val (KEY_BACKSPACE, _) =
_symbol "KEY_BACKSPACE" public : ( unit -> int ) * ( int -> unit );
val KEY_BACKSPACE = KEY_BACKSPACE ()
val (KEY_ARROW_LEFT, _) =
_symbol "KEY_ARROW_LEFT" public : ( unit -> int ) * ( int -> unit );
val KEY_ARROW_LEFT = KEY_ARROW_LEFT ()
val (KEY_ARROW_UP, _) =
_symbol "KEY_ARROW_UP" public : ( unit -> int ) * ( int -> unit );
val KEY_ARROW_UP = KEY_ARROW_UP ()
val (KEY_ARROW_RIGHT, _) =
_symbol "KEY_ARROW_RIGHT" public : ( unit -> int ) * ( int -> unit );
val KEY_ARROW_RIGHT = KEY_ARROW_RIGHT ()
val (KEY_ARROW_DOWN, _) =
_symbol "KEY_ARROW_DOWN" public : ( unit -> int ) * ( int -> unit );
val KEY_ARROW_DOWN = KEY_ARROW_DOWN ()
(* gamepad bindings below *)
val getGamepadState =
_import "getGamepadState" public : int -> unit;
val getLeftJoystickXAxisState =
_import "getLeftJoystickXAxisState" public : unit -> Real32.real;
val getLeftJoystickYAxisState =
_import "getLeftJoystickYAxisState" public : unit -> Real32.real;
val isCrossButtonPressed =
_import "isCrossButtonPressed" public : unit -> int;
val isCircleButtonPressed =
_import "isCircleButtonPressed" public : unit -> int;
val isSquareButtonPressed =
_import "isSquareButtonPressed" public : unit -> int;
val isTriangleButtonPressed =
_import "isTriangleButtonPressed" public : unit -> int;
val isR1ButtonPressed =
_import "isR1ButtonPressed" public : unit -> int;
val isL1ButtonPressed =
_import "isL1ButtonPressed" public : unit -> int;
2024-09-30 13:43:43 +01:00
end