android_ndk_sys/
native_app_glue.rs1use super::{
4 AConfiguration, AInputEvent, AInputQueue, ALooper, ANativeActivity, ANativeWindow, ARect,
5};
6use std::os::raw::{c_int, c_void};
7
8#[repr(C)]
9pub struct android_app {
10 pub userData: *mut c_void,
11 pub onAppCmd: extern "C" fn(*mut android_app, i32),
12 pub onInputEvent: extern "C" fn(*mut android_app, *const AInputEvent) -> i32,
13 pub activity: *mut ANativeActivity,
14 pub config: *mut AConfiguration,
15 pub savedState: *mut c_void,
16 pub savedStateSize: usize,
17 pub looper: *mut ALooper,
18 pub inputQueue: *mut AInputQueue,
19 pub window: *mut ANativeWindow,
20 pub contentRect: ARect,
21 pub activityState: c_int,
22 pub destroyRequested: c_int,
23}
24
25#[repr(C)]
26pub struct android_poll_source {
27 pub id: i32, pub app: *mut android_app,
29 pub process: extern "C" fn(*mut android_app, *mut android_poll_source),
30}
31
32pub const LOOPER_ID_MAIN: i32 = 1;
33pub const LOOPER_ID_INPUT: i32 = 2;
34pub const LOOPER_ID_USER: i32 = 3;
35
36pub const APP_CMD_INPUT_CHANGED: i8 = 0;
37pub const APP_CMD_INIT_WINDOW: i8 = 1;
38pub const APP_CMD_TERM_WINDOW: i8 = 2;
39pub const APP_CMD_WINDOW_RESIZED: i8 = 3;
40pub const APP_CMD_WINDOW_REDRAW_NEEDED: i8 = 4;
41pub const APP_CMD_CONTENT_RECT_CHANGED: i8 = 5;
42pub const APP_CMD_GAINED_FOCUS: i8 = 6;
43pub const APP_CMD_LOST_FOCUS: i8 = 7;
44pub const APP_CMD_CONFIG_CHANGED: i8 = 8;
45pub const APP_CMD_LOW_MEMORY: i8 = 9;
46pub const APP_CMD_START: i8 = 10;
47pub const APP_CMD_RESUME: i8 = 11;
48pub const APP_CMD_SAVE_STATE: i8 = 12;
49pub const APP_CMD_PAUSE: i8 = 13;
50pub const APP_CMD_STOP: i8 = 14;
51pub const APP_CMD_DESTROY: i8 = 15;
52
53extern "C" {
54 pub fn android_app_read_cmd(app: *mut android_app) -> i8;
55 pub fn android_app_pre_exec_cmd(app: *mut android_app, cmd: i8);
56 pub fn android_app_post_exec_cmd(app: *mut android_app, cmd: i8);
57 pub fn app_dummy();
58}