1pub const EM_TRUE: u32 = 1;
4pub const EM_FALSE: u32 = 0;
5pub const EMSCRIPTEN_RESULT_SUCCESS: u32 = 0;
6pub const EMSCRIPTEN_RESULT_DEFERRED: u32 = 1;
7pub const EMSCRIPTEN_RESULT_NOT_SUPPORTED: i32 = -1;
8pub const EMSCRIPTEN_RESULT_FAILED_NOT_DEFERRED: i32 = -2;
9pub const EMSCRIPTEN_RESULT_INVALID_TARGET: i32 = -3;
10pub const EMSCRIPTEN_RESULT_UNKNOWN_TARGET: i32 = -4;
11pub const EMSCRIPTEN_RESULT_INVALID_PARAM: i32 = -5;
12pub const EMSCRIPTEN_RESULT_FAILED: i32 = -6;
13pub const EMSCRIPTEN_RESULT_NO_DATA: i32 = -7;
14pub const EMSCRIPTEN_RESULT_TIMED_OUT: i32 = -8;
15pub const LONG_CODE: u8 = 105u8;
16pub const __EMSCRIPTEN_major__: u32 = 4;
17pub const __EMSCRIPTEN_minor__: u32 = 0;
18pub const __EMSCRIPTEN_tiny__: u32 = 1;
19pub const EM_TIMING_SETTIMEOUT: u32 = 0;
20pub const EM_TIMING_RAF: u32 = 1;
21pub const EM_TIMING_SETIMMEDIATE: u32 = 2;
22pub const EM_LOG_CONSOLE: u32 = 1;
23pub const EM_LOG_WARN: u32 = 2;
24pub const EM_LOG_ERROR: u32 = 4;
25pub const EM_LOG_C_STACK: u32 = 8;
26pub const EM_LOG_JS_STACK: u32 = 16;
27pub const EM_LOG_DEMANGLE: u32 = 32;
28pub const EM_LOG_NO_PATHS: u32 = 64;
29pub const EM_LOG_FUNC_PARAMS: u32 = 128;
30pub const EM_LOG_DEBUG: u32 = 256;
31pub const EM_LOG_INFO: u32 = 512;
32pub const EMSCRIPTEN_EVENT_KEYPRESS: u32 = 1;
33pub const EMSCRIPTEN_EVENT_KEYDOWN: u32 = 2;
34pub const EMSCRIPTEN_EVENT_KEYUP: u32 = 3;
35pub const EMSCRIPTEN_EVENT_CLICK: u32 = 4;
36pub const EMSCRIPTEN_EVENT_MOUSEDOWN: u32 = 5;
37pub const EMSCRIPTEN_EVENT_MOUSEUP: u32 = 6;
38pub const EMSCRIPTEN_EVENT_DBLCLICK: u32 = 7;
39pub const EMSCRIPTEN_EVENT_MOUSEMOVE: u32 = 8;
40pub const EMSCRIPTEN_EVENT_WHEEL: u32 = 9;
41pub const EMSCRIPTEN_EVENT_RESIZE: u32 = 10;
42pub const EMSCRIPTEN_EVENT_SCROLL: u32 = 11;
43pub const EMSCRIPTEN_EVENT_BLUR: u32 = 12;
44pub const EMSCRIPTEN_EVENT_FOCUS: u32 = 13;
45pub const EMSCRIPTEN_EVENT_FOCUSIN: u32 = 14;
46pub const EMSCRIPTEN_EVENT_FOCUSOUT: u32 = 15;
47pub const EMSCRIPTEN_EVENT_DEVICEORIENTATION: u32 = 16;
48pub const EMSCRIPTEN_EVENT_DEVICEMOTION: u32 = 17;
49pub const EMSCRIPTEN_EVENT_ORIENTATIONCHANGE: u32 = 18;
50pub const EMSCRIPTEN_EVENT_FULLSCREENCHANGE: u32 = 19;
51pub const EMSCRIPTEN_EVENT_POINTERLOCKCHANGE: u32 = 20;
52pub const EMSCRIPTEN_EVENT_VISIBILITYCHANGE: u32 = 21;
53pub const EMSCRIPTEN_EVENT_TOUCHSTART: u32 = 22;
54pub const EMSCRIPTEN_EVENT_TOUCHEND: u32 = 23;
55pub const EMSCRIPTEN_EVENT_TOUCHMOVE: u32 = 24;
56pub const EMSCRIPTEN_EVENT_TOUCHCANCEL: u32 = 25;
57pub const EMSCRIPTEN_EVENT_GAMEPADCONNECTED: u32 = 26;
58pub const EMSCRIPTEN_EVENT_GAMEPADDISCONNECTED: u32 = 27;
59pub const EMSCRIPTEN_EVENT_BEFOREUNLOAD: u32 = 28;
60pub const EMSCRIPTEN_EVENT_BATTERYCHARGINGCHANGE: u32 = 29;
61pub const EMSCRIPTEN_EVENT_BATTERYLEVELCHANGE: u32 = 30;
62pub const EMSCRIPTEN_EVENT_WEBGLCONTEXTLOST: u32 = 31;
63pub const EMSCRIPTEN_EVENT_WEBGLCONTEXTRESTORED: u32 = 32;
64pub const EMSCRIPTEN_EVENT_MOUSEENTER: u32 = 33;
65pub const EMSCRIPTEN_EVENT_MOUSELEAVE: u32 = 34;
66pub const EMSCRIPTEN_EVENT_MOUSEOVER: u32 = 35;
67pub const EMSCRIPTEN_EVENT_MOUSEOUT: u32 = 36;
68pub const EMSCRIPTEN_EVENT_CANVASRESIZED: u32 = 37;
69pub const EMSCRIPTEN_EVENT_POINTERLOCKERROR: u32 = 38;
70pub const EMSCRIPTEN_EVENT_TARGET_INVALID: u32 = 0;
71pub const DOM_KEY_LOCATION_STANDARD: u32 = 0;
72pub const DOM_KEY_LOCATION_LEFT: u32 = 1;
73pub const DOM_KEY_LOCATION_RIGHT: u32 = 2;
74pub const DOM_KEY_LOCATION_NUMPAD: u32 = 3;
75pub const EM_HTML5_SHORT_STRING_LEN_BYTES: u32 = 32;
76pub const EM_HTML5_MEDIUM_STRING_LEN_BYTES: u32 = 64;
77pub const EM_HTML5_LONG_STRING_LEN_BYTES: u32 = 128;
78pub const DOM_DELTA_PIXEL: u32 = 0;
79pub const DOM_DELTA_LINE: u32 = 1;
80pub const DOM_DELTA_PAGE: u32 = 2;
81pub const EMSCRIPTEN_DEVICE_MOTION_EVENT_SUPPORTS_ACCELERATION: u32 = 1;
82pub const EMSCRIPTEN_DEVICE_MOTION_EVENT_SUPPORTS_ACCELERATION_INCLUDING_GRAVITY: u32 = 2;
83pub const EMSCRIPTEN_DEVICE_MOTION_EVENT_SUPPORTS_ROTATION_RATE: u32 = 4;
84pub const EMSCRIPTEN_ORIENTATION_UNSUPPORTED: u32 = 0;
85pub const EMSCRIPTEN_ORIENTATION_PORTRAIT_PRIMARY: u32 = 1;
86pub const EMSCRIPTEN_ORIENTATION_PORTRAIT_SECONDARY: u32 = 2;
87pub const EMSCRIPTEN_ORIENTATION_LANDSCAPE_PRIMARY: u32 = 4;
88pub const EMSCRIPTEN_ORIENTATION_LANDSCAPE_SECONDARY: u32 = 8;
89pub const EMSCRIPTEN_FULLSCREEN_SCALE_DEFAULT: u32 = 0;
90pub const EMSCRIPTEN_FULLSCREEN_SCALE_STRETCH: u32 = 1;
91pub const EMSCRIPTEN_FULLSCREEN_SCALE_ASPECT: u32 = 2;
92pub const EMSCRIPTEN_FULLSCREEN_SCALE_CENTER: u32 = 3;
93pub const EMSCRIPTEN_FULLSCREEN_CANVAS_SCALE_NONE: u32 = 0;
94pub const EMSCRIPTEN_FULLSCREEN_CANVAS_SCALE_STDDEF: u32 = 1;
95pub const EMSCRIPTEN_FULLSCREEN_CANVAS_SCALE_HIDEF: u32 = 2;
96pub const EMSCRIPTEN_FULLSCREEN_FILTERING_DEFAULT: u32 = 0;
97pub const EMSCRIPTEN_FULLSCREEN_FILTERING_NEAREST: u32 = 1;
98pub const EMSCRIPTEN_FULLSCREEN_FILTERING_BILINEAR: u32 = 2;
99pub const EMSCRIPTEN_VISIBILITY_HIDDEN: u32 = 0;
100pub const EMSCRIPTEN_VISIBILITY_VISIBLE: u32 = 1;
101pub const EMSCRIPTEN_VISIBILITY_PRERENDER: u32 = 2;
102pub const EMSCRIPTEN_VISIBILITY_UNLOADED: u32 = 3;
103pub const EMSCRIPTEN_WEBGL_CONTEXT_PROXY_DISALLOW: u32 = 0;
104pub const EMSCRIPTEN_WEBGL_CONTEXT_PROXY_FALLBACK: u32 = 1;
105pub const EMSCRIPTEN_WEBGL_CONTEXT_PROXY_ALWAYS: u32 = 2;
106pub const EM_WEBGL_POWER_PREFERENCE_DEFAULT: u32 = 0;
107pub const EM_WEBGL_POWER_PREFERENCE_LOW_POWER: u32 = 1;
108pub const EM_WEBGL_POWER_PREFERENCE_HIGH_PERFORMANCE: u32 = 2;
109pub const EMSCRIPTEN_WEBGL_PARAM_TYPE_INT: u32 = 0;
110pub const EMSCRIPTEN_WEBGL_PARAM_TYPE_FLOAT: u32 = 1;
111#[repr(C)]
112#[derive(Debug, Copy, Clone)]
113pub struct __pthread {
114 _unused: [u8; 0],
115}
116pub type pthread_t = *mut __pthread;
117pub type emscripten_align1_short = ::std::os::raw::c_short;
118pub type emscripten_align4_int64 = ::std::os::raw::c_longlong;
119pub type emscripten_align2_int64 = ::std::os::raw::c_longlong;
120pub type emscripten_align1_int64 = ::std::os::raw::c_longlong;
121pub type emscripten_align2_int = ::std::os::raw::c_int;
122pub type emscripten_align1_int = ::std::os::raw::c_int;
123pub type emscripten_align2_float = f32;
124pub type emscripten_align1_float = f32;
125pub type emscripten_align4_double = f64;
126pub type emscripten_align2_double = f64;
127pub type emscripten_align1_double = f64;
128pub type em_callback_func = ::std::option::Option<unsafe extern "C" fn()>;
129pub type em_arg_callback_func =
130 ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>;
131pub type em_str_callback_func =
132 ::std::option::Option<unsafe extern "C" fn(arg1: *const ::std::os::raw::c_char)>;
133extern "C" {
134 pub fn emscripten_asm_const_int(
135 code: *const ::std::os::raw::c_char,
136 arg_sigs: *const ::std::os::raw::c_char,
137 ...
138 ) -> ::std::os::raw::c_int;
139}
140extern "C" {
141 pub fn emscripten_asm_const_ptr(
142 code: *const ::std::os::raw::c_char,
143 arg_sigs: *const ::std::os::raw::c_char,
144 ...
145 ) -> *mut ::std::os::raw::c_void;
146}
147extern "C" {
148 pub fn emscripten_asm_const_double(
149 code: *const ::std::os::raw::c_char,
150 arg_sigs: *const ::std::os::raw::c_char,
151 ...
152 ) -> f64;
153}
154extern "C" {
155 pub fn emscripten_asm_const_int_sync_on_main_thread(
156 code: *const ::std::os::raw::c_char,
157 arg_sigs: *const ::std::os::raw::c_char,
158 ...
159 ) -> ::std::os::raw::c_int;
160}
161extern "C" {
162 pub fn emscripten_asm_const_ptr_sync_on_main_thread(
163 code: *const ::std::os::raw::c_char,
164 arg_sigs: *const ::std::os::raw::c_char,
165 ...
166 ) -> *mut ::std::os::raw::c_void;
167}
168extern "C" {
169 pub fn emscripten_asm_const_double_sync_on_main_thread(
170 code: *const ::std::os::raw::c_char,
171 arg_sigs: *const ::std::os::raw::c_char,
172 ...
173 ) -> f64;
174}
175extern "C" {
176 pub fn emscripten_asm_const_async_on_main_thread(
177 code: *const ::std::os::raw::c_char,
178 arg_sigs: *const ::std::os::raw::c_char,
179 ...
180 );
181}
182#[repr(C)]
183#[derive(Debug, Copy, Clone)]
184pub struct _em_promise {
185 _unused: [u8; 0],
186}
187pub type em_promise_t = *mut _em_promise;
188pub const em_promise_result_t_EM_PROMISE_FULFILL: em_promise_result_t = 0;
189pub const em_promise_result_t_EM_PROMISE_MATCH: em_promise_result_t = 1;
190pub const em_promise_result_t_EM_PROMISE_MATCH_RELEASE: em_promise_result_t = 2;
191pub const em_promise_result_t_EM_PROMISE_REJECT: em_promise_result_t = 3;
192pub type em_promise_result_t = ::std::os::raw::c_uint;
193pub type em_promise_callback_t = ::std::option::Option<
194 unsafe extern "C" fn(
195 result: *mut *mut ::std::os::raw::c_void,
196 data: *mut ::std::os::raw::c_void,
197 value: *mut ::std::os::raw::c_void,
198 ) -> em_promise_result_t,
199>;
200extern "C" {
201 pub fn emscripten_promise_create() -> em_promise_t;
202}
203extern "C" {
204 pub fn emscripten_promise_destroy(promise: em_promise_t);
205}
206extern "C" {
207 pub fn emscripten_promise_resolve(
208 promise: em_promise_t,
209 result: em_promise_result_t,
210 value: *mut ::std::os::raw::c_void,
211 );
212}
213extern "C" {
214 pub fn emscripten_promise_then(
215 promise: em_promise_t,
216 on_fulfilled: em_promise_callback_t,
217 on_rejected: em_promise_callback_t,
218 data: *mut ::std::os::raw::c_void,
219 ) -> em_promise_t;
220}
221extern "C" {
222 pub fn emscripten_promise_all(
223 promises: *mut em_promise_t,
224 results: *mut *mut ::std::os::raw::c_void,
225 num_promises: usize,
226 ) -> em_promise_t;
227}
228#[repr(C)]
229#[derive(Debug, Copy, Clone)]
230pub struct em_settled_result_t {
231 pub result: em_promise_result_t,
232 pub value: *mut ::std::os::raw::c_void,
233}
234#[test]
235fn bindgen_test_layout_em_settled_result_t() {
236 const UNINIT: ::std::mem::MaybeUninit<em_settled_result_t> = ::std::mem::MaybeUninit::uninit();
237 let ptr = UNINIT.as_ptr();
238 assert_eq!(
239 ::std::mem::size_of::<em_settled_result_t>(),
240 16usize,
241 concat!("Size of: ", stringify!(em_settled_result_t))
242 );
243 assert_eq!(
244 ::std::mem::align_of::<em_settled_result_t>(),
245 8usize,
246 concat!("Alignment of ", stringify!(em_settled_result_t))
247 );
248 assert_eq!(
249 unsafe { ::std::ptr::addr_of!((*ptr).result) as usize - ptr as usize },
250 0usize,
251 concat!(
252 "Offset of field: ",
253 stringify!(em_settled_result_t),
254 "::",
255 stringify!(result)
256 )
257 );
258 assert_eq!(
259 unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
260 8usize,
261 concat!(
262 "Offset of field: ",
263 stringify!(em_settled_result_t),
264 "::",
265 stringify!(value)
266 )
267 );
268}
269extern "C" {
270 pub fn emscripten_promise_all_settled(
271 promises: *mut em_promise_t,
272 results: *mut em_settled_result_t,
273 num_promises: usize,
274 ) -> em_promise_t;
275}
276extern "C" {
277 pub fn emscripten_promise_any(
278 promises: *mut em_promise_t,
279 errors: *mut *mut ::std::os::raw::c_void,
280 num_promises: usize,
281 ) -> em_promise_t;
282}
283extern "C" {
284 pub fn emscripten_promise_race(
285 promises: *mut em_promise_t,
286 num_promises: usize,
287 ) -> em_promise_t;
288}
289extern "C" {
290 pub fn emscripten_promise_await(promise: em_promise_t) -> em_settled_result_t;
291}
292extern "C" {
293 pub fn emscripten_async_wget(
294 url: *const ::std::os::raw::c_char,
295 file: *const ::std::os::raw::c_char,
296 onload: em_str_callback_func,
297 onerror: em_str_callback_func,
298 );
299}
300pub type em_async_wget_onload_func = ::std::option::Option<
301 unsafe extern "C" fn(
302 userdata: *mut ::std::os::raw::c_void,
303 data: *mut ::std::os::raw::c_void,
304 size: ::std::os::raw::c_int,
305 ),
306>;
307extern "C" {
308 pub fn emscripten_async_wget_data(
309 url: *const ::std::os::raw::c_char,
310 userdata: *mut ::std::os::raw::c_void,
311 onload: em_async_wget_onload_func,
312 onerror: em_arg_callback_func,
313 );
314}
315pub type em_async_wget2_onload_func = ::std::option::Option<
316 unsafe extern "C" fn(
317 handle: ::std::os::raw::c_uint,
318 userdata: *mut ::std::os::raw::c_void,
319 data: *const ::std::os::raw::c_char,
320 ),
321>;
322pub type em_async_wget2_onstatus_func = ::std::option::Option<
323 unsafe extern "C" fn(
324 handle: ::std::os::raw::c_uint,
325 userdata: *mut ::std::os::raw::c_void,
326 status: ::std::os::raw::c_int,
327 ),
328>;
329extern "C" {
330 pub fn emscripten_async_wget2(
331 url: *const ::std::os::raw::c_char,
332 file: *const ::std::os::raw::c_char,
333 requesttype: *const ::std::os::raw::c_char,
334 param: *const ::std::os::raw::c_char,
335 userdata: *mut ::std::os::raw::c_void,
336 onload: em_async_wget2_onload_func,
337 onerror: em_async_wget2_onstatus_func,
338 onprogress: em_async_wget2_onstatus_func,
339 ) -> ::std::os::raw::c_int;
340}
341pub type em_async_wget2_data_onload_func = ::std::option::Option<
342 unsafe extern "C" fn(
343 handle: ::std::os::raw::c_uint,
344 userdata: *mut ::std::os::raw::c_void,
345 data: *mut ::std::os::raw::c_void,
346 size: ::std::os::raw::c_uint,
347 ),
348>;
349pub type em_async_wget2_data_onerror_func = ::std::option::Option<
350 unsafe extern "C" fn(
351 handle: ::std::os::raw::c_uint,
352 userdata: *mut ::std::os::raw::c_void,
353 status: ::std::os::raw::c_int,
354 status_text: *const ::std::os::raw::c_char,
355 ),
356>;
357pub type em_async_wget2_data_onprogress_func = ::std::option::Option<
358 unsafe extern "C" fn(
359 handle: ::std::os::raw::c_uint,
360 userdata: *mut ::std::os::raw::c_void,
361 loaded: ::std::os::raw::c_int,
362 total: ::std::os::raw::c_int,
363 ),
364>;
365extern "C" {
366 pub fn emscripten_async_wget2_data(
367 url: *const ::std::os::raw::c_char,
368 requesttype: *const ::std::os::raw::c_char,
369 param: *const ::std::os::raw::c_char,
370 arg: *mut ::std::os::raw::c_void,
371 free: ::std::os::raw::c_int,
372 onload: em_async_wget2_data_onload_func,
373 onerror: em_async_wget2_data_onerror_func,
374 onprogress: em_async_wget2_data_onprogress_func,
375 ) -> ::std::os::raw::c_int;
376}
377extern "C" {
378 pub fn emscripten_async_wget2_abort(handle: ::std::os::raw::c_int);
379}
380extern "C" {
381 pub fn emscripten_wget(
382 url: *const ::std::os::raw::c_char,
383 file: *const ::std::os::raw::c_char,
384 ) -> ::std::os::raw::c_int;
385}
386extern "C" {
387 pub fn emscripten_wget_data(
388 url: *const ::std::os::raw::c_char,
389 pbuffer: *mut *mut ::std::os::raw::c_void,
390 pnum: *mut ::std::os::raw::c_int,
391 perror: *mut ::std::os::raw::c_int,
392 );
393}
394extern "C" {
395 pub fn emscripten_run_script(script: *const ::std::os::raw::c_char);
396}
397extern "C" {
398 pub fn emscripten_run_script_int(
399 script: *const ::std::os::raw::c_char,
400 ) -> ::std::os::raw::c_int;
401}
402extern "C" {
403 pub fn emscripten_run_script_string(
404 script: *const ::std::os::raw::c_char,
405 ) -> *mut ::std::os::raw::c_char;
406}
407extern "C" {
408 pub fn emscripten_async_run_script(
409 script: *const ::std::os::raw::c_char,
410 millis: ::std::os::raw::c_int,
411 );
412}
413extern "C" {
414 pub fn emscripten_async_load_script(
415 script: *const ::std::os::raw::c_char,
416 onload: em_callback_func,
417 onerror: em_callback_func,
418 );
419}
420extern "C" {
421 pub fn emscripten_set_main_loop(
422 func: em_callback_func,
423 fps: ::std::os::raw::c_int,
424 simulate_infinite_loop: bool,
425 );
426}
427extern "C" {
428 pub fn emscripten_set_main_loop_timing(
429 mode: ::std::os::raw::c_int,
430 value: ::std::os::raw::c_int,
431 ) -> ::std::os::raw::c_int;
432}
433extern "C" {
434 pub fn emscripten_get_main_loop_timing(
435 mode: *mut ::std::os::raw::c_int,
436 value: *mut ::std::os::raw::c_int,
437 );
438}
439extern "C" {
440 pub fn emscripten_set_main_loop_arg(
441 func: em_arg_callback_func,
442 arg: *mut ::std::os::raw::c_void,
443 fps: ::std::os::raw::c_int,
444 simulate_infinite_loop: bool,
445 );
446}
447extern "C" {
448 pub fn emscripten_pause_main_loop();
449}
450extern "C" {
451 pub fn emscripten_resume_main_loop();
452}
453extern "C" {
454 pub fn emscripten_cancel_main_loop();
455}
456pub type em_socket_callback = ::std::option::Option<
457 unsafe extern "C" fn(fd: ::std::os::raw::c_int, userData: *mut ::std::os::raw::c_void),
458>;
459pub type em_socket_error_callback = ::std::option::Option<
460 unsafe extern "C" fn(
461 fd: ::std::os::raw::c_int,
462 err: ::std::os::raw::c_int,
463 msg: *const ::std::os::raw::c_char,
464 userData: *mut ::std::os::raw::c_void,
465 ),
466>;
467extern "C" {
468 pub fn emscripten_set_socket_error_callback(
469 userData: *mut ::std::os::raw::c_void,
470 callback: em_socket_error_callback,
471 );
472}
473extern "C" {
474 pub fn emscripten_set_socket_open_callback(
475 userData: *mut ::std::os::raw::c_void,
476 callback: em_socket_callback,
477 );
478}
479extern "C" {
480 pub fn emscripten_set_socket_listen_callback(
481 userData: *mut ::std::os::raw::c_void,
482 callback: em_socket_callback,
483 );
484}
485extern "C" {
486 pub fn emscripten_set_socket_connection_callback(
487 userData: *mut ::std::os::raw::c_void,
488 callback: em_socket_callback,
489 );
490}
491extern "C" {
492 pub fn emscripten_set_socket_message_callback(
493 userData: *mut ::std::os::raw::c_void,
494 callback: em_socket_callback,
495 );
496}
497extern "C" {
498 pub fn emscripten_set_socket_close_callback(
499 userData: *mut ::std::os::raw::c_void,
500 callback: em_socket_callback,
501 );
502}
503extern "C" {
504 pub fn _emscripten_push_main_loop_blocker(
505 func: em_arg_callback_func,
506 arg: *mut ::std::os::raw::c_void,
507 name: *const ::std::os::raw::c_char,
508 );
509}
510extern "C" {
511 pub fn _emscripten_push_uncounted_main_loop_blocker(
512 func: em_arg_callback_func,
513 arg: *mut ::std::os::raw::c_void,
514 name: *const ::std::os::raw::c_char,
515 );
516}
517extern "C" {
518 pub fn emscripten_set_main_loop_expected_blockers(num: ::std::os::raw::c_int);
519}
520extern "C" {
521 pub fn emscripten_async_call(
522 func: em_arg_callback_func,
523 arg: *mut ::std::os::raw::c_void,
524 millis: ::std::os::raw::c_int,
525 );
526}
527extern "C" {
528 pub fn emscripten_exit_with_live_runtime() -> !;
529}
530extern "C" {
531 pub fn emscripten_force_exit(status: ::std::os::raw::c_int) -> !;
532}
533extern "C" {
534 pub fn emscripten_get_device_pixel_ratio() -> f64;
535}
536extern "C" {
537 pub fn emscripten_get_window_title() -> *mut ::std::os::raw::c_char;
538}
539extern "C" {
540 pub fn emscripten_set_window_title(arg1: *const ::std::os::raw::c_char);
541}
542extern "C" {
543 pub fn emscripten_get_screen_size(
544 width: *mut ::std::os::raw::c_int,
545 height: *mut ::std::os::raw::c_int,
546 );
547}
548extern "C" {
549 pub fn emscripten_hide_mouse();
550}
551extern "C" {
552 pub fn emscripten_set_canvas_size(width: ::std::os::raw::c_int, height: ::std::os::raw::c_int);
553}
554extern "C" {
555 pub fn emscripten_get_canvas_size(
556 width: *mut ::std::os::raw::c_int,
557 height: *mut ::std::os::raw::c_int,
558 isFullscreen: *mut ::std::os::raw::c_int,
559 );
560}
561extern "C" {
562 pub fn emscripten_get_now() -> f64;
563}
564extern "C" {
565 pub fn emscripten_random() -> f32;
566}
567pub type em_idb_onload_func = ::std::option::Option<
568 unsafe extern "C" fn(
569 arg1: *mut ::std::os::raw::c_void,
570 arg2: *mut ::std::os::raw::c_void,
571 arg3: ::std::os::raw::c_int,
572 ),
573>;
574extern "C" {
575 pub fn emscripten_idb_async_load(
576 db_name: *const ::std::os::raw::c_char,
577 file_id: *const ::std::os::raw::c_char,
578 arg: *mut ::std::os::raw::c_void,
579 onload: em_idb_onload_func,
580 onerror: em_arg_callback_func,
581 );
582}
583extern "C" {
584 pub fn emscripten_idb_async_store(
585 db_name: *const ::std::os::raw::c_char,
586 file_id: *const ::std::os::raw::c_char,
587 ptr: *mut ::std::os::raw::c_void,
588 num: ::std::os::raw::c_int,
589 arg: *mut ::std::os::raw::c_void,
590 onstore: em_arg_callback_func,
591 onerror: em_arg_callback_func,
592 );
593}
594extern "C" {
595 pub fn emscripten_idb_async_delete(
596 db_name: *const ::std::os::raw::c_char,
597 file_id: *const ::std::os::raw::c_char,
598 arg: *mut ::std::os::raw::c_void,
599 ondelete: em_arg_callback_func,
600 onerror: em_arg_callback_func,
601 );
602}
603pub type em_idb_exists_func = ::std::option::Option<
604 unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void, arg2: ::std::os::raw::c_int),
605>;
606extern "C" {
607 pub fn emscripten_idb_async_exists(
608 db_name: *const ::std::os::raw::c_char,
609 file_id: *const ::std::os::raw::c_char,
610 arg: *mut ::std::os::raw::c_void,
611 oncheck: em_idb_exists_func,
612 onerror: em_arg_callback_func,
613 );
614}
615extern "C" {
616 pub fn emscripten_idb_async_clear(
617 db_name: *const ::std::os::raw::c_char,
618 arg: *mut ::std::os::raw::c_void,
619 onclear: em_arg_callback_func,
620 onerror: em_arg_callback_func,
621 );
622}
623extern "C" {
624 pub fn emscripten_idb_load(
625 db_name: *const ::std::os::raw::c_char,
626 file_id: *const ::std::os::raw::c_char,
627 pbuffer: *mut *mut ::std::os::raw::c_void,
628 pnum: *mut ::std::os::raw::c_int,
629 perror: *mut ::std::os::raw::c_int,
630 );
631}
632extern "C" {
633 pub fn emscripten_idb_store(
634 db_name: *const ::std::os::raw::c_char,
635 file_id: *const ::std::os::raw::c_char,
636 buffer: *mut ::std::os::raw::c_void,
637 num: ::std::os::raw::c_int,
638 perror: *mut ::std::os::raw::c_int,
639 );
640}
641extern "C" {
642 pub fn emscripten_idb_delete(
643 db_name: *const ::std::os::raw::c_char,
644 file_id: *const ::std::os::raw::c_char,
645 perror: *mut ::std::os::raw::c_int,
646 );
647}
648extern "C" {
649 pub fn emscripten_idb_exists(
650 db_name: *const ::std::os::raw::c_char,
651 file_id: *const ::std::os::raw::c_char,
652 pexists: *mut ::std::os::raw::c_int,
653 perror: *mut ::std::os::raw::c_int,
654 );
655}
656extern "C" {
657 pub fn emscripten_idb_clear(
658 db_name: *const ::std::os::raw::c_char,
659 perror: *mut ::std::os::raw::c_int,
660 );
661}
662extern "C" {
663 pub fn emscripten_idb_load_blob(
664 db_name: *const ::std::os::raw::c_char,
665 file_id: *const ::std::os::raw::c_char,
666 pblob: *mut ::std::os::raw::c_int,
667 perror: *mut ::std::os::raw::c_int,
668 );
669}
670extern "C" {
671 pub fn emscripten_idb_store_blob(
672 db_name: *const ::std::os::raw::c_char,
673 file_id: *const ::std::os::raw::c_char,
674 buffer: *mut ::std::os::raw::c_void,
675 num: ::std::os::raw::c_int,
676 perror: *mut ::std::os::raw::c_int,
677 );
678}
679extern "C" {
680 pub fn emscripten_idb_read_from_blob(
681 blob: ::std::os::raw::c_int,
682 start: ::std::os::raw::c_int,
683 num: ::std::os::raw::c_int,
684 buffer: *mut ::std::os::raw::c_void,
685 );
686}
687extern "C" {
688 pub fn emscripten_idb_free_blob(blob: ::std::os::raw::c_int);
689}
690extern "C" {
691 pub fn emscripten_run_preload_plugins(
692 file: *const ::std::os::raw::c_char,
693 onload: em_str_callback_func,
694 onerror: em_str_callback_func,
695 ) -> ::std::os::raw::c_int;
696}
697pub type em_run_preload_plugins_data_onload_func = ::std::option::Option<
698 unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void, arg2: *const ::std::os::raw::c_char),
699>;
700extern "C" {
701 pub fn emscripten_run_preload_plugins_data(
702 data: *mut ::std::os::raw::c_char,
703 size: ::std::os::raw::c_int,
704 suffix: *const ::std::os::raw::c_char,
705 arg: *mut ::std::os::raw::c_void,
706 onload: em_run_preload_plugins_data_onload_func,
707 onerror: em_arg_callback_func,
708 );
709}
710extern "C" {
711 pub fn emscripten_lazy_load_code();
712}
713pub type worker_handle = ::std::os::raw::c_int;
714extern "C" {
715 pub fn emscripten_create_worker(url: *const ::std::os::raw::c_char) -> worker_handle;
716}
717extern "C" {
718 pub fn emscripten_destroy_worker(worker: worker_handle);
719}
720pub type em_worker_callback_func = ::std::option::Option<
721 unsafe extern "C" fn(
722 arg1: *mut ::std::os::raw::c_char,
723 arg2: ::std::os::raw::c_int,
724 arg3: *mut ::std::os::raw::c_void,
725 ),
726>;
727extern "C" {
728 pub fn emscripten_call_worker(
729 worker: worker_handle,
730 funcname: *const ::std::os::raw::c_char,
731 data: *mut ::std::os::raw::c_char,
732 size: ::std::os::raw::c_int,
733 callback: em_worker_callback_func,
734 arg: *mut ::std::os::raw::c_void,
735 );
736}
737extern "C" {
738 pub fn emscripten_worker_respond(
739 data: *mut ::std::os::raw::c_char,
740 size: ::std::os::raw::c_int,
741 );
742}
743extern "C" {
744 pub fn emscripten_worker_respond_provisionally(
745 data: *mut ::std::os::raw::c_char,
746 size: ::std::os::raw::c_int,
747 );
748}
749extern "C" {
750 pub fn emscripten_get_worker_queue_size(worker: worker_handle) -> ::std::os::raw::c_int;
751}
752extern "C" {
753 pub fn emscripten_get_compiler_setting(
754 name: *const ::std::os::raw::c_char,
755 ) -> ::std::os::raw::c_long;
756}
757extern "C" {
758 pub fn emscripten_has_asyncify() -> ::std::os::raw::c_int;
759}
760extern "C" {
761 pub fn emscripten_debugger();
762}
763#[repr(C)]
764#[derive(Debug, Copy, Clone)]
765pub struct _IO_FILE {
766 _unused: [u8; 0],
767}
768pub type FILE = _IO_FILE;
769extern "C" {
770 pub fn emscripten_get_preloaded_image_data(
771 path: *const ::std::os::raw::c_char,
772 w: *mut ::std::os::raw::c_int,
773 h: *mut ::std::os::raw::c_int,
774 ) -> *mut ::std::os::raw::c_char;
775}
776extern "C" {
777 pub fn emscripten_get_preloaded_image_data_from_FILE(
778 file: *mut FILE,
779 w: *mut ::std::os::raw::c_int,
780 h: *mut ::std::os::raw::c_int,
781 ) -> *mut ::std::os::raw::c_char;
782}
783extern "C" {
784 pub fn emscripten_log(flags: ::std::os::raw::c_int, format: *const ::std::os::raw::c_char, ...);
785}
786extern "C" {
787 pub fn emscripten_get_callstack(
788 flags: ::std::os::raw::c_int,
789 out: *mut ::std::os::raw::c_char,
790 maxbytes: ::std::os::raw::c_int,
791 ) -> ::std::os::raw::c_int;
792}
793extern "C" {
794 pub fn emscripten_print_double(
795 x: f64,
796 to: *mut ::std::os::raw::c_char,
797 max: ::std::os::raw::c_int,
798 ) -> ::std::os::raw::c_int;
799}
800pub type em_scan_func = ::std::option::Option<
801 unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void, arg2: *mut ::std::os::raw::c_void),
802>;
803extern "C" {
804 pub fn emscripten_scan_registers(func: em_scan_func);
805}
806extern "C" {
807 pub fn emscripten_scan_stack(func: em_scan_func);
808}
809pub type em_dlopen_callback = ::std::option::Option<
810 unsafe extern "C" fn(
811 user_data: *mut ::std::os::raw::c_void,
812 handle: *mut ::std::os::raw::c_void,
813 ),
814>;
815extern "C" {
816 pub fn emscripten_dlopen(
817 filename: *const ::std::os::raw::c_char,
818 flags: ::std::os::raw::c_int,
819 user_data: *mut ::std::os::raw::c_void,
820 onsuccess: em_dlopen_callback,
821 onerror: em_arg_callback_func,
822 );
823}
824extern "C" {
825 pub fn emscripten_dlopen_promise(
826 filename: *const ::std::os::raw::c_char,
827 flags: ::std::os::raw::c_int,
828 ) -> em_promise_t;
829}
830extern "C" {
831 pub fn emscripten_throw_number(number: f64);
832}
833extern "C" {
834 pub fn emscripten_throw_string(utf8String: *const ::std::os::raw::c_char);
835}
836extern "C" {
837 pub fn emscripten_sleep(ms: ::std::os::raw::c_uint);
838}
839extern "C" {
840 pub fn emscripten_unwind_to_js_event_loop() -> !;
841}
842extern "C" {
843 pub fn emscripten_set_timeout(
844 cb: ::std::option::Option<unsafe extern "C" fn(user_data: *mut ::std::os::raw::c_void)>,
845 msecs: f64,
846 user_data: *mut ::std::os::raw::c_void,
847 ) -> ::std::os::raw::c_int;
848}
849extern "C" {
850 pub fn emscripten_clear_timeout(id: ::std::os::raw::c_int);
851}
852extern "C" {
853 pub fn emscripten_set_timeout_loop(
854 cb: ::std::option::Option<
855 unsafe extern "C" fn(time: f64, user_data: *mut ::std::os::raw::c_void) -> bool,
856 >,
857 interval_ms: f64,
858 user_data: *mut ::std::os::raw::c_void,
859 );
860}
861extern "C" {
862 pub fn emscripten_set_immediate(
863 cb: ::std::option::Option<unsafe extern "C" fn(user_data: *mut ::std::os::raw::c_void)>,
864 user_data: *mut ::std::os::raw::c_void,
865 ) -> ::std::os::raw::c_int;
866}
867extern "C" {
868 pub fn emscripten_clear_immediate(id: ::std::os::raw::c_int);
869}
870extern "C" {
871 pub fn emscripten_set_immediate_loop(
872 cb: ::std::option::Option<
873 unsafe extern "C" fn(user_data: *mut ::std::os::raw::c_void) -> bool,
874 >,
875 user_data: *mut ::std::os::raw::c_void,
876 );
877}
878extern "C" {
879 pub fn emscripten_set_interval(
880 cb: ::std::option::Option<unsafe extern "C" fn(user_data: *mut ::std::os::raw::c_void)>,
881 interval_ms: f64,
882 user_data: *mut ::std::os::raw::c_void,
883 ) -> ::std::os::raw::c_int;
884}
885extern "C" {
886 pub fn emscripten_clear_interval(id: ::std::os::raw::c_int);
887}
888extern "C" {
889 pub fn emscripten_runtime_keepalive_push();
890}
891extern "C" {
892 pub fn emscripten_runtime_keepalive_pop();
893}
894extern "C" {
895 pub fn emscripten_runtime_keepalive_check() -> bool;
896}
897extern "C" {
898 pub fn emscripten_console_log(utf8String: *const ::std::os::raw::c_char);
899}
900extern "C" {
901 pub fn emscripten_console_warn(utf8String: *const ::std::os::raw::c_char);
902}
903extern "C" {
904 pub fn emscripten_console_error(utf8String: *const ::std::os::raw::c_char);
905}
906extern "C" {
907 pub fn emscripten_console_trace(utf8String: *const ::std::os::raw::c_char);
908}
909extern "C" {
910 pub fn emscripten_out(utf8String: *const ::std::os::raw::c_char);
911}
912extern "C" {
913 pub fn emscripten_err(utf8String: *const ::std::os::raw::c_char);
914}
915extern "C" {
916 pub fn emscripten_dbg(utf8String: *const ::std::os::raw::c_char);
917}
918extern "C" {
919 pub fn emscripten_dbg_backtrace(utf8String: *const ::std::os::raw::c_char);
920}
921extern "C" {
922 pub fn emscripten_outn(utf8String: *const ::std::os::raw::c_char, len: usize);
923}
924extern "C" {
925 pub fn emscripten_errn(utf8String: *const ::std::os::raw::c_char, len: usize);
926}
927extern "C" {
928 pub fn emscripten_dbgn(utf8String: *const ::std::os::raw::c_char, len: usize);
929}
930extern "C" {
931 pub fn emscripten_console_logf(format: *const ::std::os::raw::c_char, ...);
932}
933extern "C" {
934 pub fn emscripten_console_warnf(format: *const ::std::os::raw::c_char, ...);
935}
936extern "C" {
937 pub fn emscripten_console_errorf(format: *const ::std::os::raw::c_char, ...);
938}
939extern "C" {
940 pub fn emscripten_console_tracef(format: *const ::std::os::raw::c_char, ...);
941}
942extern "C" {
943 pub fn emscripten_outf(format: *const ::std::os::raw::c_char, ...);
944}
945extern "C" {
946 pub fn emscripten_errf(format: *const ::std::os::raw::c_char, ...);
947}
948extern "C" {
949 pub fn emscripten_dbgf(format: *const ::std::os::raw::c_char, ...);
950}
951extern "C" {
952 pub fn emscripten_dbg_backtracef(format: *const ::std::os::raw::c_char, ...);
953}
954#[repr(C)]
955#[derive(Debug, Copy, Clone)]
956pub struct EmscriptenKeyboardEvent {
957 pub timestamp: f64,
958 pub location: ::std::os::raw::c_uint,
959 pub ctrlKey: bool,
960 pub shiftKey: bool,
961 pub altKey: bool,
962 pub metaKey: bool,
963 pub repeat: bool,
964 pub charCode: ::std::os::raw::c_uint,
965 pub keyCode: ::std::os::raw::c_uint,
966 pub which: ::std::os::raw::c_uint,
967 pub key: [::std::os::raw::c_char; 32usize],
968 pub code: [::std::os::raw::c_char; 32usize],
969 pub charValue: [::std::os::raw::c_char; 32usize],
970 pub locale: [::std::os::raw::c_char; 32usize],
971}
972#[test]
973fn bindgen_test_layout_EmscriptenKeyboardEvent() {
974 const UNINIT: ::std::mem::MaybeUninit<EmscriptenKeyboardEvent> =
975 ::std::mem::MaybeUninit::uninit();
976 let ptr = UNINIT.as_ptr();
977 assert_eq!(
978 ::std::mem::size_of::<EmscriptenKeyboardEvent>(),
979 160usize,
980 concat!("Size of: ", stringify!(EmscriptenKeyboardEvent))
981 );
982 assert_eq!(
983 ::std::mem::align_of::<EmscriptenKeyboardEvent>(),
984 8usize,
985 concat!("Alignment of ", stringify!(EmscriptenKeyboardEvent))
986 );
987 assert_eq!(
988 unsafe { ::std::ptr::addr_of!((*ptr).timestamp) as usize - ptr as usize },
989 0usize,
990 concat!(
991 "Offset of field: ",
992 stringify!(EmscriptenKeyboardEvent),
993 "::",
994 stringify!(timestamp)
995 )
996 );
997 assert_eq!(
998 unsafe { ::std::ptr::addr_of!((*ptr).location) as usize - ptr as usize },
999 8usize,
1000 concat!(
1001 "Offset of field: ",
1002 stringify!(EmscriptenKeyboardEvent),
1003 "::",
1004 stringify!(location)
1005 )
1006 );
1007 assert_eq!(
1008 unsafe { ::std::ptr::addr_of!((*ptr).ctrlKey) as usize - ptr as usize },
1009 12usize,
1010 concat!(
1011 "Offset of field: ",
1012 stringify!(EmscriptenKeyboardEvent),
1013 "::",
1014 stringify!(ctrlKey)
1015 )
1016 );
1017 assert_eq!(
1018 unsafe { ::std::ptr::addr_of!((*ptr).shiftKey) as usize - ptr as usize },
1019 13usize,
1020 concat!(
1021 "Offset of field: ",
1022 stringify!(EmscriptenKeyboardEvent),
1023 "::",
1024 stringify!(shiftKey)
1025 )
1026 );
1027 assert_eq!(
1028 unsafe { ::std::ptr::addr_of!((*ptr).altKey) as usize - ptr as usize },
1029 14usize,
1030 concat!(
1031 "Offset of field: ",
1032 stringify!(EmscriptenKeyboardEvent),
1033 "::",
1034 stringify!(altKey)
1035 )
1036 );
1037 assert_eq!(
1038 unsafe { ::std::ptr::addr_of!((*ptr).metaKey) as usize - ptr as usize },
1039 15usize,
1040 concat!(
1041 "Offset of field: ",
1042 stringify!(EmscriptenKeyboardEvent),
1043 "::",
1044 stringify!(metaKey)
1045 )
1046 );
1047 assert_eq!(
1048 unsafe { ::std::ptr::addr_of!((*ptr).repeat) as usize - ptr as usize },
1049 16usize,
1050 concat!(
1051 "Offset of field: ",
1052 stringify!(EmscriptenKeyboardEvent),
1053 "::",
1054 stringify!(repeat)
1055 )
1056 );
1057 assert_eq!(
1058 unsafe { ::std::ptr::addr_of!((*ptr).charCode) as usize - ptr as usize },
1059 20usize,
1060 concat!(
1061 "Offset of field: ",
1062 stringify!(EmscriptenKeyboardEvent),
1063 "::",
1064 stringify!(charCode)
1065 )
1066 );
1067 assert_eq!(
1068 unsafe { ::std::ptr::addr_of!((*ptr).keyCode) as usize - ptr as usize },
1069 24usize,
1070 concat!(
1071 "Offset of field: ",
1072 stringify!(EmscriptenKeyboardEvent),
1073 "::",
1074 stringify!(keyCode)
1075 )
1076 );
1077 assert_eq!(
1078 unsafe { ::std::ptr::addr_of!((*ptr).which) as usize - ptr as usize },
1079 28usize,
1080 concat!(
1081 "Offset of field: ",
1082 stringify!(EmscriptenKeyboardEvent),
1083 "::",
1084 stringify!(which)
1085 )
1086 );
1087 assert_eq!(
1088 unsafe { ::std::ptr::addr_of!((*ptr).key) as usize - ptr as usize },
1089 32usize,
1090 concat!(
1091 "Offset of field: ",
1092 stringify!(EmscriptenKeyboardEvent),
1093 "::",
1094 stringify!(key)
1095 )
1096 );
1097 assert_eq!(
1098 unsafe { ::std::ptr::addr_of!((*ptr).code) as usize - ptr as usize },
1099 64usize,
1100 concat!(
1101 "Offset of field: ",
1102 stringify!(EmscriptenKeyboardEvent),
1103 "::",
1104 stringify!(code)
1105 )
1106 );
1107 assert_eq!(
1108 unsafe { ::std::ptr::addr_of!((*ptr).charValue) as usize - ptr as usize },
1109 96usize,
1110 concat!(
1111 "Offset of field: ",
1112 stringify!(EmscriptenKeyboardEvent),
1113 "::",
1114 stringify!(charValue)
1115 )
1116 );
1117 assert_eq!(
1118 unsafe { ::std::ptr::addr_of!((*ptr).locale) as usize - ptr as usize },
1119 128usize,
1120 concat!(
1121 "Offset of field: ",
1122 stringify!(EmscriptenKeyboardEvent),
1123 "::",
1124 stringify!(locale)
1125 )
1126 );
1127}
1128pub type em_key_callback_func = ::std::option::Option<
1129 unsafe extern "C" fn(
1130 eventType: ::std::os::raw::c_int,
1131 keyEvent: *const EmscriptenKeyboardEvent,
1132 userData: *mut ::std::os::raw::c_void,
1133 ) -> bool,
1134>;
1135extern "C" {
1136 pub fn emscripten_set_keypress_callback_on_thread(
1137 target: *const ::std::os::raw::c_char,
1138 userData: *mut ::std::os::raw::c_void,
1139 useCapture: bool,
1140 callback: em_key_callback_func,
1141 targetThread: pthread_t,
1142 ) -> ::std::os::raw::c_int;
1143}
1144extern "C" {
1145 pub fn emscripten_set_keydown_callback_on_thread(
1146 target: *const ::std::os::raw::c_char,
1147 userData: *mut ::std::os::raw::c_void,
1148 useCapture: bool,
1149 callback: em_key_callback_func,
1150 targetThread: pthread_t,
1151 ) -> ::std::os::raw::c_int;
1152}
1153extern "C" {
1154 pub fn emscripten_set_keyup_callback_on_thread(
1155 target: *const ::std::os::raw::c_char,
1156 userData: *mut ::std::os::raw::c_void,
1157 useCapture: bool,
1158 callback: em_key_callback_func,
1159 targetThread: pthread_t,
1160 ) -> ::std::os::raw::c_int;
1161}
1162#[repr(C)]
1163#[derive(Debug, Copy, Clone)]
1164pub struct EmscriptenMouseEvent {
1165 pub timestamp: f64,
1166 pub screenX: ::std::os::raw::c_int,
1167 pub screenY: ::std::os::raw::c_int,
1168 pub clientX: ::std::os::raw::c_int,
1169 pub clientY: ::std::os::raw::c_int,
1170 pub ctrlKey: bool,
1171 pub shiftKey: bool,
1172 pub altKey: bool,
1173 pub metaKey: bool,
1174 pub button: ::std::os::raw::c_ushort,
1175 pub buttons: ::std::os::raw::c_ushort,
1176 pub movementX: ::std::os::raw::c_int,
1177 pub movementY: ::std::os::raw::c_int,
1178 pub targetX: ::std::os::raw::c_int,
1179 pub targetY: ::std::os::raw::c_int,
1180 pub canvasX: ::std::os::raw::c_int,
1181 pub canvasY: ::std::os::raw::c_int,
1182 pub padding: ::std::os::raw::c_int,
1183}
1184#[test]
1185fn bindgen_test_layout_EmscriptenMouseEvent() {
1186 const UNINIT: ::std::mem::MaybeUninit<EmscriptenMouseEvent> = ::std::mem::MaybeUninit::uninit();
1187 let ptr = UNINIT.as_ptr();
1188 assert_eq!(
1189 ::std::mem::size_of::<EmscriptenMouseEvent>(),
1190 64usize,
1191 concat!("Size of: ", stringify!(EmscriptenMouseEvent))
1192 );
1193 assert_eq!(
1194 ::std::mem::align_of::<EmscriptenMouseEvent>(),
1195 8usize,
1196 concat!("Alignment of ", stringify!(EmscriptenMouseEvent))
1197 );
1198 assert_eq!(
1199 unsafe { ::std::ptr::addr_of!((*ptr).timestamp) as usize - ptr as usize },
1200 0usize,
1201 concat!(
1202 "Offset of field: ",
1203 stringify!(EmscriptenMouseEvent),
1204 "::",
1205 stringify!(timestamp)
1206 )
1207 );
1208 assert_eq!(
1209 unsafe { ::std::ptr::addr_of!((*ptr).screenX) as usize - ptr as usize },
1210 8usize,
1211 concat!(
1212 "Offset of field: ",
1213 stringify!(EmscriptenMouseEvent),
1214 "::",
1215 stringify!(screenX)
1216 )
1217 );
1218 assert_eq!(
1219 unsafe { ::std::ptr::addr_of!((*ptr).screenY) as usize - ptr as usize },
1220 12usize,
1221 concat!(
1222 "Offset of field: ",
1223 stringify!(EmscriptenMouseEvent),
1224 "::",
1225 stringify!(screenY)
1226 )
1227 );
1228 assert_eq!(
1229 unsafe { ::std::ptr::addr_of!((*ptr).clientX) as usize - ptr as usize },
1230 16usize,
1231 concat!(
1232 "Offset of field: ",
1233 stringify!(EmscriptenMouseEvent),
1234 "::",
1235 stringify!(clientX)
1236 )
1237 );
1238 assert_eq!(
1239 unsafe { ::std::ptr::addr_of!((*ptr).clientY) as usize - ptr as usize },
1240 20usize,
1241 concat!(
1242 "Offset of field: ",
1243 stringify!(EmscriptenMouseEvent),
1244 "::",
1245 stringify!(clientY)
1246 )
1247 );
1248 assert_eq!(
1249 unsafe { ::std::ptr::addr_of!((*ptr).ctrlKey) as usize - ptr as usize },
1250 24usize,
1251 concat!(
1252 "Offset of field: ",
1253 stringify!(EmscriptenMouseEvent),
1254 "::",
1255 stringify!(ctrlKey)
1256 )
1257 );
1258 assert_eq!(
1259 unsafe { ::std::ptr::addr_of!((*ptr).shiftKey) as usize - ptr as usize },
1260 25usize,
1261 concat!(
1262 "Offset of field: ",
1263 stringify!(EmscriptenMouseEvent),
1264 "::",
1265 stringify!(shiftKey)
1266 )
1267 );
1268 assert_eq!(
1269 unsafe { ::std::ptr::addr_of!((*ptr).altKey) as usize - ptr as usize },
1270 26usize,
1271 concat!(
1272 "Offset of field: ",
1273 stringify!(EmscriptenMouseEvent),
1274 "::",
1275 stringify!(altKey)
1276 )
1277 );
1278 assert_eq!(
1279 unsafe { ::std::ptr::addr_of!((*ptr).metaKey) as usize - ptr as usize },
1280 27usize,
1281 concat!(
1282 "Offset of field: ",
1283 stringify!(EmscriptenMouseEvent),
1284 "::",
1285 stringify!(metaKey)
1286 )
1287 );
1288 assert_eq!(
1289 unsafe { ::std::ptr::addr_of!((*ptr).button) as usize - ptr as usize },
1290 28usize,
1291 concat!(
1292 "Offset of field: ",
1293 stringify!(EmscriptenMouseEvent),
1294 "::",
1295 stringify!(button)
1296 )
1297 );
1298 assert_eq!(
1299 unsafe { ::std::ptr::addr_of!((*ptr).buttons) as usize - ptr as usize },
1300 30usize,
1301 concat!(
1302 "Offset of field: ",
1303 stringify!(EmscriptenMouseEvent),
1304 "::",
1305 stringify!(buttons)
1306 )
1307 );
1308 assert_eq!(
1309 unsafe { ::std::ptr::addr_of!((*ptr).movementX) as usize - ptr as usize },
1310 32usize,
1311 concat!(
1312 "Offset of field: ",
1313 stringify!(EmscriptenMouseEvent),
1314 "::",
1315 stringify!(movementX)
1316 )
1317 );
1318 assert_eq!(
1319 unsafe { ::std::ptr::addr_of!((*ptr).movementY) as usize - ptr as usize },
1320 36usize,
1321 concat!(
1322 "Offset of field: ",
1323 stringify!(EmscriptenMouseEvent),
1324 "::",
1325 stringify!(movementY)
1326 )
1327 );
1328 assert_eq!(
1329 unsafe { ::std::ptr::addr_of!((*ptr).targetX) as usize - ptr as usize },
1330 40usize,
1331 concat!(
1332 "Offset of field: ",
1333 stringify!(EmscriptenMouseEvent),
1334 "::",
1335 stringify!(targetX)
1336 )
1337 );
1338 assert_eq!(
1339 unsafe { ::std::ptr::addr_of!((*ptr).targetY) as usize - ptr as usize },
1340 44usize,
1341 concat!(
1342 "Offset of field: ",
1343 stringify!(EmscriptenMouseEvent),
1344 "::",
1345 stringify!(targetY)
1346 )
1347 );
1348 assert_eq!(
1349 unsafe { ::std::ptr::addr_of!((*ptr).canvasX) as usize - ptr as usize },
1350 48usize,
1351 concat!(
1352 "Offset of field: ",
1353 stringify!(EmscriptenMouseEvent),
1354 "::",
1355 stringify!(canvasX)
1356 )
1357 );
1358 assert_eq!(
1359 unsafe { ::std::ptr::addr_of!((*ptr).canvasY) as usize - ptr as usize },
1360 52usize,
1361 concat!(
1362 "Offset of field: ",
1363 stringify!(EmscriptenMouseEvent),
1364 "::",
1365 stringify!(canvasY)
1366 )
1367 );
1368 assert_eq!(
1369 unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
1370 56usize,
1371 concat!(
1372 "Offset of field: ",
1373 stringify!(EmscriptenMouseEvent),
1374 "::",
1375 stringify!(padding)
1376 )
1377 );
1378}
1379pub type em_mouse_callback_func = ::std::option::Option<
1380 unsafe extern "C" fn(
1381 eventType: ::std::os::raw::c_int,
1382 mouseEvent: *const EmscriptenMouseEvent,
1383 userData: *mut ::std::os::raw::c_void,
1384 ) -> bool,
1385>;
1386extern "C" {
1387 pub fn emscripten_set_click_callback_on_thread(
1388 target: *const ::std::os::raw::c_char,
1389 userData: *mut ::std::os::raw::c_void,
1390 useCapture: bool,
1391 callback: em_mouse_callback_func,
1392 targetThread: pthread_t,
1393 ) -> ::std::os::raw::c_int;
1394}
1395extern "C" {
1396 pub fn emscripten_set_mousedown_callback_on_thread(
1397 target: *const ::std::os::raw::c_char,
1398 userData: *mut ::std::os::raw::c_void,
1399 useCapture: bool,
1400 callback: em_mouse_callback_func,
1401 targetThread: pthread_t,
1402 ) -> ::std::os::raw::c_int;
1403}
1404extern "C" {
1405 pub fn emscripten_set_mouseup_callback_on_thread(
1406 target: *const ::std::os::raw::c_char,
1407 userData: *mut ::std::os::raw::c_void,
1408 useCapture: bool,
1409 callback: em_mouse_callback_func,
1410 targetThread: pthread_t,
1411 ) -> ::std::os::raw::c_int;
1412}
1413extern "C" {
1414 pub fn emscripten_set_dblclick_callback_on_thread(
1415 target: *const ::std::os::raw::c_char,
1416 userData: *mut ::std::os::raw::c_void,
1417 useCapture: bool,
1418 callback: em_mouse_callback_func,
1419 targetThread: pthread_t,
1420 ) -> ::std::os::raw::c_int;
1421}
1422extern "C" {
1423 pub fn emscripten_set_mousemove_callback_on_thread(
1424 target: *const ::std::os::raw::c_char,
1425 userData: *mut ::std::os::raw::c_void,
1426 useCapture: bool,
1427 callback: em_mouse_callback_func,
1428 targetThread: pthread_t,
1429 ) -> ::std::os::raw::c_int;
1430}
1431extern "C" {
1432 pub fn emscripten_set_mouseenter_callback_on_thread(
1433 target: *const ::std::os::raw::c_char,
1434 userData: *mut ::std::os::raw::c_void,
1435 useCapture: bool,
1436 callback: em_mouse_callback_func,
1437 targetThread: pthread_t,
1438 ) -> ::std::os::raw::c_int;
1439}
1440extern "C" {
1441 pub fn emscripten_set_mouseleave_callback_on_thread(
1442 target: *const ::std::os::raw::c_char,
1443 userData: *mut ::std::os::raw::c_void,
1444 useCapture: bool,
1445 callback: em_mouse_callback_func,
1446 targetThread: pthread_t,
1447 ) -> ::std::os::raw::c_int;
1448}
1449extern "C" {
1450 pub fn emscripten_set_mouseover_callback_on_thread(
1451 target: *const ::std::os::raw::c_char,
1452 userData: *mut ::std::os::raw::c_void,
1453 useCapture: bool,
1454 callback: em_mouse_callback_func,
1455 targetThread: pthread_t,
1456 ) -> ::std::os::raw::c_int;
1457}
1458extern "C" {
1459 pub fn emscripten_set_mouseout_callback_on_thread(
1460 target: *const ::std::os::raw::c_char,
1461 userData: *mut ::std::os::raw::c_void,
1462 useCapture: bool,
1463 callback: em_mouse_callback_func,
1464 targetThread: pthread_t,
1465 ) -> ::std::os::raw::c_int;
1466}
1467extern "C" {
1468 pub fn emscripten_get_mouse_status(
1469 mouseState: *mut EmscriptenMouseEvent,
1470 ) -> ::std::os::raw::c_int;
1471}
1472#[repr(C)]
1473#[derive(Debug, Copy, Clone)]
1474pub struct EmscriptenWheelEvent {
1475 pub mouse: EmscriptenMouseEvent,
1476 pub deltaX: f64,
1477 pub deltaY: f64,
1478 pub deltaZ: f64,
1479 pub deltaMode: ::std::os::raw::c_uint,
1480}
1481#[test]
1482fn bindgen_test_layout_EmscriptenWheelEvent() {
1483 const UNINIT: ::std::mem::MaybeUninit<EmscriptenWheelEvent> = ::std::mem::MaybeUninit::uninit();
1484 let ptr = UNINIT.as_ptr();
1485 assert_eq!(
1486 ::std::mem::size_of::<EmscriptenWheelEvent>(),
1487 96usize,
1488 concat!("Size of: ", stringify!(EmscriptenWheelEvent))
1489 );
1490 assert_eq!(
1491 ::std::mem::align_of::<EmscriptenWheelEvent>(),
1492 8usize,
1493 concat!("Alignment of ", stringify!(EmscriptenWheelEvent))
1494 );
1495 assert_eq!(
1496 unsafe { ::std::ptr::addr_of!((*ptr).mouse) as usize - ptr as usize },
1497 0usize,
1498 concat!(
1499 "Offset of field: ",
1500 stringify!(EmscriptenWheelEvent),
1501 "::",
1502 stringify!(mouse)
1503 )
1504 );
1505 assert_eq!(
1506 unsafe { ::std::ptr::addr_of!((*ptr).deltaX) as usize - ptr as usize },
1507 64usize,
1508 concat!(
1509 "Offset of field: ",
1510 stringify!(EmscriptenWheelEvent),
1511 "::",
1512 stringify!(deltaX)
1513 )
1514 );
1515 assert_eq!(
1516 unsafe { ::std::ptr::addr_of!((*ptr).deltaY) as usize - ptr as usize },
1517 72usize,
1518 concat!(
1519 "Offset of field: ",
1520 stringify!(EmscriptenWheelEvent),
1521 "::",
1522 stringify!(deltaY)
1523 )
1524 );
1525 assert_eq!(
1526 unsafe { ::std::ptr::addr_of!((*ptr).deltaZ) as usize - ptr as usize },
1527 80usize,
1528 concat!(
1529 "Offset of field: ",
1530 stringify!(EmscriptenWheelEvent),
1531 "::",
1532 stringify!(deltaZ)
1533 )
1534 );
1535 assert_eq!(
1536 unsafe { ::std::ptr::addr_of!((*ptr).deltaMode) as usize - ptr as usize },
1537 88usize,
1538 concat!(
1539 "Offset of field: ",
1540 stringify!(EmscriptenWheelEvent),
1541 "::",
1542 stringify!(deltaMode)
1543 )
1544 );
1545}
1546pub type em_wheel_callback_func = ::std::option::Option<
1547 unsafe extern "C" fn(
1548 eventType: ::std::os::raw::c_int,
1549 wheelEvent: *const EmscriptenWheelEvent,
1550 userData: *mut ::std::os::raw::c_void,
1551 ) -> bool,
1552>;
1553extern "C" {
1554 pub fn emscripten_set_wheel_callback_on_thread(
1555 target: *const ::std::os::raw::c_char,
1556 userData: *mut ::std::os::raw::c_void,
1557 useCapture: bool,
1558 callback: em_wheel_callback_func,
1559 targetThread: pthread_t,
1560 ) -> ::std::os::raw::c_int;
1561}
1562#[repr(C)]
1563#[derive(Debug, Copy, Clone)]
1564pub struct EmscriptenUiEvent {
1565 pub detail: ::std::os::raw::c_int,
1566 pub documentBodyClientWidth: ::std::os::raw::c_int,
1567 pub documentBodyClientHeight: ::std::os::raw::c_int,
1568 pub windowInnerWidth: ::std::os::raw::c_int,
1569 pub windowInnerHeight: ::std::os::raw::c_int,
1570 pub windowOuterWidth: ::std::os::raw::c_int,
1571 pub windowOuterHeight: ::std::os::raw::c_int,
1572 pub scrollTop: ::std::os::raw::c_int,
1573 pub scrollLeft: ::std::os::raw::c_int,
1574}
1575#[test]
1576fn bindgen_test_layout_EmscriptenUiEvent() {
1577 const UNINIT: ::std::mem::MaybeUninit<EmscriptenUiEvent> = ::std::mem::MaybeUninit::uninit();
1578 let ptr = UNINIT.as_ptr();
1579 assert_eq!(
1580 ::std::mem::size_of::<EmscriptenUiEvent>(),
1581 36usize,
1582 concat!("Size of: ", stringify!(EmscriptenUiEvent))
1583 );
1584 assert_eq!(
1585 ::std::mem::align_of::<EmscriptenUiEvent>(),
1586 4usize,
1587 concat!("Alignment of ", stringify!(EmscriptenUiEvent))
1588 );
1589 assert_eq!(
1590 unsafe { ::std::ptr::addr_of!((*ptr).detail) as usize - ptr as usize },
1591 0usize,
1592 concat!(
1593 "Offset of field: ",
1594 stringify!(EmscriptenUiEvent),
1595 "::",
1596 stringify!(detail)
1597 )
1598 );
1599 assert_eq!(
1600 unsafe { ::std::ptr::addr_of!((*ptr).documentBodyClientWidth) as usize - ptr as usize },
1601 4usize,
1602 concat!(
1603 "Offset of field: ",
1604 stringify!(EmscriptenUiEvent),
1605 "::",
1606 stringify!(documentBodyClientWidth)
1607 )
1608 );
1609 assert_eq!(
1610 unsafe { ::std::ptr::addr_of!((*ptr).documentBodyClientHeight) as usize - ptr as usize },
1611 8usize,
1612 concat!(
1613 "Offset of field: ",
1614 stringify!(EmscriptenUiEvent),
1615 "::",
1616 stringify!(documentBodyClientHeight)
1617 )
1618 );
1619 assert_eq!(
1620 unsafe { ::std::ptr::addr_of!((*ptr).windowInnerWidth) as usize - ptr as usize },
1621 12usize,
1622 concat!(
1623 "Offset of field: ",
1624 stringify!(EmscriptenUiEvent),
1625 "::",
1626 stringify!(windowInnerWidth)
1627 )
1628 );
1629 assert_eq!(
1630 unsafe { ::std::ptr::addr_of!((*ptr).windowInnerHeight) as usize - ptr as usize },
1631 16usize,
1632 concat!(
1633 "Offset of field: ",
1634 stringify!(EmscriptenUiEvent),
1635 "::",
1636 stringify!(windowInnerHeight)
1637 )
1638 );
1639 assert_eq!(
1640 unsafe { ::std::ptr::addr_of!((*ptr).windowOuterWidth) as usize - ptr as usize },
1641 20usize,
1642 concat!(
1643 "Offset of field: ",
1644 stringify!(EmscriptenUiEvent),
1645 "::",
1646 stringify!(windowOuterWidth)
1647 )
1648 );
1649 assert_eq!(
1650 unsafe { ::std::ptr::addr_of!((*ptr).windowOuterHeight) as usize - ptr as usize },
1651 24usize,
1652 concat!(
1653 "Offset of field: ",
1654 stringify!(EmscriptenUiEvent),
1655 "::",
1656 stringify!(windowOuterHeight)
1657 )
1658 );
1659 assert_eq!(
1660 unsafe { ::std::ptr::addr_of!((*ptr).scrollTop) as usize - ptr as usize },
1661 28usize,
1662 concat!(
1663 "Offset of field: ",
1664 stringify!(EmscriptenUiEvent),
1665 "::",
1666 stringify!(scrollTop)
1667 )
1668 );
1669 assert_eq!(
1670 unsafe { ::std::ptr::addr_of!((*ptr).scrollLeft) as usize - ptr as usize },
1671 32usize,
1672 concat!(
1673 "Offset of field: ",
1674 stringify!(EmscriptenUiEvent),
1675 "::",
1676 stringify!(scrollLeft)
1677 )
1678 );
1679}
1680pub type em_ui_callback_func = ::std::option::Option<
1681 unsafe extern "C" fn(
1682 eventType: ::std::os::raw::c_int,
1683 uiEvent: *const EmscriptenUiEvent,
1684 userData: *mut ::std::os::raw::c_void,
1685 ) -> bool,
1686>;
1687extern "C" {
1688 pub fn emscripten_set_resize_callback_on_thread(
1689 target: *const ::std::os::raw::c_char,
1690 userData: *mut ::std::os::raw::c_void,
1691 useCapture: bool,
1692 callback: em_ui_callback_func,
1693 targetThread: pthread_t,
1694 ) -> ::std::os::raw::c_int;
1695}
1696extern "C" {
1697 pub fn emscripten_set_scroll_callback_on_thread(
1698 target: *const ::std::os::raw::c_char,
1699 userData: *mut ::std::os::raw::c_void,
1700 useCapture: bool,
1701 callback: em_ui_callback_func,
1702 targetThread: pthread_t,
1703 ) -> ::std::os::raw::c_int;
1704}
1705#[repr(C)]
1706#[derive(Debug, Copy, Clone)]
1707pub struct EmscriptenFocusEvent {
1708 pub nodeName: [::std::os::raw::c_char; 128usize],
1709 pub id: [::std::os::raw::c_char; 128usize],
1710}
1711#[test]
1712fn bindgen_test_layout_EmscriptenFocusEvent() {
1713 const UNINIT: ::std::mem::MaybeUninit<EmscriptenFocusEvent> = ::std::mem::MaybeUninit::uninit();
1714 let ptr = UNINIT.as_ptr();
1715 assert_eq!(
1716 ::std::mem::size_of::<EmscriptenFocusEvent>(),
1717 256usize,
1718 concat!("Size of: ", stringify!(EmscriptenFocusEvent))
1719 );
1720 assert_eq!(
1721 ::std::mem::align_of::<EmscriptenFocusEvent>(),
1722 1usize,
1723 concat!("Alignment of ", stringify!(EmscriptenFocusEvent))
1724 );
1725 assert_eq!(
1726 unsafe { ::std::ptr::addr_of!((*ptr).nodeName) as usize - ptr as usize },
1727 0usize,
1728 concat!(
1729 "Offset of field: ",
1730 stringify!(EmscriptenFocusEvent),
1731 "::",
1732 stringify!(nodeName)
1733 )
1734 );
1735 assert_eq!(
1736 unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
1737 128usize,
1738 concat!(
1739 "Offset of field: ",
1740 stringify!(EmscriptenFocusEvent),
1741 "::",
1742 stringify!(id)
1743 )
1744 );
1745}
1746pub type em_focus_callback_func = ::std::option::Option<
1747 unsafe extern "C" fn(
1748 eventType: ::std::os::raw::c_int,
1749 focusEvent: *const EmscriptenFocusEvent,
1750 userData: *mut ::std::os::raw::c_void,
1751 ) -> bool,
1752>;
1753extern "C" {
1754 pub fn emscripten_set_blur_callback_on_thread(
1755 target: *const ::std::os::raw::c_char,
1756 userData: *mut ::std::os::raw::c_void,
1757 useCapture: bool,
1758 callback: em_focus_callback_func,
1759 targetThread: pthread_t,
1760 ) -> ::std::os::raw::c_int;
1761}
1762extern "C" {
1763 pub fn emscripten_set_focus_callback_on_thread(
1764 target: *const ::std::os::raw::c_char,
1765 userData: *mut ::std::os::raw::c_void,
1766 useCapture: bool,
1767 callback: em_focus_callback_func,
1768 targetThread: pthread_t,
1769 ) -> ::std::os::raw::c_int;
1770}
1771extern "C" {
1772 pub fn emscripten_set_focusin_callback_on_thread(
1773 target: *const ::std::os::raw::c_char,
1774 userData: *mut ::std::os::raw::c_void,
1775 useCapture: bool,
1776 callback: em_focus_callback_func,
1777 targetThread: pthread_t,
1778 ) -> ::std::os::raw::c_int;
1779}
1780extern "C" {
1781 pub fn emscripten_set_focusout_callback_on_thread(
1782 target: *const ::std::os::raw::c_char,
1783 userData: *mut ::std::os::raw::c_void,
1784 useCapture: bool,
1785 callback: em_focus_callback_func,
1786 targetThread: pthread_t,
1787 ) -> ::std::os::raw::c_int;
1788}
1789#[repr(C)]
1790#[derive(Debug, Copy, Clone)]
1791pub struct EmscriptenDeviceOrientationEvent {
1792 pub alpha: f64,
1793 pub beta: f64,
1794 pub gamma: f64,
1795 pub absolute: bool,
1796}
1797#[test]
1798fn bindgen_test_layout_EmscriptenDeviceOrientationEvent() {
1799 const UNINIT: ::std::mem::MaybeUninit<EmscriptenDeviceOrientationEvent> =
1800 ::std::mem::MaybeUninit::uninit();
1801 let ptr = UNINIT.as_ptr();
1802 assert_eq!(
1803 ::std::mem::size_of::<EmscriptenDeviceOrientationEvent>(),
1804 32usize,
1805 concat!("Size of: ", stringify!(EmscriptenDeviceOrientationEvent))
1806 );
1807 assert_eq!(
1808 ::std::mem::align_of::<EmscriptenDeviceOrientationEvent>(),
1809 8usize,
1810 concat!(
1811 "Alignment of ",
1812 stringify!(EmscriptenDeviceOrientationEvent)
1813 )
1814 );
1815 assert_eq!(
1816 unsafe { ::std::ptr::addr_of!((*ptr).alpha) as usize - ptr as usize },
1817 0usize,
1818 concat!(
1819 "Offset of field: ",
1820 stringify!(EmscriptenDeviceOrientationEvent),
1821 "::",
1822 stringify!(alpha)
1823 )
1824 );
1825 assert_eq!(
1826 unsafe { ::std::ptr::addr_of!((*ptr).beta) as usize - ptr as usize },
1827 8usize,
1828 concat!(
1829 "Offset of field: ",
1830 stringify!(EmscriptenDeviceOrientationEvent),
1831 "::",
1832 stringify!(beta)
1833 )
1834 );
1835 assert_eq!(
1836 unsafe { ::std::ptr::addr_of!((*ptr).gamma) as usize - ptr as usize },
1837 16usize,
1838 concat!(
1839 "Offset of field: ",
1840 stringify!(EmscriptenDeviceOrientationEvent),
1841 "::",
1842 stringify!(gamma)
1843 )
1844 );
1845 assert_eq!(
1846 unsafe { ::std::ptr::addr_of!((*ptr).absolute) as usize - ptr as usize },
1847 24usize,
1848 concat!(
1849 "Offset of field: ",
1850 stringify!(EmscriptenDeviceOrientationEvent),
1851 "::",
1852 stringify!(absolute)
1853 )
1854 );
1855}
1856pub type em_deviceorientation_callback_func = ::std::option::Option<
1857 unsafe extern "C" fn(
1858 eventType: ::std::os::raw::c_int,
1859 deviceOrientationEvent: *const EmscriptenDeviceOrientationEvent,
1860 userData: *mut ::std::os::raw::c_void,
1861 ) -> bool,
1862>;
1863extern "C" {
1864 pub fn emscripten_set_deviceorientation_callback_on_thread(
1865 userData: *mut ::std::os::raw::c_void,
1866 useCapture: bool,
1867 callback: em_deviceorientation_callback_func,
1868 targetThread: pthread_t,
1869 ) -> ::std::os::raw::c_int;
1870}
1871extern "C" {
1872 pub fn emscripten_get_deviceorientation_status(
1873 orientationState: *mut EmscriptenDeviceOrientationEvent,
1874 ) -> ::std::os::raw::c_int;
1875}
1876#[repr(C)]
1877#[derive(Debug, Copy, Clone)]
1878pub struct EmscriptenDeviceMotionEvent {
1879 pub accelerationX: f64,
1880 pub accelerationY: f64,
1881 pub accelerationZ: f64,
1882 pub accelerationIncludingGravityX: f64,
1883 pub accelerationIncludingGravityY: f64,
1884 pub accelerationIncludingGravityZ: f64,
1885 pub rotationRateAlpha: f64,
1886 pub rotationRateBeta: f64,
1887 pub rotationRateGamma: f64,
1888 pub supportedFields: ::std::os::raw::c_int,
1889}
1890#[test]
1891fn bindgen_test_layout_EmscriptenDeviceMotionEvent() {
1892 const UNINIT: ::std::mem::MaybeUninit<EmscriptenDeviceMotionEvent> =
1893 ::std::mem::MaybeUninit::uninit();
1894 let ptr = UNINIT.as_ptr();
1895 assert_eq!(
1896 ::std::mem::size_of::<EmscriptenDeviceMotionEvent>(),
1897 80usize,
1898 concat!("Size of: ", stringify!(EmscriptenDeviceMotionEvent))
1899 );
1900 assert_eq!(
1901 ::std::mem::align_of::<EmscriptenDeviceMotionEvent>(),
1902 8usize,
1903 concat!("Alignment of ", stringify!(EmscriptenDeviceMotionEvent))
1904 );
1905 assert_eq!(
1906 unsafe { ::std::ptr::addr_of!((*ptr).accelerationX) as usize - ptr as usize },
1907 0usize,
1908 concat!(
1909 "Offset of field: ",
1910 stringify!(EmscriptenDeviceMotionEvent),
1911 "::",
1912 stringify!(accelerationX)
1913 )
1914 );
1915 assert_eq!(
1916 unsafe { ::std::ptr::addr_of!((*ptr).accelerationY) as usize - ptr as usize },
1917 8usize,
1918 concat!(
1919 "Offset of field: ",
1920 stringify!(EmscriptenDeviceMotionEvent),
1921 "::",
1922 stringify!(accelerationY)
1923 )
1924 );
1925 assert_eq!(
1926 unsafe { ::std::ptr::addr_of!((*ptr).accelerationZ) as usize - ptr as usize },
1927 16usize,
1928 concat!(
1929 "Offset of field: ",
1930 stringify!(EmscriptenDeviceMotionEvent),
1931 "::",
1932 stringify!(accelerationZ)
1933 )
1934 );
1935 assert_eq!(
1936 unsafe {
1937 ::std::ptr::addr_of!((*ptr).accelerationIncludingGravityX) as usize - ptr as usize
1938 },
1939 24usize,
1940 concat!(
1941 "Offset of field: ",
1942 stringify!(EmscriptenDeviceMotionEvent),
1943 "::",
1944 stringify!(accelerationIncludingGravityX)
1945 )
1946 );
1947 assert_eq!(
1948 unsafe {
1949 ::std::ptr::addr_of!((*ptr).accelerationIncludingGravityY) as usize - ptr as usize
1950 },
1951 32usize,
1952 concat!(
1953 "Offset of field: ",
1954 stringify!(EmscriptenDeviceMotionEvent),
1955 "::",
1956 stringify!(accelerationIncludingGravityY)
1957 )
1958 );
1959 assert_eq!(
1960 unsafe {
1961 ::std::ptr::addr_of!((*ptr).accelerationIncludingGravityZ) as usize - ptr as usize
1962 },
1963 40usize,
1964 concat!(
1965 "Offset of field: ",
1966 stringify!(EmscriptenDeviceMotionEvent),
1967 "::",
1968 stringify!(accelerationIncludingGravityZ)
1969 )
1970 );
1971 assert_eq!(
1972 unsafe { ::std::ptr::addr_of!((*ptr).rotationRateAlpha) as usize - ptr as usize },
1973 48usize,
1974 concat!(
1975 "Offset of field: ",
1976 stringify!(EmscriptenDeviceMotionEvent),
1977 "::",
1978 stringify!(rotationRateAlpha)
1979 )
1980 );
1981 assert_eq!(
1982 unsafe { ::std::ptr::addr_of!((*ptr).rotationRateBeta) as usize - ptr as usize },
1983 56usize,
1984 concat!(
1985 "Offset of field: ",
1986 stringify!(EmscriptenDeviceMotionEvent),
1987 "::",
1988 stringify!(rotationRateBeta)
1989 )
1990 );
1991 assert_eq!(
1992 unsafe { ::std::ptr::addr_of!((*ptr).rotationRateGamma) as usize - ptr as usize },
1993 64usize,
1994 concat!(
1995 "Offset of field: ",
1996 stringify!(EmscriptenDeviceMotionEvent),
1997 "::",
1998 stringify!(rotationRateGamma)
1999 )
2000 );
2001 assert_eq!(
2002 unsafe { ::std::ptr::addr_of!((*ptr).supportedFields) as usize - ptr as usize },
2003 72usize,
2004 concat!(
2005 "Offset of field: ",
2006 stringify!(EmscriptenDeviceMotionEvent),
2007 "::",
2008 stringify!(supportedFields)
2009 )
2010 );
2011}
2012pub type em_devicemotion_callback_func = ::std::option::Option<
2013 unsafe extern "C" fn(
2014 eventType: ::std::os::raw::c_int,
2015 deviceMotionEvent: *const EmscriptenDeviceMotionEvent,
2016 userData: *mut ::std::os::raw::c_void,
2017 ) -> bool,
2018>;
2019extern "C" {
2020 pub fn emscripten_set_devicemotion_callback_on_thread(
2021 userData: *mut ::std::os::raw::c_void,
2022 useCapture: bool,
2023 callback: em_devicemotion_callback_func,
2024 targetThread: pthread_t,
2025 ) -> ::std::os::raw::c_int;
2026}
2027extern "C" {
2028 pub fn emscripten_get_devicemotion_status(
2029 motionState: *mut EmscriptenDeviceMotionEvent,
2030 ) -> ::std::os::raw::c_int;
2031}
2032#[repr(C)]
2033#[derive(Debug, Copy, Clone)]
2034pub struct EmscriptenOrientationChangeEvent {
2035 pub orientationIndex: ::std::os::raw::c_int,
2036 pub orientationAngle: ::std::os::raw::c_int,
2037}
2038#[test]
2039fn bindgen_test_layout_EmscriptenOrientationChangeEvent() {
2040 const UNINIT: ::std::mem::MaybeUninit<EmscriptenOrientationChangeEvent> =
2041 ::std::mem::MaybeUninit::uninit();
2042 let ptr = UNINIT.as_ptr();
2043 assert_eq!(
2044 ::std::mem::size_of::<EmscriptenOrientationChangeEvent>(),
2045 8usize,
2046 concat!("Size of: ", stringify!(EmscriptenOrientationChangeEvent))
2047 );
2048 assert_eq!(
2049 ::std::mem::align_of::<EmscriptenOrientationChangeEvent>(),
2050 4usize,
2051 concat!(
2052 "Alignment of ",
2053 stringify!(EmscriptenOrientationChangeEvent)
2054 )
2055 );
2056 assert_eq!(
2057 unsafe { ::std::ptr::addr_of!((*ptr).orientationIndex) as usize - ptr as usize },
2058 0usize,
2059 concat!(
2060 "Offset of field: ",
2061 stringify!(EmscriptenOrientationChangeEvent),
2062 "::",
2063 stringify!(orientationIndex)
2064 )
2065 );
2066 assert_eq!(
2067 unsafe { ::std::ptr::addr_of!((*ptr).orientationAngle) as usize - ptr as usize },
2068 4usize,
2069 concat!(
2070 "Offset of field: ",
2071 stringify!(EmscriptenOrientationChangeEvent),
2072 "::",
2073 stringify!(orientationAngle)
2074 )
2075 );
2076}
2077pub type em_orientationchange_callback_func = ::std::option::Option<
2078 unsafe extern "C" fn(
2079 eventType: ::std::os::raw::c_int,
2080 orientationChangeEvent: *const EmscriptenOrientationChangeEvent,
2081 userData: *mut ::std::os::raw::c_void,
2082 ) -> bool,
2083>;
2084extern "C" {
2085 pub fn emscripten_set_orientationchange_callback_on_thread(
2086 userData: *mut ::std::os::raw::c_void,
2087 useCapture: bool,
2088 callback: em_orientationchange_callback_func,
2089 targetThread: pthread_t,
2090 ) -> ::std::os::raw::c_int;
2091}
2092extern "C" {
2093 pub fn emscripten_get_orientation_status(
2094 orientationStatus: *mut EmscriptenOrientationChangeEvent,
2095 ) -> ::std::os::raw::c_int;
2096}
2097extern "C" {
2098 pub fn emscripten_lock_orientation(
2099 allowedOrientations: ::std::os::raw::c_int,
2100 ) -> ::std::os::raw::c_int;
2101}
2102extern "C" {
2103 pub fn emscripten_unlock_orientation() -> ::std::os::raw::c_int;
2104}
2105#[repr(C)]
2106#[derive(Debug, Copy, Clone)]
2107pub struct EmscriptenFullscreenChangeEvent {
2108 pub isFullscreen: bool,
2109 pub fullscreenEnabled: bool,
2110 pub nodeName: [::std::os::raw::c_char; 128usize],
2111 pub id: [::std::os::raw::c_char; 128usize],
2112 pub elementWidth: ::std::os::raw::c_int,
2113 pub elementHeight: ::std::os::raw::c_int,
2114 pub screenWidth: ::std::os::raw::c_int,
2115 pub screenHeight: ::std::os::raw::c_int,
2116}
2117#[test]
2118fn bindgen_test_layout_EmscriptenFullscreenChangeEvent() {
2119 const UNINIT: ::std::mem::MaybeUninit<EmscriptenFullscreenChangeEvent> =
2120 ::std::mem::MaybeUninit::uninit();
2121 let ptr = UNINIT.as_ptr();
2122 assert_eq!(
2123 ::std::mem::size_of::<EmscriptenFullscreenChangeEvent>(),
2124 276usize,
2125 concat!("Size of: ", stringify!(EmscriptenFullscreenChangeEvent))
2126 );
2127 assert_eq!(
2128 ::std::mem::align_of::<EmscriptenFullscreenChangeEvent>(),
2129 4usize,
2130 concat!("Alignment of ", stringify!(EmscriptenFullscreenChangeEvent))
2131 );
2132 assert_eq!(
2133 unsafe { ::std::ptr::addr_of!((*ptr).isFullscreen) as usize - ptr as usize },
2134 0usize,
2135 concat!(
2136 "Offset of field: ",
2137 stringify!(EmscriptenFullscreenChangeEvent),
2138 "::",
2139 stringify!(isFullscreen)
2140 )
2141 );
2142 assert_eq!(
2143 unsafe { ::std::ptr::addr_of!((*ptr).fullscreenEnabled) as usize - ptr as usize },
2144 1usize,
2145 concat!(
2146 "Offset of field: ",
2147 stringify!(EmscriptenFullscreenChangeEvent),
2148 "::",
2149 stringify!(fullscreenEnabled)
2150 )
2151 );
2152 assert_eq!(
2153 unsafe { ::std::ptr::addr_of!((*ptr).nodeName) as usize - ptr as usize },
2154 2usize,
2155 concat!(
2156 "Offset of field: ",
2157 stringify!(EmscriptenFullscreenChangeEvent),
2158 "::",
2159 stringify!(nodeName)
2160 )
2161 );
2162 assert_eq!(
2163 unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
2164 130usize,
2165 concat!(
2166 "Offset of field: ",
2167 stringify!(EmscriptenFullscreenChangeEvent),
2168 "::",
2169 stringify!(id)
2170 )
2171 );
2172 assert_eq!(
2173 unsafe { ::std::ptr::addr_of!((*ptr).elementWidth) as usize - ptr as usize },
2174 260usize,
2175 concat!(
2176 "Offset of field: ",
2177 stringify!(EmscriptenFullscreenChangeEvent),
2178 "::",
2179 stringify!(elementWidth)
2180 )
2181 );
2182 assert_eq!(
2183 unsafe { ::std::ptr::addr_of!((*ptr).elementHeight) as usize - ptr as usize },
2184 264usize,
2185 concat!(
2186 "Offset of field: ",
2187 stringify!(EmscriptenFullscreenChangeEvent),
2188 "::",
2189 stringify!(elementHeight)
2190 )
2191 );
2192 assert_eq!(
2193 unsafe { ::std::ptr::addr_of!((*ptr).screenWidth) as usize - ptr as usize },
2194 268usize,
2195 concat!(
2196 "Offset of field: ",
2197 stringify!(EmscriptenFullscreenChangeEvent),
2198 "::",
2199 stringify!(screenWidth)
2200 )
2201 );
2202 assert_eq!(
2203 unsafe { ::std::ptr::addr_of!((*ptr).screenHeight) as usize - ptr as usize },
2204 272usize,
2205 concat!(
2206 "Offset of field: ",
2207 stringify!(EmscriptenFullscreenChangeEvent),
2208 "::",
2209 stringify!(screenHeight)
2210 )
2211 );
2212}
2213pub type em_fullscreenchange_callback_func = ::std::option::Option<
2214 unsafe extern "C" fn(
2215 eventType: ::std::os::raw::c_int,
2216 fullscreenChangeEvent: *const EmscriptenFullscreenChangeEvent,
2217 userData: *mut ::std::os::raw::c_void,
2218 ) -> bool,
2219>;
2220extern "C" {
2221 pub fn emscripten_set_fullscreenchange_callback_on_thread(
2222 target: *const ::std::os::raw::c_char,
2223 userData: *mut ::std::os::raw::c_void,
2224 useCapture: bool,
2225 callback: em_fullscreenchange_callback_func,
2226 targetThread: pthread_t,
2227 ) -> ::std::os::raw::c_int;
2228}
2229extern "C" {
2230 pub fn emscripten_get_fullscreen_status(
2231 fullscreenStatus: *mut EmscriptenFullscreenChangeEvent,
2232 ) -> ::std::os::raw::c_int;
2233}
2234pub type em_canvasresized_callback_func = ::std::option::Option<
2235 unsafe extern "C" fn(
2236 eventType: ::std::os::raw::c_int,
2237 reserved: *const ::std::os::raw::c_void,
2238 userData: *mut ::std::os::raw::c_void,
2239 ) -> bool,
2240>;
2241#[repr(C)]
2242#[derive(Debug, Copy, Clone)]
2243pub struct EmscriptenFullscreenStrategy {
2244 pub scaleMode: ::std::os::raw::c_int,
2245 pub canvasResolutionScaleMode: ::std::os::raw::c_int,
2246 pub filteringMode: ::std::os::raw::c_int,
2247 pub canvasResizedCallback: em_canvasresized_callback_func,
2248 pub canvasResizedCallbackUserData: *mut ::std::os::raw::c_void,
2249 pub canvasResizedCallbackTargetThread: pthread_t,
2250}
2251#[test]
2252fn bindgen_test_layout_EmscriptenFullscreenStrategy() {
2253 const UNINIT: ::std::mem::MaybeUninit<EmscriptenFullscreenStrategy> =
2254 ::std::mem::MaybeUninit::uninit();
2255 let ptr = UNINIT.as_ptr();
2256 assert_eq!(
2257 ::std::mem::size_of::<EmscriptenFullscreenStrategy>(),
2258 40usize,
2259 concat!("Size of: ", stringify!(EmscriptenFullscreenStrategy))
2260 );
2261 assert_eq!(
2262 ::std::mem::align_of::<EmscriptenFullscreenStrategy>(),
2263 8usize,
2264 concat!("Alignment of ", stringify!(EmscriptenFullscreenStrategy))
2265 );
2266 assert_eq!(
2267 unsafe { ::std::ptr::addr_of!((*ptr).scaleMode) as usize - ptr as usize },
2268 0usize,
2269 concat!(
2270 "Offset of field: ",
2271 stringify!(EmscriptenFullscreenStrategy),
2272 "::",
2273 stringify!(scaleMode)
2274 )
2275 );
2276 assert_eq!(
2277 unsafe { ::std::ptr::addr_of!((*ptr).canvasResolutionScaleMode) as usize - ptr as usize },
2278 4usize,
2279 concat!(
2280 "Offset of field: ",
2281 stringify!(EmscriptenFullscreenStrategy),
2282 "::",
2283 stringify!(canvasResolutionScaleMode)
2284 )
2285 );
2286 assert_eq!(
2287 unsafe { ::std::ptr::addr_of!((*ptr).filteringMode) as usize - ptr as usize },
2288 8usize,
2289 concat!(
2290 "Offset of field: ",
2291 stringify!(EmscriptenFullscreenStrategy),
2292 "::",
2293 stringify!(filteringMode)
2294 )
2295 );
2296 assert_eq!(
2297 unsafe { ::std::ptr::addr_of!((*ptr).canvasResizedCallback) as usize - ptr as usize },
2298 16usize,
2299 concat!(
2300 "Offset of field: ",
2301 stringify!(EmscriptenFullscreenStrategy),
2302 "::",
2303 stringify!(canvasResizedCallback)
2304 )
2305 );
2306 assert_eq!(
2307 unsafe {
2308 ::std::ptr::addr_of!((*ptr).canvasResizedCallbackUserData) as usize - ptr as usize
2309 },
2310 24usize,
2311 concat!(
2312 "Offset of field: ",
2313 stringify!(EmscriptenFullscreenStrategy),
2314 "::",
2315 stringify!(canvasResizedCallbackUserData)
2316 )
2317 );
2318 assert_eq!(
2319 unsafe {
2320 ::std::ptr::addr_of!((*ptr).canvasResizedCallbackTargetThread) as usize - ptr as usize
2321 },
2322 32usize,
2323 concat!(
2324 "Offset of field: ",
2325 stringify!(EmscriptenFullscreenStrategy),
2326 "::",
2327 stringify!(canvasResizedCallbackTargetThread)
2328 )
2329 );
2330}
2331extern "C" {
2332 pub fn emscripten_request_fullscreen(
2333 target: *const ::std::os::raw::c_char,
2334 deferUntilInEventHandler: bool,
2335 ) -> ::std::os::raw::c_int;
2336}
2337extern "C" {
2338 pub fn emscripten_request_fullscreen_strategy(
2339 target: *const ::std::os::raw::c_char,
2340 deferUntilInEventHandler: bool,
2341 fullscreenStrategy: *const EmscriptenFullscreenStrategy,
2342 ) -> ::std::os::raw::c_int;
2343}
2344extern "C" {
2345 pub fn emscripten_exit_fullscreen() -> ::std::os::raw::c_int;
2346}
2347extern "C" {
2348 pub fn emscripten_enter_soft_fullscreen(
2349 target: *const ::std::os::raw::c_char,
2350 fullscreenStrategy: *const EmscriptenFullscreenStrategy,
2351 ) -> ::std::os::raw::c_int;
2352}
2353extern "C" {
2354 pub fn emscripten_exit_soft_fullscreen() -> ::std::os::raw::c_int;
2355}
2356#[repr(C)]
2357#[derive(Debug, Copy, Clone)]
2358pub struct EmscriptenPointerlockChangeEvent {
2359 pub isActive: bool,
2360 pub nodeName: [::std::os::raw::c_char; 128usize],
2361 pub id: [::std::os::raw::c_char; 128usize],
2362}
2363#[test]
2364fn bindgen_test_layout_EmscriptenPointerlockChangeEvent() {
2365 const UNINIT: ::std::mem::MaybeUninit<EmscriptenPointerlockChangeEvent> =
2366 ::std::mem::MaybeUninit::uninit();
2367 let ptr = UNINIT.as_ptr();
2368 assert_eq!(
2369 ::std::mem::size_of::<EmscriptenPointerlockChangeEvent>(),
2370 257usize,
2371 concat!("Size of: ", stringify!(EmscriptenPointerlockChangeEvent))
2372 );
2373 assert_eq!(
2374 ::std::mem::align_of::<EmscriptenPointerlockChangeEvent>(),
2375 1usize,
2376 concat!(
2377 "Alignment of ",
2378 stringify!(EmscriptenPointerlockChangeEvent)
2379 )
2380 );
2381 assert_eq!(
2382 unsafe { ::std::ptr::addr_of!((*ptr).isActive) as usize - ptr as usize },
2383 0usize,
2384 concat!(
2385 "Offset of field: ",
2386 stringify!(EmscriptenPointerlockChangeEvent),
2387 "::",
2388 stringify!(isActive)
2389 )
2390 );
2391 assert_eq!(
2392 unsafe { ::std::ptr::addr_of!((*ptr).nodeName) as usize - ptr as usize },
2393 1usize,
2394 concat!(
2395 "Offset of field: ",
2396 stringify!(EmscriptenPointerlockChangeEvent),
2397 "::",
2398 stringify!(nodeName)
2399 )
2400 );
2401 assert_eq!(
2402 unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
2403 129usize,
2404 concat!(
2405 "Offset of field: ",
2406 stringify!(EmscriptenPointerlockChangeEvent),
2407 "::",
2408 stringify!(id)
2409 )
2410 );
2411}
2412pub type em_pointerlockchange_callback_func = ::std::option::Option<
2413 unsafe extern "C" fn(
2414 eventType: ::std::os::raw::c_int,
2415 pointerlockChangeEvent: *const EmscriptenPointerlockChangeEvent,
2416 userData: *mut ::std::os::raw::c_void,
2417 ) -> bool,
2418>;
2419extern "C" {
2420 pub fn emscripten_set_pointerlockchange_callback_on_thread(
2421 target: *const ::std::os::raw::c_char,
2422 userData: *mut ::std::os::raw::c_void,
2423 useCapture: bool,
2424 callback: em_pointerlockchange_callback_func,
2425 targetThread: pthread_t,
2426 ) -> ::std::os::raw::c_int;
2427}
2428pub type em_pointerlockerror_callback_func = ::std::option::Option<
2429 unsafe extern "C" fn(
2430 eventType: ::std::os::raw::c_int,
2431 reserved: *const ::std::os::raw::c_void,
2432 userData: *mut ::std::os::raw::c_void,
2433 ) -> bool,
2434>;
2435extern "C" {
2436 pub fn emscripten_set_pointerlockerror_callback_on_thread(
2437 target: *const ::std::os::raw::c_char,
2438 userData: *mut ::std::os::raw::c_void,
2439 useCapture: bool,
2440 callback: em_pointerlockerror_callback_func,
2441 targetThread: pthread_t,
2442 ) -> ::std::os::raw::c_int;
2443}
2444extern "C" {
2445 pub fn emscripten_get_pointerlock_status(
2446 pointerlockStatus: *mut EmscriptenPointerlockChangeEvent,
2447 ) -> ::std::os::raw::c_int;
2448}
2449extern "C" {
2450 pub fn emscripten_request_pointerlock(
2451 target: *const ::std::os::raw::c_char,
2452 deferUntilInEventHandler: bool,
2453 ) -> ::std::os::raw::c_int;
2454}
2455extern "C" {
2456 pub fn emscripten_exit_pointerlock() -> ::std::os::raw::c_int;
2457}
2458#[repr(C)]
2459#[derive(Debug, Copy, Clone)]
2460pub struct EmscriptenVisibilityChangeEvent {
2461 pub hidden: bool,
2462 pub visibilityState: ::std::os::raw::c_int,
2463}
2464#[test]
2465fn bindgen_test_layout_EmscriptenVisibilityChangeEvent() {
2466 const UNINIT: ::std::mem::MaybeUninit<EmscriptenVisibilityChangeEvent> =
2467 ::std::mem::MaybeUninit::uninit();
2468 let ptr = UNINIT.as_ptr();
2469 assert_eq!(
2470 ::std::mem::size_of::<EmscriptenVisibilityChangeEvent>(),
2471 8usize,
2472 concat!("Size of: ", stringify!(EmscriptenVisibilityChangeEvent))
2473 );
2474 assert_eq!(
2475 ::std::mem::align_of::<EmscriptenVisibilityChangeEvent>(),
2476 4usize,
2477 concat!("Alignment of ", stringify!(EmscriptenVisibilityChangeEvent))
2478 );
2479 assert_eq!(
2480 unsafe { ::std::ptr::addr_of!((*ptr).hidden) as usize - ptr as usize },
2481 0usize,
2482 concat!(
2483 "Offset of field: ",
2484 stringify!(EmscriptenVisibilityChangeEvent),
2485 "::",
2486 stringify!(hidden)
2487 )
2488 );
2489 assert_eq!(
2490 unsafe { ::std::ptr::addr_of!((*ptr).visibilityState) as usize - ptr as usize },
2491 4usize,
2492 concat!(
2493 "Offset of field: ",
2494 stringify!(EmscriptenVisibilityChangeEvent),
2495 "::",
2496 stringify!(visibilityState)
2497 )
2498 );
2499}
2500pub type em_visibilitychange_callback_func = ::std::option::Option<
2501 unsafe extern "C" fn(
2502 eventType: ::std::os::raw::c_int,
2503 visibilityChangeEvent: *const EmscriptenVisibilityChangeEvent,
2504 userData: *mut ::std::os::raw::c_void,
2505 ) -> bool,
2506>;
2507extern "C" {
2508 pub fn emscripten_set_visibilitychange_callback_on_thread(
2509 userData: *mut ::std::os::raw::c_void,
2510 useCapture: bool,
2511 callback: em_visibilitychange_callback_func,
2512 targetThread: pthread_t,
2513 ) -> ::std::os::raw::c_int;
2514}
2515extern "C" {
2516 pub fn emscripten_get_visibility_status(
2517 visibilityStatus: *mut EmscriptenVisibilityChangeEvent,
2518 ) -> ::std::os::raw::c_int;
2519}
2520#[repr(C)]
2521#[derive(Debug, Copy, Clone)]
2522pub struct EmscriptenTouchPoint {
2523 pub identifier: ::std::os::raw::c_int,
2524 pub screenX: ::std::os::raw::c_int,
2525 pub screenY: ::std::os::raw::c_int,
2526 pub clientX: ::std::os::raw::c_int,
2527 pub clientY: ::std::os::raw::c_int,
2528 pub pageX: ::std::os::raw::c_int,
2529 pub pageY: ::std::os::raw::c_int,
2530 pub isChanged: bool,
2531 pub onTarget: bool,
2532 pub targetX: ::std::os::raw::c_int,
2533 pub targetY: ::std::os::raw::c_int,
2534 pub canvasX: ::std::os::raw::c_int,
2535 pub canvasY: ::std::os::raw::c_int,
2536}
2537#[test]
2538fn bindgen_test_layout_EmscriptenTouchPoint() {
2539 const UNINIT: ::std::mem::MaybeUninit<EmscriptenTouchPoint> = ::std::mem::MaybeUninit::uninit();
2540 let ptr = UNINIT.as_ptr();
2541 assert_eq!(
2542 ::std::mem::size_of::<EmscriptenTouchPoint>(),
2543 48usize,
2544 concat!("Size of: ", stringify!(EmscriptenTouchPoint))
2545 );
2546 assert_eq!(
2547 ::std::mem::align_of::<EmscriptenTouchPoint>(),
2548 4usize,
2549 concat!("Alignment of ", stringify!(EmscriptenTouchPoint))
2550 );
2551 assert_eq!(
2552 unsafe { ::std::ptr::addr_of!((*ptr).identifier) as usize - ptr as usize },
2553 0usize,
2554 concat!(
2555 "Offset of field: ",
2556 stringify!(EmscriptenTouchPoint),
2557 "::",
2558 stringify!(identifier)
2559 )
2560 );
2561 assert_eq!(
2562 unsafe { ::std::ptr::addr_of!((*ptr).screenX) as usize - ptr as usize },
2563 4usize,
2564 concat!(
2565 "Offset of field: ",
2566 stringify!(EmscriptenTouchPoint),
2567 "::",
2568 stringify!(screenX)
2569 )
2570 );
2571 assert_eq!(
2572 unsafe { ::std::ptr::addr_of!((*ptr).screenY) as usize - ptr as usize },
2573 8usize,
2574 concat!(
2575 "Offset of field: ",
2576 stringify!(EmscriptenTouchPoint),
2577 "::",
2578 stringify!(screenY)
2579 )
2580 );
2581 assert_eq!(
2582 unsafe { ::std::ptr::addr_of!((*ptr).clientX) as usize - ptr as usize },
2583 12usize,
2584 concat!(
2585 "Offset of field: ",
2586 stringify!(EmscriptenTouchPoint),
2587 "::",
2588 stringify!(clientX)
2589 )
2590 );
2591 assert_eq!(
2592 unsafe { ::std::ptr::addr_of!((*ptr).clientY) as usize - ptr as usize },
2593 16usize,
2594 concat!(
2595 "Offset of field: ",
2596 stringify!(EmscriptenTouchPoint),
2597 "::",
2598 stringify!(clientY)
2599 )
2600 );
2601 assert_eq!(
2602 unsafe { ::std::ptr::addr_of!((*ptr).pageX) as usize - ptr as usize },
2603 20usize,
2604 concat!(
2605 "Offset of field: ",
2606 stringify!(EmscriptenTouchPoint),
2607 "::",
2608 stringify!(pageX)
2609 )
2610 );
2611 assert_eq!(
2612 unsafe { ::std::ptr::addr_of!((*ptr).pageY) as usize - ptr as usize },
2613 24usize,
2614 concat!(
2615 "Offset of field: ",
2616 stringify!(EmscriptenTouchPoint),
2617 "::",
2618 stringify!(pageY)
2619 )
2620 );
2621 assert_eq!(
2622 unsafe { ::std::ptr::addr_of!((*ptr).isChanged) as usize - ptr as usize },
2623 28usize,
2624 concat!(
2625 "Offset of field: ",
2626 stringify!(EmscriptenTouchPoint),
2627 "::",
2628 stringify!(isChanged)
2629 )
2630 );
2631 assert_eq!(
2632 unsafe { ::std::ptr::addr_of!((*ptr).onTarget) as usize - ptr as usize },
2633 29usize,
2634 concat!(
2635 "Offset of field: ",
2636 stringify!(EmscriptenTouchPoint),
2637 "::",
2638 stringify!(onTarget)
2639 )
2640 );
2641 assert_eq!(
2642 unsafe { ::std::ptr::addr_of!((*ptr).targetX) as usize - ptr as usize },
2643 32usize,
2644 concat!(
2645 "Offset of field: ",
2646 stringify!(EmscriptenTouchPoint),
2647 "::",
2648 stringify!(targetX)
2649 )
2650 );
2651 assert_eq!(
2652 unsafe { ::std::ptr::addr_of!((*ptr).targetY) as usize - ptr as usize },
2653 36usize,
2654 concat!(
2655 "Offset of field: ",
2656 stringify!(EmscriptenTouchPoint),
2657 "::",
2658 stringify!(targetY)
2659 )
2660 );
2661 assert_eq!(
2662 unsafe { ::std::ptr::addr_of!((*ptr).canvasX) as usize - ptr as usize },
2663 40usize,
2664 concat!(
2665 "Offset of field: ",
2666 stringify!(EmscriptenTouchPoint),
2667 "::",
2668 stringify!(canvasX)
2669 )
2670 );
2671 assert_eq!(
2672 unsafe { ::std::ptr::addr_of!((*ptr).canvasY) as usize - ptr as usize },
2673 44usize,
2674 concat!(
2675 "Offset of field: ",
2676 stringify!(EmscriptenTouchPoint),
2677 "::",
2678 stringify!(canvasY)
2679 )
2680 );
2681}
2682#[repr(C)]
2683#[derive(Debug, Copy, Clone)]
2684pub struct EmscriptenTouchEvent {
2685 pub timestamp: f64,
2686 pub numTouches: ::std::os::raw::c_int,
2687 pub ctrlKey: bool,
2688 pub shiftKey: bool,
2689 pub altKey: bool,
2690 pub metaKey: bool,
2691 pub touches: [EmscriptenTouchPoint; 32usize],
2692}
2693#[test]
2694fn bindgen_test_layout_EmscriptenTouchEvent() {
2695 const UNINIT: ::std::mem::MaybeUninit<EmscriptenTouchEvent> = ::std::mem::MaybeUninit::uninit();
2696 let ptr = UNINIT.as_ptr();
2697 assert_eq!(
2698 ::std::mem::size_of::<EmscriptenTouchEvent>(),
2699 1552usize,
2700 concat!("Size of: ", stringify!(EmscriptenTouchEvent))
2701 );
2702 assert_eq!(
2703 ::std::mem::align_of::<EmscriptenTouchEvent>(),
2704 8usize,
2705 concat!("Alignment of ", stringify!(EmscriptenTouchEvent))
2706 );
2707 assert_eq!(
2708 unsafe { ::std::ptr::addr_of!((*ptr).timestamp) as usize - ptr as usize },
2709 0usize,
2710 concat!(
2711 "Offset of field: ",
2712 stringify!(EmscriptenTouchEvent),
2713 "::",
2714 stringify!(timestamp)
2715 )
2716 );
2717 assert_eq!(
2718 unsafe { ::std::ptr::addr_of!((*ptr).numTouches) as usize - ptr as usize },
2719 8usize,
2720 concat!(
2721 "Offset of field: ",
2722 stringify!(EmscriptenTouchEvent),
2723 "::",
2724 stringify!(numTouches)
2725 )
2726 );
2727 assert_eq!(
2728 unsafe { ::std::ptr::addr_of!((*ptr).ctrlKey) as usize - ptr as usize },
2729 12usize,
2730 concat!(
2731 "Offset of field: ",
2732 stringify!(EmscriptenTouchEvent),
2733 "::",
2734 stringify!(ctrlKey)
2735 )
2736 );
2737 assert_eq!(
2738 unsafe { ::std::ptr::addr_of!((*ptr).shiftKey) as usize - ptr as usize },
2739 13usize,
2740 concat!(
2741 "Offset of field: ",
2742 stringify!(EmscriptenTouchEvent),
2743 "::",
2744 stringify!(shiftKey)
2745 )
2746 );
2747 assert_eq!(
2748 unsafe { ::std::ptr::addr_of!((*ptr).altKey) as usize - ptr as usize },
2749 14usize,
2750 concat!(
2751 "Offset of field: ",
2752 stringify!(EmscriptenTouchEvent),
2753 "::",
2754 stringify!(altKey)
2755 )
2756 );
2757 assert_eq!(
2758 unsafe { ::std::ptr::addr_of!((*ptr).metaKey) as usize - ptr as usize },
2759 15usize,
2760 concat!(
2761 "Offset of field: ",
2762 stringify!(EmscriptenTouchEvent),
2763 "::",
2764 stringify!(metaKey)
2765 )
2766 );
2767 assert_eq!(
2768 unsafe { ::std::ptr::addr_of!((*ptr).touches) as usize - ptr as usize },
2769 16usize,
2770 concat!(
2771 "Offset of field: ",
2772 stringify!(EmscriptenTouchEvent),
2773 "::",
2774 stringify!(touches)
2775 )
2776 );
2777}
2778pub type em_touch_callback_func = ::std::option::Option<
2779 unsafe extern "C" fn(
2780 eventType: ::std::os::raw::c_int,
2781 touchEvent: *const EmscriptenTouchEvent,
2782 userData: *mut ::std::os::raw::c_void,
2783 ) -> bool,
2784>;
2785extern "C" {
2786 pub fn emscripten_set_touchstart_callback_on_thread(
2787 target: *const ::std::os::raw::c_char,
2788 userData: *mut ::std::os::raw::c_void,
2789 useCapture: bool,
2790 callback: em_touch_callback_func,
2791 targetThread: pthread_t,
2792 ) -> ::std::os::raw::c_int;
2793}
2794extern "C" {
2795 pub fn emscripten_set_touchend_callback_on_thread(
2796 target: *const ::std::os::raw::c_char,
2797 userData: *mut ::std::os::raw::c_void,
2798 useCapture: bool,
2799 callback: em_touch_callback_func,
2800 targetThread: pthread_t,
2801 ) -> ::std::os::raw::c_int;
2802}
2803extern "C" {
2804 pub fn emscripten_set_touchmove_callback_on_thread(
2805 target: *const ::std::os::raw::c_char,
2806 userData: *mut ::std::os::raw::c_void,
2807 useCapture: bool,
2808 callback: em_touch_callback_func,
2809 targetThread: pthread_t,
2810 ) -> ::std::os::raw::c_int;
2811}
2812extern "C" {
2813 pub fn emscripten_set_touchcancel_callback_on_thread(
2814 target: *const ::std::os::raw::c_char,
2815 userData: *mut ::std::os::raw::c_void,
2816 useCapture: bool,
2817 callback: em_touch_callback_func,
2818 targetThread: pthread_t,
2819 ) -> ::std::os::raw::c_int;
2820}
2821#[repr(C)]
2822#[derive(Debug, Copy, Clone)]
2823pub struct EmscriptenGamepadEvent {
2824 pub timestamp: f64,
2825 pub numAxes: ::std::os::raw::c_int,
2826 pub numButtons: ::std::os::raw::c_int,
2827 pub axis: [f64; 64usize],
2828 pub analogButton: [f64; 64usize],
2829 pub digitalButton: [bool; 64usize],
2830 pub connected: bool,
2831 pub index: ::std::os::raw::c_int,
2832 pub id: [::std::os::raw::c_char; 64usize],
2833 pub mapping: [::std::os::raw::c_char; 64usize],
2834}
2835#[test]
2836fn bindgen_test_layout_EmscriptenGamepadEvent() {
2837 const UNINIT: ::std::mem::MaybeUninit<EmscriptenGamepadEvent> =
2838 ::std::mem::MaybeUninit::uninit();
2839 let ptr = UNINIT.as_ptr();
2840 assert_eq!(
2841 ::std::mem::size_of::<EmscriptenGamepadEvent>(),
2842 1240usize,
2843 concat!("Size of: ", stringify!(EmscriptenGamepadEvent))
2844 );
2845 assert_eq!(
2846 ::std::mem::align_of::<EmscriptenGamepadEvent>(),
2847 8usize,
2848 concat!("Alignment of ", stringify!(EmscriptenGamepadEvent))
2849 );
2850 assert_eq!(
2851 unsafe { ::std::ptr::addr_of!((*ptr).timestamp) as usize - ptr as usize },
2852 0usize,
2853 concat!(
2854 "Offset of field: ",
2855 stringify!(EmscriptenGamepadEvent),
2856 "::",
2857 stringify!(timestamp)
2858 )
2859 );
2860 assert_eq!(
2861 unsafe { ::std::ptr::addr_of!((*ptr).numAxes) as usize - ptr as usize },
2862 8usize,
2863 concat!(
2864 "Offset of field: ",
2865 stringify!(EmscriptenGamepadEvent),
2866 "::",
2867 stringify!(numAxes)
2868 )
2869 );
2870 assert_eq!(
2871 unsafe { ::std::ptr::addr_of!((*ptr).numButtons) as usize - ptr as usize },
2872 12usize,
2873 concat!(
2874 "Offset of field: ",
2875 stringify!(EmscriptenGamepadEvent),
2876 "::",
2877 stringify!(numButtons)
2878 )
2879 );
2880 assert_eq!(
2881 unsafe { ::std::ptr::addr_of!((*ptr).axis) as usize - ptr as usize },
2882 16usize,
2883 concat!(
2884 "Offset of field: ",
2885 stringify!(EmscriptenGamepadEvent),
2886 "::",
2887 stringify!(axis)
2888 )
2889 );
2890 assert_eq!(
2891 unsafe { ::std::ptr::addr_of!((*ptr).analogButton) as usize - ptr as usize },
2892 528usize,
2893 concat!(
2894 "Offset of field: ",
2895 stringify!(EmscriptenGamepadEvent),
2896 "::",
2897 stringify!(analogButton)
2898 )
2899 );
2900 assert_eq!(
2901 unsafe { ::std::ptr::addr_of!((*ptr).digitalButton) as usize - ptr as usize },
2902 1040usize,
2903 concat!(
2904 "Offset of field: ",
2905 stringify!(EmscriptenGamepadEvent),
2906 "::",
2907 stringify!(digitalButton)
2908 )
2909 );
2910 assert_eq!(
2911 unsafe { ::std::ptr::addr_of!((*ptr).connected) as usize - ptr as usize },
2912 1104usize,
2913 concat!(
2914 "Offset of field: ",
2915 stringify!(EmscriptenGamepadEvent),
2916 "::",
2917 stringify!(connected)
2918 )
2919 );
2920 assert_eq!(
2921 unsafe { ::std::ptr::addr_of!((*ptr).index) as usize - ptr as usize },
2922 1108usize,
2923 concat!(
2924 "Offset of field: ",
2925 stringify!(EmscriptenGamepadEvent),
2926 "::",
2927 stringify!(index)
2928 )
2929 );
2930 assert_eq!(
2931 unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
2932 1112usize,
2933 concat!(
2934 "Offset of field: ",
2935 stringify!(EmscriptenGamepadEvent),
2936 "::",
2937 stringify!(id)
2938 )
2939 );
2940 assert_eq!(
2941 unsafe { ::std::ptr::addr_of!((*ptr).mapping) as usize - ptr as usize },
2942 1176usize,
2943 concat!(
2944 "Offset of field: ",
2945 stringify!(EmscriptenGamepadEvent),
2946 "::",
2947 stringify!(mapping)
2948 )
2949 );
2950}
2951pub type em_gamepad_callback_func = ::std::option::Option<
2952 unsafe extern "C" fn(
2953 eventType: ::std::os::raw::c_int,
2954 gamepadEvent: *const EmscriptenGamepadEvent,
2955 userData: *mut ::std::os::raw::c_void,
2956 ) -> bool,
2957>;
2958extern "C" {
2959 pub fn emscripten_set_gamepadconnected_callback_on_thread(
2960 userData: *mut ::std::os::raw::c_void,
2961 useCapture: bool,
2962 callback: em_gamepad_callback_func,
2963 targetThread: pthread_t,
2964 ) -> ::std::os::raw::c_int;
2965}
2966extern "C" {
2967 pub fn emscripten_set_gamepaddisconnected_callback_on_thread(
2968 userData: *mut ::std::os::raw::c_void,
2969 useCapture: bool,
2970 callback: em_gamepad_callback_func,
2971 targetThread: pthread_t,
2972 ) -> ::std::os::raw::c_int;
2973}
2974extern "C" {
2975 pub fn emscripten_sample_gamepad_data() -> ::std::os::raw::c_int;
2976}
2977extern "C" {
2978 pub fn emscripten_get_num_gamepads() -> ::std::os::raw::c_int;
2979}
2980extern "C" {
2981 pub fn emscripten_get_gamepad_status(
2982 index: ::std::os::raw::c_int,
2983 gamepadState: *mut EmscriptenGamepadEvent,
2984 ) -> ::std::os::raw::c_int;
2985}
2986#[repr(C)]
2987#[derive(Debug, Copy, Clone)]
2988pub struct EmscriptenBatteryEvent {
2989 pub chargingTime: f64,
2990 pub dischargingTime: f64,
2991 pub level: f64,
2992 pub charging: bool,
2993}
2994#[test]
2995fn bindgen_test_layout_EmscriptenBatteryEvent() {
2996 const UNINIT: ::std::mem::MaybeUninit<EmscriptenBatteryEvent> =
2997 ::std::mem::MaybeUninit::uninit();
2998 let ptr = UNINIT.as_ptr();
2999 assert_eq!(
3000 ::std::mem::size_of::<EmscriptenBatteryEvent>(),
3001 32usize,
3002 concat!("Size of: ", stringify!(EmscriptenBatteryEvent))
3003 );
3004 assert_eq!(
3005 ::std::mem::align_of::<EmscriptenBatteryEvent>(),
3006 8usize,
3007 concat!("Alignment of ", stringify!(EmscriptenBatteryEvent))
3008 );
3009 assert_eq!(
3010 unsafe { ::std::ptr::addr_of!((*ptr).chargingTime) as usize - ptr as usize },
3011 0usize,
3012 concat!(
3013 "Offset of field: ",
3014 stringify!(EmscriptenBatteryEvent),
3015 "::",
3016 stringify!(chargingTime)
3017 )
3018 );
3019 assert_eq!(
3020 unsafe { ::std::ptr::addr_of!((*ptr).dischargingTime) as usize - ptr as usize },
3021 8usize,
3022 concat!(
3023 "Offset of field: ",
3024 stringify!(EmscriptenBatteryEvent),
3025 "::",
3026 stringify!(dischargingTime)
3027 )
3028 );
3029 assert_eq!(
3030 unsafe { ::std::ptr::addr_of!((*ptr).level) as usize - ptr as usize },
3031 16usize,
3032 concat!(
3033 "Offset of field: ",
3034 stringify!(EmscriptenBatteryEvent),
3035 "::",
3036 stringify!(level)
3037 )
3038 );
3039 assert_eq!(
3040 unsafe { ::std::ptr::addr_of!((*ptr).charging) as usize - ptr as usize },
3041 24usize,
3042 concat!(
3043 "Offset of field: ",
3044 stringify!(EmscriptenBatteryEvent),
3045 "::",
3046 stringify!(charging)
3047 )
3048 );
3049}
3050pub type em_battery_callback_func = ::std::option::Option<
3051 unsafe extern "C" fn(
3052 eventType: ::std::os::raw::c_int,
3053 batteryEvent: *const EmscriptenBatteryEvent,
3054 userData: *mut ::std::os::raw::c_void,
3055 ) -> bool,
3056>;
3057extern "C" {
3058 pub fn emscripten_set_batterychargingchange_callback_on_thread(
3059 userData: *mut ::std::os::raw::c_void,
3060 callback: em_battery_callback_func,
3061 targetThread: pthread_t,
3062 ) -> ::std::os::raw::c_int;
3063}
3064extern "C" {
3065 pub fn emscripten_set_batterylevelchange_callback_on_thread(
3066 userData: *mut ::std::os::raw::c_void,
3067 callback: em_battery_callback_func,
3068 targetThread: pthread_t,
3069 ) -> ::std::os::raw::c_int;
3070}
3071extern "C" {
3072 pub fn emscripten_get_battery_status(
3073 batteryState: *mut EmscriptenBatteryEvent,
3074 ) -> ::std::os::raw::c_int;
3075}
3076extern "C" {
3077 pub fn emscripten_vibrate(msecs: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
3078}
3079extern "C" {
3080 pub fn emscripten_vibrate_pattern(
3081 msecsArray: *mut ::std::os::raw::c_int,
3082 numEntries: ::std::os::raw::c_int,
3083 ) -> ::std::os::raw::c_int;
3084}
3085pub type em_beforeunload_callback = ::std::option::Option<
3086 unsafe extern "C" fn(
3087 eventType: ::std::os::raw::c_int,
3088 reserved: *const ::std::os::raw::c_void,
3089 userData: *mut ::std::os::raw::c_void,
3090 ) -> *const ::std::os::raw::c_char,
3091>;
3092extern "C" {
3093 pub fn emscripten_set_beforeunload_callback_on_thread(
3094 userData: *mut ::std::os::raw::c_void,
3095 callback: em_beforeunload_callback,
3096 targetThread: pthread_t,
3097 ) -> ::std::os::raw::c_int;
3098}
3099extern "C" {
3100 pub fn emscripten_set_canvas_element_size(
3101 target: *const ::std::os::raw::c_char,
3102 width: ::std::os::raw::c_int,
3103 height: ::std::os::raw::c_int,
3104 ) -> ::std::os::raw::c_int;
3105}
3106extern "C" {
3107 pub fn emscripten_get_canvas_element_size(
3108 target: *const ::std::os::raw::c_char,
3109 width: *mut ::std::os::raw::c_int,
3110 height: *mut ::std::os::raw::c_int,
3111 ) -> ::std::os::raw::c_int;
3112}
3113extern "C" {
3114 pub fn emscripten_set_element_css_size(
3115 target: *const ::std::os::raw::c_char,
3116 width: f64,
3117 height: f64,
3118 ) -> ::std::os::raw::c_int;
3119}
3120extern "C" {
3121 pub fn emscripten_get_element_css_size(
3122 target: *const ::std::os::raw::c_char,
3123 width: *mut f64,
3124 height: *mut f64,
3125 ) -> ::std::os::raw::c_int;
3126}
3127extern "C" {
3128 pub fn emscripten_html5_remove_all_event_listeners();
3129}
3130extern "C" {
3131 pub fn emscripten_request_animation_frame(
3132 cb: ::std::option::Option<
3133 unsafe extern "C" fn(time: f64, userData: *mut ::std::os::raw::c_void) -> bool,
3134 >,
3135 userData: *mut ::std::os::raw::c_void,
3136 ) -> ::std::os::raw::c_int;
3137}
3138extern "C" {
3139 pub fn emscripten_cancel_animation_frame(requestAnimationFrameId: ::std::os::raw::c_int);
3140}
3141extern "C" {
3142 pub fn emscripten_request_animation_frame_loop(
3143 cb: ::std::option::Option<
3144 unsafe extern "C" fn(time: f64, userData: *mut ::std::os::raw::c_void) -> bool,
3145 >,
3146 userData: *mut ::std::os::raw::c_void,
3147 );
3148}
3149extern "C" {
3150 pub fn emscripten_date_now() -> f64;
3151}
3152extern "C" {
3153 pub fn emscripten_performance_now() -> f64;
3154}
3155pub type EMSCRIPTEN_WEBGL_CONTEXT_HANDLE = usize;
3156pub type EMSCRIPTEN_WEBGL_CONTEXT_PROXY_MODE = ::std::os::raw::c_int;
3157pub type EM_WEBGL_POWER_PREFERENCE = ::std::os::raw::c_int;
3158#[repr(C)]
3159#[derive(Debug, Copy, Clone)]
3160pub struct EmscriptenWebGLContextAttributes {
3161 pub alpha: bool,
3162 pub depth: bool,
3163 pub stencil: bool,
3164 pub antialias: bool,
3165 pub premultipliedAlpha: bool,
3166 pub preserveDrawingBuffer: bool,
3167 pub powerPreference: EM_WEBGL_POWER_PREFERENCE,
3168 pub failIfMajorPerformanceCaveat: bool,
3169 pub majorVersion: ::std::os::raw::c_int,
3170 pub minorVersion: ::std::os::raw::c_int,
3171 pub enableExtensionsByDefault: bool,
3172 pub explicitSwapControl: bool,
3173 pub proxyContextToMainThread: EMSCRIPTEN_WEBGL_CONTEXT_PROXY_MODE,
3174 pub renderViaOffscreenBackBuffer: bool,
3175}
3176#[test]
3177fn bindgen_test_layout_EmscriptenWebGLContextAttributes() {
3178 const UNINIT: ::std::mem::MaybeUninit<EmscriptenWebGLContextAttributes> =
3179 ::std::mem::MaybeUninit::uninit();
3180 let ptr = UNINIT.as_ptr();
3181 assert_eq!(
3182 ::std::mem::size_of::<EmscriptenWebGLContextAttributes>(),
3183 36usize,
3184 concat!("Size of: ", stringify!(EmscriptenWebGLContextAttributes))
3185 );
3186 assert_eq!(
3187 ::std::mem::align_of::<EmscriptenWebGLContextAttributes>(),
3188 4usize,
3189 concat!(
3190 "Alignment of ",
3191 stringify!(EmscriptenWebGLContextAttributes)
3192 )
3193 );
3194 assert_eq!(
3195 unsafe { ::std::ptr::addr_of!((*ptr).alpha) as usize - ptr as usize },
3196 0usize,
3197 concat!(
3198 "Offset of field: ",
3199 stringify!(EmscriptenWebGLContextAttributes),
3200 "::",
3201 stringify!(alpha)
3202 )
3203 );
3204 assert_eq!(
3205 unsafe { ::std::ptr::addr_of!((*ptr).depth) as usize - ptr as usize },
3206 1usize,
3207 concat!(
3208 "Offset of field: ",
3209 stringify!(EmscriptenWebGLContextAttributes),
3210 "::",
3211 stringify!(depth)
3212 )
3213 );
3214 assert_eq!(
3215 unsafe { ::std::ptr::addr_of!((*ptr).stencil) as usize - ptr as usize },
3216 2usize,
3217 concat!(
3218 "Offset of field: ",
3219 stringify!(EmscriptenWebGLContextAttributes),
3220 "::",
3221 stringify!(stencil)
3222 )
3223 );
3224 assert_eq!(
3225 unsafe { ::std::ptr::addr_of!((*ptr).antialias) as usize - ptr as usize },
3226 3usize,
3227 concat!(
3228 "Offset of field: ",
3229 stringify!(EmscriptenWebGLContextAttributes),
3230 "::",
3231 stringify!(antialias)
3232 )
3233 );
3234 assert_eq!(
3235 unsafe { ::std::ptr::addr_of!((*ptr).premultipliedAlpha) as usize - ptr as usize },
3236 4usize,
3237 concat!(
3238 "Offset of field: ",
3239 stringify!(EmscriptenWebGLContextAttributes),
3240 "::",
3241 stringify!(premultipliedAlpha)
3242 )
3243 );
3244 assert_eq!(
3245 unsafe { ::std::ptr::addr_of!((*ptr).preserveDrawingBuffer) as usize - ptr as usize },
3246 5usize,
3247 concat!(
3248 "Offset of field: ",
3249 stringify!(EmscriptenWebGLContextAttributes),
3250 "::",
3251 stringify!(preserveDrawingBuffer)
3252 )
3253 );
3254 assert_eq!(
3255 unsafe { ::std::ptr::addr_of!((*ptr).powerPreference) as usize - ptr as usize },
3256 8usize,
3257 concat!(
3258 "Offset of field: ",
3259 stringify!(EmscriptenWebGLContextAttributes),
3260 "::",
3261 stringify!(powerPreference)
3262 )
3263 );
3264 assert_eq!(
3265 unsafe {
3266 ::std::ptr::addr_of!((*ptr).failIfMajorPerformanceCaveat) as usize - ptr as usize
3267 },
3268 12usize,
3269 concat!(
3270 "Offset of field: ",
3271 stringify!(EmscriptenWebGLContextAttributes),
3272 "::",
3273 stringify!(failIfMajorPerformanceCaveat)
3274 )
3275 );
3276 assert_eq!(
3277 unsafe { ::std::ptr::addr_of!((*ptr).majorVersion) as usize - ptr as usize },
3278 16usize,
3279 concat!(
3280 "Offset of field: ",
3281 stringify!(EmscriptenWebGLContextAttributes),
3282 "::",
3283 stringify!(majorVersion)
3284 )
3285 );
3286 assert_eq!(
3287 unsafe { ::std::ptr::addr_of!((*ptr).minorVersion) as usize - ptr as usize },
3288 20usize,
3289 concat!(
3290 "Offset of field: ",
3291 stringify!(EmscriptenWebGLContextAttributes),
3292 "::",
3293 stringify!(minorVersion)
3294 )
3295 );
3296 assert_eq!(
3297 unsafe { ::std::ptr::addr_of!((*ptr).enableExtensionsByDefault) as usize - ptr as usize },
3298 24usize,
3299 concat!(
3300 "Offset of field: ",
3301 stringify!(EmscriptenWebGLContextAttributes),
3302 "::",
3303 stringify!(enableExtensionsByDefault)
3304 )
3305 );
3306 assert_eq!(
3307 unsafe { ::std::ptr::addr_of!((*ptr).explicitSwapControl) as usize - ptr as usize },
3308 25usize,
3309 concat!(
3310 "Offset of field: ",
3311 stringify!(EmscriptenWebGLContextAttributes),
3312 "::",
3313 stringify!(explicitSwapControl)
3314 )
3315 );
3316 assert_eq!(
3317 unsafe { ::std::ptr::addr_of!((*ptr).proxyContextToMainThread) as usize - ptr as usize },
3318 28usize,
3319 concat!(
3320 "Offset of field: ",
3321 stringify!(EmscriptenWebGLContextAttributes),
3322 "::",
3323 stringify!(proxyContextToMainThread)
3324 )
3325 );
3326 assert_eq!(
3327 unsafe {
3328 ::std::ptr::addr_of!((*ptr).renderViaOffscreenBackBuffer) as usize - ptr as usize
3329 },
3330 32usize,
3331 concat!(
3332 "Offset of field: ",
3333 stringify!(EmscriptenWebGLContextAttributes),
3334 "::",
3335 stringify!(renderViaOffscreenBackBuffer)
3336 )
3337 );
3338}
3339extern "C" {
3340 pub fn emscripten_webgl_init_context_attributes(
3341 attributes: *mut EmscriptenWebGLContextAttributes,
3342 );
3343}
3344extern "C" {
3345 pub fn emscripten_webgl_create_context(
3346 target: *const ::std::os::raw::c_char,
3347 attributes: *const EmscriptenWebGLContextAttributes,
3348 ) -> EMSCRIPTEN_WEBGL_CONTEXT_HANDLE;
3349}
3350extern "C" {
3351 pub fn emscripten_webgl_make_context_current(
3352 context: EMSCRIPTEN_WEBGL_CONTEXT_HANDLE,
3353 ) -> ::std::os::raw::c_int;
3354}
3355extern "C" {
3356 pub fn emscripten_webgl_get_current_context() -> EMSCRIPTEN_WEBGL_CONTEXT_HANDLE;
3357}
3358extern "C" {
3359 pub fn emscripten_webgl_get_drawing_buffer_size(
3360 context: EMSCRIPTEN_WEBGL_CONTEXT_HANDLE,
3361 width: *mut ::std::os::raw::c_int,
3362 height: *mut ::std::os::raw::c_int,
3363 ) -> ::std::os::raw::c_int;
3364}
3365extern "C" {
3366 pub fn emscripten_webgl_get_context_attributes(
3367 context: EMSCRIPTEN_WEBGL_CONTEXT_HANDLE,
3368 outAttributes: *mut EmscriptenWebGLContextAttributes,
3369 ) -> ::std::os::raw::c_int;
3370}
3371extern "C" {
3372 pub fn emscripten_webgl_destroy_context(
3373 context: EMSCRIPTEN_WEBGL_CONTEXT_HANDLE,
3374 ) -> ::std::os::raw::c_int;
3375}
3376extern "C" {
3377 pub fn emscripten_webgl_enable_extension(
3378 context: EMSCRIPTEN_WEBGL_CONTEXT_HANDLE,
3379 extension: *const ::std::os::raw::c_char,
3380 ) -> bool;
3381}
3382extern "C" {
3383 pub fn emscripten_webgl_enable_ANGLE_instanced_arrays(
3384 context: EMSCRIPTEN_WEBGL_CONTEXT_HANDLE,
3385 ) -> bool;
3386}
3387extern "C" {
3388 pub fn emscripten_webgl_enable_OES_vertex_array_object(
3389 context: EMSCRIPTEN_WEBGL_CONTEXT_HANDLE,
3390 ) -> bool;
3391}
3392extern "C" {
3393 pub fn emscripten_webgl_enable_WEBGL_draw_buffers(
3394 context: EMSCRIPTEN_WEBGL_CONTEXT_HANDLE,
3395 ) -> bool;
3396}
3397extern "C" {
3398 pub fn emscripten_webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(
3399 context: EMSCRIPTEN_WEBGL_CONTEXT_HANDLE,
3400 ) -> bool;
3401}
3402extern "C" {
3403 pub fn emscripten_webgl_enable_WEBGL_multi_draw(
3404 context: EMSCRIPTEN_WEBGL_CONTEXT_HANDLE,
3405 ) -> bool;
3406}
3407extern "C" {
3408 pub fn emscripten_webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(
3409 context: EMSCRIPTEN_WEBGL_CONTEXT_HANDLE,
3410 ) -> bool;
3411}
3412extern "C" {
3413 pub fn emscripten_webgl_enable_EXT_polygon_offset_clamp(
3414 context: EMSCRIPTEN_WEBGL_CONTEXT_HANDLE,
3415 ) -> bool;
3416}
3417extern "C" {
3418 pub fn emscripten_webgl_enable_EXT_clip_control(
3419 context: EMSCRIPTEN_WEBGL_CONTEXT_HANDLE,
3420 ) -> bool;
3421}
3422extern "C" {
3423 pub fn emscripten_webgl_enable_WEBGL_polygon_mode(
3424 context: EMSCRIPTEN_WEBGL_CONTEXT_HANDLE,
3425 ) -> bool;
3426}
3427pub type em_webgl_context_callback = ::std::option::Option<
3428 unsafe extern "C" fn(
3429 eventType: ::std::os::raw::c_int,
3430 reserved: *const ::std::os::raw::c_void,
3431 userData: *mut ::std::os::raw::c_void,
3432 ) -> bool,
3433>;
3434extern "C" {
3435 pub fn emscripten_set_webglcontextlost_callback_on_thread(
3436 target: *const ::std::os::raw::c_char,
3437 userData: *mut ::std::os::raw::c_void,
3438 useCapture: bool,
3439 callback: em_webgl_context_callback,
3440 targetThread: pthread_t,
3441 ) -> ::std::os::raw::c_int;
3442}
3443extern "C" {
3444 pub fn emscripten_set_webglcontextrestored_callback_on_thread(
3445 target: *const ::std::os::raw::c_char,
3446 userData: *mut ::std::os::raw::c_void,
3447 useCapture: bool,
3448 callback: em_webgl_context_callback,
3449 targetThread: pthread_t,
3450 ) -> ::std::os::raw::c_int;
3451}
3452extern "C" {
3453 pub fn emscripten_is_webgl_context_lost(context: EMSCRIPTEN_WEBGL_CONTEXT_HANDLE) -> bool;
3454}
3455extern "C" {
3456 pub fn emscripten_webgl_commit_frame() -> ::std::os::raw::c_int;
3457}
3458extern "C" {
3459 pub fn emscripten_supports_offscreencanvas() -> bool;
3460}
3461extern "C" {
3462 pub fn emscripten_webgl1_get_proc_address(
3463 name: *const ::std::os::raw::c_char,
3464 ) -> *mut ::std::os::raw::c_void;
3465}
3466extern "C" {
3467 pub fn emscripten_webgl2_get_proc_address(
3468 name: *const ::std::os::raw::c_char,
3469 ) -> *mut ::std::os::raw::c_void;
3470}
3471extern "C" {
3472 pub fn emscripten_webgl_get_proc_address(
3473 name: *const ::std::os::raw::c_char,
3474 ) -> *mut ::std::os::raw::c_void;
3475}
3476extern "C" {
3477 pub fn emscripten_webgl_get_supported_extensions() -> *mut ::std::os::raw::c_char;
3478}
3479extern "C" {
3480 pub fn emscripten_webgl_get_shader_parameter_d(
3481 shader: ::std::os::raw::c_int,
3482 param: ::std::os::raw::c_int,
3483 ) -> f64;
3484}
3485extern "C" {
3486 pub fn emscripten_webgl_get_shader_info_log_utf8(
3487 shader: ::std::os::raw::c_int,
3488 ) -> *mut ::std::os::raw::c_char;
3489}
3490extern "C" {
3491 pub fn emscripten_webgl_get_shader_source_utf8(
3492 shader: ::std::os::raw::c_int,
3493 ) -> *mut ::std::os::raw::c_char;
3494}
3495extern "C" {
3496 pub fn emscripten_webgl_get_program_parameter_d(
3497 program: ::std::os::raw::c_int,
3498 param: ::std::os::raw::c_int,
3499 ) -> f64;
3500}
3501extern "C" {
3502 pub fn emscripten_webgl_get_program_info_log_utf8(
3503 program: ::std::os::raw::c_int,
3504 ) -> *mut ::std::os::raw::c_char;
3505}
3506extern "C" {
3507 pub fn emscripten_webgl_get_vertex_attrib_d(
3508 index: ::std::os::raw::c_int,
3509 param: ::std::os::raw::c_int,
3510 ) -> f64;
3511}
3512extern "C" {
3513 pub fn emscripten_webgl_get_vertex_attrib_o(
3514 index: ::std::os::raw::c_int,
3515 param: ::std::os::raw::c_int,
3516 ) -> ::std::os::raw::c_int;
3517}
3518extern "C" {
3519 pub fn emscripten_webgl_get_vertex_attrib_v(
3520 index: ::std::os::raw::c_int,
3521 param: ::std::os::raw::c_int,
3522 dst: *mut ::std::os::raw::c_void,
3523 dstLength: ::std::os::raw::c_int,
3524 dstType: ::std::os::raw::c_int,
3525 ) -> ::std::os::raw::c_int;
3526}
3527extern "C" {
3528 pub fn emscripten_webgl_get_uniform_d(
3529 program: ::std::os::raw::c_int,
3530 location: ::std::os::raw::c_int,
3531 ) -> f64;
3532}
3533extern "C" {
3534 pub fn emscripten_webgl_get_uniform_v(
3535 program: ::std::os::raw::c_int,
3536 location: ::std::os::raw::c_int,
3537 dst: *mut ::std::os::raw::c_void,
3538 dstLength: ::std::os::raw::c_int,
3539 dstType: ::std::os::raw::c_int,
3540 ) -> ::std::os::raw::c_int;
3541}
3542extern "C" {
3543 pub fn emscripten_webgl_get_parameter_v(
3544 param: ::std::os::raw::c_int,
3545 dst: *mut ::std::os::raw::c_void,
3546 dstLength: ::std::os::raw::c_int,
3547 dstType: ::std::os::raw::c_int,
3548 ) -> ::std::os::raw::c_int;
3549}
3550extern "C" {
3551 pub fn emscripten_webgl_get_parameter_d(param: ::std::os::raw::c_int) -> f64;
3552}
3553extern "C" {
3554 pub fn emscripten_webgl_get_parameter_o(param: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
3555}
3556extern "C" {
3557 pub fn emscripten_webgl_get_parameter_utf8(
3558 param: ::std::os::raw::c_int,
3559 ) -> *mut ::std::os::raw::c_char;
3560}
3561extern "C" {
3562 pub fn emscripten_webgl_get_parameter_i64v(
3563 param: ::std::os::raw::c_int,
3564 dst: *mut ::std::os::raw::c_longlong,
3565 );
3566}