mirror of
https://github.com/odin-lang/Odin.git
synced 2026-10-31 00:34:56 -04:00
333 lines
15 KiB
Odin
333 lines
15 KiB
Odin
// Generated by core/sys/android/_gen/generate.py from the Android NDK headers. DO NOT EDIT.
|
|
// Source: <android/input.h>, <android/input_transfer_token_jni.h> (NDK r30, 30.0.16248370)
|
|
#+build linux
|
|
package android
|
|
|
|
import "core:c"
|
|
|
|
foreign import libandroid "system:android"
|
|
|
|
AKEY_STATE_UNKNOWN :: -1
|
|
AKEY_STATE_UP :: 0
|
|
AKEY_STATE_DOWN :: 1
|
|
AKEY_STATE_VIRTUAL :: 2
|
|
|
|
AMetaStateFlag :: enum u32 {
|
|
ALT_ON = 1,
|
|
ALT_LEFT_ON = 4,
|
|
ALT_RIGHT_ON = 5,
|
|
SHIFT_ON = 0,
|
|
SHIFT_LEFT_ON = 6,
|
|
SHIFT_RIGHT_ON = 7,
|
|
SYM_ON = 2,
|
|
FUNCTION_ON = 3,
|
|
CTRL_ON = 12,
|
|
CTRL_LEFT_ON = 13,
|
|
CTRL_RIGHT_ON = 14,
|
|
META_ON = 16,
|
|
META_LEFT_ON = 17,
|
|
META_RIGHT_ON = 18,
|
|
CAPS_LOCK_ON = 20,
|
|
NUM_LOCK_ON = 21,
|
|
SCROLL_LOCK_ON = 22,
|
|
}
|
|
AMetaState :: distinct bit_set[AMetaStateFlag; u32]
|
|
|
|
AMETA_NONE :: AMetaState{}
|
|
|
|
AInputEvent :: struct {}
|
|
|
|
AInputEventType :: enum i32 {
|
|
KEY = 1,
|
|
MOTION = 2,
|
|
FOCUS = 3,
|
|
CAPTURE = 4,
|
|
DRAG = 5,
|
|
TOUCH_MODE = 6,
|
|
}
|
|
|
|
AKeyEventAction :: enum i32 {
|
|
DOWN = 0,
|
|
UP = 1,
|
|
MULTIPLE = 2,
|
|
}
|
|
|
|
AKeyEventFlag :: enum u32 {
|
|
WOKE_HERE = 0,
|
|
SOFT_KEYBOARD = 1,
|
|
KEEP_TOUCH_MODE = 2,
|
|
FROM_SYSTEM = 3,
|
|
EDITOR_ACTION = 4,
|
|
CANCELED = 5,
|
|
VIRTUAL_HARD_KEY = 6,
|
|
LONG_PRESS = 7,
|
|
CANCELED_LONG_PRESS = 8,
|
|
TRACKING = 9,
|
|
FALLBACK = 10,
|
|
}
|
|
AKeyEventFlags :: distinct bit_set[AKeyEventFlag; u32]
|
|
|
|
AMotionEventAction :: enum u32 {
|
|
DOWN = 0,
|
|
UP = 1,
|
|
MOVE = 2,
|
|
CANCEL = 3,
|
|
OUTSIDE = 4,
|
|
POINTER_DOWN = 5,
|
|
POINTER_UP = 6,
|
|
HOVER_MOVE = 7,
|
|
SCROLL = 8,
|
|
HOVER_ENTER = 9,
|
|
HOVER_EXIT = 10,
|
|
BUTTON_PRESS = 11,
|
|
BUTTON_RELEASE = 12,
|
|
}
|
|
|
|
AMotionEventPackedAction :: bit_field i32 {
|
|
action: AMotionEventAction | 8,
|
|
pointer_index: u8 | 8,
|
|
_: u16 | 16,
|
|
}
|
|
|
|
AMOTION_EVENT_ACTION_MASK :: AMotionEventPackedAction{action = AMotionEventAction(0xff)}
|
|
AMOTION_EVENT_ACTION_POINTER_INDEX_MASK :: AMotionEventPackedAction{pointer_index = 0xff}
|
|
|
|
AMotionEventFlag :: enum u32 {
|
|
WINDOW_IS_OBSCURED = 0,
|
|
}
|
|
AMotionEventFlags :: distinct bit_set[AMotionEventFlag; u32]
|
|
|
|
AMotionEventEdgeFlag :: enum u32 {
|
|
TOP = 0,
|
|
BOTTOM = 1,
|
|
LEFT = 2,
|
|
RIGHT = 3,
|
|
}
|
|
AMotionEventEdgeFlags :: distinct bit_set[AMotionEventEdgeFlag; u32]
|
|
|
|
AMOTION_EVENT_EDGE_FLAG_NONE :: AMotionEventEdgeFlags{}
|
|
|
|
AMOTION_EVENT_MAXIMUM_VALID_AXIS_VALUE :: 53
|
|
|
|
AMotionEventAxis :: enum i32 {
|
|
X = 0,
|
|
Y = 1,
|
|
PRESSURE = 2,
|
|
SIZE = 3,
|
|
TOUCH_MAJOR = 4,
|
|
TOUCH_MINOR = 5,
|
|
TOOL_MAJOR = 6,
|
|
TOOL_MINOR = 7,
|
|
ORIENTATION = 8,
|
|
VSCROLL = 9,
|
|
HSCROLL = 10,
|
|
Z = 11,
|
|
RX = 12,
|
|
RY = 13,
|
|
RZ = 14,
|
|
HAT_X = 15,
|
|
HAT_Y = 16,
|
|
LTRIGGER = 17,
|
|
RTRIGGER = 18,
|
|
THROTTLE = 19,
|
|
RUDDER = 20,
|
|
WHEEL = 21,
|
|
GAS = 22,
|
|
BRAKE = 23,
|
|
DISTANCE = 24,
|
|
TILT = 25,
|
|
SCROLL = 26,
|
|
RELATIVE_X = 27,
|
|
RELATIVE_Y = 28,
|
|
GENERIC_1 = 32,
|
|
GENERIC_2 = 33,
|
|
GENERIC_3 = 34,
|
|
GENERIC_4 = 35,
|
|
GENERIC_5 = 36,
|
|
GENERIC_6 = 37,
|
|
GENERIC_7 = 38,
|
|
GENERIC_8 = 39,
|
|
GENERIC_9 = 40,
|
|
GENERIC_10 = 41,
|
|
GENERIC_11 = 42,
|
|
GENERIC_12 = 43,
|
|
GENERIC_13 = 44,
|
|
GENERIC_14 = 45,
|
|
GENERIC_15 = 46,
|
|
GENERIC_16 = 47,
|
|
GESTURE_X_OFFSET = 48,
|
|
GESTURE_Y_OFFSET = 49,
|
|
GESTURE_SCROLL_X_DISTANCE = 50,
|
|
GESTURE_SCROLL_Y_DISTANCE = 51,
|
|
GESTURE_PINCH_SCALE_FACTOR = 52,
|
|
GESTURE_SWIPE_FINGER_COUNT = 53,
|
|
}
|
|
|
|
AMotionEventButton :: enum u32 {
|
|
PRIMARY = 0,
|
|
SECONDARY = 1,
|
|
TERTIARY = 2,
|
|
BACK = 3,
|
|
FORWARD = 4,
|
|
STYLUS_PRIMARY = 5,
|
|
STYLUS_SECONDARY = 6,
|
|
}
|
|
AMotionEventButtons :: distinct bit_set[AMotionEventButton; u32]
|
|
|
|
AMotionEventToolType :: enum i32 {
|
|
UNKNOWN = 0,
|
|
FINGER = 1,
|
|
STYLUS = 2,
|
|
MOUSE = 3,
|
|
ERASER = 4,
|
|
PALM = 5,
|
|
}
|
|
|
|
AMotionClassification :: enum u32 {
|
|
NONE = 0,
|
|
AMBIGUOUS_GESTURE = 1,
|
|
DEEP_PRESS = 2,
|
|
TWO_FINGER_SWIPE = 3,
|
|
MULTI_FINGER_SWIPE = 4,
|
|
PINCH = 5,
|
|
}
|
|
|
|
AInputSource :: enum u32 {
|
|
CLASS_BUTTON = 0,
|
|
CLASS_POINTER = 1,
|
|
CLASS_NAVIGATION = 2,
|
|
CLASS_POSITION = 3,
|
|
CLASS_JOYSTICK = 4,
|
|
KEYBOARD = 8,
|
|
DPAD = 9,
|
|
GAMEPAD = 10,
|
|
TOUCHSCREEN = 12,
|
|
MOUSE = 13,
|
|
STYLUS = 14,
|
|
BLUETOOTH_STYLUS = 15,
|
|
TRACKBALL = 16,
|
|
MOUSE_RELATIVE = 17,
|
|
TOUCHPAD = 20,
|
|
TOUCH_NAVIGATION = 21,
|
|
ROTARY_ENCODER = 22,
|
|
JOYSTICK = 24,
|
|
HDMI = 25,
|
|
SENSOR = 26,
|
|
}
|
|
AInputSources :: distinct bit_set[AInputSource; u32]
|
|
|
|
AINPUT_SOURCE_CLASS_MASK :: transmute(AInputSources)u32(0xff)
|
|
AINPUT_SOURCE_CLASS_NONE :: AInputSources{}
|
|
AINPUT_SOURCE_CLASS_BUTTON :: AInputSources{.CLASS_BUTTON}
|
|
AINPUT_SOURCE_CLASS_POINTER :: AInputSources{.CLASS_POINTER}
|
|
AINPUT_SOURCE_CLASS_NAVIGATION :: AInputSources{.CLASS_NAVIGATION}
|
|
AINPUT_SOURCE_CLASS_POSITION :: AInputSources{.CLASS_POSITION}
|
|
AINPUT_SOURCE_CLASS_JOYSTICK :: AInputSources{.CLASS_JOYSTICK}
|
|
AINPUT_SOURCE_UNKNOWN :: AInputSources{}
|
|
AINPUT_SOURCE_KEYBOARD :: AInputSources{.CLASS_BUTTON, .KEYBOARD}
|
|
AINPUT_SOURCE_DPAD :: AInputSources{.CLASS_BUTTON, .DPAD}
|
|
AINPUT_SOURCE_GAMEPAD :: AInputSources{.CLASS_BUTTON, .GAMEPAD}
|
|
AINPUT_SOURCE_TOUCHSCREEN :: AInputSources{.CLASS_POINTER, .TOUCHSCREEN}
|
|
AINPUT_SOURCE_MOUSE :: AInputSources{.CLASS_POINTER, .MOUSE}
|
|
AINPUT_SOURCE_STYLUS :: AInputSources{.CLASS_POINTER, .STYLUS}
|
|
AINPUT_SOURCE_BLUETOOTH_STYLUS :: AInputSources{.CLASS_POINTER, .STYLUS, .BLUETOOTH_STYLUS}
|
|
AINPUT_SOURCE_TRACKBALL :: AInputSources{.CLASS_NAVIGATION, .TRACKBALL}
|
|
AINPUT_SOURCE_MOUSE_RELATIVE :: AInputSources{.CLASS_NAVIGATION, .MOUSE_RELATIVE}
|
|
AINPUT_SOURCE_TOUCHPAD :: AInputSources{.CLASS_POSITION, .TOUCHPAD}
|
|
AINPUT_SOURCE_TOUCH_NAVIGATION :: AInputSources{.TOUCH_NAVIGATION}
|
|
AINPUT_SOURCE_JOYSTICK :: AInputSources{.CLASS_JOYSTICK, .JOYSTICK}
|
|
AINPUT_SOURCE_HDMI :: AInputSources{.CLASS_BUTTON, .HDMI}
|
|
AINPUT_SOURCE_SENSOR :: AInputSources{.SENSOR}
|
|
AINPUT_SOURCE_ROTARY_ENCODER :: AInputSources{.ROTARY_ENCODER}
|
|
AINPUT_SOURCE_ANY :: transmute(AInputSources)u32(0xffffff00)
|
|
|
|
AINPUT_KEYBOARD_TYPE_NONE :: 0
|
|
AINPUT_KEYBOARD_TYPE_NON_ALPHABETIC :: 1
|
|
AINPUT_KEYBOARD_TYPE_ALPHABETIC :: 2
|
|
|
|
AINPUT_MOTION_RANGE_X :: 0
|
|
AINPUT_MOTION_RANGE_Y :: 1
|
|
AINPUT_MOTION_RANGE_PRESSURE :: 2
|
|
AINPUT_MOTION_RANGE_SIZE :: 3
|
|
AINPUT_MOTION_RANGE_TOUCH_MAJOR :: 4
|
|
AINPUT_MOTION_RANGE_TOUCH_MINOR :: 5
|
|
AINPUT_MOTION_RANGE_TOOL_MAJOR :: 6
|
|
AINPUT_MOTION_RANGE_TOOL_MINOR :: 7
|
|
AINPUT_MOTION_RANGE_ORIENTATION :: 8
|
|
|
|
AInputQueue :: struct {}
|
|
AInputTransferToken :: struct {}
|
|
|
|
AMOTION_EVENT_ACTION_POINTER_INDEX_SHIFT :: 8
|
|
|
|
@(default_calling_convention="c")
|
|
foreign libandroid {
|
|
AInputEvent_getType :: proc(event: ^AInputEvent) -> AInputEventType ---
|
|
AInputEvent_getDeviceId :: proc(event: ^AInputEvent) -> i32 ---
|
|
AInputEvent_getSource :: proc(event: ^AInputEvent) -> AInputSources ---
|
|
AInputEvent_release :: proc(event: ^AInputEvent) --- // API level 31
|
|
AKeyEvent_getAction :: proc(key_event: ^AInputEvent) -> AKeyEventAction ---
|
|
AKeyEvent_getFlags :: proc(key_event: ^AInputEvent) -> AKeyEventFlags ---
|
|
AKeyEvent_getKeyCode :: proc(key_event: ^AInputEvent) -> AKeyCode ---
|
|
AKeyEvent_getScanCode :: proc(key_event: ^AInputEvent) -> i32 ---
|
|
AKeyEvent_getMetaState :: proc(key_event: ^AInputEvent) -> AMetaState ---
|
|
AKeyEvent_getRepeatCount :: proc(key_event: ^AInputEvent) -> i32 ---
|
|
AKeyEvent_getDownTime :: proc(key_event: ^AInputEvent) -> i64 ---
|
|
AKeyEvent_getEventTime :: proc(key_event: ^AInputEvent) -> i64 ---
|
|
AKeyEvent_fromJava :: proc(env: ^JNIEnv, keyEvent: jobject) -> ^AInputEvent --- // API level 31
|
|
AMotionEvent_getAction :: proc(motion_event: ^AInputEvent) -> AMotionEventPackedAction ---
|
|
AMotionEvent_getFlags :: proc(motion_event: ^AInputEvent) -> AMotionEventFlags ---
|
|
AMotionEvent_getMetaState :: proc(motion_event: ^AInputEvent) -> AMetaState ---
|
|
AMotionEvent_getButtonState :: proc(motion_event: ^AInputEvent) -> AMotionEventButtons ---
|
|
AMotionEvent_getEdgeFlags :: proc(motion_event: ^AInputEvent) -> AMotionEventEdgeFlags ---
|
|
AMotionEvent_getDownTime :: proc(motion_event: ^AInputEvent) -> i64 ---
|
|
AMotionEvent_getEventTime :: proc(motion_event: ^AInputEvent) -> i64 ---
|
|
AMotionEvent_getXOffset :: proc(motion_event: ^AInputEvent) -> f32 ---
|
|
AMotionEvent_getYOffset :: proc(motion_event: ^AInputEvent) -> f32 ---
|
|
AMotionEvent_getXPrecision :: proc(motion_event: ^AInputEvent) -> f32 ---
|
|
AMotionEvent_getYPrecision :: proc(motion_event: ^AInputEvent) -> f32 ---
|
|
AMotionEvent_getPointerCount :: proc(motion_event: ^AInputEvent) -> c.size_t ---
|
|
AMotionEvent_getPointerId :: proc(motion_event: ^AInputEvent, pointer_index: c.size_t) -> i32 ---
|
|
AMotionEvent_getToolType :: proc(motion_event: ^AInputEvent, pointer_index: c.size_t) -> AMotionEventToolType ---
|
|
AMotionEvent_getRawX :: proc(motion_event: ^AInputEvent, pointer_index: c.size_t) -> f32 ---
|
|
AMotionEvent_getRawY :: proc(motion_event: ^AInputEvent, pointer_index: c.size_t) -> f32 ---
|
|
AMotionEvent_getX :: proc(motion_event: ^AInputEvent, pointer_index: c.size_t) -> f32 ---
|
|
AMotionEvent_getY :: proc(motion_event: ^AInputEvent, pointer_index: c.size_t) -> f32 ---
|
|
AMotionEvent_getPressure :: proc(motion_event: ^AInputEvent, pointer_index: c.size_t) -> f32 ---
|
|
AMotionEvent_getSize :: proc(motion_event: ^AInputEvent, pointer_index: c.size_t) -> f32 ---
|
|
AMotionEvent_getTouchMajor :: proc(motion_event: ^AInputEvent, pointer_index: c.size_t) -> f32 ---
|
|
AMotionEvent_getTouchMinor :: proc(motion_event: ^AInputEvent, pointer_index: c.size_t) -> f32 ---
|
|
AMotionEvent_getToolMajor :: proc(motion_event: ^AInputEvent, pointer_index: c.size_t) -> f32 ---
|
|
AMotionEvent_getToolMinor :: proc(motion_event: ^AInputEvent, pointer_index: c.size_t) -> f32 ---
|
|
AMotionEvent_getOrientation :: proc(motion_event: ^AInputEvent, pointer_index: c.size_t) -> f32 ---
|
|
AMotionEvent_getAxisValue :: proc(motion_event: ^AInputEvent, axis: AMotionEventAxis, pointer_index: c.size_t) -> f32 ---
|
|
AMotionEvent_getHistorySize :: proc(motion_event: ^AInputEvent) -> c.size_t ---
|
|
AMotionEvent_getHistoricalEventTime :: proc(motion_event: ^AInputEvent, history_index: c.size_t) -> i64 ---
|
|
AMotionEvent_getHistoricalRawX :: proc(motion_event: ^AInputEvent, pointer_index: c.size_t, history_index: c.size_t) -> f32 ---
|
|
AMotionEvent_getHistoricalRawY :: proc(motion_event: ^AInputEvent, pointer_index: c.size_t, history_index: c.size_t) -> f32 ---
|
|
AMotionEvent_getHistoricalX :: proc(motion_event: ^AInputEvent, pointer_index: c.size_t, history_index: c.size_t) -> f32 ---
|
|
AMotionEvent_getHistoricalY :: proc(motion_event: ^AInputEvent, pointer_index: c.size_t, history_index: c.size_t) -> f32 ---
|
|
AMotionEvent_getHistoricalPressure :: proc(motion_event: ^AInputEvent, pointer_index: c.size_t, history_index: c.size_t) -> f32 ---
|
|
AMotionEvent_getHistoricalSize :: proc(motion_event: ^AInputEvent, pointer_index: c.size_t, history_index: c.size_t) -> f32 ---
|
|
AMotionEvent_getHistoricalTouchMajor :: proc(motion_event: ^AInputEvent, pointer_index: c.size_t, history_index: c.size_t) -> f32 ---
|
|
AMotionEvent_getHistoricalTouchMinor :: proc(motion_event: ^AInputEvent, pointer_index: c.size_t, history_index: c.size_t) -> f32 ---
|
|
AMotionEvent_getHistoricalToolMajor :: proc(motion_event: ^AInputEvent, pointer_index: c.size_t, history_index: c.size_t) -> f32 ---
|
|
AMotionEvent_getHistoricalToolMinor :: proc(motion_event: ^AInputEvent, pointer_index: c.size_t, history_index: c.size_t) -> f32 ---
|
|
AMotionEvent_getHistoricalOrientation :: proc(motion_event: ^AInputEvent, pointer_index: c.size_t, history_index: c.size_t) -> f32 ---
|
|
AMotionEvent_getHistoricalAxisValue :: proc(motion_event: ^AInputEvent, axis: AMotionEventAxis, pointer_index: c.size_t, history_index: c.size_t) -> f32 ---
|
|
AMotionEvent_getActionButton :: proc(motion_event: ^AInputEvent) -> AMotionEventButtons --- // API level 33
|
|
AMotionEvent_getClassification :: proc(motion_event: ^AInputEvent) -> AMotionClassification --- // API level 33
|
|
AMotionEvent_fromJava :: proc(env: ^JNIEnv, motionEvent: jobject) -> ^AInputEvent --- // API level 31
|
|
AInputEvent_toJava :: proc(env: ^JNIEnv, aInputEvent: ^AInputEvent) -> jobject --- // API level 35
|
|
AInputQueue_attachLooper :: proc(queue: ^AInputQueue, looper: ^ALooper, ident: c.int, callback: ALooper_callbackFunc, data: rawptr) ---
|
|
AInputQueue_detachLooper :: proc(queue: ^AInputQueue) ---
|
|
AInputQueue_hasEvents :: proc(queue: ^AInputQueue) -> i32 ---
|
|
AInputQueue_getEvent :: proc(queue: ^AInputQueue, outEvent: ^^AInputEvent) -> i32 ---
|
|
AInputQueue_preDispatchEvent :: proc(queue: ^AInputQueue, event: ^AInputEvent) -> i32 ---
|
|
AInputQueue_finishEvent :: proc(queue: ^AInputQueue, event: ^AInputEvent, handled: c.int) ---
|
|
AInputQueue_fromJava :: proc(env: ^JNIEnv, inputQueue: jobject) -> ^AInputQueue --- // API level 33
|
|
AInputTransferToken_fromJava :: proc(env: ^JNIEnv, inputTransferTokenObj: jobject) -> ^AInputTransferToken --- // API level 35
|
|
AInputTransferToken_toJava :: proc(env: ^JNIEnv, aInputTransferToken: ^AInputTransferToken) -> jobject --- // API level 35
|
|
AInputTransferToken_release :: proc(aInputTransferToken: ^AInputTransferToken) --- // API level 35
|
|
}
|