// Cursor re-exports
///|
pub using @ffi {
show_cursor,
hide_cursor,
is_cursor_hidden,
enable_cursor,
disable_cursor,
is_cursor_on_screen,
// Keyboard
is_key_pressed,
is_key_pressed_repeat,
is_key_down,
is_key_released,
is_key_up,
get_key_pressed,
get_char_pressed,
set_exit_key,
// Mouse
is_mouse_button_pressed,
is_mouse_button_down,
is_mouse_button_released,
is_mouse_button_up,
get_mouse_x,
get_mouse_y,
set_mouse_position,
set_mouse_offset,
set_mouse_scale,
get_mouse_wheel_move,
set_mouse_cursor,
// Gamepad
is_gamepad_available,
is_gamepad_button_pressed,
is_gamepad_button_down,
is_gamepad_button_released,
is_gamepad_button_up,
get_gamepad_button_pressed,
get_gamepad_axis_count,
get_gamepad_axis_movement,
set_gamepad_vibration,
// Touch
get_touch_x,
get_touch_y,
get_touch_point_id,
get_touch_point_count,
// Gesture
set_gestures_enabled,
is_gesture_detected,
get_gesture_detected,
get_gesture_hold_duration,
get_gesture_drag_angle,
get_gesture_pinch_angle,
}
// Mouse wrappers
///|
pub fn get_mouse_position() -> Vector2 {
Vector2::from_bytes(@ffi.get_mouse_position())
}
///|
pub fn get_mouse_delta() -> Vector2 {
Vector2::from_bytes(@ffi.get_mouse_delta())
}
///|
pub fn get_mouse_wheel_move_v() -> Vector2 {
Vector2::from_bytes(@ffi.get_mouse_wheel_move_v())
}
// Gamepad wrappers
///|
pub fn get_gamepad_name(gamepad : Int) -> String {
@utf8.decode_lossy(@ffi.get_gamepad_name(gamepad))
}
///|
pub fn set_gamepad_mappings(mappings : String) -> Int {
@ffi.set_gamepad_mappings(@utf8.encode(mappings))
}
// Touch wrappers
///|
pub fn get_touch_position(index : Int) -> Vector2 {
Vector2::from_bytes(@ffi.get_touch_position(index))
}
// Gesture wrappers
///|
pub fn get_gesture_drag_vector() -> Vector2 {
Vector2::from_bytes(@ffi.get_gesture_drag_vector())
}
///|
pub fn get_gesture_pinch_vector() -> Vector2 {
Vector2::from_bytes(@ffi.get_gesture_pinch_vector())
}
// Keyboard key constants
///|
pub const KeyNull : Int = 0
///|
pub const KeyApostrophe : Int = 39
///|
pub const KeyComma : Int = 44
///|
pub const KeyMinus : Int = 45
///|
pub const KeyPeriod : Int = 46
///|
pub const KeySlash : Int = 47
///|
pub const KeyZero : Int = 48
///|
pub const KeyOne : Int = 49
///|
pub const KeyTwo : Int = 50
///|
pub const KeyThree : Int = 51
///|
pub const KeyFour : Int = 52
///|
pub const KeyFive : Int = 53
///|
pub const KeySix : Int = 54
///|
pub const KeySeven : Int = 55
///|
pub const KeyEight : Int = 56
///|
pub const KeyNine : Int = 57
///|
pub const KeySemicolon : Int = 59
///|
pub const KeyEqual : Int = 61
///|
pub const KeyA : Int = 65
///|
pub const KeyB : Int = 66
///|
pub const KeyC : Int = 67
///|
pub const KeyD : Int = 68
///|
pub const KeyE : Int = 69
///|
pub const KeyF : Int = 70
///|
pub const KeyG : Int = 71
///|
pub const KeyH : Int = 72
///|
pub const KeyI : Int = 73
///|
pub const KeyJ : Int = 74
///|
pub const KeyK : Int = 75
///|
pub const KeyL : Int = 76
///|
pub const KeyM : Int = 77
///|
pub const KeyN : Int = 78
///|
pub const KeyO : Int = 79
///|
pub const KeyP : Int = 80
///|
pub const KeyQ : Int = 81
///|
pub const KeyR : Int = 82
///|
pub const KeyS : Int = 83
///|
pub const KeyT : Int = 84
///|
pub const KeyU : Int = 85
///|
pub const KeyV : Int = 86
///|
pub const KeyW : Int = 87
///|
pub const KeyX : Int = 88
///|
pub const KeyY : Int = 89
///|
pub const KeyZ : Int = 90
///|
pub const KeyLeftBracket : Int = 91
///|
pub const KeyBackslash : Int = 92
///|
pub const KeyRightBracket : Int = 93
///|
pub const KeyGrave : Int = 96
///|
pub const KeySpace : Int = 32
///|
pub const KeyEscape : Int = 256
///|
pub const KeyEnter : Int = 257
///|
pub const KeyTab : Int = 258
///|
pub const KeyBackspace : Int = 259
///|
pub const KeyInsert : Int = 260
///|
pub const KeyDelete : Int = 261
///|
pub const KeyRight : Int = 262
///|
pub const KeyLeft : Int = 263
///|
pub const KeyDown : Int = 264
///|
pub const KeyUp : Int = 265
///|
pub const KeyPageUp : Int = 266
///|
pub const KeyPageDown : Int = 267
///|
pub const KeyHome : Int = 268
///|
pub const KeyEnd : Int = 269
///|
pub const KeyCapsLock : Int = 280
///|
pub const KeyScrollLock : Int = 281
///|
pub const KeyNumLock : Int = 282
///|
pub const KeyPrintScreen : Int = 283
///|
pub const KeyPause : Int = 284
///|
pub const KeyF1 : Int = 290
///|
pub const KeyF2 : Int = 291
///|
pub const KeyF3 : Int = 292
///|
pub const KeyF4 : Int = 293
///|
pub const KeyF5 : Int = 294
///|
pub const KeyF6 : Int = 295
///|
pub const KeyF7 : Int = 296
///|
pub const KeyF8 : Int = 297
///|
pub const KeyF9 : Int = 298
///|
pub const KeyF10 : Int = 299
///|
pub const KeyF11 : Int = 300
///|
pub const KeyF12 : Int = 301
///|
pub const KeyLeftShift : Int = 340
///|
pub const KeyLeftControl : Int = 341
///|
pub const KeyLeftAlt : Int = 342
///|
pub const KeyLeftSuper : Int = 343
///|
pub const KeyRightShift : Int = 344
///|
pub const KeyRightControl : Int = 345
///|
pub const KeyRightAlt : Int = 346
///|
pub const KeyRightSuper : Int = 347
///|
pub const KeyKbMenu : Int = 348
///|
pub const KeyKp0 : Int = 320
///|
pub const KeyKp1 : Int = 321
///|
pub const KeyKp2 : Int = 322
///|
pub const KeyKp3 : Int = 323
///|
pub const KeyKp4 : Int = 324
///|
pub const KeyKp5 : Int = 325
///|
pub const KeyKp6 : Int = 326
///|
pub const KeyKp7 : Int = 327
///|
pub const KeyKp8 : Int = 328
///|
pub const KeyKp9 : Int = 329
// Mouse button constants
///|
pub const MouseButtonLeft : Int = 0
///|
pub const MouseButtonRight : Int = 1
///|
pub const MouseButtonMiddle : Int = 2
///|
pub const MouseButtonSide : Int = 3
///|
pub const MouseButtonExtra : Int = 4
///|
pub const MouseButtonForward : Int = 5
///|
pub const MouseButtonBack : Int = 6
// Mouse cursor type constants
///|
pub const MouseCursorDefault : Int = 0
///|
pub const MouseCursorArrow : Int = 1
///|
pub const MouseCursorIbeam : Int = 2
///|
pub const MouseCursorCrosshair : Int = 3
///|
pub const MouseCursorPointingHand : Int = 4
///|
pub const MouseCursorResizeEw : Int = 5
///|
pub const MouseCursorResizeNs : Int = 6
///|
pub const MouseCursorResizeNwse : Int = 7
///|
pub const MouseCursorResizeNesw : Int = 8
///|
pub const MouseCursorResizeAll : Int = 9
///|
pub const MouseCursorNotAllowed : Int = 10
// Gamepad button constants
///|
pub const GamepadButtonUnknown : Int = 0
///|
pub const GamepadButtonLeftFaceUp : Int = 1
///|
pub const GamepadButtonLeftFaceRight : Int = 2
///|
pub const GamepadButtonLeftFaceDown : Int = 3
///|
pub const GamepadButtonLeftFaceLeft : Int = 4
///|
pub const GamepadButtonMiddleLeft : Int = 5
///|
pub const GamepadButtonMiddle : Int = 6
///|
pub const GamepadButtonMiddleRight : Int = 7
///|
pub const GamepadButtonRightFaceUp : Int = 8
///|
pub const GamepadButtonRightFaceRight : Int = 9
///|
pub const GamepadButtonRightFaceDown : Int = 10
///|
pub const GamepadButtonRightFaceLeft : Int = 11
///|
pub const GamepadButtonLeftTrigger1 : Int = 12
///|
pub const GamepadButtonLeftTrigger2 : Int = 13
///|
pub const GamepadButtonRightTrigger1 : Int = 14
///|
pub const GamepadButtonRightTrigger2 : Int = 15
///|
pub const GamepadButtonLeftThumb : Int = 16
///|
pub const GamepadButtonRightThumb : Int = 17
// Gamepad axis constants
///|
pub const GamepadAxisLeftX : Int = 0
///|
pub const GamepadAxisLeftY : Int = 1
///|
pub const GamepadAxisRightX : Int = 2
///|
pub const GamepadAxisRightY : Int = 3
///|
pub const GamepadAxisLeftTrigger : Int = 4
///|
pub const GamepadAxisRightTrigger : Int = 5
// Gesture constants
///|
pub const GestureNone : Int = 0
///|
pub const GestureTap : Int = 1
///|
pub const GestureDoubletap : Int = 2
///|
pub const GestureHold : Int = 4
///|
pub const GestureDrag : Int = 8
///|
pub const GestureSwipeRight : Int = 16
///|
pub const GestureSwipeLeft : Int = 32
///|
pub const GestureSwipeUp : Int = 64
///|
pub const GestureSwipeDown : Int = 128
///|
pub const GesturePinchIn : Int = 256
///|
pub const GesturePinchOut : Int = 512