From b017349cfeae871735914adc7fab6d48d22805dc Mon Sep 17 00:00:00 2001 From: Cobrand Date: Sun, 15 Mar 2020 21:49:46 +0000 Subject: [PATCH] Fix compilation with use-bindgen --- sdl2-sys/Cargo.toml | 2 +- sdl2-sys/build.rs | 4 +- sdl2-sys/sdl_bindings.rs | 10977 +++++++++++++++++++------------------ src/sdl2/pixels.rs | 144 +- src/sdl2/rwops.rs | 4 +- 5 files changed, 5863 insertions(+), 5268 deletions(-) diff --git a/sdl2-sys/Cargo.toml b/sdl2-sys/Cargo.toml index 608cdf88..815edf1e 100644 --- a/sdl2-sys/Cargo.toml +++ b/sdl2-sys/Cargo.toml @@ -20,7 +20,7 @@ path = "src/lib.rs" libc = "^0.2" [build-dependencies.bindgen] -version = "^0.42" +version = "^0.53" optional = true [build-dependencies.pkg-config] diff --git a/sdl2-sys/build.rs b/sdl2-sys/build.rs index 82bbe0e8..16fc04ca 100644 --- a/sdl2-sys/build.rs +++ b/sdl2-sys/build.rs @@ -543,6 +543,7 @@ fn generate_bindings(target: &str, host: &str, headers_paths: &[String]) { let mut bindings = bindgen::Builder::default() // enable no_std-friendly output by only using core definitions .use_core() + .default_enum_style(bindgen::EnumVariation::Rust { non_exhaustive: false }) .ctypes_prefix("libc"); let mut image_bindings = bindgen::Builder::default() @@ -704,13 +705,11 @@ fn generate_bindings(target: &str, host: &str, headers_paths: &[String]) { let bindings = bindings .header("wrapper.h") - .rustified_enum(".*") .blacklist_type("FP_NAN") .blacklist_type("FP_INFINITE") .blacklist_type("FP_ZERO") .blacklist_type("FP_SUBNORMAL") .blacklist_type("FP_NORMAL") - .blacklist_type("max_align_t") // Until https://github.com/rust-lang-nursery/rust-bindgen/issues/550 gets fixed .derive_debug(false) .generate() .expect("Unable to generate bindings!"); @@ -729,7 +728,6 @@ fn generate_bindings(target: &str, host: &str, headers_paths: &[String]) { .blacklist_type("FP_ZERO") .blacklist_type("FP_SUBNORMAL") .blacklist_type("FP_NORMAL") - .blacklist_type("max_align_t") // Until https://github.com/rust-lang-nursery/rust-bindgen/issues/550 gets fixed .whitelist_type("IMG.*") .whitelist_function("IMG.*") .whitelist_var("IMG.*") diff --git a/sdl2-sys/sdl_bindings.rs b/sdl2-sys/sdl_bindings.rs index 606301d8..751921ae 100644 --- a/sdl2-sys/sdl_bindings.rs +++ b/sdl2-sys/sdl_bindings.rs @@ -18,12 +18,13 @@ pub const __GNUC_VA_LIST: u32 = 1; pub const _STDINT_H: u32 = 1; pub const _FEATURES_H: u32 = 1; pub const _DEFAULT_SOURCE: u32 = 1; +pub const __GLIBC_USE_ISOC2X: u32 = 0; pub const __USE_ISOC11: u32 = 1; pub const __USE_ISOC99: u32 = 1; pub const __USE_ISOC95: u32 = 1; pub const __USE_POSIX_IMPLICITLY: u32 = 1; pub const _POSIX_SOURCE: u32 = 1; -pub const _POSIX_C_SOURCE: f64 = 200809.0; +pub const _POSIX_C_SOURCE: u32 = 200809; pub const __USE_POSIX: u32 = 1; pub const __USE_POSIX2: u32 = 1; pub const __USE_POSIX199309: u32 = 1; @@ -35,29 +36,36 @@ pub const __USE_MISC: u32 = 1; pub const __USE_ATFILE: u32 = 1; pub const __USE_FORTIFY_LEVEL: u32 = 0; pub const __GLIBC_USE_DEPRECATED_GETS: u32 = 0; +pub const __GLIBC_USE_DEPRECATED_SCANF: u32 = 0; pub const _STDC_PREDEF_H: u32 = 1; pub const __STDC_IEC_559__: u32 = 1; pub const __STDC_IEC_559_COMPLEX__: u32 = 1; -pub const __STDC_ISO_10646__: f64 = 201706.0; +pub const __STDC_ISO_10646__: u32 = 201706; pub const __GNU_LIBRARY__: u32 = 6; pub const __GLIBC__: u32 = 2; -pub const __GLIBC_MINOR__: u32 = 28; +pub const __GLIBC_MINOR__: u32 = 31; pub const _SYS_CDEFS_H: u32 = 1; pub const __glibc_c99_flexarr_available: u32 = 1; pub const __WORDSIZE: u32 = 64; pub const __WORDSIZE_TIME64_COMPAT32: u32 = 1; pub const __SYSCALL_WORDSIZE: u32 = 64; +pub const __LONG_DOUBLE_USES_FLOAT128: u32 = 0; pub const __HAVE_GENERIC_SELECTION: u32 = 1; pub const __GLIBC_USE_LIB_EXT2: u32 = 0; pub const __GLIBC_USE_IEC_60559_BFP_EXT: u32 = 0; +pub const __GLIBC_USE_IEC_60559_BFP_EXT_C2X: u32 = 0; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT: u32 = 0; +pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X: u32 = 0; pub const __GLIBC_USE_IEC_60559_TYPES_EXT: u32 = 0; pub const _BITS_TYPES_H: u32 = 1; +pub const __TIMESIZE: u32 = 64; pub const _BITS_TYPESIZES_H: u32 = 1; pub const __OFF_T_MATCHES_OFF64_T: u32 = 1; pub const __INO_T_MATCHES_INO64_T: u32 = 1; pub const __RLIM_T_MATCHES_RLIM64_T: u32 = 1; +pub const __STATFS_MATCHES_STATFS64: u32 = 1; pub const __FD_SETSIZE: u32 = 1024; +pub const _BITS_TIME64_H: u32 = 1; pub const _BITS_WCHAR_H: u32 = 1; pub const _BITS_STDINT_INTN_H: u32 = 1; pub const _BITS_STDINT_UINTN_H: u32 = 1; @@ -80,19 +88,19 @@ pub const UINT_LEAST8_MAX: u32 = 255; pub const UINT_LEAST16_MAX: u32 = 65535; pub const UINT_LEAST32_MAX: u32 = 4294967295; pub const INT_FAST8_MIN: i32 = -128; -pub const INT_FAST16_MIN: f64 = -9223372036854776000.0; -pub const INT_FAST32_MIN: f64 = -9223372036854776000.0; +pub const INT_FAST16_MIN: i64 = -9223372036854775808; +pub const INT_FAST32_MIN: i64 = -9223372036854775808; pub const INT_FAST8_MAX: u32 = 127; -pub const INT_FAST16_MAX: f64 = 9223372036854776000.0; -pub const INT_FAST32_MAX: f64 = 9223372036854776000.0; +pub const INT_FAST16_MAX: u64 = 9223372036854775807; +pub const INT_FAST32_MAX: u64 = 9223372036854775807; pub const UINT_FAST8_MAX: u32 = 255; pub const UINT_FAST16_MAX: i32 = -1; pub const UINT_FAST32_MAX: i32 = -1; -pub const INTPTR_MIN: f64 = -9223372036854776000.0; -pub const INTPTR_MAX: f64 = 9223372036854776000.0; +pub const INTPTR_MIN: i64 = -9223372036854775808; +pub const INTPTR_MAX: u64 = 9223372036854775807; pub const UINTPTR_MAX: i32 = -1; -pub const PTRDIFF_MIN: f64 = -9223372036854776000.0; -pub const PTRDIFF_MAX: f64 = 9223372036854776000.0; +pub const PTRDIFF_MIN: i64 = -9223372036854775808; +pub const PTRDIFF_MAX: u64 = 9223372036854775807; pub const SIG_ATOMIC_MIN: i32 = -2147483648; pub const SIG_ATOMIC_MAX: u32 = 2147483647; pub const SIZE_MAX: i32 = -1; @@ -108,9 +116,11 @@ pub const SDL_NULL_WHILE_LOOP_CONDITION: u32 = 0; pub const SDL_LIL_ENDIAN: u32 = 1234; pub const SDL_BIG_ENDIAN: u32 = 4321; pub const _ENDIAN_H: u32 = 1; +pub const _BITS_ENDIAN_H: u32 = 1; pub const __LITTLE_ENDIAN: u32 = 1234; pub const __BIG_ENDIAN: u32 = 4321; pub const __PDP_ENDIAN: u32 = 3412; +pub const _BITS_ENDIANNESS_H: u32 = 1; pub const __BYTE_ORDER: u32 = 1234; pub const __FLOAT_WORD_ORDER: u32 = 1234; pub const LITTLE_ENDIAN: u32 = 1234; @@ -216,10 +226,7 @@ pub const __SIZEOF_PTHREAD_COND_T: u32 = 48; pub const __SIZEOF_PTHREAD_CONDATTR_T: u32 = 4; pub const __SIZEOF_PTHREAD_RWLOCKATTR_T: u32 = 8; pub const __SIZEOF_PTHREAD_BARRIERATTR_T: u32 = 4; -pub const __PTHREAD_MUTEX_LOCK_ELISION: u32 = 1; -pub const __PTHREAD_MUTEX_NUSERS_AFTER_KIND: u32 = 0; -pub const __PTHREAD_MUTEX_USE_UNION: u32 = 0; -pub const __PTHREAD_RWLOCK_INT_FLAGS_SHARED: u32 = 1; +pub const _THREAD_MUTEX_INTERNAL_H: u32 = 1; pub const __PTHREAD_MUTEX_HAVE_PREV: u32 = 1; pub const __have_pthread_attr_t: u32 = 1; pub const _ALLOCA_H: u32 = 1; @@ -261,6 +268,7 @@ pub const SDL_SWSURFACE: u32 = 0; pub const SDL_PREALLOC: u32 = 1; pub const SDL_RLEACCEL: u32 = 2; pub const SDL_DONTFREE: u32 = 4; +pub const SDL_SIMD_ALIGNED: u32 = 8; pub const SDL_WINDOWPOS_UNDEFINED_MASK: u32 = 536805376; pub const SDL_WINDOWPOS_CENTERED_MASK: u32 = 805240832; pub const SDLK_SCANCODE_MASK: u32 = 1073741824; @@ -350,6 +358,7 @@ pub const SDL_HINT_MOUSE_RELATIVE_MODE_WARP: &'static [u8; 29usize] = pub const SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH: &'static [u8; 29usize] = b"SDL_MOUSE_FOCUS_CLICKTHROUGH\0"; pub const SDL_HINT_TOUCH_MOUSE_EVENTS: &'static [u8; 23usize] = b"SDL_TOUCH_MOUSE_EVENTS\0"; +pub const SDL_HINT_MOUSE_TOUCH_EVENTS: &'static [u8; 23usize] = b"SDL_MOUSE_TOUCH_EVENTS\0"; pub const SDL_HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS: &'static [u8; 33usize] = b"SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS\0"; pub const SDL_HINT_IDLE_TIMER_DISABLED: &'static [u8; 28usize] = b"SDL_IOS_IDLE_TIMER_DISABLED\0"; @@ -367,6 +376,8 @@ pub const SDL_HINT_XINPUT_ENABLED: &'static [u8; 19usize] = b"SDL_XINPUT_ENABLED pub const SDL_HINT_XINPUT_USE_OLD_JOYSTICK_MAPPING: &'static [u8; 36usize] = b"SDL_XINPUT_USE_OLD_JOYSTICK_MAPPING\0"; pub const SDL_HINT_GAMECONTROLLERCONFIG: &'static [u8; 25usize] = b"SDL_GAMECONTROLLERCONFIG\0"; +pub const SDL_HINT_GAMECONTROLLERCONFIG_FILE: &'static [u8; 30usize] = + b"SDL_GAMECONTROLLERCONFIG_FILE\0"; pub const SDL_HINT_GAMECONTROLLER_IGNORE_DEVICES: &'static [u8; 34usize] = b"SDL_GAMECONTROLLER_IGNORE_DEVICES\0"; pub const SDL_HINT_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT: &'static [u8; 41usize] = @@ -408,10 +419,9 @@ pub const SDL_HINT_ANDROID_APK_EXPANSION_MAIN_FILE_VERSION: &'static [u8; 44usiz pub const SDL_HINT_ANDROID_APK_EXPANSION_PATCH_FILE_VERSION: &'static [u8; 45usize] = b"SDL_ANDROID_APK_EXPANSION_PATCH_FILE_VERSION\0"; pub const SDL_HINT_IME_INTERNAL_EDITING: &'static [u8; 25usize] = b"SDL_IME_INTERNAL_EDITING\0"; -pub const SDL_HINT_ANDROID_SEPARATE_MOUSE_AND_TOUCH: &'static [u8; 37usize] = - b"SDL_ANDROID_SEPARATE_MOUSE_AND_TOUCH\0"; pub const SDL_HINT_ANDROID_TRAP_BACK_BUTTON: &'static [u8; 29usize] = b"SDL_ANDROID_TRAP_BACK_BUTTON\0"; +pub const SDL_HINT_ANDROID_BLOCK_ON_PAUSE: &'static [u8; 27usize] = b"SDL_ANDROID_BLOCK_ON_PAUSE\0"; pub const SDL_HINT_RETURN_KEY_HIDES_IME: &'static [u8; 25usize] = b"SDL_RETURN_KEY_HIDES_IME\0"; pub const SDL_HINT_EMSCRIPTEN_KEYBOARD_ELEMENT: &'static [u8; 32usize] = b"SDL_EMSCRIPTEN_KEYBOARD_ELEMENT\0"; @@ -426,6 +436,11 @@ pub const SDL_HINT_VIDEO_DOUBLE_BUFFER: &'static [u8; 24usize] = b"SDL_VIDEO_DOU pub const SDL_HINT_OPENGL_ES_DRIVER: &'static [u8; 21usize] = b"SDL_OPENGL_ES_DRIVER\0"; pub const SDL_HINT_AUDIO_RESAMPLING_MODE: &'static [u8; 26usize] = b"SDL_AUDIO_RESAMPLING_MODE\0"; pub const SDL_HINT_AUDIO_CATEGORY: &'static [u8; 19usize] = b"SDL_AUDIO_CATEGORY\0"; +pub const SDL_HINT_RENDER_BATCHING: &'static [u8; 20usize] = b"SDL_RENDER_BATCHING\0"; +pub const SDL_HINT_EVENT_LOGGING: &'static [u8; 18usize] = b"SDL_EVENT_LOGGING\0"; +pub const SDL_HINT_WAVE_RIFF_CHUNK_SIZE: &'static [u8; 25usize] = b"SDL_WAVE_RIFF_CHUNK_SIZE\0"; +pub const SDL_HINT_WAVE_TRUNCATION: &'static [u8; 20usize] = b"SDL_WAVE_TRUNCATION\0"; +pub const SDL_HINT_WAVE_FACT_CHUNK: &'static [u8; 20usize] = b"SDL_WAVE_FACT_CHUNK\0"; pub const SDL_MAX_LOG_MESSAGE: u32 = 4096; pub const SDL_STANDARD_GRAVITY: f64 = 9.80665; pub const SDL_NONSHAPEABLE_WINDOW: i32 = -1; @@ -433,7 +448,7 @@ pub const SDL_INVALID_SHAPE_ARGUMENT: i32 = -2; pub const SDL_WINDOW_LACKS_SHAPE: i32 = -3; pub const SDL_MAJOR_VERSION: u32 = 2; pub const SDL_MINOR_VERSION: u32 = 0; -pub const SDL_PATCHLEVEL: u32 = 9; +pub const SDL_PATCHLEVEL: u32 = 10; pub const SDL_INIT_TIMER: u32 = 1; pub const SDL_INIT_AUDIO: u32 = 16; pub const SDL_INIT_VIDEO: u32 = 32; @@ -447,19 +462,44 @@ pub const SDL_INIT_EVERYTHING: u32 = 62001; pub const XlibSpecificationRelease: u32 = 6; pub const X_PROTOCOL: u32 = 11; pub const X_PROTOCOL_REVISION: u32 = 0; -pub const None: f64 = 0.0; -pub const ParentRelative: f64 = 1.0; -pub const CopyFromParent: f64 = 0.0; -pub const PointerWindow: f64 = 0.0; -pub const InputFocus: f64 = 1.0; -pub const PointerRoot: f64 = 1.0; -pub const AnyPropertyType: f64 = 0.0; -pub const AnyKey: f64 = 0.0; -pub const AnyButton: f64 = 0.0; -pub const AllTemporary: f64 = 0.0; -pub const CurrentTime: f64 = 0.0; -pub const NoSymbol: f64 = 0.0; -pub const NoEventMask: f64 = 0.0; +pub const None: u32 = 0; +pub const ParentRelative: u32 = 1; +pub const CopyFromParent: u32 = 0; +pub const PointerWindow: u32 = 0; +pub const InputFocus: u32 = 1; +pub const PointerRoot: u32 = 1; +pub const AnyPropertyType: u32 = 0; +pub const AnyKey: u32 = 0; +pub const AnyButton: u32 = 0; +pub const AllTemporary: u32 = 0; +pub const CurrentTime: u32 = 0; +pub const NoSymbol: u32 = 0; +pub const NoEventMask: u32 = 0; +pub const KeyPressMask: u32 = 1; +pub const KeyReleaseMask: u32 = 2; +pub const ButtonPressMask: u32 = 4; +pub const ButtonReleaseMask: u32 = 8; +pub const EnterWindowMask: u32 = 16; +pub const LeaveWindowMask: u32 = 32; +pub const PointerMotionMask: u32 = 64; +pub const PointerMotionHintMask: u32 = 128; +pub const Button1MotionMask: u32 = 256; +pub const Button2MotionMask: u32 = 512; +pub const Button3MotionMask: u32 = 1024; +pub const Button4MotionMask: u32 = 2048; +pub const Button5MotionMask: u32 = 4096; +pub const ButtonMotionMask: u32 = 8192; +pub const KeymapStateMask: u32 = 16384; +pub const ExposureMask: u32 = 32768; +pub const VisibilityChangeMask: u32 = 65536; +pub const StructureNotifyMask: u32 = 131072; +pub const ResizeRedirectMask: u32 = 262144; +pub const SubstructureNotifyMask: u32 = 524288; +pub const SubstructureRedirectMask: u32 = 1048576; +pub const FocusChangeMask: u32 = 2097152; +pub const PropertyChangeMask: u32 = 4194304; +pub const ColormapChangeMask: u32 = 8388608; +pub const OwnerGrabButtonMask: u32 = 16777216; pub const KeyPress: u32 = 2; pub const KeyRelease: u32 = 3; pub const ButtonPress: u32 = 4; @@ -587,6 +627,21 @@ pub const FirstExtensionError: u32 = 128; pub const LastExtensionError: u32 = 255; pub const InputOutput: u32 = 1; pub const InputOnly: u32 = 2; +pub const CWBackPixmap: u32 = 1; +pub const CWBackPixel: u32 = 2; +pub const CWBorderPixmap: u32 = 4; +pub const CWBorderPixel: u32 = 8; +pub const CWBitGravity: u32 = 16; +pub const CWWinGravity: u32 = 32; +pub const CWBackingStore: u32 = 64; +pub const CWBackingPlanes: u32 = 128; +pub const CWBackingPixel: u32 = 256; +pub const CWOverrideRedirect: u32 = 512; +pub const CWSaveUnder: u32 = 1024; +pub const CWEventMask: u32 = 2048; +pub const CWDontPropagate: u32 = 4096; +pub const CWColormap: u32 = 8192; +pub const CWCursor: u32 = 16384; pub const CWX: u32 = 1; pub const CWY: u32 = 2; pub const CWWidth: u32 = 4; @@ -672,6 +727,29 @@ pub const Nonconvex: u32 = 1; pub const Convex: u32 = 2; pub const ArcChord: u32 = 0; pub const ArcPieSlice: u32 = 1; +pub const GCFunction: u32 = 1; +pub const GCPlaneMask: u32 = 2; +pub const GCForeground: u32 = 4; +pub const GCBackground: u32 = 8; +pub const GCLineWidth: u32 = 16; +pub const GCLineStyle: u32 = 32; +pub const GCCapStyle: u32 = 64; +pub const GCJoinStyle: u32 = 128; +pub const GCFillStyle: u32 = 256; +pub const GCFillRule: u32 = 512; +pub const GCTile: u32 = 1024; +pub const GCStipple: u32 = 2048; +pub const GCTileStipXOrigin: u32 = 4096; +pub const GCTileStipYOrigin: u32 = 8192; +pub const GCFont: u32 = 16384; +pub const GCSubwindowMode: u32 = 32768; +pub const GCGraphicsExposures: u32 = 65536; +pub const GCClipXOrigin: u32 = 131072; +pub const GCClipYOrigin: u32 = 262144; +pub const GCClipMask: u32 = 524288; +pub const GCDashOffset: u32 = 1048576; +pub const GCDashList: u32 = 2097152; +pub const GCArcMode: u32 = 4194304; pub const GCLastBit: u32 = 22; pub const FontLeftToRight: u32 = 0; pub const FontRightToLeft: u32 = 1; @@ -692,6 +770,14 @@ pub const AutoRepeatModeOn: u32 = 1; pub const AutoRepeatModeDefault: u32 = 2; pub const LedModeOff: u32 = 0; pub const LedModeOn: u32 = 1; +pub const KBKeyClickPercent: u32 = 1; +pub const KBBellPercent: u32 = 2; +pub const KBBellPitch: u32 = 4; +pub const KBBellDuration: u32 = 8; +pub const KBLed: u32 = 16; +pub const KBLedMode: u32 = 32; +pub const KBKey: u32 = 64; +pub const KBAutoRepeatMode: u32 = 128; pub const MappingSuccess: u32 = 0; pub const MappingBusy: u32 = 1; pub const MappingFailed: u32 = 2; @@ -797,10 +883,20 @@ pub const XLookupNone: u32 = 1; pub const XLookupChars: u32 = 2; pub const XLookupKeySym: u32 = 3; pub const XLookupBoth: u32 = 4; -pub const XIMReverse: f64 = 1.0; -pub const XIMPreeditUnKnown: f64 = 0.0; -pub const XIMPreeditEnable: f64 = 1.0; -pub const XIMInitialState: f64 = 1.0; +pub const XIMReverse: u32 = 1; +pub const XIMUnderline: u32 = 2; +pub const XIMHighlight: u32 = 4; +pub const XIMPrimary: u32 = 32; +pub const XIMSecondary: u32 = 64; +pub const XIMTertiary: u32 = 128; +pub const XIMVisibleToForward: u32 = 256; +pub const XIMVisibleToBackword: u32 = 512; +pub const XIMVisibleToCenter: u32 = 1024; +pub const XIMPreeditUnKnown: u32 = 0; +pub const XIMPreeditEnable: u32 = 1; +pub const XIMPreeditDisable: u32 = 2; +pub const XIMInitialState: u32 = 1; +pub const XIMPreserveState: u32 = 2; pub const XIMStringConversionLeftEdge: u32 = 1; pub const XIMStringConversionRightEdge: u32 = 2; pub const XIMStringConversionTopEdge: u32 = 4; @@ -817,10 +913,56 @@ pub const XIMHotKeyStateON: u32 = 1; pub const XIMHotKeyStateOFF: u32 = 2; pub const XATOM_H: u32 = 1; extern "C" { - /// \brief Gets the name of the platform. + #[doc = " \\brief Gets the name of the platform."] pub fn SDL_GetPlatform() -> *const libc::c_char; } +pub type size_t = libc::c_ulong; pub type wchar_t = libc::c_int; +#[repr(C)] +#[repr(align(16))] +#[derive(Copy, Clone)] +pub struct max_align_t { + pub __clang_max_align_nonce1: libc::c_longlong, + pub __bindgen_padding_0: u64, + pub __clang_max_align_nonce2: u128, +} +#[test] +fn bindgen_test_layout_max_align_t() { + assert_eq!( + ::core::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(max_align_t)) + ); + assert_eq!( + ::core::mem::align_of::(), + 16usize, + concat!("Alignment of ", stringify!(max_align_t)) + ); + assert_eq!( + unsafe { + &(*(::core::ptr::null::())).__clang_max_align_nonce1 as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(max_align_t), + "::", + stringify!(__clang_max_align_nonce1) + ) + ); + assert_eq!( + unsafe { + &(*(::core::ptr::null::())).__clang_max_align_nonce2 as *const _ as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(max_align_t), + "::", + stringify!(__clang_max_align_nonce2) + ) + ); +} pub type va_list = __builtin_va_list; pub type __gnuc_va_list = __builtin_va_list; pub type __u_char = libc::c_uchar; @@ -959,27 +1101,27 @@ pub enum SDL_DUMMY_ENUM { } pub type SDL_compile_time_assert_enum = [libc::c_int; 1usize]; extern "C" { - pub fn SDL_malloc(size: usize) -> *mut libc::c_void; + pub fn SDL_malloc(size: size_t) -> *mut libc::c_void; } extern "C" { - pub fn SDL_calloc(nmemb: usize, size: usize) -> *mut libc::c_void; + pub fn SDL_calloc(nmemb: size_t, size: size_t) -> *mut libc::c_void; } extern "C" { - pub fn SDL_realloc(mem: *mut libc::c_void, size: usize) -> *mut libc::c_void; + pub fn SDL_realloc(mem: *mut libc::c_void, size: size_t) -> *mut libc::c_void; } extern "C" { pub fn SDL_free(mem: *mut libc::c_void); } pub type SDL_malloc_func = - ::core::option::Option *mut libc::c_void>; + ::core::option::Option *mut libc::c_void>; pub type SDL_calloc_func = - ::core::option::Option *mut libc::c_void>; + ::core::option::Option *mut libc::c_void>; pub type SDL_realloc_func = ::core::option::Option< - unsafe extern "C" fn(mem: *mut libc::c_void, size: usize) -> *mut libc::c_void, + unsafe extern "C" fn(mem: *mut libc::c_void, size: size_t) -> *mut libc::c_void, >; pub type SDL_free_func = ::core::option::Option; extern "C" { - /// \brief Get the current set of SDL memory functions + #[doc = " \\brief Get the current set of SDL memory functions"] pub fn SDL_GetMemoryFunctions( malloc_func: *mut SDL_malloc_func, calloc_func: *mut SDL_calloc_func, @@ -988,12 +1130,12 @@ extern "C" { ); } extern "C" { - /// \brief Replace SDL's memory allocation functions with a custom set - /// - /// \note If you are replacing SDL's memory functions, you should call - /// SDL_GetNumAllocations() and be very careful if it returns non-zero. - /// That means that your free function will be called with memory - /// allocated by the previous memory allocation functions. + #[doc = " \\brief Replace SDL's memory allocation functions with a custom set"] + #[doc = ""] + #[doc = " \\note If you are replacing SDL's memory functions, you should call"] + #[doc = " SDL_GetNumAllocations() and be very careful if it returns non-zero."] + #[doc = " That means that your free function will be called with memory"] + #[doc = " allocated by the previous memory allocation functions."] pub fn SDL_SetMemoryFunctions( malloc_func: SDL_malloc_func, calloc_func: SDL_calloc_func, @@ -1002,7 +1144,7 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// \brief Get the number of outstanding (unfreed) allocations + #[doc = " \\brief Get the number of outstanding (unfreed) allocations"] pub fn SDL_GetNumAllocations() -> libc::c_int; } extern "C" { @@ -1018,8 +1160,8 @@ extern "C" { extern "C" { pub fn SDL_qsort( base: *mut libc::c_void, - nmemb: usize, - size: usize, + nmemb: size_t, + size: size_t, compare: ::core::option::Option< unsafe extern "C" fn( arg1: *const libc::c_void, @@ -1044,55 +1186,56 @@ extern "C" { pub fn SDL_tolower(x: libc::c_int) -> libc::c_int; } extern "C" { - pub fn SDL_memset(dst: *mut libc::c_void, c: libc::c_int, len: usize) -> *mut libc::c_void; + pub fn SDL_memset(dst: *mut libc::c_void, c: libc::c_int, len: size_t) -> *mut libc::c_void; } extern "C" { pub fn SDL_memcpy( dst: *mut libc::c_void, src: *const libc::c_void, - len: usize, + len: size_t, ) -> *mut libc::c_void; } extern "C" { pub fn SDL_memmove( dst: *mut libc::c_void, src: *const libc::c_void, - len: usize, + len: size_t, ) -> *mut libc::c_void; } extern "C" { - pub fn SDL_memcmp(s1: *const libc::c_void, s2: *const libc::c_void, len: usize) -> libc::c_int; + pub fn SDL_memcmp(s1: *const libc::c_void, s2: *const libc::c_void, len: size_t) + -> libc::c_int; } extern "C" { pub fn SDL_wcsdup(wstr: *const wchar_t) -> *mut wchar_t; } extern "C" { - pub fn SDL_wcslen(wstr: *const wchar_t) -> usize; + pub fn SDL_wcslen(wstr: *const wchar_t) -> size_t; } extern "C" { - pub fn SDL_wcslcpy(dst: *mut wchar_t, src: *const wchar_t, maxlen: usize) -> usize; + pub fn SDL_wcslcpy(dst: *mut wchar_t, src: *const wchar_t, maxlen: size_t) -> size_t; } extern "C" { - pub fn SDL_wcslcat(dst: *mut wchar_t, src: *const wchar_t, maxlen: usize) -> usize; + pub fn SDL_wcslcat(dst: *mut wchar_t, src: *const wchar_t, maxlen: size_t) -> size_t; } extern "C" { pub fn SDL_wcscmp(str1: *const wchar_t, str2: *const wchar_t) -> libc::c_int; } extern "C" { - pub fn SDL_strlen(str: *const libc::c_char) -> usize; + pub fn SDL_strlen(str: *const libc::c_char) -> size_t; } extern "C" { - pub fn SDL_strlcpy(dst: *mut libc::c_char, src: *const libc::c_char, maxlen: usize) -> usize; + pub fn SDL_strlcpy(dst: *mut libc::c_char, src: *const libc::c_char, maxlen: size_t) -> size_t; } extern "C" { pub fn SDL_utf8strlcpy( dst: *mut libc::c_char, src: *const libc::c_char, - dst_bytes: usize, - ) -> usize; + dst_bytes: size_t, + ) -> size_t; } extern "C" { - pub fn SDL_strlcat(dst: *mut libc::c_char, src: *const libc::c_char, maxlen: usize) -> usize; + pub fn SDL_strlcat(dst: *mut libc::c_char, src: *const libc::c_char, maxlen: size_t) -> size_t; } extern "C" { pub fn SDL_strdup(str: *const libc::c_char) -> *mut libc::c_char; @@ -1119,7 +1262,7 @@ extern "C" { ) -> *mut libc::c_char; } extern "C" { - pub fn SDL_utf8strlen(str: *const libc::c_char) -> usize; + pub fn SDL_utf8strlen(str: *const libc::c_char) -> size_t; } extern "C" { pub fn SDL_itoa( @@ -1207,7 +1350,7 @@ extern "C" { pub fn SDL_strncmp( str1: *const libc::c_char, str2: *const libc::c_char, - maxlen: usize, + maxlen: size_t, ) -> libc::c_int; } extern "C" { @@ -1217,7 +1360,7 @@ extern "C" { pub fn SDL_strncasecmp( str1: *const libc::c_char, str2: *const libc::c_char, - len: usize, + len: size_t, ) -> libc::c_int; } extern "C" { @@ -1233,7 +1376,7 @@ extern "C" { extern "C" { pub fn SDL_snprintf( text: *mut libc::c_char, - maxlen: usize, + maxlen: size_t, fmt: *const libc::c_char, ... ) -> libc::c_int; @@ -1241,7 +1384,7 @@ extern "C" { extern "C" { pub fn SDL_vsnprintf( text: *mut libc::c_char, - maxlen: usize, + maxlen: size_t, fmt: *const libc::c_char, ap: *mut __va_list_tag, ) -> libc::c_int; @@ -1373,45 +1516,48 @@ extern "C" { pub fn SDL_iconv( cd: SDL_iconv_t, inbuf: *mut *const libc::c_char, - inbytesleft: *mut usize, + inbytesleft: *mut size_t, outbuf: *mut *mut libc::c_char, - outbytesleft: *mut usize, - ) -> usize; + outbytesleft: *mut size_t, + ) -> size_t; } extern "C" { - /// This function converts a string between encodings in one pass, returning a - /// string that must be freed with SDL_free() or NULL on error. + #[doc = " This function converts a string between encodings in one pass, returning a"] + #[doc = " string that must be freed with SDL_free() or NULL on error."] pub fn SDL_iconv_string( tocode: *const libc::c_char, fromcode: *const libc::c_char, inbuf: *const libc::c_char, - inbytesleft: usize, + inbytesleft: size_t, ) -> *mut libc::c_char; } +#[doc = " The prototype for the application's main() function"] +pub type SDL_main_func = ::core::option::Option< + unsafe extern "C" fn(argc: libc::c_int, argv: *mut *mut libc::c_char) -> libc::c_int, +>; extern "C" { - /// The prototype for the application's main() function pub fn SDL_main(argc: libc::c_int, argv: *mut *mut libc::c_char) -> libc::c_int; } extern "C" { - /// This is called by the real SDL main function to let the rest of the - /// library know that initialization was done properly. - /// - /// Calling this yourself without knowing what you're doing can cause - /// crashes and hard to diagnose problems with your application. + #[doc = " This is called by the real SDL main function to let the rest of the"] + #[doc = " library know that initialization was done properly."] + #[doc = ""] + #[doc = " Calling this yourself without knowing what you're doing can cause"] + #[doc = " crashes and hard to diagnose problems with your application."] pub fn SDL_SetMainReady(); } #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum SDL_AssertState { - ///< Retry the assert immediately. + #[doc = "< Retry the assert immediately."] SDL_ASSERTION_RETRY = 0, - ///< Make the debugger trigger a breakpoint. + #[doc = "< Make the debugger trigger a breakpoint."] SDL_ASSERTION_BREAK = 1, - ///< Terminate the program. + #[doc = "< Terminate the program."] SDL_ASSERTION_ABORT = 2, - ///< Ignore the assert. + #[doc = "< Ignore the assert."] SDL_ASSERTION_IGNORE = 3, - ///< Ignore the assert from now on. + #[doc = "< Ignore the assert from now on."] SDL_ASSERTION_ALWAYS_IGNORE = 4, } #[repr(C)] @@ -1523,130 +1669,130 @@ pub type SDL_AssertionHandler = ::core::option::Option< ) -> SDL_AssertState, >; extern "C" { - /// \brief Set an application-defined assertion handler. - /// - /// This allows an app to show its own assertion UI and/or force the - /// response to an assertion failure. If the app doesn't provide this, SDL - /// will try to do the right thing, popping up a system-specific GUI dialog, - /// and probably minimizing any fullscreen windows. - /// - /// This callback may fire from any thread, but it runs wrapped in a mutex, so - /// it will only fire from one thread at a time. - /// - /// Setting the callback to NULL restores SDL's original internal handler. - /// - /// This callback is NOT reset to SDL's internal handler upon SDL_Quit()! - /// - /// Return SDL_AssertState value of how to handle the assertion failure. - /// - /// \param handler Callback function, called when an assertion fails. - /// \param userdata A pointer passed to the callback as-is. + #[doc = " \\brief Set an application-defined assertion handler."] + #[doc = ""] + #[doc = " This allows an app to show its own assertion UI and/or force the"] + #[doc = " response to an assertion failure. If the app doesn't provide this, SDL"] + #[doc = " will try to do the right thing, popping up a system-specific GUI dialog,"] + #[doc = " and probably minimizing any fullscreen windows."] + #[doc = ""] + #[doc = " This callback may fire from any thread, but it runs wrapped in a mutex, so"] + #[doc = " it will only fire from one thread at a time."] + #[doc = ""] + #[doc = " Setting the callback to NULL restores SDL's original internal handler."] + #[doc = ""] + #[doc = " This callback is NOT reset to SDL's internal handler upon SDL_Quit()!"] + #[doc = ""] + #[doc = " Return SDL_AssertState value of how to handle the assertion failure."] + #[doc = ""] + #[doc = " \\param handler Callback function, called when an assertion fails."] + #[doc = " \\param userdata A pointer passed to the callback as-is."] pub fn SDL_SetAssertionHandler(handler: SDL_AssertionHandler, userdata: *mut libc::c_void); } extern "C" { - /// \brief Get the default assertion handler. - /// - /// This returns the function pointer that is called by default when an - /// assertion is triggered. This is an internal function provided by SDL, - /// that is used for assertions when SDL_SetAssertionHandler() hasn't been - /// used to provide a different function. - /// - /// \return The default SDL_AssertionHandler that is called when an assert triggers. + #[doc = " \\brief Get the default assertion handler."] + #[doc = ""] + #[doc = " This returns the function pointer that is called by default when an"] + #[doc = " assertion is triggered. This is an internal function provided by SDL,"] + #[doc = " that is used for assertions when SDL_SetAssertionHandler() hasn't been"] + #[doc = " used to provide a different function."] + #[doc = ""] + #[doc = " \\return The default SDL_AssertionHandler that is called when an assert triggers."] pub fn SDL_GetDefaultAssertionHandler() -> SDL_AssertionHandler; } extern "C" { - /// \brief Get the current assertion handler. - /// - /// This returns the function pointer that is called when an assertion is - /// triggered. This is either the value last passed to - /// SDL_SetAssertionHandler(), or if no application-specified function is - /// set, is equivalent to calling SDL_GetDefaultAssertionHandler(). - /// - /// \param puserdata Pointer to a void*, which will store the "userdata" - /// pointer that was passed to SDL_SetAssertionHandler(). - /// This value will always be NULL for the default handler. - /// If you don't care about this data, it is safe to pass - /// a NULL pointer to this function to ignore it. - /// \return The SDL_AssertionHandler that is called when an assert triggers. + #[doc = " \\brief Get the current assertion handler."] + #[doc = ""] + #[doc = " This returns the function pointer that is called when an assertion is"] + #[doc = " triggered. This is either the value last passed to"] + #[doc = " SDL_SetAssertionHandler(), or if no application-specified function is"] + #[doc = " set, is equivalent to calling SDL_GetDefaultAssertionHandler()."] + #[doc = ""] + #[doc = " \\param puserdata Pointer to a void*, which will store the \"userdata\""] + #[doc = " pointer that was passed to SDL_SetAssertionHandler()."] + #[doc = " This value will always be NULL for the default handler."] + #[doc = " If you don't care about this data, it is safe to pass"] + #[doc = " a NULL pointer to this function to ignore it."] + #[doc = " \\return The SDL_AssertionHandler that is called when an assert triggers."] pub fn SDL_GetAssertionHandler(puserdata: *mut *mut libc::c_void) -> SDL_AssertionHandler; } extern "C" { - /// \brief Get a list of all assertion failures. - /// - /// Get all assertions triggered since last call to SDL_ResetAssertionReport(), - /// or the start of the program. - /// - /// The proper way to examine this data looks something like this: - /// - /// - /// const SDL_AssertData *item = SDL_GetAssertionReport(); - /// while (item) { - /// printf("'%s', %s (%s:%d), triggered %u times, always ignore: %s.\\n", - /// item->condition, item->function, item->filename, - /// item->linenum, item->trigger_count, - /// item->always_ignore ? "yes" : "no"); - /// item = item->next; - /// } - /// - /// - /// \return List of all assertions. - /// \sa SDL_ResetAssertionReport + #[doc = " \\brief Get a list of all assertion failures."] + #[doc = ""] + #[doc = " Get all assertions triggered since last call to SDL_ResetAssertionReport(),"] + #[doc = " or the start of the program."] + #[doc = ""] + #[doc = " The proper way to examine this data looks something like this:"] + #[doc = ""] + #[doc = " "] + #[doc = " const SDL_AssertData *item = SDL_GetAssertionReport();"] + #[doc = " while (item) {"] + #[doc = " printf(\"'%s', %s (%s:%d), triggered %u times, always ignore: %s.\\\\n\","] + #[doc = " item->condition, item->function, item->filename,"] + #[doc = " item->linenum, item->trigger_count,"] + #[doc = " item->always_ignore ? \"yes\" : \"no\");"] + #[doc = " item = item->next;"] + #[doc = " }"] + #[doc = " "] + #[doc = ""] + #[doc = " \\return List of all assertions."] + #[doc = " \\sa SDL_ResetAssertionReport"] pub fn SDL_GetAssertionReport() -> *const SDL_AssertData; } extern "C" { - /// \brief Reset the list of all assertion failures. - /// - /// Reset list of all assertions triggered. - /// - /// \sa SDL_GetAssertionReport + #[doc = " \\brief Reset the list of all assertion failures."] + #[doc = ""] + #[doc = " Reset list of all assertions triggered."] + #[doc = ""] + #[doc = " \\sa SDL_GetAssertionReport"] pub fn SDL_ResetAssertionReport(); } pub type SDL_SpinLock = libc::c_int; extern "C" { - /// \brief Try to lock a spin lock by setting it to a non-zero value. - /// - /// \param lock Points to the lock. - /// - /// \return SDL_TRUE if the lock succeeded, SDL_FALSE if the lock is already held. + #[doc = " \\brief Try to lock a spin lock by setting it to a non-zero value."] + #[doc = ""] + #[doc = " \\param lock Points to the lock."] + #[doc = ""] + #[doc = " \\return SDL_TRUE if the lock succeeded, SDL_FALSE if the lock is already held."] pub fn SDL_AtomicTryLock(lock: *mut SDL_SpinLock) -> SDL_bool; } extern "C" { - /// \brief Lock a spin lock by setting it to a non-zero value. - /// - /// \param lock Points to the lock. + #[doc = " \\brief Lock a spin lock by setting it to a non-zero value."] + #[doc = ""] + #[doc = " \\param lock Points to the lock."] pub fn SDL_AtomicLock(lock: *mut SDL_SpinLock); } extern "C" { - /// \brief Unlock a spin lock by setting it to 0. Always returns immediately - /// - /// \param lock Points to the lock. + #[doc = " \\brief Unlock a spin lock by setting it to 0. Always returns immediately"] + #[doc = ""] + #[doc = " \\param lock Points to the lock."] pub fn SDL_AtomicUnlock(lock: *mut SDL_SpinLock); } extern "C" { - /// Memory barriers are designed to prevent reads and writes from being - /// reordered by the compiler and being seen out of order on multi-core CPUs. - /// - /// A typical pattern would be for thread A to write some data and a flag, - /// and for thread B to read the flag and get the data. In this case you - /// would insert a release barrier between writing the data and the flag, - /// guaranteeing that the data write completes no later than the flag is - /// written, and you would insert an acquire barrier between reading the - /// flag and reading the data, to ensure that all the reads associated - /// with the flag have completed. - /// - /// In this pattern you should always see a release barrier paired with - /// an acquire barrier and you should gate the data reads/writes with a - /// single flag variable. - /// - /// For more information on these semantics, take a look at the blog post: - /// http://preshing.com/20120913/acquire-and-release-semantics + #[doc = " Memory barriers are designed to prevent reads and writes from being"] + #[doc = " reordered by the compiler and being seen out of order on multi-core CPUs."] + #[doc = ""] + #[doc = " A typical pattern would be for thread A to write some data and a flag,"] + #[doc = " and for thread B to read the flag and get the data. In this case you"] + #[doc = " would insert a release barrier between writing the data and the flag,"] + #[doc = " guaranteeing that the data write completes no later than the flag is"] + #[doc = " written, and you would insert an acquire barrier between reading the"] + #[doc = " flag and reading the data, to ensure that all the reads associated"] + #[doc = " with the flag have completed."] + #[doc = ""] + #[doc = " In this pattern you should always see a release barrier paired with"] + #[doc = " an acquire barrier and you should gate the data reads/writes with a"] + #[doc = " single flag variable."] + #[doc = ""] + #[doc = " For more information on these semantics, take a look at the blog post:"] + #[doc = " http://preshing.com/20120913/acquire-and-release-semantics"] pub fn SDL_MemoryBarrierReleaseFunction(); } extern "C" { pub fn SDL_MemoryBarrierAcquireFunction(); } -/// \brief A type representing an atomic integer value. It is a struct -/// so people don't accidentally use numeric operations on it. +#[doc = " \\brief A type representing an atomic integer value. It is a struct"] +#[doc = " so people don't accidentally use numeric operations on it."] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_atomic_t { @@ -1676,11 +1822,11 @@ fn bindgen_test_layout_SDL_atomic_t() { ); } extern "C" { - /// \brief Set an atomic variable to a new value if it is currently an old value. - /// - /// \return SDL_TRUE if the atomic variable was set, SDL_FALSE otherwise. - /// - /// \note If you don't know what this function is for, you shouldn't use it! + #[doc = " \\brief Set an atomic variable to a new value if it is currently an old value."] + #[doc = ""] + #[doc = " \\return SDL_TRUE if the atomic variable was set, SDL_FALSE otherwise."] + #[doc = ""] + #[doc = " \\note If you don't know what this function is for, you shouldn't use it!"] pub fn SDL_AtomicCAS( a: *mut SDL_atomic_t, oldval: libc::c_int, @@ -1688,29 +1834,29 @@ extern "C" { ) -> SDL_bool; } extern "C" { - /// \brief Set an atomic variable to a value. - /// - /// \return The previous value of the atomic variable. + #[doc = " \\brief Set an atomic variable to a value."] + #[doc = ""] + #[doc = " \\return The previous value of the atomic variable."] pub fn SDL_AtomicSet(a: *mut SDL_atomic_t, v: libc::c_int) -> libc::c_int; } extern "C" { - /// \brief Get the value of an atomic variable + #[doc = " \\brief Get the value of an atomic variable"] pub fn SDL_AtomicGet(a: *mut SDL_atomic_t) -> libc::c_int; } extern "C" { - /// \brief Add to an atomic variable. - /// - /// \return The previous value of the atomic variable. - /// - /// \note This same style can be used for any number operation + #[doc = " \\brief Add to an atomic variable."] + #[doc = ""] + #[doc = " \\return The previous value of the atomic variable."] + #[doc = ""] + #[doc = " \\note This same style can be used for any number operation"] pub fn SDL_AtomicAdd(a: *mut SDL_atomic_t, v: libc::c_int) -> libc::c_int; } extern "C" { - /// \brief Set a pointer to a new value if it is currently an old value. - /// - /// \return SDL_TRUE if the pointer was set, SDL_FALSE otherwise. - /// - /// \note If you don't know what this function is for, you shouldn't use it! + #[doc = " \\brief Set a pointer to a new value if it is currently an old value."] + #[doc = ""] + #[doc = " \\return SDL_TRUE if the pointer was set, SDL_FALSE otherwise."] + #[doc = ""] + #[doc = " \\note If you don't know what this function is for, you shouldn't use it!"] pub fn SDL_AtomicCASPtr( a: *mut *mut libc::c_void, oldval: *mut libc::c_void, @@ -1718,13 +1864,13 @@ extern "C" { ) -> SDL_bool; } extern "C" { - /// \brief Set a pointer to a value atomically. - /// - /// \return The previous value of the pointer. + #[doc = " \\brief Set a pointer to a value atomically."] + #[doc = ""] + #[doc = " \\return The previous value of the pointer."] pub fn SDL_AtomicSetPtr(a: *mut *mut libc::c_void, v: *mut libc::c_void) -> *mut libc::c_void; } extern "C" { - /// \brief Get the value of a pointer atomically. + #[doc = " \\brief Get the value of a pointer atomically."] pub fn SDL_AtomicGetPtr(a: *mut *mut libc::c_void) -> *mut libc::c_void; } extern "C" { @@ -1755,23 +1901,23 @@ pub struct SDL_mutex { _unused: [u8; 0], } extern "C" { - /// Create a mutex, initialized unlocked. + #[doc = " Create a mutex, initialized unlocked."] pub fn SDL_CreateMutex() -> *mut SDL_mutex; } extern "C" { pub fn SDL_LockMutex(mutex: *mut SDL_mutex) -> libc::c_int; } extern "C" { - /// Try to lock the mutex - /// - /// \return 0, SDL_MUTEX_TIMEDOUT, or -1 on error + #[doc = " Try to lock the mutex"] + #[doc = ""] + #[doc = " \\return 0, SDL_MUTEX_TIMEDOUT, or -1 on error"] pub fn SDL_TryLockMutex(mutex: *mut SDL_mutex) -> libc::c_int; } extern "C" { pub fn SDL_UnlockMutex(mutex: *mut SDL_mutex) -> libc::c_int; } extern "C" { - /// Destroy a mutex. + #[doc = " Destroy a mutex."] pub fn SDL_DestroyMutex(mutex: *mut SDL_mutex); } #[repr(C)] @@ -1781,44 +1927,44 @@ pub struct SDL_semaphore { } pub type SDL_sem = SDL_semaphore; extern "C" { - /// Create a semaphore, initialized with value, returns NULL on failure. + #[doc = " Create a semaphore, initialized with value, returns NULL on failure."] pub fn SDL_CreateSemaphore(initial_value: Uint32) -> *mut SDL_sem; } extern "C" { - /// Destroy a semaphore. + #[doc = " Destroy a semaphore."] pub fn SDL_DestroySemaphore(sem: *mut SDL_sem); } extern "C" { - /// This function suspends the calling thread until the semaphore pointed - /// to by \c sem has a positive count. It then atomically decreases the - /// semaphore count. + #[doc = " This function suspends the calling thread until the semaphore pointed"] + #[doc = " to by \\c sem has a positive count. It then atomically decreases the"] + #[doc = " semaphore count."] pub fn SDL_SemWait(sem: *mut SDL_sem) -> libc::c_int; } extern "C" { - /// Non-blocking variant of SDL_SemWait(). - /// - /// \return 0 if the wait succeeds, ::SDL_MUTEX_TIMEDOUT if the wait would - /// block, and -1 on error. + #[doc = " Non-blocking variant of SDL_SemWait()."] + #[doc = ""] + #[doc = " \\return 0 if the wait succeeds, ::SDL_MUTEX_TIMEDOUT if the wait would"] + #[doc = " block, and -1 on error."] pub fn SDL_SemTryWait(sem: *mut SDL_sem) -> libc::c_int; } extern "C" { - /// Variant of SDL_SemWait() with a timeout in milliseconds. - /// - /// \return 0 if the wait succeeds, ::SDL_MUTEX_TIMEDOUT if the wait does not - /// succeed in the allotted time, and -1 on error. - /// - /// \warning On some platforms this function is implemented by looping with a - /// delay of 1 ms, and so should be avoided if possible. + #[doc = " Variant of SDL_SemWait() with a timeout in milliseconds."] + #[doc = ""] + #[doc = " \\return 0 if the wait succeeds, ::SDL_MUTEX_TIMEDOUT if the wait does not"] + #[doc = " succeed in the allotted time, and -1 on error."] + #[doc = ""] + #[doc = " \\warning On some platforms this function is implemented by looping with a"] + #[doc = " delay of 1 ms, and so should be avoided if possible."] pub fn SDL_SemWaitTimeout(sem: *mut SDL_sem, ms: Uint32) -> libc::c_int; } extern "C" { - /// Atomically increases the semaphore's count (not blocking). - /// - /// \return 0, or -1 on error. + #[doc = " Atomically increases the semaphore's count (not blocking)."] + #[doc = ""] + #[doc = " \\return 0, or -1 on error."] pub fn SDL_SemPost(sem: *mut SDL_sem) -> libc::c_int; } extern "C" { - /// Returns the current count of the semaphore. + #[doc = " Returns the current count of the semaphore."] pub fn SDL_SemValue(sem: *mut SDL_sem) -> Uint32; } #[repr(C)] @@ -1827,67 +1973,67 @@ pub struct SDL_cond { _unused: [u8; 0], } extern "C" { - /// Create a condition variable. - /// - /// Typical use of condition variables: - /// - /// Thread A: - /// SDL_LockMutex(lock); - /// while ( ! condition ) { - /// SDL_CondWait(cond, lock); - /// } - /// SDL_UnlockMutex(lock); - /// - /// Thread B: - /// SDL_LockMutex(lock); - /// ... - /// condition = true; - /// ... - /// SDL_CondSignal(cond); - /// SDL_UnlockMutex(lock); - /// - /// There is some discussion whether to signal the condition variable - /// with the mutex locked or not. There is some potential performance - /// benefit to unlocking first on some platforms, but there are some - /// potential race conditions depending on how your code is structured. - /// - /// In general it's safer to signal the condition variable while the - /// mutex is locked. + #[doc = " Create a condition variable."] + #[doc = ""] + #[doc = " Typical use of condition variables:"] + #[doc = ""] + #[doc = " Thread A:"] + #[doc = " SDL_LockMutex(lock);"] + #[doc = " while ( ! condition ) {"] + #[doc = " SDL_CondWait(cond, lock);"] + #[doc = " }"] + #[doc = " SDL_UnlockMutex(lock);"] + #[doc = ""] + #[doc = " Thread B:"] + #[doc = " SDL_LockMutex(lock);"] + #[doc = " ..."] + #[doc = " condition = true;"] + #[doc = " ..."] + #[doc = " SDL_CondSignal(cond);"] + #[doc = " SDL_UnlockMutex(lock);"] + #[doc = ""] + #[doc = " There is some discussion whether to signal the condition variable"] + #[doc = " with the mutex locked or not. There is some potential performance"] + #[doc = " benefit to unlocking first on some platforms, but there are some"] + #[doc = " potential race conditions depending on how your code is structured."] + #[doc = ""] + #[doc = " In general it's safer to signal the condition variable while the"] + #[doc = " mutex is locked."] pub fn SDL_CreateCond() -> *mut SDL_cond; } extern "C" { - /// Destroy a condition variable. + #[doc = " Destroy a condition variable."] pub fn SDL_DestroyCond(cond: *mut SDL_cond); } extern "C" { - /// Restart one of the threads that are waiting on the condition variable. - /// - /// \return 0 or -1 on error. + #[doc = " Restart one of the threads that are waiting on the condition variable."] + #[doc = ""] + #[doc = " \\return 0 or -1 on error."] pub fn SDL_CondSignal(cond: *mut SDL_cond) -> libc::c_int; } extern "C" { - /// Restart all threads that are waiting on the condition variable. - /// - /// \return 0 or -1 on error. + #[doc = " Restart all threads that are waiting on the condition variable."] + #[doc = ""] + #[doc = " \\return 0 or -1 on error."] pub fn SDL_CondBroadcast(cond: *mut SDL_cond) -> libc::c_int; } extern "C" { - /// Wait on the condition variable, unlocking the provided mutex. - /// - /// \warning The mutex must be locked before entering this function! - /// - /// The mutex is re-locked once the condition variable is signaled. - /// - /// \return 0 when it is signaled, or -1 on error. + #[doc = " Wait on the condition variable, unlocking the provided mutex."] + #[doc = ""] + #[doc = " \\warning The mutex must be locked before entering this function!"] + #[doc = ""] + #[doc = " The mutex is re-locked once the condition variable is signaled."] + #[doc = ""] + #[doc = " \\return 0 when it is signaled, or -1 on error."] pub fn SDL_CondWait(cond: *mut SDL_cond, mutex: *mut SDL_mutex) -> libc::c_int; } extern "C" { - /// Waits for at most \c ms milliseconds, and returns 0 if the condition - /// variable is signaled, ::SDL_MUTEX_TIMEDOUT if the condition is not - /// signaled in the allotted time, and -1 on error. - /// - /// \warning On some platforms this function is implemented by looping with a - /// delay of 1 ms, and so should be avoided if possible. + #[doc = " Waits for at most \\c ms milliseconds, and returns 0 if the condition"] + #[doc = " variable is signaled, ::SDL_MUTEX_TIMEDOUT if the condition is not"] + #[doc = " signaled in the allotted time, and -1 on error."] + #[doc = ""] + #[doc = " \\warning On some platforms this function is implemented by looping with a"] + #[doc = " delay of 1 ms, and so should be avoided if possible."] pub fn SDL_CondWaitTimeout( cond: *mut SDL_cond, mutex: *mut SDL_mutex, @@ -1902,9 +2048,9 @@ pub struct SDL_Thread { pub type SDL_threadID = libc::c_ulong; pub type SDL_TLSID = libc::c_uint; #[repr(u32)] -/// The SDL thread priority. -/// -/// \note On many systems you require special privileges to set high or time critical priority. +#[doc = " The SDL thread priority."] +#[doc = ""] +#[doc = " \\note On many systems you require special privileges to set high or time critical priority."] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum SDL_ThreadPriority { SDL_THREAD_PRIORITY_LOW = 0, @@ -1912,15 +2058,15 @@ pub enum SDL_ThreadPriority { SDL_THREAD_PRIORITY_HIGH = 2, SDL_THREAD_PRIORITY_TIME_CRITICAL = 3, } -/// The function passed to SDL_CreateThread(). -/// It is passed a void* user context parameter and returns an int. +#[doc = " The function passed to SDL_CreateThread()."] +#[doc = " It is passed a void* user context parameter and returns an int."] pub type SDL_ThreadFunction = ::core::option::Option libc::c_int>; extern "C" { - /// Create a thread with a default stack size. - /// - /// This is equivalent to calling: - /// SDL_CreateThreadWithStackSize(fn, name, 0, data); + #[doc = " Create a thread with a default stack size."] + #[doc = ""] + #[doc = " This is equivalent to calling:"] + #[doc = " SDL_CreateThreadWithStackSize(fn, name, 0, data);"] pub fn SDL_CreateThread( fn_: SDL_ThreadFunction, name: *const libc::c_char, @@ -1928,174 +2074,174 @@ extern "C" { ) -> *mut SDL_Thread; } extern "C" { - /// Create a thread. - /// - /// Thread naming is a little complicated: Most systems have very small - /// limits for the string length (Haiku has 32 bytes, Linux currently has 16, - /// Visual C++ 6.0 has nine!), and possibly other arbitrary rules. You'll - /// have to see what happens with your system's debugger. The name should be - /// UTF-8 (but using the naming limits of C identifiers is a better bet). - /// There are no requirements for thread naming conventions, so long as the - /// string is null-terminated UTF-8, but these guidelines are helpful in - /// choosing a name: - /// - /// http://stackoverflow.com/questions/149932/naming-conventions-for-threads - /// - /// If a system imposes requirements, SDL will try to munge the string for - /// it (truncate, etc), but the original string contents will be available - /// from SDL_GetThreadName(). - /// - /// The size (in bytes) of the new stack can be specified. Zero means "use - /// the system default" which might be wildly different between platforms - /// (x86 Linux generally defaults to eight megabytes, an embedded device - /// might be a few kilobytes instead). - /// - /// In SDL 2.1, stacksize will be folded into the original SDL_CreateThread - /// function. + #[doc = " Create a thread."] + #[doc = ""] + #[doc = " Thread naming is a little complicated: Most systems have very small"] + #[doc = " limits for the string length (Haiku has 32 bytes, Linux currently has 16,"] + #[doc = " Visual C++ 6.0 has nine!), and possibly other arbitrary rules. You'll"] + #[doc = " have to see what happens with your system's debugger. The name should be"] + #[doc = " UTF-8 (but using the naming limits of C identifiers is a better bet)."] + #[doc = " There are no requirements for thread naming conventions, so long as the"] + #[doc = " string is null-terminated UTF-8, but these guidelines are helpful in"] + #[doc = " choosing a name:"] + #[doc = ""] + #[doc = " http://stackoverflow.com/questions/149932/naming-conventions-for-threads"] + #[doc = ""] + #[doc = " If a system imposes requirements, SDL will try to munge the string for"] + #[doc = " it (truncate, etc), but the original string contents will be available"] + #[doc = " from SDL_GetThreadName()."] + #[doc = ""] + #[doc = " The size (in bytes) of the new stack can be specified. Zero means \"use"] + #[doc = " the system default\" which might be wildly different between platforms"] + #[doc = " (x86 Linux generally defaults to eight megabytes, an embedded device"] + #[doc = " might be a few kilobytes instead)."] + #[doc = ""] + #[doc = " In SDL 2.1, stacksize will be folded into the original SDL_CreateThread"] + #[doc = " function."] pub fn SDL_CreateThreadWithStackSize( fn_: SDL_ThreadFunction, name: *const libc::c_char, - stacksize: usize, + stacksize: size_t, data: *mut libc::c_void, ) -> *mut SDL_Thread; } extern "C" { - /// Get the thread name, as it was specified in SDL_CreateThread(). - /// This function returns a pointer to a UTF-8 string that names the - /// specified thread, or NULL if it doesn't have a name. This is internal - /// memory, not to be free()'d by the caller, and remains valid until the - /// specified thread is cleaned up by SDL_WaitThread(). + #[doc = " Get the thread name, as it was specified in SDL_CreateThread()."] + #[doc = " This function returns a pointer to a UTF-8 string that names the"] + #[doc = " specified thread, or NULL if it doesn't have a name. This is internal"] + #[doc = " memory, not to be free()'d by the caller, and remains valid until the"] + #[doc = " specified thread is cleaned up by SDL_WaitThread()."] pub fn SDL_GetThreadName(thread: *mut SDL_Thread) -> *const libc::c_char; } extern "C" { - /// Get the thread identifier for the current thread. + #[doc = " Get the thread identifier for the current thread."] pub fn SDL_ThreadID() -> SDL_threadID; } extern "C" { - /// Get the thread identifier for the specified thread. - /// - /// Equivalent to SDL_ThreadID() if the specified thread is NULL. + #[doc = " Get the thread identifier for the specified thread."] + #[doc = ""] + #[doc = " Equivalent to SDL_ThreadID() if the specified thread is NULL."] pub fn SDL_GetThreadID(thread: *mut SDL_Thread) -> SDL_threadID; } extern "C" { - /// Set the priority for the current thread + #[doc = " Set the priority for the current thread"] pub fn SDL_SetThreadPriority(priority: SDL_ThreadPriority) -> libc::c_int; } extern "C" { - /// Wait for a thread to finish. Threads that haven't been detached will - /// remain (as a "zombie") until this function cleans them up. Not doing so - /// is a resource leak. - /// - /// Once a thread has been cleaned up through this function, the SDL_Thread - /// that references it becomes invalid and should not be referenced again. - /// As such, only one thread may call SDL_WaitThread() on another. - /// - /// The return code for the thread function is placed in the area - /// pointed to by \c status, if \c status is not NULL. - /// - /// You may not wait on a thread that has been used in a call to - /// SDL_DetachThread(). Use either that function or this one, but not - /// both, or behavior is undefined. - /// - /// It is safe to pass NULL to this function; it is a no-op. + #[doc = " Wait for a thread to finish. Threads that haven't been detached will"] + #[doc = " remain (as a \"zombie\") until this function cleans them up. Not doing so"] + #[doc = " is a resource leak."] + #[doc = ""] + #[doc = " Once a thread has been cleaned up through this function, the SDL_Thread"] + #[doc = " that references it becomes invalid and should not be referenced again."] + #[doc = " As such, only one thread may call SDL_WaitThread() on another."] + #[doc = ""] + #[doc = " The return code for the thread function is placed in the area"] + #[doc = " pointed to by \\c status, if \\c status is not NULL."] + #[doc = ""] + #[doc = " You may not wait on a thread that has been used in a call to"] + #[doc = " SDL_DetachThread(). Use either that function or this one, but not"] + #[doc = " both, or behavior is undefined."] + #[doc = ""] + #[doc = " It is safe to pass NULL to this function; it is a no-op."] pub fn SDL_WaitThread(thread: *mut SDL_Thread, status: *mut libc::c_int); } extern "C" { - /// A thread may be "detached" to signify that it should not remain until - /// another thread has called SDL_WaitThread() on it. Detaching a thread - /// is useful for long-running threads that nothing needs to synchronize - /// with or further manage. When a detached thread is done, it simply - /// goes away. - /// - /// There is no way to recover the return code of a detached thread. If you - /// need this, don't detach the thread and instead use SDL_WaitThread(). - /// - /// Once a thread is detached, you should usually assume the SDL_Thread isn't - /// safe to reference again, as it will become invalid immediately upon - /// the detached thread's exit, instead of remaining until someone has called - /// SDL_WaitThread() to finally clean it up. As such, don't detach the same - /// thread more than once. - /// - /// If a thread has already exited when passed to SDL_DetachThread(), it will - /// stop waiting for a call to SDL_WaitThread() and clean up immediately. - /// It is not safe to detach a thread that might be used with SDL_WaitThread(). - /// - /// You may not call SDL_WaitThread() on a thread that has been detached. - /// Use either that function or this one, but not both, or behavior is - /// undefined. - /// - /// It is safe to pass NULL to this function; it is a no-op. + #[doc = " A thread may be \"detached\" to signify that it should not remain until"] + #[doc = " another thread has called SDL_WaitThread() on it. Detaching a thread"] + #[doc = " is useful for long-running threads that nothing needs to synchronize"] + #[doc = " with or further manage. When a detached thread is done, it simply"] + #[doc = " goes away."] + #[doc = ""] + #[doc = " There is no way to recover the return code of a detached thread. If you"] + #[doc = " need this, don't detach the thread and instead use SDL_WaitThread()."] + #[doc = ""] + #[doc = " Once a thread is detached, you should usually assume the SDL_Thread isn't"] + #[doc = " safe to reference again, as it will become invalid immediately upon"] + #[doc = " the detached thread's exit, instead of remaining until someone has called"] + #[doc = " SDL_WaitThread() to finally clean it up. As such, don't detach the same"] + #[doc = " thread more than once."] + #[doc = ""] + #[doc = " If a thread has already exited when passed to SDL_DetachThread(), it will"] + #[doc = " stop waiting for a call to SDL_WaitThread() and clean up immediately."] + #[doc = " It is not safe to detach a thread that might be used with SDL_WaitThread()."] + #[doc = ""] + #[doc = " You may not call SDL_WaitThread() on a thread that has been detached."] + #[doc = " Use either that function or this one, but not both, or behavior is"] + #[doc = " undefined."] + #[doc = ""] + #[doc = " It is safe to pass NULL to this function; it is a no-op."] pub fn SDL_DetachThread(thread: *mut SDL_Thread); } extern "C" { - /// \brief Create an identifier that is globally visible to all threads but refers to data that is thread-specific. - /// - /// \return The newly created thread local storage identifier, or 0 on error - /// - /// \code - /// static SDL_SpinLock tls_lock; - /// static SDL_TLSID thread_local_storage; - /// - /// void SetMyThreadData(void *value) - /// { - /// if (!thread_local_storage) { - /// SDL_AtomicLock(&tls_lock); - /// if (!thread_local_storage) { - /// thread_local_storage = SDL_TLSCreate(); - /// } - /// SDL_AtomicUnlock(&tls_lock); - /// } - /// SDL_TLSSet(thread_local_storage, value, 0); - /// } - /// - /// void *GetMyThreadData(void) - /// { - /// return SDL_TLSGet(thread_local_storage); - /// } - /// \endcode - /// - /// \sa SDL_TLSGet() - /// \sa SDL_TLSSet() + #[doc = " \\brief Create an identifier that is globally visible to all threads but refers to data that is thread-specific."] + #[doc = ""] + #[doc = " \\return The newly created thread local storage identifier, or 0 on error"] + #[doc = ""] + #[doc = " \\code"] + #[doc = " static SDL_SpinLock tls_lock;"] + #[doc = " static SDL_TLSID thread_local_storage;"] + #[doc = ""] + #[doc = " void SetMyThreadData(void *value)"] + #[doc = " {"] + #[doc = " if (!thread_local_storage) {"] + #[doc = " SDL_AtomicLock(&tls_lock);"] + #[doc = " if (!thread_local_storage) {"] + #[doc = " thread_local_storage = SDL_TLSCreate();"] + #[doc = " }"] + #[doc = " SDL_AtomicUnlock(&tls_lock);"] + #[doc = " }"] + #[doc = " SDL_TLSSet(thread_local_storage, value, 0);"] + #[doc = " }"] + #[doc = ""] + #[doc = " void *GetMyThreadData(void)"] + #[doc = " {"] + #[doc = " return SDL_TLSGet(thread_local_storage);"] + #[doc = " }"] + #[doc = " \\endcode"] + #[doc = ""] + #[doc = " \\sa SDL_TLSGet()"] + #[doc = " \\sa SDL_TLSSet()"] pub fn SDL_TLSCreate() -> SDL_TLSID; } extern "C" { - /// \brief Get the value associated with a thread local storage ID for the current thread. - /// - /// \param id The thread local storage ID - /// - /// \return The value associated with the ID for the current thread, or NULL if no value has been set. - /// - /// \sa SDL_TLSCreate() - /// \sa SDL_TLSSet() + #[doc = " \\brief Get the value associated with a thread local storage ID for the current thread."] + #[doc = ""] + #[doc = " \\param id The thread local storage ID"] + #[doc = ""] + #[doc = " \\return The value associated with the ID for the current thread, or NULL if no value has been set."] + #[doc = ""] + #[doc = " \\sa SDL_TLSCreate()"] + #[doc = " \\sa SDL_TLSSet()"] pub fn SDL_TLSGet(id: SDL_TLSID) -> *mut libc::c_void; } extern "C" { - /// \brief Set the value associated with a thread local storage ID for the current thread. - /// - /// \param id The thread local storage ID - /// \param value The value to associate with the ID for the current thread - /// \param destructor A function called when the thread exits, to free the value. - /// - /// \return 0 on success, -1 on error - /// - /// \sa SDL_TLSCreate() - /// \sa SDL_TLSGet() + #[doc = " \\brief Set the value associated with a thread local storage ID for the current thread."] + #[doc = ""] + #[doc = " \\param id The thread local storage ID"] + #[doc = " \\param value The value to associate with the ID for the current thread"] + #[doc = " \\param destructor A function called when the thread exits, to free the value."] + #[doc = ""] + #[doc = " \\return 0 on success, -1 on error"] + #[doc = ""] + #[doc = " \\sa SDL_TLSCreate()"] + #[doc = " \\sa SDL_TLSGet()"] pub fn SDL_TLSSet( id: SDL_TLSID, value: *const libc::c_void, destructor: ::core::option::Option, ) -> libc::c_int; } -/// This is the read/write operation structure -- very basic. +#[doc = " This is the read/write operation structure -- very basic."] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_RWops { - /// Return the size of the file in this rwops, or -1 if unknown + #[doc = " Return the size of the file in this rwops, or -1 if unknown"] pub size: ::core::option::Option Sint64>, - /// Seek to \c offset relative to \c whence, one of stdio's whence values: - /// RW_SEEK_SET, RW_SEEK_CUR, RW_SEEK_END - /// - /// \return the final offset in the data stream, or -1 on error. + #[doc = " Seek to \\c offset relative to \\c whence, one of stdio's whence values:"] + #[doc = " RW_SEEK_SET, RW_SEEK_CUR, RW_SEEK_END"] + #[doc = ""] + #[doc = " \\return the final offset in the data stream, or -1 on error."] pub seek: ::core::option::Option< unsafe extern "C" fn( context: *mut SDL_RWops, @@ -2103,33 +2249,33 @@ pub struct SDL_RWops { whence: libc::c_int, ) -> Sint64, >, - /// Read up to \c maxnum objects each of size \c size from the data - /// stream to the area pointed at by \c ptr. - /// - /// \return the number of objects read, or 0 at error or end of file. + #[doc = " Read up to \\c maxnum objects each of size \\c size from the data"] + #[doc = " stream to the area pointed at by \\c ptr."] + #[doc = ""] + #[doc = " \\return the number of objects read, or 0 at error or end of file."] pub read: ::core::option::Option< unsafe extern "C" fn( context: *mut SDL_RWops, ptr: *mut libc::c_void, - size: usize, - maxnum: usize, - ) -> usize, + size: size_t, + maxnum: size_t, + ) -> size_t, >, - /// Write exactly \c num objects each of size \c size from the area - /// pointed at by \c ptr to data stream. - /// - /// \return the number of objects written, or 0 at error or end of file. + #[doc = " Write exactly \\c num objects each of size \\c size from the area"] + #[doc = " pointed at by \\c ptr to data stream."] + #[doc = ""] + #[doc = " \\return the number of objects written, or 0 at error or end of file."] pub write: ::core::option::Option< unsafe extern "C" fn( context: *mut SDL_RWops, ptr: *const libc::c_void, - size: usize, - num: usize, - ) -> usize, + size: size_t, + num: size_t, + ) -> size_t, >, - /// Close and free an allocated SDL_RWops structure. - /// - /// \return 0 if successful or -1 on write error when flushing data. + #[doc = " Close and free an allocated SDL_RWops structure."] + #[doc = ""] + #[doc = " \\return 0 if successful or -1 on write error when flushing data."] pub close: ::core::option::Option libc::c_int>, pub type_: Uint32, pub hidden: SDL_RWops__bindgen_ty_1, @@ -2394,23 +2540,82 @@ extern "C" { pub fn SDL_FreeRW(area: *mut SDL_RWops); } extern "C" { - /// Load all the data from an SDL data stream. - /// - /// The data is allocated with a zero byte at the end (null terminated) - /// - /// If \c datasize is not NULL, it is filled with the size of the data read. - /// - /// If \c freesrc is non-zero, the stream will be closed after being read. - /// - /// The data should be freed with SDL_free(). - /// - /// \return the data, or NULL if there was an error. + #[doc = " Return the size of the file in this rwops, or -1 if unknown"] + pub fn SDL_RWsize(context: *mut SDL_RWops) -> Sint64; +} +extern "C" { + #[doc = " Seek to \\c offset relative to \\c whence, one of stdio's whence values:"] + #[doc = " RW_SEEK_SET, RW_SEEK_CUR, RW_SEEK_END"] + #[doc = ""] + #[doc = " \\return the final offset in the data stream, or -1 on error."] + pub fn SDL_RWseek(context: *mut SDL_RWops, offset: Sint64, whence: libc::c_int) -> Sint64; +} +extern "C" { + #[doc = " Return the current offset in the data stream, or -1 on error."] + pub fn SDL_RWtell(context: *mut SDL_RWops) -> Sint64; +} +extern "C" { + #[doc = " Read up to \\c maxnum objects each of size \\c size from the data"] + #[doc = " stream to the area pointed at by \\c ptr."] + #[doc = ""] + #[doc = " \\return the number of objects read, or 0 at error or end of file."] + pub fn SDL_RWread( + context: *mut SDL_RWops, + ptr: *mut libc::c_void, + size: size_t, + maxnum: size_t, + ) -> size_t; +} +extern "C" { + #[doc = " Write exactly \\c num objects each of size \\c size from the area"] + #[doc = " pointed at by \\c ptr to data stream."] + #[doc = ""] + #[doc = " \\return the number of objects written, or 0 at error or end of file."] + pub fn SDL_RWwrite( + context: *mut SDL_RWops, + ptr: *const libc::c_void, + size: size_t, + num: size_t, + ) -> size_t; +} +extern "C" { + #[doc = " Close and free an allocated SDL_RWops structure."] + #[doc = ""] + #[doc = " \\return 0 if successful or -1 on write error when flushing data."] + pub fn SDL_RWclose(context: *mut SDL_RWops) -> libc::c_int; +} +extern "C" { + #[doc = " Load all the data from an SDL data stream."] + #[doc = ""] + #[doc = " The data is allocated with a zero byte at the end (null terminated)"] + #[doc = ""] + #[doc = " If \\c datasize is not NULL, it is filled with the size of the data read."] + #[doc = ""] + #[doc = " If \\c freesrc is non-zero, the stream will be closed after being read."] + #[doc = ""] + #[doc = " The data should be freed with SDL_free()."] + #[doc = ""] + #[doc = " \\return the data, or NULL if there was an error."] pub fn SDL_LoadFile_RW( src: *mut SDL_RWops, - datasize: *mut usize, + datasize: *mut size_t, freesrc: libc::c_int, ) -> *mut libc::c_void; } +extern "C" { + #[doc = " Load an entire file."] + #[doc = ""] + #[doc = " The data is allocated with a zero byte at the end (null terminated)"] + #[doc = ""] + #[doc = " If \\c datasize is not NULL, it is filled with the size of the data read."] + #[doc = ""] + #[doc = " If \\c freesrc is non-zero, the stream will be closed after being read."] + #[doc = ""] + #[doc = " The data should be freed with SDL_free()."] + #[doc = ""] + #[doc = " \\return the data, or NULL if there was an error."] + pub fn SDL_LoadFile(file: *const libc::c_char, datasize: *mut size_t) -> *mut libc::c_void; +} extern "C" { pub fn SDL_ReadU8(src: *mut SDL_RWops) -> Uint8; } @@ -2433,90 +2638,90 @@ extern "C" { pub fn SDL_ReadBE64(src: *mut SDL_RWops) -> Uint64; } extern "C" { - pub fn SDL_WriteU8(dst: *mut SDL_RWops, value: Uint8) -> usize; + pub fn SDL_WriteU8(dst: *mut SDL_RWops, value: Uint8) -> size_t; } extern "C" { - pub fn SDL_WriteLE16(dst: *mut SDL_RWops, value: Uint16) -> usize; + pub fn SDL_WriteLE16(dst: *mut SDL_RWops, value: Uint16) -> size_t; } extern "C" { - pub fn SDL_WriteBE16(dst: *mut SDL_RWops, value: Uint16) -> usize; + pub fn SDL_WriteBE16(dst: *mut SDL_RWops, value: Uint16) -> size_t; } extern "C" { - pub fn SDL_WriteLE32(dst: *mut SDL_RWops, value: Uint32) -> usize; + pub fn SDL_WriteLE32(dst: *mut SDL_RWops, value: Uint32) -> size_t; } extern "C" { - pub fn SDL_WriteBE32(dst: *mut SDL_RWops, value: Uint32) -> usize; + pub fn SDL_WriteBE32(dst: *mut SDL_RWops, value: Uint32) -> size_t; } extern "C" { - pub fn SDL_WriteLE64(dst: *mut SDL_RWops, value: Uint64) -> usize; + pub fn SDL_WriteLE64(dst: *mut SDL_RWops, value: Uint64) -> size_t; } extern "C" { - pub fn SDL_WriteBE64(dst: *mut SDL_RWops, value: Uint64) -> usize; + pub fn SDL_WriteBE64(dst: *mut SDL_RWops, value: Uint64) -> size_t; } -/// \brief Audio format flags. -/// -/// These are what the 16 bits in SDL_AudioFormat currently mean... -/// (Unspecified bits are always zero). -/// -/// \verbatim -///++-----------------------sample is signed if set -///|| -///|| ++-----------sample is bigendian if set -///|| || -///|| || ++---sample is float if set -///|| || || -///|| || || +---sample bit size---+ -///|| || || | | -///15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 -///\endverbatim -/// -/// There are macros in SDL 2.0 and later to query these bits. +#[doc = " \\brief Audio format flags."] +#[doc = ""] +#[doc = " These are what the 16 bits in SDL_AudioFormat currently mean..."] +#[doc = " (Unspecified bits are always zero)."] +#[doc = ""] +#[doc = " \\verbatim"] +#[doc = "++-----------------------sample is signed if set"] +#[doc = "||"] +#[doc = "|| ++-----------sample is bigendian if set"] +#[doc = "|| ||"] +#[doc = "|| || ++---sample is float if set"] +#[doc = "|| || ||"] +#[doc = "|| || || +---sample bit size---+"] +#[doc = "|| || || | |"] +#[doc = "15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00"] +#[doc = "\\endverbatim"] +#[doc = ""] +#[doc = " There are macros in SDL 2.0 and later to query these bits."] pub type SDL_AudioFormat = Uint16; -/// This function is called when the audio device needs more data. -/// -/// \param userdata An application-specific parameter saved in -/// the SDL_AudioSpec structure -/// \param stream A pointer to the audio data buffer. -/// \param len The length of that buffer in bytes. -/// -/// Once the callback returns, the buffer will no longer be valid. -/// Stereo samples are stored in a LRLRLR ordering. -/// -/// You can choose to avoid callbacks and use SDL_QueueAudio() instead, if -/// you like. Just open your audio device with a NULL callback. +#[doc = " This function is called when the audio device needs more data."] +#[doc = ""] +#[doc = " \\param userdata An application-specific parameter saved in"] +#[doc = " the SDL_AudioSpec structure"] +#[doc = " \\param stream A pointer to the audio data buffer."] +#[doc = " \\param len The length of that buffer in bytes."] +#[doc = ""] +#[doc = " Once the callback returns, the buffer will no longer be valid."] +#[doc = " Stereo samples are stored in a LRLRLR ordering."] +#[doc = ""] +#[doc = " You can choose to avoid callbacks and use SDL_QueueAudio() instead, if"] +#[doc = " you like. Just open your audio device with a NULL callback."] pub type SDL_AudioCallback = ::core::option::Option< unsafe extern "C" fn(userdata: *mut libc::c_void, stream: *mut Uint8, len: libc::c_int), >; -/// The calculated values in this structure are calculated by SDL_OpenAudio(). -/// -/// For multi-channel audio, the default SDL channel mapping is: -/// 2: FL FR (stereo) -/// 3: FL FR LFE (2.1 surround) -/// 4: FL FR BL BR (quad) -/// 5: FL FR FC BL BR (quad + center) -/// 6: FL FR FC LFE SL SR (5.1 surround - last two can also be BL BR) -/// 7: FL FR FC LFE BC SL SR (6.1 surround) -/// 8: FL FR FC LFE BL BR SL SR (7.1 surround) +#[doc = " The calculated values in this structure are calculated by SDL_OpenAudio()."] +#[doc = ""] +#[doc = " For multi-channel audio, the default SDL channel mapping is:"] +#[doc = " 2: FL FR (stereo)"] +#[doc = " 3: FL FR LFE (2.1 surround)"] +#[doc = " 4: FL FR BL BR (quad)"] +#[doc = " 5: FL FR FC BL BR (quad + center)"] +#[doc = " 6: FL FR FC LFE SL SR (5.1 surround - last two can also be BL BR)"] +#[doc = " 7: FL FR FC LFE BC SL SR (6.1 surround)"] +#[doc = " 8: FL FR FC LFE BL BR SL SR (7.1 surround)"] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_AudioSpec { - ///< DSP frequency -- samples per second + #[doc = "< DSP frequency -- samples per second"] pub freq: libc::c_int, - ///< Audio data format + #[doc = "< Audio data format"] pub format: SDL_AudioFormat, - ///< Number of channels: 1 mono, 2 stereo + #[doc = "< Number of channels: 1 mono, 2 stereo"] pub channels: Uint8, - ///< Audio buffer silence value (calculated) + #[doc = "< Audio buffer silence value (calculated)"] pub silence: Uint8, - ///< Audio buffer size in sample FRAMES (total samples divided by channel count) + #[doc = "< Audio buffer size in sample FRAMES (total samples divided by channel count)"] pub samples: Uint16, - ///< Necessary for some compile environments + #[doc = "< Necessary for some compile environments"] pub padding: Uint16, - ///< Audio buffer size in bytes (calculated) + #[doc = "< Audio buffer size in bytes (calculated)"] pub size: Uint32, - ///< Callback that feeds the audio device (NULL to use SDL_QueueAudio()). + #[doc = "< Callback that feeds the audio device (NULL to use SDL_QueueAudio())."] pub callback: SDL_AudioCallback, - ///< Userdata passed to callback (ignored for NULL callbacks). + #[doc = "< Userdata passed to callback (ignored for NULL callbacks)."] pub userdata: *mut libc::c_void, } #[test] @@ -2627,27 +2832,27 @@ pub type SDL_AudioFilter = #[repr(C, packed)] #[derive(Copy, Clone)] pub struct SDL_AudioCVT { - ///< Set to 1 if conversion possible + #[doc = "< Set to 1 if conversion possible"] pub needed: libc::c_int, - ///< Source audio format + #[doc = "< Source audio format"] pub src_format: SDL_AudioFormat, - ///< Target audio format + #[doc = "< Target audio format"] pub dst_format: SDL_AudioFormat, - ///< Rate conversion increment + #[doc = "< Rate conversion increment"] pub rate_incr: f64, - ///< Buffer to hold entire audio data + #[doc = "< Buffer to hold entire audio data"] pub buf: *mut Uint8, - ///< Length of original audio buffer + #[doc = "< Length of original audio buffer"] pub len: libc::c_int, - ///< Length of converted audio buffer + #[doc = "< Length of converted audio buffer"] pub len_cvt: libc::c_int, - ///< buffer must be len*len_mult big + #[doc = "< buffer must be len*len_mult big"] pub len_mult: libc::c_int, - ///< Given len, final size is len*len_ratio + #[doc = "< Given len, final size is len*len_ratio"] pub len_ratio: f64, - ///< NULL-terminated list of filter functions + #[doc = "< NULL-terminated list of filter functions"] pub filters: [SDL_AudioFilter; 10usize], - ///< Current audio conversion function + #[doc = "< Current audio conversion function"] pub filter_index: libc::c_int, } #[test] @@ -2786,106 +2991,106 @@ extern "C" { pub fn SDL_AudioQuit(); } extern "C" { - /// This function returns the name of the current audio driver, or NULL - /// if no driver has been initialized. + #[doc = " This function returns the name of the current audio driver, or NULL"] + #[doc = " if no driver has been initialized."] pub fn SDL_GetCurrentAudioDriver() -> *const libc::c_char; } extern "C" { - /// This function opens the audio device with the desired parameters, and - /// returns 0 if successful, placing the actual hardware parameters in the - /// structure pointed to by \c obtained. If \c obtained is NULL, the audio - /// data passed to the callback function will be guaranteed to be in the - /// requested format, and will be automatically converted to the hardware - /// audio format if necessary. This function returns -1 if it failed - /// to open the audio device, or couldn't set up the audio thread. - /// - /// When filling in the desired audio spec structure, - /// - \c desired->freq should be the desired audio frequency in samples-per- - /// second. - /// - \c desired->format should be the desired audio format. - /// - \c desired->samples is the desired size of the audio buffer, in - /// samples. This number should be a power of two, and may be adjusted by - /// the audio driver to a value more suitable for the hardware. Good values - /// seem to range between 512 and 8096 inclusive, depending on the - /// application and CPU speed. Smaller values yield faster response time, - /// but can lead to underflow if the application is doing heavy processing - /// and cannot fill the audio buffer in time. A stereo sample consists of - /// both right and left channels in LR ordering. - /// Note that the number of samples is directly related to time by the - /// following formula: \code ms = (samples*1000)/freq \endcode - /// - \c desired->size is the size in bytes of the audio buffer, and is - /// calculated by SDL_OpenAudio(). - /// - \c desired->silence is the value used to set the buffer to silence, - /// and is calculated by SDL_OpenAudio(). - /// - \c desired->callback should be set to a function that will be called - /// when the audio device is ready for more data. It is passed a pointer - /// to the audio buffer, and the length in bytes of the audio buffer. - /// This function usually runs in a separate thread, and so you should - /// protect data structures that it accesses by calling SDL_LockAudio() - /// and SDL_UnlockAudio() in your code. Alternately, you may pass a NULL - /// pointer here, and call SDL_QueueAudio() with some frequency, to queue - /// more audio samples to be played (or for capture devices, call - /// SDL_DequeueAudio() with some frequency, to obtain audio samples). - /// - \c desired->userdata is passed as the first parameter to your callback - /// function. If you passed a NULL callback, this value is ignored. - /// - /// The audio device starts out playing silence when it's opened, and should - /// be enabled for playing by calling \c SDL_PauseAudio(0) when you are ready - /// for your audio callback function to be called. Since the audio driver - /// may modify the requested size of the audio buffer, you should allocate - /// any local mixing buffers after you open the audio device. + #[doc = " This function opens the audio device with the desired parameters, and"] + #[doc = " returns 0 if successful, placing the actual hardware parameters in the"] + #[doc = " structure pointed to by \\c obtained. If \\c obtained is NULL, the audio"] + #[doc = " data passed to the callback function will be guaranteed to be in the"] + #[doc = " requested format, and will be automatically converted to the hardware"] + #[doc = " audio format if necessary. This function returns -1 if it failed"] + #[doc = " to open the audio device, or couldn't set up the audio thread."] + #[doc = ""] + #[doc = " When filling in the desired audio spec structure,"] + #[doc = " - \\c desired->freq should be the desired audio frequency in samples-per-"] + #[doc = " second."] + #[doc = " - \\c desired->format should be the desired audio format."] + #[doc = " - \\c desired->samples is the desired size of the audio buffer, in"] + #[doc = " samples. This number should be a power of two, and may be adjusted by"] + #[doc = " the audio driver to a value more suitable for the hardware. Good values"] + #[doc = " seem to range between 512 and 8096 inclusive, depending on the"] + #[doc = " application and CPU speed. Smaller values yield faster response time,"] + #[doc = " but can lead to underflow if the application is doing heavy processing"] + #[doc = " and cannot fill the audio buffer in time. A stereo sample consists of"] + #[doc = " both right and left channels in LR ordering."] + #[doc = " Note that the number of samples is directly related to time by the"] + #[doc = " following formula: \\code ms = (samples*1000)/freq \\endcode"] + #[doc = " - \\c desired->size is the size in bytes of the audio buffer, and is"] + #[doc = " calculated by SDL_OpenAudio()."] + #[doc = " - \\c desired->silence is the value used to set the buffer to silence,"] + #[doc = " and is calculated by SDL_OpenAudio()."] + #[doc = " - \\c desired->callback should be set to a function that will be called"] + #[doc = " when the audio device is ready for more data. It is passed a pointer"] + #[doc = " to the audio buffer, and the length in bytes of the audio buffer."] + #[doc = " This function usually runs in a separate thread, and so you should"] + #[doc = " protect data structures that it accesses by calling SDL_LockAudio()"] + #[doc = " and SDL_UnlockAudio() in your code. Alternately, you may pass a NULL"] + #[doc = " pointer here, and call SDL_QueueAudio() with some frequency, to queue"] + #[doc = " more audio samples to be played (or for capture devices, call"] + #[doc = " SDL_DequeueAudio() with some frequency, to obtain audio samples)."] + #[doc = " - \\c desired->userdata is passed as the first parameter to your callback"] + #[doc = " function. If you passed a NULL callback, this value is ignored."] + #[doc = ""] + #[doc = " The audio device starts out playing silence when it's opened, and should"] + #[doc = " be enabled for playing by calling \\c SDL_PauseAudio(0) when you are ready"] + #[doc = " for your audio callback function to be called. Since the audio driver"] + #[doc = " may modify the requested size of the audio buffer, you should allocate"] + #[doc = " any local mixing buffers after you open the audio device."] pub fn SDL_OpenAudio(desired: *mut SDL_AudioSpec, obtained: *mut SDL_AudioSpec) -> libc::c_int; } -/// SDL Audio Device IDs. -/// -/// A successful call to SDL_OpenAudio() is always device id 1, and legacy -/// SDL audio APIs assume you want this device ID. SDL_OpenAudioDevice() calls -/// always returns devices >= 2 on success. The legacy calls are good both -/// for backwards compatibility and when you don't care about multiple, -/// specific, or capture devices. +#[doc = " SDL Audio Device IDs."] +#[doc = ""] +#[doc = " A successful call to SDL_OpenAudio() is always device id 1, and legacy"] +#[doc = " SDL audio APIs assume you want this device ID. SDL_OpenAudioDevice() calls"] +#[doc = " always returns devices >= 2 on success. The legacy calls are good both"] +#[doc = " for backwards compatibility and when you don't care about multiple,"] +#[doc = " specific, or capture devices."] pub type SDL_AudioDeviceID = Uint32; extern "C" { - /// Get the number of available devices exposed by the current driver. - /// Only valid after a successfully initializing the audio subsystem. - /// Returns -1 if an explicit list of devices can't be determined; this is - /// not an error. For example, if SDL is set up to talk to a remote audio - /// server, it can't list every one available on the Internet, but it will - /// still allow a specific host to be specified to SDL_OpenAudioDevice(). - /// - /// In many common cases, when this function returns a value <= 0, it can still - /// successfully open the default device (NULL for first argument of - /// SDL_OpenAudioDevice()). + #[doc = " Get the number of available devices exposed by the current driver."] + #[doc = " Only valid after a successfully initializing the audio subsystem."] + #[doc = " Returns -1 if an explicit list of devices can't be determined; this is"] + #[doc = " not an error. For example, if SDL is set up to talk to a remote audio"] + #[doc = " server, it can't list every one available on the Internet, but it will"] + #[doc = " still allow a specific host to be specified to SDL_OpenAudioDevice()."] + #[doc = ""] + #[doc = " In many common cases, when this function returns a value <= 0, it can still"] + #[doc = " successfully open the default device (NULL for first argument of"] + #[doc = " SDL_OpenAudioDevice())."] pub fn SDL_GetNumAudioDevices(iscapture: libc::c_int) -> libc::c_int; } extern "C" { - /// Get the human-readable name of a specific audio device. - /// Must be a value between 0 and (number of audio devices-1). - /// Only valid after a successfully initializing the audio subsystem. - /// The values returned by this function reflect the latest call to - /// SDL_GetNumAudioDevices(); recall that function to redetect available - /// hardware. - /// - /// The string returned by this function is UTF-8 encoded, read-only, and - /// managed internally. You are not to free it. If you need to keep the - /// string for any length of time, you should make your own copy of it, as it - /// will be invalid next time any of several other SDL functions is called. + #[doc = " Get the human-readable name of a specific audio device."] + #[doc = " Must be a value between 0 and (number of audio devices-1)."] + #[doc = " Only valid after a successfully initializing the audio subsystem."] + #[doc = " The values returned by this function reflect the latest call to"] + #[doc = " SDL_GetNumAudioDevices(); recall that function to redetect available"] + #[doc = " hardware."] + #[doc = ""] + #[doc = " The string returned by this function is UTF-8 encoded, read-only, and"] + #[doc = " managed internally. You are not to free it. If you need to keep the"] + #[doc = " string for any length of time, you should make your own copy of it, as it"] + #[doc = " will be invalid next time any of several other SDL functions is called."] pub fn SDL_GetAudioDeviceName( index: libc::c_int, iscapture: libc::c_int, ) -> *const libc::c_char; } extern "C" { - /// Open a specific audio device. Passing in a device name of NULL requests - /// the most reasonable default (and is equivalent to calling SDL_OpenAudio()). - /// - /// The device name is a UTF-8 string reported by SDL_GetAudioDeviceName(), but - /// some drivers allow arbitrary and driver-specific strings, such as a - /// hostname/IP address for a remote audio server, or a filename in the - /// diskaudio driver. - /// - /// \return 0 on error, a valid device ID that is >= 2 on success. - /// - /// SDL_OpenAudio(), unlike this function, always acts on device ID 1. + #[doc = " Open a specific audio device. Passing in a device name of NULL requests"] + #[doc = " the most reasonable default (and is equivalent to calling SDL_OpenAudio())."] + #[doc = ""] + #[doc = " The device name is a UTF-8 string reported by SDL_GetAudioDeviceName(), but"] + #[doc = " some drivers allow arbitrary and driver-specific strings, such as a"] + #[doc = " hostname/IP address for a remote audio server, or a filename in the"] + #[doc = " diskaudio driver."] + #[doc = ""] + #[doc = " \\return 0 on error, a valid device ID that is >= 2 on success."] + #[doc = ""] + #[doc = " SDL_OpenAudio(), unlike this function, always acts on device ID 1."] pub fn SDL_OpenAudioDevice( device: *const libc::c_char, iscapture: libc::c_int, @@ -2914,23 +3119,56 @@ extern "C" { pub fn SDL_PauseAudioDevice(dev: SDL_AudioDeviceID, pause_on: libc::c_int); } extern "C" { - /// This function loads a WAVE from the data source, automatically freeing - /// that source if \c freesrc is non-zero. For example, to load a WAVE file, - /// you could do: - /// \code - /// SDL_LoadWAV_RW(SDL_RWFromFile("sample.wav", "rb"), 1, ...); - /// \endcode - /// - /// If this function succeeds, it returns the given SDL_AudioSpec, - /// filled with the audio data format of the wave data, and sets - /// \c *audio_buf to a malloc()'d buffer containing the audio data, - /// and sets \c *audio_len to the length of that audio buffer, in bytes. - /// You need to free the audio buffer with SDL_FreeWAV() when you are - /// done with it. - /// - /// This function returns NULL and sets the SDL error message if the - /// wave file cannot be opened, uses an unknown data format, or is - /// corrupt. Currently raw and MS-ADPCM WAVE files are supported. + #[doc = " \\brief Load the audio data of a WAVE file into memory"] + #[doc = ""] + #[doc = " Loading a WAVE file requires \\c src, \\c spec, \\c audio_buf and \\c audio_len"] + #[doc = " to be valid pointers. The entire data portion of the file is then loaded"] + #[doc = " into memory and decoded if necessary."] + #[doc = ""] + #[doc = " If \\c freesrc is non-zero, the data source gets automatically closed and"] + #[doc = " freed before the function returns."] + #[doc = ""] + #[doc = " Supported are RIFF WAVE files with the formats PCM (8, 16, 24, and 32 bits),"] + #[doc = " IEEE Float (32 bits), Microsoft ADPCM and IMA ADPCM (4 bits), and A-law and"] + #[doc = " \u{b5}-law (8 bits). Other formats are currently unsupported and cause an error."] + #[doc = ""] + #[doc = " If this function succeeds, the pointer returned by it is equal to \\c spec"] + #[doc = " and the pointer to the audio data allocated by the function is written to"] + #[doc = " \\c audio_buf and its length in bytes to \\c audio_len. The \\ref SDL_AudioSpec"] + #[doc = " members \\c freq, \\c channels, and \\c format are set to the values of the"] + #[doc = " audio data in the buffer. The \\c samples member is set to a sane default and"] + #[doc = " all others are set to zero."] + #[doc = ""] + #[doc = " It's necessary to use SDL_FreeWAV() to free the audio data returned in"] + #[doc = " \\c audio_buf when it is no longer used."] + #[doc = ""] + #[doc = " Because of the underspecification of the Waveform format, there are many"] + #[doc = " problematic files in the wild that cause issues with strict decoders. To"] + #[doc = " provide compatibility with these files, this decoder is lenient in regards"] + #[doc = " to the truncation of the file, the fact chunk, and the size of the RIFF"] + #[doc = " chunk. The hints SDL_HINT_WAVE_RIFF_CHUNK_SIZE, SDL_HINT_WAVE_TRUNCATION,"] + #[doc = " and SDL_HINT_WAVE_FACT_CHUNK can be used to tune the behavior of the"] + #[doc = " loading process."] + #[doc = ""] + #[doc = " Any file that is invalid (due to truncation, corruption, or wrong values in"] + #[doc = " the headers), too big, or unsupported causes an error. Additionally, any"] + #[doc = " critical I/O error from the data source will terminate the loading process"] + #[doc = " with an error. The function returns NULL on error and in all cases (with the"] + #[doc = " exception of \\c src being NULL), an appropriate error message will be set."] + #[doc = ""] + #[doc = " It is required that the data source supports seeking."] + #[doc = ""] + #[doc = " Example:"] + #[doc = " \\code"] + #[doc = " SDL_LoadWAV_RW(SDL_RWFromFile(\"sample.wav\", \"rb\"), 1, ...);"] + #[doc = " \\endcode"] + #[doc = ""] + #[doc = " \\param src The data source with the WAVE data"] + #[doc = " \\param freesrc A integer value that makes the function close the data source if non-zero"] + #[doc = " \\param spec A pointer filled with the audio format of the audio data"] + #[doc = " \\param audio_buf A pointer filled with the audio data allocated by the function"] + #[doc = " \\param audio_len A pointer filled with the length of the audio data buffer in bytes"] + #[doc = " \\return NULL on error, or non-NULL on success."] pub fn SDL_LoadWAV_RW( src: *mut SDL_RWops, freesrc: libc::c_int, @@ -2940,17 +3178,17 @@ extern "C" { ) -> *mut SDL_AudioSpec; } extern "C" { - /// This function frees data previously allocated with SDL_LoadWAV_RW() + #[doc = " This function frees data previously allocated with SDL_LoadWAV_RW()"] pub fn SDL_FreeWAV(audio_buf: *mut Uint8); } extern "C" { - /// This function takes a source format and rate and a destination format - /// and rate, and initializes the \c cvt structure with information needed - /// by SDL_ConvertAudio() to convert a buffer of audio data from one format - /// to the other. An unsupported format causes an error and -1 will be returned. - /// - /// \return 0 if no conversion is needed, 1 if the audio filter is set up, - /// or -1 on error. + #[doc = " This function takes a source format and rate and a destination format"] + #[doc = " and rate, and initializes the \\c cvt structure with information needed"] + #[doc = " by SDL_ConvertAudio() to convert a buffer of audio data from one format"] + #[doc = " to the other. An unsupported format causes an error and -1 will be returned."] + #[doc = ""] + #[doc = " \\return 0 if no conversion is needed, 1 if the audio filter is set up,"] + #[doc = " or -1 on error."] pub fn SDL_BuildAudioCVT( cvt: *mut SDL_AudioCVT, src_format: SDL_AudioFormat, @@ -2962,16 +3200,16 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// Once you have initialized the \c cvt structure using SDL_BuildAudioCVT(), - /// created an audio buffer \c cvt->buf, and filled it with \c cvt->len bytes of - /// audio data in the source format, this function will convert it in-place - /// to the desired format. - /// - /// The data conversion may expand the size of the audio data, so the buffer - /// \c cvt->buf should be allocated after the \c cvt structure is initialized by - /// SDL_BuildAudioCVT(), and should be \c cvt->len*cvt->len_mult bytes long. - /// - /// \return 0 on success or -1 if \c cvt->buf is NULL. + #[doc = " Once you have initialized the \\c cvt structure using SDL_BuildAudioCVT(),"] + #[doc = " created an audio buffer \\c cvt->buf, and filled it with \\c cvt->len bytes of"] + #[doc = " audio data in the source format, this function will convert it in-place"] + #[doc = " to the desired format."] + #[doc = ""] + #[doc = " The data conversion may expand the size of the audio data, so the buffer"] + #[doc = " \\c cvt->buf should be allocated after the \\c cvt structure is initialized by"] + #[doc = " SDL_BuildAudioCVT(), and should be \\c cvt->len*cvt->len_mult bytes long."] + #[doc = ""] + #[doc = " \\return 0 on success or -1 if \\c cvt->buf is NULL."] pub fn SDL_ConvertAudio(cvt: *mut SDL_AudioCVT) -> libc::c_int; } #[repr(C)] @@ -2981,22 +3219,22 @@ pub struct _SDL_AudioStream { } pub type SDL_AudioStream = _SDL_AudioStream; extern "C" { - /// Create a new audio stream - /// - /// \param src_format The format of the source audio - /// \param src_channels The number of channels of the source audio - /// \param src_rate The sampling rate of the source audio - /// \param dst_format The format of the desired audio output - /// \param dst_channels The number of channels of the desired audio output - /// \param dst_rate The sampling rate of the desired audio output - /// \return 0 on success, or -1 on error. - /// - /// \sa SDL_AudioStreamPut - /// \sa SDL_AudioStreamGet - /// \sa SDL_AudioStreamAvailable - /// \sa SDL_AudioStreamFlush - /// \sa SDL_AudioStreamClear - /// \sa SDL_FreeAudioStream + #[doc = " Create a new audio stream"] + #[doc = ""] + #[doc = " \\param src_format The format of the source audio"] + #[doc = " \\param src_channels The number of channels of the source audio"] + #[doc = " \\param src_rate The sampling rate of the source audio"] + #[doc = " \\param dst_format The format of the desired audio output"] + #[doc = " \\param dst_channels The number of channels of the desired audio output"] + #[doc = " \\param dst_rate The sampling rate of the desired audio output"] + #[doc = " \\return 0 on success, or -1 on error."] + #[doc = ""] + #[doc = " \\sa SDL_AudioStreamPut"] + #[doc = " \\sa SDL_AudioStreamGet"] + #[doc = " \\sa SDL_AudioStreamAvailable"] + #[doc = " \\sa SDL_AudioStreamFlush"] + #[doc = " \\sa SDL_AudioStreamClear"] + #[doc = " \\sa SDL_FreeAudioStream"] pub fn SDL_NewAudioStream( src_format: SDL_AudioFormat, src_channels: Uint8, @@ -3007,19 +3245,19 @@ extern "C" { ) -> *mut SDL_AudioStream; } extern "C" { - /// Add data to be converted/resampled to the stream - /// - /// \param stream The stream the audio data is being added to - /// \param buf A pointer to the audio data to add - /// \param len The number of bytes to write to the stream - /// \return 0 on success, or -1 on error. - /// - /// \sa SDL_NewAudioStream - /// \sa SDL_AudioStreamGet - /// \sa SDL_AudioStreamAvailable - /// \sa SDL_AudioStreamFlush - /// \sa SDL_AudioStreamClear - /// \sa SDL_FreeAudioStream + #[doc = " Add data to be converted/resampled to the stream"] + #[doc = ""] + #[doc = " \\param stream The stream the audio data is being added to"] + #[doc = " \\param buf A pointer to the audio data to add"] + #[doc = " \\param len The number of bytes to write to the stream"] + #[doc = " \\return 0 on success, or -1 on error."] + #[doc = ""] + #[doc = " \\sa SDL_NewAudioStream"] + #[doc = " \\sa SDL_AudioStreamGet"] + #[doc = " \\sa SDL_AudioStreamAvailable"] + #[doc = " \\sa SDL_AudioStreamFlush"] + #[doc = " \\sa SDL_AudioStreamClear"] + #[doc = " \\sa SDL_FreeAudioStream"] pub fn SDL_AudioStreamPut( stream: *mut SDL_AudioStream, buf: *const libc::c_void, @@ -3027,19 +3265,19 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// Get converted/resampled data from the stream - /// - /// \param stream The stream the audio is being requested from - /// \param buf A buffer to fill with audio data - /// \param len The maximum number of bytes to fill - /// \return The number of bytes read from the stream, or -1 on error - /// - /// \sa SDL_NewAudioStream - /// \sa SDL_AudioStreamPut - /// \sa SDL_AudioStreamAvailable - /// \sa SDL_AudioStreamFlush - /// \sa SDL_AudioStreamClear - /// \sa SDL_FreeAudioStream + #[doc = " Get converted/resampled data from the stream"] + #[doc = ""] + #[doc = " \\param stream The stream the audio is being requested from"] + #[doc = " \\param buf A buffer to fill with audio data"] + #[doc = " \\param len The maximum number of bytes to fill"] + #[doc = " \\return The number of bytes read from the stream, or -1 on error"] + #[doc = ""] + #[doc = " \\sa SDL_NewAudioStream"] + #[doc = " \\sa SDL_AudioStreamPut"] + #[doc = " \\sa SDL_AudioStreamAvailable"] + #[doc = " \\sa SDL_AudioStreamFlush"] + #[doc = " \\sa SDL_AudioStreamClear"] + #[doc = " \\sa SDL_FreeAudioStream"] pub fn SDL_AudioStreamGet( stream: *mut SDL_AudioStream, buf: *mut libc::c_void, @@ -3047,69 +3285,69 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// Get the number of converted/resampled bytes available. The stream may be - /// buffering data behind the scenes until it has enough to resample - /// correctly, so this number might be lower than what you expect, or even - /// be zero. Add more data or flush the stream if you need the data now. - /// - /// \sa SDL_NewAudioStream - /// \sa SDL_AudioStreamPut - /// \sa SDL_AudioStreamGet - /// \sa SDL_AudioStreamFlush - /// \sa SDL_AudioStreamClear - /// \sa SDL_FreeAudioStream + #[doc = " Get the number of converted/resampled bytes available. The stream may be"] + #[doc = " buffering data behind the scenes until it has enough to resample"] + #[doc = " correctly, so this number might be lower than what you expect, or even"] + #[doc = " be zero. Add more data or flush the stream if you need the data now."] + #[doc = ""] + #[doc = " \\sa SDL_NewAudioStream"] + #[doc = " \\sa SDL_AudioStreamPut"] + #[doc = " \\sa SDL_AudioStreamGet"] + #[doc = " \\sa SDL_AudioStreamFlush"] + #[doc = " \\sa SDL_AudioStreamClear"] + #[doc = " \\sa SDL_FreeAudioStream"] pub fn SDL_AudioStreamAvailable(stream: *mut SDL_AudioStream) -> libc::c_int; } extern "C" { - /// Tell the stream that you're done sending data, and anything being buffered - /// should be converted/resampled and made available immediately. - /// - /// It is legal to add more data to a stream after flushing, but there will - /// be audio gaps in the output. Generally this is intended to signal the - /// end of input, so the complete output becomes available. - /// - /// \sa SDL_NewAudioStream - /// \sa SDL_AudioStreamPut - /// \sa SDL_AudioStreamGet - /// \sa SDL_AudioStreamAvailable - /// \sa SDL_AudioStreamClear - /// \sa SDL_FreeAudioStream + #[doc = " Tell the stream that you're done sending data, and anything being buffered"] + #[doc = " should be converted/resampled and made available immediately."] + #[doc = ""] + #[doc = " It is legal to add more data to a stream after flushing, but there will"] + #[doc = " be audio gaps in the output. Generally this is intended to signal the"] + #[doc = " end of input, so the complete output becomes available."] + #[doc = ""] + #[doc = " \\sa SDL_NewAudioStream"] + #[doc = " \\sa SDL_AudioStreamPut"] + #[doc = " \\sa SDL_AudioStreamGet"] + #[doc = " \\sa SDL_AudioStreamAvailable"] + #[doc = " \\sa SDL_AudioStreamClear"] + #[doc = " \\sa SDL_FreeAudioStream"] pub fn SDL_AudioStreamFlush(stream: *mut SDL_AudioStream) -> libc::c_int; } extern "C" { - /// Clear any pending data in the stream without converting it - /// - /// \sa SDL_NewAudioStream - /// \sa SDL_AudioStreamPut - /// \sa SDL_AudioStreamGet - /// \sa SDL_AudioStreamAvailable - /// \sa SDL_AudioStreamFlush - /// \sa SDL_FreeAudioStream + #[doc = " Clear any pending data in the stream without converting it"] + #[doc = ""] + #[doc = " \\sa SDL_NewAudioStream"] + #[doc = " \\sa SDL_AudioStreamPut"] + #[doc = " \\sa SDL_AudioStreamGet"] + #[doc = " \\sa SDL_AudioStreamAvailable"] + #[doc = " \\sa SDL_AudioStreamFlush"] + #[doc = " \\sa SDL_FreeAudioStream"] pub fn SDL_AudioStreamClear(stream: *mut SDL_AudioStream); } extern "C" { - /// Free an audio stream - /// - /// \sa SDL_NewAudioStream - /// \sa SDL_AudioStreamPut - /// \sa SDL_AudioStreamGet - /// \sa SDL_AudioStreamAvailable - /// \sa SDL_AudioStreamFlush - /// \sa SDL_AudioStreamClear + #[doc = " Free an audio stream"] + #[doc = ""] + #[doc = " \\sa SDL_NewAudioStream"] + #[doc = " \\sa SDL_AudioStreamPut"] + #[doc = " \\sa SDL_AudioStreamGet"] + #[doc = " \\sa SDL_AudioStreamAvailable"] + #[doc = " \\sa SDL_AudioStreamFlush"] + #[doc = " \\sa SDL_AudioStreamClear"] pub fn SDL_FreeAudioStream(stream: *mut SDL_AudioStream); } extern "C" { - /// This takes two audio buffers of the playing audio format and mixes - /// them, performing addition, volume adjustment, and overflow clipping. - /// The volume ranges from 0 - 128, and should be set to ::SDL_MIX_MAXVOLUME - /// for full audio volume. Note this does not change hardware volume. - /// This is provided for convenience -- you can mix your own audio data. + #[doc = " This takes two audio buffers of the playing audio format and mixes"] + #[doc = " them, performing addition, volume adjustment, and overflow clipping."] + #[doc = " The volume ranges from 0 - 128, and should be set to ::SDL_MIX_MAXVOLUME"] + #[doc = " for full audio volume. Note this does not change hardware volume."] + #[doc = " This is provided for convenience -- you can mix your own audio data."] pub fn SDL_MixAudio(dst: *mut Uint8, src: *const Uint8, len: Uint32, volume: libc::c_int); } extern "C" { - /// This works like SDL_MixAudio(), but you specify the audio format instead of - /// using the format of audio device 1. Thus it can be used when no audio - /// device is open at all. + #[doc = " This works like SDL_MixAudio(), but you specify the audio format instead of"] + #[doc = " using the format of audio device 1. Thus it can be used when no audio"] + #[doc = " device is open at all."] pub fn SDL_MixAudioFormat( dst: *mut Uint8, src: *const Uint8, @@ -3119,43 +3357,43 @@ extern "C" { ); } extern "C" { - /// Queue more audio on non-callback devices. - /// - /// (If you are looking to retrieve queued audio from a non-callback capture - /// device, you want SDL_DequeueAudio() instead. This will return -1 to - /// signify an error if you use it with capture devices.) - /// - /// SDL offers two ways to feed audio to the device: you can either supply a - /// callback that SDL triggers with some frequency to obtain more audio - /// (pull method), or you can supply no callback, and then SDL will expect - /// you to supply data at regular intervals (push method) with this function. - /// - /// There are no limits on the amount of data you can queue, short of - /// exhaustion of address space. Queued data will drain to the device as - /// necessary without further intervention from you. If the device needs - /// audio but there is not enough queued, it will play silence to make up - /// the difference. This means you will have skips in your audio playback - /// if you aren't routinely queueing sufficient data. - /// - /// This function copies the supplied data, so you are safe to free it when - /// the function returns. This function is thread-safe, but queueing to the - /// same device from two threads at once does not promise which buffer will - /// be queued first. - /// - /// You may not queue audio on a device that is using an application-supplied - /// callback; doing so returns an error. You have to use the audio callback - /// or queue audio with this function, but not both. - /// - /// You should not call SDL_LockAudio() on the device before queueing; SDL - /// handles locking internally for this function. - /// - /// \param dev The device ID to which we will queue audio. - /// \param data The data to queue to the device for later playback. - /// \param len The number of bytes (not samples!) to which (data) points. - /// \return 0 on success, or -1 on error. - /// - /// \sa SDL_GetQueuedAudioSize - /// \sa SDL_ClearQueuedAudio + #[doc = " Queue more audio on non-callback devices."] + #[doc = ""] + #[doc = " (If you are looking to retrieve queued audio from a non-callback capture"] + #[doc = " device, you want SDL_DequeueAudio() instead. This will return -1 to"] + #[doc = " signify an error if you use it with capture devices.)"] + #[doc = ""] + #[doc = " SDL offers two ways to feed audio to the device: you can either supply a"] + #[doc = " callback that SDL triggers with some frequency to obtain more audio"] + #[doc = " (pull method), or you can supply no callback, and then SDL will expect"] + #[doc = " you to supply data at regular intervals (push method) with this function."] + #[doc = ""] + #[doc = " There are no limits on the amount of data you can queue, short of"] + #[doc = " exhaustion of address space. Queued data will drain to the device as"] + #[doc = " necessary without further intervention from you. If the device needs"] + #[doc = " audio but there is not enough queued, it will play silence to make up"] + #[doc = " the difference. This means you will have skips in your audio playback"] + #[doc = " if you aren't routinely queueing sufficient data."] + #[doc = ""] + #[doc = " This function copies the supplied data, so you are safe to free it when"] + #[doc = " the function returns. This function is thread-safe, but queueing to the"] + #[doc = " same device from two threads at once does not promise which buffer will"] + #[doc = " be queued first."] + #[doc = ""] + #[doc = " You may not queue audio on a device that is using an application-supplied"] + #[doc = " callback; doing so returns an error. You have to use the audio callback"] + #[doc = " or queue audio with this function, but not both."] + #[doc = ""] + #[doc = " You should not call SDL_LockAudio() on the device before queueing; SDL"] + #[doc = " handles locking internally for this function."] + #[doc = ""] + #[doc = " \\param dev The device ID to which we will queue audio."] + #[doc = " \\param data The data to queue to the device for later playback."] + #[doc = " \\param len The number of bytes (not samples!) to which (data) points."] + #[doc = " \\return 0 on success, or -1 on error."] + #[doc = ""] + #[doc = " \\sa SDL_GetQueuedAudioSize"] + #[doc = " \\sa SDL_ClearQueuedAudio"] pub fn SDL_QueueAudio( dev: SDL_AudioDeviceID, data: *const libc::c_void, @@ -3163,119 +3401,119 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// Dequeue more audio on non-callback devices. - /// - /// (If you are looking to queue audio for output on a non-callback playback - /// device, you want SDL_QueueAudio() instead. This will always return 0 - /// if you use it with playback devices.) - /// - /// SDL offers two ways to retrieve audio from a capture device: you can - /// either supply a callback that SDL triggers with some frequency as the - /// device records more audio data, (push method), or you can supply no - /// callback, and then SDL will expect you to retrieve data at regular - /// intervals (pull method) with this function. - /// - /// There are no limits on the amount of data you can queue, short of - /// exhaustion of address space. Data from the device will keep queuing as - /// necessary without further intervention from you. This means you will - /// eventually run out of memory if you aren't routinely dequeueing data. - /// - /// Capture devices will not queue data when paused; if you are expecting - /// to not need captured audio for some length of time, use - /// SDL_PauseAudioDevice() to stop the capture device from queueing more - /// data. This can be useful during, say, level loading times. When - /// unpaused, capture devices will start queueing data from that point, - /// having flushed any capturable data available while paused. - /// - /// This function is thread-safe, but dequeueing from the same device from - /// two threads at once does not promise which thread will dequeued data - /// first. - /// - /// You may not dequeue audio from a device that is using an - /// application-supplied callback; doing so returns an error. You have to use - /// the audio callback, or dequeue audio with this function, but not both. - /// - /// You should not call SDL_LockAudio() on the device before queueing; SDL - /// handles locking internally for this function. - /// - /// \param dev The device ID from which we will dequeue audio. - /// \param data A pointer into where audio data should be copied. - /// \param len The number of bytes (not samples!) to which (data) points. - /// \return number of bytes dequeued, which could be less than requested. - /// - /// \sa SDL_GetQueuedAudioSize - /// \sa SDL_ClearQueuedAudio + #[doc = " Dequeue more audio on non-callback devices."] + #[doc = ""] + #[doc = " (If you are looking to queue audio for output on a non-callback playback"] + #[doc = " device, you want SDL_QueueAudio() instead. This will always return 0"] + #[doc = " if you use it with playback devices.)"] + #[doc = ""] + #[doc = " SDL offers two ways to retrieve audio from a capture device: you can"] + #[doc = " either supply a callback that SDL triggers with some frequency as the"] + #[doc = " device records more audio data, (push method), or you can supply no"] + #[doc = " callback, and then SDL will expect you to retrieve data at regular"] + #[doc = " intervals (pull method) with this function."] + #[doc = ""] + #[doc = " There are no limits on the amount of data you can queue, short of"] + #[doc = " exhaustion of address space. Data from the device will keep queuing as"] + #[doc = " necessary without further intervention from you. This means you will"] + #[doc = " eventually run out of memory if you aren't routinely dequeueing data."] + #[doc = ""] + #[doc = " Capture devices will not queue data when paused; if you are expecting"] + #[doc = " to not need captured audio for some length of time, use"] + #[doc = " SDL_PauseAudioDevice() to stop the capture device from queueing more"] + #[doc = " data. This can be useful during, say, level loading times. When"] + #[doc = " unpaused, capture devices will start queueing data from that point,"] + #[doc = " having flushed any capturable data available while paused."] + #[doc = ""] + #[doc = " This function is thread-safe, but dequeueing from the same device from"] + #[doc = " two threads at once does not promise which thread will dequeued data"] + #[doc = " first."] + #[doc = ""] + #[doc = " You may not dequeue audio from a device that is using an"] + #[doc = " application-supplied callback; doing so returns an error. You have to use"] + #[doc = " the audio callback, or dequeue audio with this function, but not both."] + #[doc = ""] + #[doc = " You should not call SDL_LockAudio() on the device before queueing; SDL"] + #[doc = " handles locking internally for this function."] + #[doc = ""] + #[doc = " \\param dev The device ID from which we will dequeue audio."] + #[doc = " \\param data A pointer into where audio data should be copied."] + #[doc = " \\param len The number of bytes (not samples!) to which (data) points."] + #[doc = " \\return number of bytes dequeued, which could be less than requested."] + #[doc = ""] + #[doc = " \\sa SDL_GetQueuedAudioSize"] + #[doc = " \\sa SDL_ClearQueuedAudio"] pub fn SDL_DequeueAudio(dev: SDL_AudioDeviceID, data: *mut libc::c_void, len: Uint32) -> Uint32; } extern "C" { - /// Get the number of bytes of still-queued audio. - /// - /// For playback device: - /// - /// This is the number of bytes that have been queued for playback with - /// SDL_QueueAudio(), but have not yet been sent to the hardware. This - /// number may shrink at any time, so this only informs of pending data. - /// - /// Once we've sent it to the hardware, this function can not decide the - /// exact byte boundary of what has been played. It's possible that we just - /// gave the hardware several kilobytes right before you called this - /// function, but it hasn't played any of it yet, or maybe half of it, etc. - /// - /// For capture devices: - /// - /// This is the number of bytes that have been captured by the device and - /// are waiting for you to dequeue. This number may grow at any time, so - /// this only informs of the lower-bound of available data. - /// - /// You may not queue audio on a device that is using an application-supplied - /// callback; calling this function on such a device always returns 0. - /// You have to queue audio with SDL_QueueAudio()/SDL_DequeueAudio(), or use - /// the audio callback, but not both. - /// - /// You should not call SDL_LockAudio() on the device before querying; SDL - /// handles locking internally for this function. - /// - /// \param dev The device ID of which we will query queued audio size. - /// \return Number of bytes (not samples!) of queued audio. - /// - /// \sa SDL_QueueAudio - /// \sa SDL_ClearQueuedAudio + #[doc = " Get the number of bytes of still-queued audio."] + #[doc = ""] + #[doc = " For playback device:"] + #[doc = ""] + #[doc = " This is the number of bytes that have been queued for playback with"] + #[doc = " SDL_QueueAudio(), but have not yet been sent to the hardware. This"] + #[doc = " number may shrink at any time, so this only informs of pending data."] + #[doc = ""] + #[doc = " Once we've sent it to the hardware, this function can not decide the"] + #[doc = " exact byte boundary of what has been played. It's possible that we just"] + #[doc = " gave the hardware several kilobytes right before you called this"] + #[doc = " function, but it hasn't played any of it yet, or maybe half of it, etc."] + #[doc = ""] + #[doc = " For capture devices:"] + #[doc = ""] + #[doc = " This is the number of bytes that have been captured by the device and"] + #[doc = " are waiting for you to dequeue. This number may grow at any time, so"] + #[doc = " this only informs of the lower-bound of available data."] + #[doc = ""] + #[doc = " You may not queue audio on a device that is using an application-supplied"] + #[doc = " callback; calling this function on such a device always returns 0."] + #[doc = " You have to queue audio with SDL_QueueAudio()/SDL_DequeueAudio(), or use"] + #[doc = " the audio callback, but not both."] + #[doc = ""] + #[doc = " You should not call SDL_LockAudio() on the device before querying; SDL"] + #[doc = " handles locking internally for this function."] + #[doc = ""] + #[doc = " \\param dev The device ID of which we will query queued audio size."] + #[doc = " \\return Number of bytes (not samples!) of queued audio."] + #[doc = ""] + #[doc = " \\sa SDL_QueueAudio"] + #[doc = " \\sa SDL_ClearQueuedAudio"] pub fn SDL_GetQueuedAudioSize(dev: SDL_AudioDeviceID) -> Uint32; } extern "C" { - /// Drop any queued audio data. For playback devices, this is any queued data - /// still waiting to be submitted to the hardware. For capture devices, this - /// is any data that was queued by the device that hasn't yet been dequeued by - /// the application. - /// - /// Immediately after this call, SDL_GetQueuedAudioSize() will return 0. For - /// playback devices, the hardware will start playing silence if more audio - /// isn't queued. Unpaused capture devices will start filling the queue again - /// as soon as they have more data available (which, depending on the state - /// of the hardware and the thread, could be before this function call - /// returns!). - /// - /// This will not prevent playback of queued audio that's already been sent - /// to the hardware, as we can not undo that, so expect there to be some - /// fraction of a second of audio that might still be heard. This can be - /// useful if you want to, say, drop any pending music during a level change - /// in your game. - /// - /// You may not queue audio on a device that is using an application-supplied - /// callback; calling this function on such a device is always a no-op. - /// You have to queue audio with SDL_QueueAudio()/SDL_DequeueAudio(), or use - /// the audio callback, but not both. - /// - /// You should not call SDL_LockAudio() on the device before clearing the - /// queue; SDL handles locking internally for this function. - /// - /// This function always succeeds and thus returns void. - /// - /// \param dev The device ID of which to clear the audio queue. - /// - /// \sa SDL_QueueAudio - /// \sa SDL_GetQueuedAudioSize + #[doc = " Drop any queued audio data. For playback devices, this is any queued data"] + #[doc = " still waiting to be submitted to the hardware. For capture devices, this"] + #[doc = " is any data that was queued by the device that hasn't yet been dequeued by"] + #[doc = " the application."] + #[doc = ""] + #[doc = " Immediately after this call, SDL_GetQueuedAudioSize() will return 0. For"] + #[doc = " playback devices, the hardware will start playing silence if more audio"] + #[doc = " isn't queued. Unpaused capture devices will start filling the queue again"] + #[doc = " as soon as they have more data available (which, depending on the state"] + #[doc = " of the hardware and the thread, could be before this function call"] + #[doc = " returns!)."] + #[doc = ""] + #[doc = " This will not prevent playback of queued audio that's already been sent"] + #[doc = " to the hardware, as we can not undo that, so expect there to be some"] + #[doc = " fraction of a second of audio that might still be heard. This can be"] + #[doc = " useful if you want to, say, drop any pending music during a level change"] + #[doc = " in your game."] + #[doc = ""] + #[doc = " You may not queue audio on a device that is using an application-supplied"] + #[doc = " callback; calling this function on such a device is always a no-op."] + #[doc = " You have to queue audio with SDL_QueueAudio()/SDL_DequeueAudio(), or use"] + #[doc = " the audio callback, but not both."] + #[doc = ""] + #[doc = " You should not call SDL_LockAudio() on the device before clearing the"] + #[doc = " queue; SDL handles locking internally for this function."] + #[doc = ""] + #[doc = " This function always succeeds and thus returns void."] + #[doc = ""] + #[doc = " \\param dev The device ID of which to clear the audio queue."] + #[doc = ""] + #[doc = " \\sa SDL_QueueAudio"] + #[doc = " \\sa SDL_GetQueuedAudioSize"] pub fn SDL_ClearQueuedAudio(dev: SDL_AudioDeviceID); } extern "C" { @@ -3291,28 +3529,28 @@ extern "C" { pub fn SDL_UnlockAudioDevice(dev: SDL_AudioDeviceID); } extern "C" { - /// This function shuts down audio processing and closes the audio device. + #[doc = " This function shuts down audio processing and closes the audio device."] pub fn SDL_CloseAudio(); } extern "C" { pub fn SDL_CloseAudioDevice(dev: SDL_AudioDeviceID); } extern "C" { - /// \brief Put UTF-8 text into the clipboard - /// - /// \sa SDL_GetClipboardText() + #[doc = " \\brief Put UTF-8 text into the clipboard"] + #[doc = ""] + #[doc = " \\sa SDL_GetClipboardText()"] pub fn SDL_SetClipboardText(text: *const libc::c_char) -> libc::c_int; } extern "C" { - /// \brief Get UTF-8 text from the clipboard, which must be freed with SDL_free() - /// - /// \sa SDL_SetClipboardText() + #[doc = " \\brief Get UTF-8 text from the clipboard, which must be freed with SDL_free()"] + #[doc = ""] + #[doc = " \\sa SDL_SetClipboardText()"] pub fn SDL_GetClipboardText() -> *mut libc::c_char; } extern "C" { - /// \brief Returns a flag indicating whether the clipboard exists and contains a text string that is non-empty - /// - /// \sa SDL_GetClipboardText() + #[doc = " \\brief Returns a flag indicating whether the clipboard exists and contains a text string that is non-empty"] + #[doc = ""] + #[doc = " \\sa SDL_GetClipboardText()"] pub fn SDL_HasClipboardText() -> SDL_bool; } pub type __m64 = [libc::c_longlong; 1usize]; @@ -3323,11 +3561,12 @@ pub type __v8qi = [libc::c_char; 8usize]; pub type __v4si = [libc::c_int; 4usize]; pub type __v4sf = [f32; 4usize]; pub type __m128 = [f32; 4usize]; +pub type __m128_u = [f32; 4usize]; pub type __v4su = [libc::c_uint; 4usize]; pub type _Float32 = f32; pub type _Float64 = f64; pub type _Float32x = f64; -pub type _Float64x = f64; +pub type _Float64x = u128; #[repr(C)] #[derive(Copy, Clone)] pub struct div_t { @@ -3446,7 +3685,7 @@ fn bindgen_test_layout_lldiv_t() { ); } extern "C" { - pub fn __ctype_get_mb_cur_max() -> usize; + pub fn __ctype_get_mb_cur_max() -> size_t; } extern "C" { pub fn atof(__nptr: *const libc::c_char) -> f64; @@ -3467,7 +3706,7 @@ extern "C" { pub fn strtof(__nptr: *const libc::c_char, __endptr: *mut *mut libc::c_char) -> f32; } extern "C" { - pub fn strtold(__nptr: *const libc::c_char, __endptr: *mut *mut libc::c_char) -> f64; + pub fn strtold(__nptr: *const libc::c_char, __endptr: *mut *mut libc::c_char) -> u128; } extern "C" { pub fn strtol( @@ -3534,6 +3773,7 @@ pub type uid_t = __uid_t; pub type off_t = __off_t; pub type pid_t = __pid_t; pub type id_t = __id_t; +pub type ssize_t = __ssize_t; pub type daddr_t = __daddr_t; pub type caddr_t = __caddr_t; pub type key_t = __key_t; @@ -3544,10 +3784,10 @@ pub type timer_t = __timer_t; pub type ulong = libc::c_ulong; pub type ushort = libc::c_ushort; pub type uint = libc::c_uint; -pub type u_int8_t = libc::c_uchar; -pub type u_int16_t = libc::c_ushort; -pub type u_int32_t = libc::c_uint; -pub type u_int64_t = libc::c_ulong; +pub type u_int8_t = __uint8_t; +pub type u_int16_t = __uint16_t; +pub type u_int32_t = __uint32_t; +pub type u_int64_t = __uint64_t; pub type register_t = libc::c_long; #[repr(C)] #[derive(Copy, Clone)] @@ -3712,6 +3952,182 @@ pub type fsblkcnt_t = __fsblkcnt_t; pub type fsfilcnt_t = __fsfilcnt_t; #[repr(C)] #[derive(Copy, Clone)] +pub struct __pthread_internal_list { + pub __prev: *mut __pthread_internal_list, + pub __next: *mut __pthread_internal_list, +} +#[test] +fn bindgen_test_layout___pthread_internal_list() { + assert_eq!( + ::core::mem::size_of::<__pthread_internal_list>(), + 16usize, + concat!("Size of: ", stringify!(__pthread_internal_list)) + ); + assert_eq!( + ::core::mem::align_of::<__pthread_internal_list>(), + 8usize, + concat!("Alignment of ", stringify!(__pthread_internal_list)) + ); + assert_eq!( + unsafe { &(*(::core::ptr::null::<__pthread_internal_list>())).__prev as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__pthread_internal_list), + "::", + stringify!(__prev) + ) + ); + assert_eq!( + unsafe { &(*(::core::ptr::null::<__pthread_internal_list>())).__next as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(__pthread_internal_list), + "::", + stringify!(__next) + ) + ); +} +pub type __pthread_list_t = __pthread_internal_list; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct __pthread_internal_slist { + pub __next: *mut __pthread_internal_slist, +} +#[test] +fn bindgen_test_layout___pthread_internal_slist() { + assert_eq!( + ::core::mem::size_of::<__pthread_internal_slist>(), + 8usize, + concat!("Size of: ", stringify!(__pthread_internal_slist)) + ); + assert_eq!( + ::core::mem::align_of::<__pthread_internal_slist>(), + 8usize, + concat!("Alignment of ", stringify!(__pthread_internal_slist)) + ); + assert_eq!( + unsafe { + &(*(::core::ptr::null::<__pthread_internal_slist>())).__next as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__pthread_internal_slist), + "::", + stringify!(__next) + ) + ); +} +pub type __pthread_slist_t = __pthread_internal_slist; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct __pthread_mutex_s { + pub __lock: libc::c_int, + pub __count: libc::c_uint, + pub __owner: libc::c_int, + pub __nusers: libc::c_uint, + pub __kind: libc::c_int, + pub __spins: libc::c_short, + pub __elision: libc::c_short, + pub __list: __pthread_list_t, +} +#[test] +fn bindgen_test_layout___pthread_mutex_s() { + assert_eq!( + ::core::mem::size_of::<__pthread_mutex_s>(), + 40usize, + concat!("Size of: ", stringify!(__pthread_mutex_s)) + ); + assert_eq!( + ::core::mem::align_of::<__pthread_mutex_s>(), + 8usize, + concat!("Alignment of ", stringify!(__pthread_mutex_s)) + ); + assert_eq!( + unsafe { &(*(::core::ptr::null::<__pthread_mutex_s>())).__lock as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__pthread_mutex_s), + "::", + stringify!(__lock) + ) + ); + assert_eq!( + unsafe { &(*(::core::ptr::null::<__pthread_mutex_s>())).__count as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(__pthread_mutex_s), + "::", + stringify!(__count) + ) + ); + assert_eq!( + unsafe { &(*(::core::ptr::null::<__pthread_mutex_s>())).__owner as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(__pthread_mutex_s), + "::", + stringify!(__owner) + ) + ); + assert_eq!( + unsafe { &(*(::core::ptr::null::<__pthread_mutex_s>())).__nusers as *const _ as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(__pthread_mutex_s), + "::", + stringify!(__nusers) + ) + ); + assert_eq!( + unsafe { &(*(::core::ptr::null::<__pthread_mutex_s>())).__kind as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(__pthread_mutex_s), + "::", + stringify!(__kind) + ) + ); + assert_eq!( + unsafe { &(*(::core::ptr::null::<__pthread_mutex_s>())).__spins as *const _ as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(__pthread_mutex_s), + "::", + stringify!(__spins) + ) + ); + assert_eq!( + unsafe { &(*(::core::ptr::null::<__pthread_mutex_s>())).__elision as *const _ as usize }, + 22usize, + concat!( + "Offset of field: ", + stringify!(__pthread_mutex_s), + "::", + stringify!(__elision) + ) + ); + assert_eq!( + unsafe { &(*(::core::ptr::null::<__pthread_mutex_s>())).__list as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(__pthread_mutex_s), + "::", + stringify!(__list) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] pub struct __pthread_rwlock_arch_t { pub __readers: libc::c_uint, pub __writers: libc::c_uint, @@ -3879,151 +4295,6 @@ fn bindgen_test_layout___pthread_rwlock_arch_t() { } #[repr(C)] #[derive(Copy, Clone)] -pub struct __pthread_internal_list { - pub __prev: *mut __pthread_internal_list, - pub __next: *mut __pthread_internal_list, -} -#[test] -fn bindgen_test_layout___pthread_internal_list() { - assert_eq!( - ::core::mem::size_of::<__pthread_internal_list>(), - 16usize, - concat!("Size of: ", stringify!(__pthread_internal_list)) - ); - assert_eq!( - ::core::mem::align_of::<__pthread_internal_list>(), - 8usize, - concat!("Alignment of ", stringify!(__pthread_internal_list)) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::<__pthread_internal_list>())).__prev as *const _ as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(__pthread_internal_list), - "::", - stringify!(__prev) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::<__pthread_internal_list>())).__next as *const _ as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(__pthread_internal_list), - "::", - stringify!(__next) - ) - ); -} -pub type __pthread_list_t = __pthread_internal_list; -#[repr(C)] -#[derive(Copy, Clone)] -pub struct __pthread_mutex_s { - pub __lock: libc::c_int, - pub __count: libc::c_uint, - pub __owner: libc::c_int, - pub __nusers: libc::c_uint, - pub __kind: libc::c_int, - pub __spins: libc::c_short, - pub __elision: libc::c_short, - pub __list: __pthread_list_t, -} -#[test] -fn bindgen_test_layout___pthread_mutex_s() { - assert_eq!( - ::core::mem::size_of::<__pthread_mutex_s>(), - 40usize, - concat!("Size of: ", stringify!(__pthread_mutex_s)) - ); - assert_eq!( - ::core::mem::align_of::<__pthread_mutex_s>(), - 8usize, - concat!("Alignment of ", stringify!(__pthread_mutex_s)) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::<__pthread_mutex_s>())).__lock as *const _ as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(__pthread_mutex_s), - "::", - stringify!(__lock) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::<__pthread_mutex_s>())).__count as *const _ as usize }, - 4usize, - concat!( - "Offset of field: ", - stringify!(__pthread_mutex_s), - "::", - stringify!(__count) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::<__pthread_mutex_s>())).__owner as *const _ as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(__pthread_mutex_s), - "::", - stringify!(__owner) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::<__pthread_mutex_s>())).__nusers as *const _ as usize }, - 12usize, - concat!( - "Offset of field: ", - stringify!(__pthread_mutex_s), - "::", - stringify!(__nusers) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::<__pthread_mutex_s>())).__kind as *const _ as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(__pthread_mutex_s), - "::", - stringify!(__kind) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::<__pthread_mutex_s>())).__spins as *const _ as usize }, - 20usize, - concat!( - "Offset of field: ", - stringify!(__pthread_mutex_s), - "::", - stringify!(__spins) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::<__pthread_mutex_s>())).__elision as *const _ as usize }, - 22usize, - concat!( - "Offset of field: ", - stringify!(__pthread_mutex_s), - "::", - stringify!(__elision) - ) - ); - assert_eq!( - unsafe { &(*(::core::ptr::null::<__pthread_mutex_s>())).__list as *const _ as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(__pthread_mutex_s), - "::", - stringify!(__list) - ) - ); -} -#[repr(C)] -#[derive(Copy, Clone)] pub struct __pthread_cond_s { pub __bindgen_anon_1: __pthread_cond_s__bindgen_ty_1, pub __bindgen_anon_2: __pthread_cond_s__bindgen_ty_2, @@ -4698,7 +4969,7 @@ extern "C" { pub fn initstate( __seed: libc::c_uint, __statebuf: *mut libc::c_char, - __statelen: usize, + __statelen: size_t, ) -> *mut libc::c_char; } extern "C" { @@ -4808,7 +5079,7 @@ extern "C" { pub fn initstate_r( __seed: libc::c_uint, __statebuf: *mut libc::c_char, - __statelen: usize, + __statelen: size_t, __buf: *mut random_data, ) -> libc::c_int; } @@ -4963,32 +5234,39 @@ extern "C" { pub fn lcong48_r(__param: *mut libc::c_ushort, __buffer: *mut drand48_data) -> libc::c_int; } extern "C" { - pub fn malloc(__size: usize) -> *mut libc::c_void; + pub fn malloc(__size: libc::c_ulong) -> *mut libc::c_void; } extern "C" { - pub fn calloc(__nmemb: usize, __size: usize) -> *mut libc::c_void; + pub fn calloc(__nmemb: libc::c_ulong, __size: libc::c_ulong) -> *mut libc::c_void; } extern "C" { - pub fn realloc(__ptr: *mut libc::c_void, __size: usize) -> *mut libc::c_void; + pub fn realloc(__ptr: *mut libc::c_void, __size: libc::c_ulong) -> *mut libc::c_void; +} +extern "C" { + pub fn reallocarray( + __ptr: *mut libc::c_void, + __nmemb: size_t, + __size: size_t, + ) -> *mut libc::c_void; } extern "C" { pub fn free(__ptr: *mut libc::c_void); } extern "C" { - pub fn alloca(__size: usize) -> *mut libc::c_void; + pub fn alloca(__size: libc::c_ulong) -> *mut libc::c_void; } extern "C" { - pub fn valloc(__size: usize) -> *mut libc::c_void; + pub fn valloc(__size: size_t) -> *mut libc::c_void; } extern "C" { pub fn posix_memalign( __memptr: *mut *mut libc::c_void, - __alignment: usize, - __size: usize, + __alignment: size_t, + __size: size_t, ) -> libc::c_int; } extern "C" { - pub fn aligned_alloc(__alignment: usize, __size: usize) -> *mut libc::c_void; + pub fn aligned_alloc(__alignment: size_t, __size: size_t) -> *mut libc::c_void; } extern "C" { pub fn abort(); @@ -5063,13 +5341,18 @@ extern "C" { pub fn bsearch( __key: *const libc::c_void, __base: *const libc::c_void, - __nmemb: usize, - __size: usize, + __nmemb: size_t, + __size: size_t, __compar: __compar_fn_t, ) -> *mut libc::c_void; } extern "C" { - pub fn qsort(__base: *mut libc::c_void, __nmemb: usize, __size: usize, __compar: __compar_fn_t); + pub fn qsort( + __base: *mut libc::c_void, + __nmemb: size_t, + __size: size_t, + __compar: __compar_fn_t, + ); } extern "C" { pub fn abs(__x: libc::c_int) -> libc::c_int; @@ -5111,7 +5394,7 @@ extern "C" { } extern "C" { pub fn qecvt( - __value: f64, + __value: u128, __ndigit: libc::c_int, __decpt: *mut libc::c_int, __sign: *mut libc::c_int, @@ -5119,7 +5402,7 @@ extern "C" { } extern "C" { pub fn qfcvt( - __value: f64, + __value: u128, __ndigit: libc::c_int, __decpt: *mut libc::c_int, __sign: *mut libc::c_int, @@ -5127,7 +5410,7 @@ extern "C" { } extern "C" { pub fn qgcvt( - __value: f64, + __value: u128, __ndigit: libc::c_int, __buf: *mut libc::c_char, ) -> *mut libc::c_char; @@ -5139,7 +5422,7 @@ extern "C" { __decpt: *mut libc::c_int, __sign: *mut libc::c_int, __buf: *mut libc::c_char, - __len: usize, + __len: size_t, ) -> libc::c_int; } extern "C" { @@ -5149,43 +5432,43 @@ extern "C" { __decpt: *mut libc::c_int, __sign: *mut libc::c_int, __buf: *mut libc::c_char, - __len: usize, + __len: size_t, ) -> libc::c_int; } extern "C" { pub fn qecvt_r( - __value: f64, + __value: u128, __ndigit: libc::c_int, __decpt: *mut libc::c_int, __sign: *mut libc::c_int, __buf: *mut libc::c_char, - __len: usize, + __len: size_t, ) -> libc::c_int; } extern "C" { pub fn qfcvt_r( - __value: f64, + __value: u128, __ndigit: libc::c_int, __decpt: *mut libc::c_int, __sign: *mut libc::c_int, __buf: *mut libc::c_char, - __len: usize, + __len: size_t, ) -> libc::c_int; } extern "C" { - pub fn mblen(__s: *const libc::c_char, __n: usize) -> libc::c_int; + pub fn mblen(__s: *const libc::c_char, __n: size_t) -> libc::c_int; } extern "C" { - pub fn mbtowc(__pwc: *mut wchar_t, __s: *const libc::c_char, __n: usize) -> libc::c_int; + pub fn mbtowc(__pwc: *mut wchar_t, __s: *const libc::c_char, __n: size_t) -> libc::c_int; } extern "C" { pub fn wctomb(__s: *mut libc::c_char, __wchar: wchar_t) -> libc::c_int; } extern "C" { - pub fn mbstowcs(__pwcs: *mut wchar_t, __s: *const libc::c_char, __n: usize) -> usize; + pub fn mbstowcs(__pwcs: *mut wchar_t, __s: *const libc::c_char, __n: size_t) -> size_t; } extern "C" { - pub fn wcstombs(__s: *mut libc::c_char, __pwcs: *const wchar_t, __n: usize) -> usize; + pub fn wcstombs(__s: *mut libc::c_char, __pwcs: *const wchar_t, __n: size_t) -> size_t; } extern "C" { pub fn rpmatch(__response: *const libc::c_char) -> libc::c_int; @@ -5211,6 +5494,8 @@ extern "C" { } pub type __m128d = [f64; 2usize]; pub type __m128i = [libc::c_longlong; 2usize]; +pub type __m128d_u = [f64; 2usize]; +pub type __m128i_u = [libc::c_longlong; 2usize]; pub type __v2df = [f64; 2usize]; pub type __v2di = [libc::c_longlong; 2usize]; pub type __v8hi = [libc::c_short; 8usize]; @@ -5232,72 +5517,131 @@ extern "C" { pub fn _mm_pause(); } extern "C" { - /// This function returns the number of CPU cores available. + #[doc = " This function returns the number of CPU cores available."] pub fn SDL_GetCPUCount() -> libc::c_int; } extern "C" { - /// This function returns the L1 cache line size of the CPU - /// - /// This is useful for determining multi-threaded structure padding - /// or SIMD prefetch sizes. + #[doc = " This function returns the L1 cache line size of the CPU"] + #[doc = ""] + #[doc = " This is useful for determining multi-threaded structure padding"] + #[doc = " or SIMD prefetch sizes."] pub fn SDL_GetCPUCacheLineSize() -> libc::c_int; } extern "C" { - /// This function returns true if the CPU has the RDTSC instruction. + #[doc = " This function returns true if the CPU has the RDTSC instruction."] pub fn SDL_HasRDTSC() -> SDL_bool; } extern "C" { - /// This function returns true if the CPU has AltiVec features. + #[doc = " This function returns true if the CPU has AltiVec features."] pub fn SDL_HasAltiVec() -> SDL_bool; } extern "C" { - /// This function returns true if the CPU has MMX features. + #[doc = " This function returns true if the CPU has MMX features."] pub fn SDL_HasMMX() -> SDL_bool; } extern "C" { - /// This function returns true if the CPU has 3DNow! features. + #[doc = " This function returns true if the CPU has 3DNow! features."] pub fn SDL_Has3DNow() -> SDL_bool; } extern "C" { - /// This function returns true if the CPU has SSE features. + #[doc = " This function returns true if the CPU has SSE features."] pub fn SDL_HasSSE() -> SDL_bool; } extern "C" { - /// This function returns true if the CPU has SSE2 features. + #[doc = " This function returns true if the CPU has SSE2 features."] pub fn SDL_HasSSE2() -> SDL_bool; } extern "C" { - /// This function returns true if the CPU has SSE3 features. + #[doc = " This function returns true if the CPU has SSE3 features."] pub fn SDL_HasSSE3() -> SDL_bool; } extern "C" { - /// This function returns true if the CPU has SSE4.1 features. + #[doc = " This function returns true if the CPU has SSE4.1 features."] pub fn SDL_HasSSE41() -> SDL_bool; } extern "C" { - /// This function returns true if the CPU has SSE4.2 features. + #[doc = " This function returns true if the CPU has SSE4.2 features."] pub fn SDL_HasSSE42() -> SDL_bool; } extern "C" { - /// This function returns true if the CPU has AVX features. + #[doc = " This function returns true if the CPU has AVX features."] pub fn SDL_HasAVX() -> SDL_bool; } extern "C" { - /// This function returns true if the CPU has AVX2 features. + #[doc = " This function returns true if the CPU has AVX2 features."] pub fn SDL_HasAVX2() -> SDL_bool; } extern "C" { - /// This function returns true if the CPU has AVX-512F (foundation) features. + #[doc = " This function returns true if the CPU has AVX-512F (foundation) features."] pub fn SDL_HasAVX512F() -> SDL_bool; } extern "C" { - /// This function returns true if the CPU has NEON (ARM SIMD) features. + #[doc = " This function returns true if the CPU has NEON (ARM SIMD) features."] pub fn SDL_HasNEON() -> SDL_bool; } extern "C" { - /// This function returns the amount of RAM configured in the system, in MB. + #[doc = " This function returns the amount of RAM configured in the system, in MB."] pub fn SDL_GetSystemRAM() -> libc::c_int; } +extern "C" { + #[doc = " \\brief Report the alignment this system needs for SIMD allocations."] + #[doc = ""] + #[doc = " This will return the minimum number of bytes to which a pointer must be"] + #[doc = " aligned to be compatible with SIMD instructions on the current machine."] + #[doc = " For example, if the machine supports SSE only, it will return 16, but if"] + #[doc = " it supports AVX-512F, it'll return 64 (etc). This only reports values for"] + #[doc = " instruction sets SDL knows about, so if your SDL build doesn't have"] + #[doc = " SDL_HasAVX512F(), then it might return 16 for the SSE support it sees and"] + #[doc = " not 64 for the AVX-512 instructions that exist but SDL doesn't know about."] + #[doc = " Plan accordingly."] + pub fn SDL_SIMDGetAlignment() -> size_t; +} +extern "C" { + #[doc = " \\brief Allocate memory in a SIMD-friendly way."] + #[doc = ""] + #[doc = " This will allocate a block of memory that is suitable for use with SIMD"] + #[doc = " instructions. Specifically, it will be properly aligned and padded for"] + #[doc = " the system's supported vector instructions."] + #[doc = ""] + #[doc = " The memory returned will be padded such that it is safe to read or write"] + #[doc = " an incomplete vector at the end of the memory block. This can be useful"] + #[doc = " so you don't have to drop back to a scalar fallback at the end of your"] + #[doc = " SIMD processing loop to deal with the final elements without overflowing"] + #[doc = " the allocated buffer."] + #[doc = ""] + #[doc = " You must free this memory with SDL_FreeSIMD(), not free() or SDL_free()"] + #[doc = " or delete[], etc."] + #[doc = ""] + #[doc = " Note that SDL will only deal with SIMD instruction sets it is aware of;"] + #[doc = " for example, SDL 2.0.8 knows that SSE wants 16-byte vectors"] + #[doc = " (SDL_HasSSE()), and AVX2 wants 32 bytes (SDL_HasAVX2()), but doesn't"] + #[doc = " know that AVX-512 wants 64. To be clear: if you can't decide to use an"] + #[doc = " instruction set with an SDL_Has*() function, don't use that instruction"] + #[doc = " set with memory allocated through here."] + #[doc = ""] + #[doc = " SDL_AllocSIMD(0) will return a non-NULL pointer, assuming the system isn't"] + #[doc = " out of memory."] + #[doc = ""] + #[doc = " \\param len The length, in bytes, of the block to allocated. The actual"] + #[doc = " allocated block might be larger due to padding, etc."] + #[doc = " \\return Pointer to newly-allocated block, NULL if out of memory."] + #[doc = ""] + #[doc = " \\sa SDL_SIMDAlignment"] + #[doc = " \\sa SDL_SIMDFree"] + pub fn SDL_SIMDAlloc(len: size_t) -> *mut libc::c_void; +} +extern "C" { + #[doc = " \\brief Deallocate memory obtained from SDL_SIMDAlloc"] + #[doc = ""] + #[doc = " It is not valid to use this function on a pointer from anything but"] + #[doc = " SDL_SIMDAlloc(). It can't be used on pointers from malloc, realloc,"] + #[doc = " SDL_malloc, memalign, new[], etc."] + #[doc = ""] + #[doc = " However, SDL_SIMDFree(NULL) is a legal no-op."] + #[doc = ""] + #[doc = " \\sa SDL_SIMDAlloc"] + pub fn SDL_SIMDFree(ptr: *mut libc::c_void); +} pub const SDL_PIXELTYPE_UNKNOWN: _bindgen_ty_1 = _bindgen_ty_1::SDL_PIXELTYPE_UNKNOWN; pub const SDL_PIXELTYPE_INDEX1: _bindgen_ty_1 = _bindgen_ty_1::SDL_PIXELTYPE_INDEX1; pub const SDL_PIXELTYPE_INDEX4: _bindgen_ty_1 = _bindgen_ty_1::SDL_PIXELTYPE_INDEX4; @@ -5311,7 +5655,7 @@ pub const SDL_PIXELTYPE_ARRAYU32: _bindgen_ty_1 = _bindgen_ty_1::SDL_PIXELTYPE_A pub const SDL_PIXELTYPE_ARRAYF16: _bindgen_ty_1 = _bindgen_ty_1::SDL_PIXELTYPE_ARRAYF16; pub const SDL_PIXELTYPE_ARRAYF32: _bindgen_ty_1 = _bindgen_ty_1::SDL_PIXELTYPE_ARRAYF32; #[repr(u32)] -/// Pixel type. +#[doc = " Pixel type."] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum _bindgen_ty_1 { SDL_PIXELTYPE_UNKNOWN = 0, @@ -5331,7 +5675,7 @@ pub const SDL_BITMAPORDER_NONE: _bindgen_ty_2 = _bindgen_ty_2::SDL_BITMAPORDER_N pub const SDL_BITMAPORDER_4321: _bindgen_ty_2 = _bindgen_ty_2::SDL_BITMAPORDER_4321; pub const SDL_BITMAPORDER_1234: _bindgen_ty_2 = _bindgen_ty_2::SDL_BITMAPORDER_1234; #[repr(u32)] -/// Bitmap pixel order, high bit -> low bit. +#[doc = " Bitmap pixel order, high bit -> low bit."] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum _bindgen_ty_2 { SDL_BITMAPORDER_NONE = 0, @@ -5348,7 +5692,7 @@ pub const SDL_PACKEDORDER_BGRX: _bindgen_ty_3 = _bindgen_ty_3::SDL_PACKEDORDER_B pub const SDL_PACKEDORDER_ABGR: _bindgen_ty_3 = _bindgen_ty_3::SDL_PACKEDORDER_ABGR; pub const SDL_PACKEDORDER_BGRA: _bindgen_ty_3 = _bindgen_ty_3::SDL_PACKEDORDER_BGRA; #[repr(u32)] -/// Packed component order, high bit -> low bit. +#[doc = " Packed component order, high bit -> low bit."] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum _bindgen_ty_3 { SDL_PACKEDORDER_NONE = 0, @@ -5369,7 +5713,7 @@ pub const SDL_ARRAYORDER_BGR: _bindgen_ty_4 = _bindgen_ty_4::SDL_ARRAYORDER_BGR; pub const SDL_ARRAYORDER_BGRA: _bindgen_ty_4 = _bindgen_ty_4::SDL_ARRAYORDER_BGRA; pub const SDL_ARRAYORDER_ABGR: _bindgen_ty_4 = _bindgen_ty_4::SDL_ARRAYORDER_ABGR; #[repr(u32)] -/// Array component order, low byte -> high byte. +#[doc = " Array component order, low byte -> high byte."] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum _bindgen_ty_4 { SDL_ARRAYORDER_NONE = 0, @@ -5390,7 +5734,7 @@ pub const SDL_PACKEDLAYOUT_8888: _bindgen_ty_5 = _bindgen_ty_5::SDL_PACKEDLAYOUT pub const SDL_PACKEDLAYOUT_2101010: _bindgen_ty_5 = _bindgen_ty_5::SDL_PACKEDLAYOUT_2101010; pub const SDL_PACKEDLAYOUT_1010102: _bindgen_ty_5 = _bindgen_ty_5::SDL_PACKEDLAYOUT_1010102; #[repr(u32)] -/// Packed component layout. +#[doc = " Packed component layout."] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum _bindgen_ty_5 { SDL_PACKEDLAYOUT_NONE = 0, @@ -5403,52 +5747,25 @@ pub enum _bindgen_ty_5 { SDL_PACKEDLAYOUT_2101010 = 7, SDL_PACKEDLAYOUT_1010102 = 8, } -pub const SDL_PIXELFORMAT_UNKNOWN: _bindgen_ty_6 = _bindgen_ty_6::SDL_PIXELFORMAT_UNKNOWN; -pub const SDL_PIXELFORMAT_INDEX1LSB: _bindgen_ty_6 = _bindgen_ty_6::SDL_PIXELFORMAT_INDEX1LSB; -pub const SDL_PIXELFORMAT_INDEX1MSB: _bindgen_ty_6 = _bindgen_ty_6::SDL_PIXELFORMAT_INDEX1MSB; -pub const SDL_PIXELFORMAT_INDEX4LSB: _bindgen_ty_6 = _bindgen_ty_6::SDL_PIXELFORMAT_INDEX4LSB; -pub const SDL_PIXELFORMAT_INDEX4MSB: _bindgen_ty_6 = _bindgen_ty_6::SDL_PIXELFORMAT_INDEX4MSB; -pub const SDL_PIXELFORMAT_INDEX8: _bindgen_ty_6 = _bindgen_ty_6::SDL_PIXELFORMAT_INDEX8; -pub const SDL_PIXELFORMAT_RGB332: _bindgen_ty_6 = _bindgen_ty_6::SDL_PIXELFORMAT_RGB332; -pub const SDL_PIXELFORMAT_RGB444: _bindgen_ty_6 = _bindgen_ty_6::SDL_PIXELFORMAT_RGB444; -pub const SDL_PIXELFORMAT_RGB555: _bindgen_ty_6 = _bindgen_ty_6::SDL_PIXELFORMAT_RGB555; -pub const SDL_PIXELFORMAT_BGR555: _bindgen_ty_6 = _bindgen_ty_6::SDL_PIXELFORMAT_BGR555; -pub const SDL_PIXELFORMAT_ARGB4444: _bindgen_ty_6 = _bindgen_ty_6::SDL_PIXELFORMAT_ARGB4444; -pub const SDL_PIXELFORMAT_RGBA4444: _bindgen_ty_6 = _bindgen_ty_6::SDL_PIXELFORMAT_RGBA4444; -pub const SDL_PIXELFORMAT_ABGR4444: _bindgen_ty_6 = _bindgen_ty_6::SDL_PIXELFORMAT_ABGR4444; -pub const SDL_PIXELFORMAT_BGRA4444: _bindgen_ty_6 = _bindgen_ty_6::SDL_PIXELFORMAT_BGRA4444; -pub const SDL_PIXELFORMAT_ARGB1555: _bindgen_ty_6 = _bindgen_ty_6::SDL_PIXELFORMAT_ARGB1555; -pub const SDL_PIXELFORMAT_RGBA5551: _bindgen_ty_6 = _bindgen_ty_6::SDL_PIXELFORMAT_RGBA5551; -pub const SDL_PIXELFORMAT_ABGR1555: _bindgen_ty_6 = _bindgen_ty_6::SDL_PIXELFORMAT_ABGR1555; -pub const SDL_PIXELFORMAT_BGRA5551: _bindgen_ty_6 = _bindgen_ty_6::SDL_PIXELFORMAT_BGRA5551; -pub const SDL_PIXELFORMAT_RGB565: _bindgen_ty_6 = _bindgen_ty_6::SDL_PIXELFORMAT_RGB565; -pub const SDL_PIXELFORMAT_BGR565: _bindgen_ty_6 = _bindgen_ty_6::SDL_PIXELFORMAT_BGR565; -pub const SDL_PIXELFORMAT_RGB24: _bindgen_ty_6 = _bindgen_ty_6::SDL_PIXELFORMAT_RGB24; -pub const SDL_PIXELFORMAT_BGR24: _bindgen_ty_6 = _bindgen_ty_6::SDL_PIXELFORMAT_BGR24; -pub const SDL_PIXELFORMAT_RGB888: _bindgen_ty_6 = _bindgen_ty_6::SDL_PIXELFORMAT_RGB888; -pub const SDL_PIXELFORMAT_RGBX8888: _bindgen_ty_6 = _bindgen_ty_6::SDL_PIXELFORMAT_RGBX8888; -pub const SDL_PIXELFORMAT_BGR888: _bindgen_ty_6 = _bindgen_ty_6::SDL_PIXELFORMAT_BGR888; -pub const SDL_PIXELFORMAT_BGRX8888: _bindgen_ty_6 = _bindgen_ty_6::SDL_PIXELFORMAT_BGRX8888; -pub const SDL_PIXELFORMAT_ARGB8888: _bindgen_ty_6 = _bindgen_ty_6::SDL_PIXELFORMAT_ARGB8888; -pub const SDL_PIXELFORMAT_RGBA8888: _bindgen_ty_6 = _bindgen_ty_6::SDL_PIXELFORMAT_RGBA8888; -pub const SDL_PIXELFORMAT_ABGR8888: _bindgen_ty_6 = _bindgen_ty_6::SDL_PIXELFORMAT_ABGR8888; -pub const SDL_PIXELFORMAT_BGRA8888: _bindgen_ty_6 = _bindgen_ty_6::SDL_PIXELFORMAT_BGRA8888; -pub const SDL_PIXELFORMAT_ARGB2101010: _bindgen_ty_6 = _bindgen_ty_6::SDL_PIXELFORMAT_ARGB2101010; -pub const SDL_PIXELFORMAT_RGBA32: _bindgen_ty_6 = _bindgen_ty_6::SDL_PIXELFORMAT_ABGR8888; -pub const SDL_PIXELFORMAT_ARGB32: _bindgen_ty_6 = _bindgen_ty_6::SDL_PIXELFORMAT_BGRA8888; -pub const SDL_PIXELFORMAT_BGRA32: _bindgen_ty_6 = _bindgen_ty_6::SDL_PIXELFORMAT_ARGB8888; -pub const SDL_PIXELFORMAT_ABGR32: _bindgen_ty_6 = _bindgen_ty_6::SDL_PIXELFORMAT_RGBA8888; -pub const SDL_PIXELFORMAT_YV12: _bindgen_ty_6 = _bindgen_ty_6::SDL_PIXELFORMAT_YV12; -pub const SDL_PIXELFORMAT_IYUV: _bindgen_ty_6 = _bindgen_ty_6::SDL_PIXELFORMAT_IYUV; -pub const SDL_PIXELFORMAT_YUY2: _bindgen_ty_6 = _bindgen_ty_6::SDL_PIXELFORMAT_YUY2; -pub const SDL_PIXELFORMAT_UYVY: _bindgen_ty_6 = _bindgen_ty_6::SDL_PIXELFORMAT_UYVY; -pub const SDL_PIXELFORMAT_YVYU: _bindgen_ty_6 = _bindgen_ty_6::SDL_PIXELFORMAT_YVYU; -pub const SDL_PIXELFORMAT_NV12: _bindgen_ty_6 = _bindgen_ty_6::SDL_PIXELFORMAT_NV12; -pub const SDL_PIXELFORMAT_NV21: _bindgen_ty_6 = _bindgen_ty_6::SDL_PIXELFORMAT_NV21; -pub const SDL_PIXELFORMAT_EXTERNAL_OES: _bindgen_ty_6 = _bindgen_ty_6::SDL_PIXELFORMAT_EXTERNAL_OES; +impl SDL_PixelFormatEnum { + pub const SDL_PIXELFORMAT_RGBA32: SDL_PixelFormatEnum = + SDL_PixelFormatEnum::SDL_PIXELFORMAT_ABGR8888; +} +impl SDL_PixelFormatEnum { + pub const SDL_PIXELFORMAT_ARGB32: SDL_PixelFormatEnum = + SDL_PixelFormatEnum::SDL_PIXELFORMAT_BGRA8888; +} +impl SDL_PixelFormatEnum { + pub const SDL_PIXELFORMAT_BGRA32: SDL_PixelFormatEnum = + SDL_PixelFormatEnum::SDL_PIXELFORMAT_ARGB8888; +} +impl SDL_PixelFormatEnum { + pub const SDL_PIXELFORMAT_ABGR32: SDL_PixelFormatEnum = + SDL_PixelFormatEnum::SDL_PIXELFORMAT_RGBA8888; +} #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] -pub enum _bindgen_ty_6 { +pub enum SDL_PixelFormatEnum { SDL_PIXELFORMAT_UNKNOWN = 0, SDL_PIXELFORMAT_INDEX1LSB = 286261504, SDL_PIXELFORMAT_INDEX1MSB = 287310080, @@ -5480,21 +5797,21 @@ pub enum _bindgen_ty_6 { SDL_PIXELFORMAT_ABGR8888 = 376840196, SDL_PIXELFORMAT_BGRA8888 = 377888772, SDL_PIXELFORMAT_ARGB2101010 = 372711428, - ///< Planar mode: Y + V + U (3 planes) + #[doc = "< Planar mode: Y + V + U (3 planes)"] SDL_PIXELFORMAT_YV12 = 842094169, - ///< Planar mode: Y + U + V (3 planes) + #[doc = "< Planar mode: Y + U + V (3 planes)"] SDL_PIXELFORMAT_IYUV = 1448433993, - ///< Packed mode: Y0+U0+Y1+V0 (1 plane) + #[doc = "< Packed mode: Y0+U0+Y1+V0 (1 plane)"] SDL_PIXELFORMAT_YUY2 = 844715353, - ///< Packed mode: U0+Y0+V0+Y1 (1 plane) + #[doc = "< Packed mode: U0+Y0+V0+Y1 (1 plane)"] SDL_PIXELFORMAT_UYVY = 1498831189, - ///< Packed mode: Y0+V0+Y1+U0 (1 plane) + #[doc = "< Packed mode: Y0+V0+Y1+U0 (1 plane)"] SDL_PIXELFORMAT_YVYU = 1431918169, - ///< Planar mode: Y + U/V interleaved (2 planes) + #[doc = "< Planar mode: Y + U/V interleaved (2 planes)"] SDL_PIXELFORMAT_NV12 = 842094158, - ///< Planar mode: Y + V/U interleaved (2 planes) + #[doc = "< Planar mode: Y + V/U interleaved (2 planes)"] SDL_PIXELFORMAT_NV21 = 825382478, - ///< Android video texture format + #[doc = "< Android video texture format"] SDL_PIXELFORMAT_EXTERNAL_OES = 542328143, } #[repr(C)] @@ -5619,7 +5936,7 @@ fn bindgen_test_layout_SDL_Palette() { ) ); } -/// \note Everything in the pixel format structure is read-only. +#[doc = " \\note Everything in the pixel format structure is read-only."] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_PixelFormat { @@ -5847,15 +6164,15 @@ fn bindgen_test_layout_SDL_PixelFormat() { ); } extern "C" { - /// \brief Get the human readable name of a pixel format + #[doc = " \\brief Get the human readable name of a pixel format"] pub fn SDL_GetPixelFormatName(format: Uint32) -> *const libc::c_char; } extern "C" { - /// \brief Convert one of the enumerated pixel formats to a bpp and RGBA masks. - /// - /// \return SDL_TRUE, or SDL_FALSE if the conversion wasn't possible. - /// - /// \sa SDL_MasksToPixelFormatEnum() + #[doc = " \\brief Convert one of the enumerated pixel formats to a bpp and RGBA masks."] + #[doc = ""] + #[doc = " \\return SDL_TRUE, or SDL_FALSE if the conversion wasn't possible."] + #[doc = ""] + #[doc = " \\sa SDL_MasksToPixelFormatEnum()"] pub fn SDL_PixelFormatEnumToMasks( format: Uint32, bpp: *mut libc::c_int, @@ -5866,12 +6183,12 @@ extern "C" { ) -> SDL_bool; } extern "C" { - /// \brief Convert a bpp and RGBA masks to an enumerated pixel format. - /// - /// \return The pixel format, or ::SDL_PIXELFORMAT_UNKNOWN if the conversion - /// wasn't possible. - /// - /// \sa SDL_PixelFormatEnumToMasks() + #[doc = " \\brief Convert a bpp and RGBA masks to an enumerated pixel format."] + #[doc = ""] + #[doc = " \\return The pixel format, or ::SDL_PIXELFORMAT_UNKNOWN if the conversion"] + #[doc = " wasn't possible."] + #[doc = ""] + #[doc = " \\sa SDL_PixelFormatEnumToMasks()"] pub fn SDL_MasksToPixelFormatEnum( bpp: libc::c_int, Rmask: Uint32, @@ -5881,40 +6198,40 @@ extern "C" { ) -> Uint32; } extern "C" { - /// \brief Create an SDL_PixelFormat structure from a pixel format enum. + #[doc = " \\brief Create an SDL_PixelFormat structure from a pixel format enum."] pub fn SDL_AllocFormat(pixel_format: Uint32) -> *mut SDL_PixelFormat; } extern "C" { - /// \brief Free an SDL_PixelFormat structure. + #[doc = " \\brief Free an SDL_PixelFormat structure."] pub fn SDL_FreeFormat(format: *mut SDL_PixelFormat); } extern "C" { - /// \brief Create a palette structure with the specified number of color - /// entries. - /// - /// \return A new palette, or NULL if there wasn't enough memory. - /// - /// \note The palette entries are initialized to white. - /// - /// \sa SDL_FreePalette() + #[doc = " \\brief Create a palette structure with the specified number of color"] + #[doc = " entries."] + #[doc = ""] + #[doc = " \\return A new palette, or NULL if there wasn't enough memory."] + #[doc = ""] + #[doc = " \\note The palette entries are initialized to white."] + #[doc = ""] + #[doc = " \\sa SDL_FreePalette()"] pub fn SDL_AllocPalette(ncolors: libc::c_int) -> *mut SDL_Palette; } extern "C" { - /// \brief Set the palette for a pixel format structure. + #[doc = " \\brief Set the palette for a pixel format structure."] pub fn SDL_SetPixelFormatPalette( format: *mut SDL_PixelFormat, palette: *mut SDL_Palette, ) -> libc::c_int; } extern "C" { - /// \brief Set a range of colors in a palette. - /// - /// \param palette The palette to modify. - /// \param colors An array of colors to copy into the palette. - /// \param firstcolor The index of the first palette entry to modify. - /// \param ncolors The number of entries to modify. - /// - /// \return 0 on success, or -1 if not all of the colors could be set. + #[doc = " \\brief Set a range of colors in a palette."] + #[doc = ""] + #[doc = " \\param palette The palette to modify."] + #[doc = " \\param colors An array of colors to copy into the palette."] + #[doc = " \\param firstcolor The index of the first palette entry to modify."] + #[doc = " \\param ncolors The number of entries to modify."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 if not all of the colors could be set."] pub fn SDL_SetPaletteColors( palette: *mut SDL_Palette, colors: *const SDL_Color, @@ -5923,21 +6240,21 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// \brief Free a palette created with SDL_AllocPalette(). - /// - /// \sa SDL_AllocPalette() + #[doc = " \\brief Free a palette created with SDL_AllocPalette()."] + #[doc = ""] + #[doc = " \\sa SDL_AllocPalette()"] pub fn SDL_FreePalette(palette: *mut SDL_Palette); } extern "C" { - /// \brief Maps an RGB triple to an opaque pixel value for a given pixel format. - /// - /// \sa SDL_MapRGBA + #[doc = " \\brief Maps an RGB triple to an opaque pixel value for a given pixel format."] + #[doc = ""] + #[doc = " \\sa SDL_MapRGBA"] pub fn SDL_MapRGB(format: *const SDL_PixelFormat, r: Uint8, g: Uint8, b: Uint8) -> Uint32; } extern "C" { - /// \brief Maps an RGBA quadruple to a pixel value for a given pixel format. - /// - /// \sa SDL_MapRGB + #[doc = " \\brief Maps an RGBA quadruple to a pixel value for a given pixel format."] + #[doc = ""] + #[doc = " \\sa SDL_MapRGB"] pub fn SDL_MapRGBA( format: *const SDL_PixelFormat, r: Uint8, @@ -5947,9 +6264,9 @@ extern "C" { ) -> Uint32; } extern "C" { - /// \brief Get the RGB components from a pixel of the specified format. - /// - /// \sa SDL_GetRGBA + #[doc = " \\brief Get the RGB components from a pixel of the specified format."] + #[doc = ""] + #[doc = " \\sa SDL_GetRGBA"] pub fn SDL_GetRGB( pixel: Uint32, format: *const SDL_PixelFormat, @@ -5959,9 +6276,9 @@ extern "C" { ); } extern "C" { - /// \brief Get the RGBA components from a pixel of the specified format. - /// - /// \sa SDL_GetRGB + #[doc = " \\brief Get the RGBA components from a pixel of the specified format."] + #[doc = ""] + #[doc = " \\sa SDL_GetRGB"] pub fn SDL_GetRGBA( pixel: Uint32, format: *const SDL_PixelFormat, @@ -5972,13 +6289,13 @@ extern "C" { ); } extern "C" { - /// \brief Calculate a 256 entry gamma ramp for a gamma value. + #[doc = " \\brief Calculate a 256 entry gamma ramp for a gamma value."] pub fn SDL_CalculateGammaRamp(gamma: f32, ramp: *mut Uint16); } -/// \brief The structure that defines a point -/// -/// \sa SDL_EnclosePoints -/// \sa SDL_PointInRect +#[doc = " \\brief The structure that defines a point (integer)"] +#[doc = ""] +#[doc = " \\sa SDL_EnclosePoints"] +#[doc = " \\sa SDL_PointInRect"] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_Point { @@ -6018,14 +6335,57 @@ fn bindgen_test_layout_SDL_Point() { ) ); } -/// \brief A rectangle, with the origin at the upper left. -/// -/// \sa SDL_RectEmpty -/// \sa SDL_RectEquals -/// \sa SDL_HasIntersection -/// \sa SDL_IntersectRect -/// \sa SDL_UnionRect -/// \sa SDL_EnclosePoints +#[doc = " \\brief The structure that defines a point (floating point)"] +#[doc = ""] +#[doc = " \\sa SDL_EnclosePoints"] +#[doc = " \\sa SDL_PointInRect"] +#[repr(C)] +#[derive(Copy, Clone)] +pub struct SDL_FPoint { + pub x: f32, + pub y: f32, +} +#[test] +fn bindgen_test_layout_SDL_FPoint() { + assert_eq!( + ::core::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(SDL_FPoint)) + ); + assert_eq!( + ::core::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(SDL_FPoint)) + ); + assert_eq!( + unsafe { &(*(::core::ptr::null::())).x as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(SDL_FPoint), + "::", + stringify!(x) + ) + ); + assert_eq!( + unsafe { &(*(::core::ptr::null::())).y as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(SDL_FPoint), + "::", + stringify!(y) + ) + ); +} +#[doc = " \\brief A rectangle, with the origin at the upper left (integer)."] +#[doc = ""] +#[doc = " \\sa SDL_RectEmpty"] +#[doc = " \\sa SDL_RectEquals"] +#[doc = " \\sa SDL_HasIntersection"] +#[doc = " \\sa SDL_IntersectRect"] +#[doc = " \\sa SDL_UnionRect"] +#[doc = " \\sa SDL_EnclosePoints"] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_Rect { @@ -6087,16 +6447,78 @@ fn bindgen_test_layout_SDL_Rect() { ) ); } +#[doc = " \\brief A rectangle, with the origin at the upper left (floating point)."] +#[repr(C)] +#[derive(Copy, Clone)] +pub struct SDL_FRect { + pub x: f32, + pub y: f32, + pub w: f32, + pub h: f32, +} +#[test] +fn bindgen_test_layout_SDL_FRect() { + assert_eq!( + ::core::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(SDL_FRect)) + ); + assert_eq!( + ::core::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(SDL_FRect)) + ); + assert_eq!( + unsafe { &(*(::core::ptr::null::())).x as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(SDL_FRect), + "::", + stringify!(x) + ) + ); + assert_eq!( + unsafe { &(*(::core::ptr::null::())).y as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(SDL_FRect), + "::", + stringify!(y) + ) + ); + assert_eq!( + unsafe { &(*(::core::ptr::null::())).w as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(SDL_FRect), + "::", + stringify!(w) + ) + ); + assert_eq!( + unsafe { &(*(::core::ptr::null::())).h as *const _ as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(SDL_FRect), + "::", + stringify!(h) + ) + ); +} extern "C" { - /// \brief Determine whether two rectangles intersect. - /// - /// \return SDL_TRUE if there is an intersection, SDL_FALSE otherwise. + #[doc = " \\brief Determine whether two rectangles intersect."] + #[doc = ""] + #[doc = " \\return SDL_TRUE if there is an intersection, SDL_FALSE otherwise."] pub fn SDL_HasIntersection(A: *const SDL_Rect, B: *const SDL_Rect) -> SDL_bool; } extern "C" { - /// \brief Calculate the intersection of two rectangles. - /// - /// \return SDL_TRUE if there is an intersection, SDL_FALSE otherwise. + #[doc = " \\brief Calculate the intersection of two rectangles."] + #[doc = ""] + #[doc = " \\return SDL_TRUE if there is an intersection, SDL_FALSE otherwise."] pub fn SDL_IntersectRect( A: *const SDL_Rect, B: *const SDL_Rect, @@ -6104,13 +6526,13 @@ extern "C" { ) -> SDL_bool; } extern "C" { - /// \brief Calculate the union of two rectangles. + #[doc = " \\brief Calculate the union of two rectangles."] pub fn SDL_UnionRect(A: *const SDL_Rect, B: *const SDL_Rect, result: *mut SDL_Rect); } extern "C" { - /// \brief Calculate a minimal rectangle enclosing a set of points - /// - /// \return SDL_TRUE if any points were within the clipping rect + #[doc = " \\brief Calculate a minimal rectangle enclosing a set of points"] + #[doc = ""] + #[doc = " \\return SDL_TRUE if any points were within the clipping rect"] pub fn SDL_EnclosePoints( points: *const SDL_Point, count: libc::c_int, @@ -6119,9 +6541,9 @@ extern "C" { ) -> SDL_bool; } extern "C" { - /// \brief Calculate the intersection of a rectangle and line segment. - /// - /// \return SDL_TRUE if there is an intersection, SDL_FALSE otherwise. + #[doc = " \\brief Calculate the intersection of a rectangle and line segment."] + #[doc = ""] + #[doc = " \\return SDL_TRUE if there is an intersection, SDL_FALSE otherwise."] pub fn SDL_IntersectRectAndLine( rect: *const SDL_Rect, X1: *mut libc::c_int, @@ -6131,80 +6553,80 @@ extern "C" { ) -> SDL_bool; } #[repr(u32)] -/// \brief The blend mode used in SDL_RenderCopy() and drawing operations. +#[doc = " \\brief The blend mode used in SDL_RenderCopy() and drawing operations."] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum SDL_BlendMode { - ///< no blending - ///dstRGBA = srcRGBA + #[doc = "< no blending"] + #[doc = "dstRGBA = srcRGBA"] SDL_BLENDMODE_NONE = 0, - ///< alpha blending - ///dstRGB = (srcRGB * srcA) + (dstRGB * (1-srcA)) - ///dstA = srcA + (dstA * (1-srcA)) + #[doc = "< alpha blending"] + #[doc = "dstRGB = (srcRGB * srcA) + (dstRGB * (1-srcA))"] + #[doc = "dstA = srcA + (dstA * (1-srcA))"] SDL_BLENDMODE_BLEND = 1, - ///< additive blending - ///dstRGB = (srcRGB * srcA) + dstRGB - ///dstA = dstA + #[doc = "< additive blending"] + #[doc = "dstRGB = (srcRGB * srcA) + dstRGB"] + #[doc = "dstA = dstA"] SDL_BLENDMODE_ADD = 2, - ///< color modulate - ///dstRGB = srcRGB * dstRGB - ///dstA = dstA + #[doc = "< color modulate"] + #[doc = "dstRGB = srcRGB * dstRGB"] + #[doc = "dstA = dstA"] SDL_BLENDMODE_MOD = 4, SDL_BLENDMODE_INVALID = 2147483647, } #[repr(u32)] -/// \brief The blend operation used when combining source and destination pixel components +#[doc = " \\brief The blend operation used when combining source and destination pixel components"] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum SDL_BlendOperation { - ///< dst + src: supported by all renderers + #[doc = "< dst + src: supported by all renderers"] SDL_BLENDOPERATION_ADD = 1, - ///< dst - src : supported by D3D9, D3D11, OpenGL, OpenGLES + #[doc = "< dst - src : supported by D3D9, D3D11, OpenGL, OpenGLES"] SDL_BLENDOPERATION_SUBTRACT = 2, - ///< src - dst : supported by D3D9, D3D11, OpenGL, OpenGLES + #[doc = "< src - dst : supported by D3D9, D3D11, OpenGL, OpenGLES"] SDL_BLENDOPERATION_REV_SUBTRACT = 3, - ///< min(dst, src) : supported by D3D11 + #[doc = "< min(dst, src) : supported by D3D11"] SDL_BLENDOPERATION_MINIMUM = 4, - ///< max(dst, src) : supported by D3D11 + #[doc = "< max(dst, src) : supported by D3D11"] SDL_BLENDOPERATION_MAXIMUM = 5, } #[repr(u32)] -/// \brief The normalized factor used to multiply pixel components +#[doc = " \\brief The normalized factor used to multiply pixel components"] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum SDL_BlendFactor { - ///< 0, 0, 0, 0 + #[doc = "< 0, 0, 0, 0"] SDL_BLENDFACTOR_ZERO = 1, - ///< 1, 1, 1, 1 + #[doc = "< 1, 1, 1, 1"] SDL_BLENDFACTOR_ONE = 2, - ///< srcR, srcG, srcB, srcA + #[doc = "< srcR, srcG, srcB, srcA"] SDL_BLENDFACTOR_SRC_COLOR = 3, - ///< 1-srcR, 1-srcG, 1-srcB, 1-srcA + #[doc = "< 1-srcR, 1-srcG, 1-srcB, 1-srcA"] SDL_BLENDFACTOR_ONE_MINUS_SRC_COLOR = 4, - ///< srcA, srcA, srcA, srcA + #[doc = "< srcA, srcA, srcA, srcA"] SDL_BLENDFACTOR_SRC_ALPHA = 5, - ///< 1-srcA, 1-srcA, 1-srcA, 1-srcA + #[doc = "< 1-srcA, 1-srcA, 1-srcA, 1-srcA"] SDL_BLENDFACTOR_ONE_MINUS_SRC_ALPHA = 6, - ///< dstR, dstG, dstB, dstA + #[doc = "< dstR, dstG, dstB, dstA"] SDL_BLENDFACTOR_DST_COLOR = 7, - ///< 1-dstR, 1-dstG, 1-dstB, 1-dstA + #[doc = "< 1-dstR, 1-dstG, 1-dstB, 1-dstA"] SDL_BLENDFACTOR_ONE_MINUS_DST_COLOR = 8, - ///< dstA, dstA, dstA, dstA + #[doc = "< dstA, dstA, dstA, dstA"] SDL_BLENDFACTOR_DST_ALPHA = 9, - ///< 1-dstA, 1-dstA, 1-dstA, 1-dstA + #[doc = "< 1-dstA, 1-dstA, 1-dstA, 1-dstA"] SDL_BLENDFACTOR_ONE_MINUS_DST_ALPHA = 10, } extern "C" { - /// \brief Create a custom blend mode, which may or may not be supported by a given renderer - /// - /// \param srcColorFactor - /// \param dstColorFactor - /// \param colorOperation - /// \param srcAlphaFactor - /// \param dstAlphaFactor - /// \param alphaOperation - /// - /// The result of the blend mode operation will be: - /// dstRGB = dstRGB * dstColorFactor colorOperation srcRGB * srcColorFactor - /// and - /// dstA = dstA * dstAlphaFactor alphaOperation srcA * srcAlphaFactor + #[doc = " \\brief Create a custom blend mode, which may or may not be supported by a given renderer"] + #[doc = ""] + #[doc = " \\param srcColorFactor source color factor"] + #[doc = " \\param dstColorFactor destination color factor"] + #[doc = " \\param colorOperation color operation"] + #[doc = " \\param srcAlphaFactor source alpha factor"] + #[doc = " \\param dstAlphaFactor destination alpha factor"] + #[doc = " \\param alphaOperation alpha operation"] + #[doc = ""] + #[doc = " The result of the blend mode operation will be:"] + #[doc = " dstRGB = dstRGB * dstColorFactor colorOperation srcRGB * srcColorFactor"] + #[doc = " and"] + #[doc = " dstA = dstA * dstAlphaFactor alphaOperation srcA * srcAlphaFactor"] pub fn SDL_ComposeCustomBlendMode( srcColorFactor: SDL_BlendFactor, dstColorFactor: SDL_BlendFactor, @@ -6214,36 +6636,36 @@ extern "C" { alphaOperation: SDL_BlendOperation, ) -> SDL_BlendMode; } -/// \brief A collection of pixels used in software blitting. -/// -/// \note This structure should be treated as read-only, except for \c pixels, -/// which, if not NULL, contains the raw pixel data for the surface. +#[doc = " \\brief A collection of pixels used in software blitting."] +#[doc = ""] +#[doc = " \\note This structure should be treated as read-only, except for \\c pixels,"] +#[doc = " which, if not NULL, contains the raw pixel data for the surface."] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_Surface { - ///< Read-only + #[doc = "< Read-only"] pub flags: Uint32, - ///< Read-only + #[doc = "< Read-only"] pub format: *mut SDL_PixelFormat, - ///< Read-only + #[doc = "< Read-only"] pub w: libc::c_int, - ///< Read-only + #[doc = "< Read-only"] pub h: libc::c_int, - ///< Read-only + #[doc = "< Read-only"] pub pitch: libc::c_int, - ///< Read-write + #[doc = "< Read-write"] pub pixels: *mut libc::c_void, - ///< Read-write + #[doc = "< Read-write"] pub userdata: *mut libc::c_void, - ///< Read-only + #[doc = "< Read-only"] pub locked: libc::c_int, - ///< Read-only + #[doc = "< Read-only"] pub lock_data: *mut libc::c_void, - ///< Read-only + #[doc = "< Read-only"] pub clip_rect: SDL_Rect, - ///< Private + #[doc = "< Private"] pub map: *mut SDL_BlitMap, - ///< Read-mostly + #[doc = "< Read-mostly"] pub refcount: libc::c_int, } #[test] @@ -6379,7 +6801,7 @@ fn bindgen_test_layout_SDL_Surface() { ) ); } -/// \brief The type of function used for surface blitting functions. +#[doc = " \\brief The type of function used for surface blitting functions."] pub type SDL_blit = ::core::option::Option< unsafe extern "C" fn( src: *mut SDL_Surface, @@ -6389,35 +6811,35 @@ pub type SDL_blit = ::core::option::Option< ) -> libc::c_int, >; #[repr(u32)] -/// \brief The formula used for converting between YUV and RGB +#[doc = " \\brief The formula used for converting between YUV and RGB"] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum SDL_YUV_CONVERSION_MODE { - ///< Full range JPEG + #[doc = "< Full range JPEG"] SDL_YUV_CONVERSION_JPEG = 0, - ///< BT.601 (the default) + #[doc = "< BT.601 (the default)"] SDL_YUV_CONVERSION_BT601 = 1, - ///< BT.709 + #[doc = "< BT.709"] SDL_YUV_CONVERSION_BT709 = 2, - ///< BT.601 for SD content, BT.709 for HD content + #[doc = "< BT.601 for SD content, BT.709 for HD content"] SDL_YUV_CONVERSION_AUTOMATIC = 3, } extern "C" { - /// Allocate and free an RGB surface. - /// - /// If the depth is 4 or 8 bits, an empty palette is allocated for the surface. - /// If the depth is greater than 8 bits, the pixel format is set using the - /// flags '[RGB]mask'. - /// - /// If the function runs out of memory, it will return NULL. - /// - /// \param flags The \c flags are obsolete and should be set to 0. - /// \param width The width in pixels of the surface to create. - /// \param height The height in pixels of the surface to create. - /// \param depth The depth in bits of the surface to create. - /// \param Rmask The red mask of the surface to create. - /// \param Gmask The green mask of the surface to create. - /// \param Bmask The blue mask of the surface to create. - /// \param Amask The alpha mask of the surface to create. + #[doc = " Allocate and free an RGB surface."] + #[doc = ""] + #[doc = " If the depth is 4 or 8 bits, an empty palette is allocated for the surface."] + #[doc = " If the depth is greater than 8 bits, the pixel format is set using the"] + #[doc = " flags '[RGB]mask'."] + #[doc = ""] + #[doc = " If the function runs out of memory, it will return NULL."] + #[doc = ""] + #[doc = " \\param flags The \\c flags are obsolete and should be set to 0."] + #[doc = " \\param width The width in pixels of the surface to create."] + #[doc = " \\param height The height in pixels of the surface to create."] + #[doc = " \\param depth The depth in bits of the surface to create."] + #[doc = " \\param Rmask The red mask of the surface to create."] + #[doc = " \\param Gmask The green mask of the surface to create."] + #[doc = " \\param Bmask The blue mask of the surface to create."] + #[doc = " \\param Amask The alpha mask of the surface to create."] pub fn SDL_CreateRGBSurface( flags: Uint32, width: libc::c_int, @@ -6465,62 +6887,62 @@ extern "C" { pub fn SDL_FreeSurface(surface: *mut SDL_Surface); } extern "C" { - /// \brief Set the palette used by a surface. - /// - /// \return 0, or -1 if the surface format doesn't use a palette. - /// - /// \note A single palette can be shared with many surfaces. + #[doc = " \\brief Set the palette used by a surface."] + #[doc = ""] + #[doc = " \\return 0, or -1 if the surface format doesn't use a palette."] + #[doc = ""] + #[doc = " \\note A single palette can be shared with many surfaces."] pub fn SDL_SetSurfacePalette( surface: *mut SDL_Surface, palette: *mut SDL_Palette, ) -> libc::c_int; } extern "C" { - /// \brief Sets up a surface for directly accessing the pixels. - /// - /// Between calls to SDL_LockSurface() / SDL_UnlockSurface(), you can write - /// to and read from \c surface->pixels, using the pixel format stored in - /// \c surface->format. Once you are done accessing the surface, you should - /// use SDL_UnlockSurface() to release it. - /// - /// Not all surfaces require locking. If SDL_MUSTLOCK(surface) evaluates - /// to 0, then you can read and write to the surface at any time, and the - /// pixel format of the surface will not change. - /// - /// No operating system or library calls should be made between lock/unlock - /// pairs, as critical system locks may be held during this time. - /// - /// SDL_LockSurface() returns 0, or -1 if the surface couldn't be locked. - /// - /// \sa SDL_UnlockSurface() + #[doc = " \\brief Sets up a surface for directly accessing the pixels."] + #[doc = ""] + #[doc = " Between calls to SDL_LockSurface() / SDL_UnlockSurface(), you can write"] + #[doc = " to and read from \\c surface->pixels, using the pixel format stored in"] + #[doc = " \\c surface->format. Once you are done accessing the surface, you should"] + #[doc = " use SDL_UnlockSurface() to release it."] + #[doc = ""] + #[doc = " Not all surfaces require locking. If SDL_MUSTLOCK(surface) evaluates"] + #[doc = " to 0, then you can read and write to the surface at any time, and the"] + #[doc = " pixel format of the surface will not change."] + #[doc = ""] + #[doc = " No operating system or library calls should be made between lock/unlock"] + #[doc = " pairs, as critical system locks may be held during this time."] + #[doc = ""] + #[doc = " SDL_LockSurface() returns 0, or -1 if the surface couldn't be locked."] + #[doc = ""] + #[doc = " \\sa SDL_UnlockSurface()"] pub fn SDL_LockSurface(surface: *mut SDL_Surface) -> libc::c_int; } extern "C" { - /// \sa SDL_LockSurface() + #[doc = " \\sa SDL_LockSurface()"] pub fn SDL_UnlockSurface(surface: *mut SDL_Surface); } extern "C" { - /// Load a surface from a seekable SDL data stream (memory or file). - /// - /// If \c freesrc is non-zero, the stream will be closed after being read. - /// - /// The new surface should be freed with SDL_FreeSurface(). - /// - /// \return the new surface, or NULL if there was an error. + #[doc = " Load a surface from a seekable SDL data stream (memory or file)."] + #[doc = ""] + #[doc = " If \\c freesrc is non-zero, the stream will be closed after being read."] + #[doc = ""] + #[doc = " The new surface should be freed with SDL_FreeSurface()."] + #[doc = ""] + #[doc = " \\return the new surface, or NULL if there was an error."] pub fn SDL_LoadBMP_RW(src: *mut SDL_RWops, freesrc: libc::c_int) -> *mut SDL_Surface; } extern "C" { - /// Save a surface to a seekable SDL data stream (memory or file). - /// - /// Surfaces with a 24-bit, 32-bit and paletted 8-bit format get saved in the - /// BMP directly. Other RGB formats with 8-bit or higher get converted to a - /// 24-bit surface or, if they have an alpha mask or a colorkey, to a 32-bit - /// surface before they are saved. YUV and paletted 1-bit and 4-bit formats are - /// not supported. - /// - /// If \c freedst is non-zero, the stream will be closed after being written. - /// - /// \return 0 if successful or -1 if there was an error. + #[doc = " Save a surface to a seekable SDL data stream (memory or file)."] + #[doc = ""] + #[doc = " Surfaces with a 24-bit, 32-bit and paletted 8-bit format get saved in the"] + #[doc = " BMP directly. Other RGB formats with 8-bit or higher get converted to a"] + #[doc = " 24-bit surface or, if they have an alpha mask or a colorkey, to a 32-bit"] + #[doc = " surface before they are saved. YUV and paletted 1-bit and 4-bit formats are"] + #[doc = " not supported."] + #[doc = ""] + #[doc = " If \\c freedst is non-zero, the stream will be closed after being written."] + #[doc = ""] + #[doc = " \\return 0 if successful or -1 if there was an error."] pub fn SDL_SaveBMP_RW( surface: *mut SDL_Surface, dst: *mut SDL_RWops, @@ -6528,24 +6950,24 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// \brief Sets the RLE acceleration hint for a surface. - /// - /// \return 0 on success, or -1 if the surface is not valid - /// - /// \note If RLE is enabled, colorkey and alpha blending blits are much faster, - /// but the surface must be locked before directly accessing the pixels. + #[doc = " \\brief Sets the RLE acceleration hint for a surface."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 if the surface is not valid"] + #[doc = ""] + #[doc = " \\note If RLE is enabled, colorkey and alpha blending blits are much faster,"] + #[doc = " but the surface must be locked before directly accessing the pixels."] pub fn SDL_SetSurfaceRLE(surface: *mut SDL_Surface, flag: libc::c_int) -> libc::c_int; } extern "C" { - /// \brief Sets the color key (transparent pixel) in a blittable surface. - /// - /// \param surface The surface to update - /// \param flag Non-zero to enable colorkey and 0 to disable colorkey - /// \param key The transparent pixel in the native surface format - /// - /// \return 0 on success, or -1 if the surface is not valid - /// - /// You can pass SDL_RLEACCEL to enable RLE accelerated blits. + #[doc = " \\brief Sets the color key (transparent pixel) in a blittable surface."] + #[doc = ""] + #[doc = " \\param surface The surface to update"] + #[doc = " \\param flag Non-zero to enable colorkey and 0 to disable colorkey"] + #[doc = " \\param key The transparent pixel in the native surface format"] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 if the surface is not valid"] + #[doc = ""] + #[doc = " You can pass SDL_RLEACCEL to enable RLE accelerated blits."] pub fn SDL_SetColorKey( surface: *mut SDL_Surface, flag: libc::c_int, @@ -6553,33 +6975,33 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// \brief Returns whether the surface has a color key - /// - /// \return SDL_TRUE if the surface has a color key, or SDL_FALSE if the surface is NULL or has no color key + #[doc = " \\brief Returns whether the surface has a color key"] + #[doc = ""] + #[doc = " \\return SDL_TRUE if the surface has a color key, or SDL_FALSE if the surface is NULL or has no color key"] pub fn SDL_HasColorKey(surface: *mut SDL_Surface) -> SDL_bool; } extern "C" { - /// \brief Gets the color key (transparent pixel) in a blittable surface. - /// - /// \param surface The surface to update - /// \param key A pointer filled in with the transparent pixel in the native - /// surface format - /// - /// \return 0 on success, or -1 if the surface is not valid or colorkey is not - /// enabled. + #[doc = " \\brief Gets the color key (transparent pixel) in a blittable surface."] + #[doc = ""] + #[doc = " \\param surface The surface to update"] + #[doc = " \\param key A pointer filled in with the transparent pixel in the native"] + #[doc = " surface format"] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 if the surface is not valid or colorkey is not"] + #[doc = " enabled."] pub fn SDL_GetColorKey(surface: *mut SDL_Surface, key: *mut Uint32) -> libc::c_int; } extern "C" { - /// \brief Set an additional color value used in blit operations. - /// - /// \param surface The surface to update. - /// \param r The red color value multiplied into blit operations. - /// \param g The green color value multiplied into blit operations. - /// \param b The blue color value multiplied into blit operations. - /// - /// \return 0 on success, or -1 if the surface is not valid. - /// - /// \sa SDL_GetSurfaceColorMod() + #[doc = " \\brief Set an additional color value used in blit operations."] + #[doc = ""] + #[doc = " \\param surface The surface to update."] + #[doc = " \\param r The red color value multiplied into blit operations."] + #[doc = " \\param g The green color value multiplied into blit operations."] + #[doc = " \\param b The blue color value multiplied into blit operations."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 if the surface is not valid."] + #[doc = ""] + #[doc = " \\sa SDL_GetSurfaceColorMod()"] pub fn SDL_SetSurfaceColorMod( surface: *mut SDL_Surface, r: Uint8, @@ -6588,16 +7010,16 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// \brief Get the additional color value used in blit operations. - /// - /// \param surface The surface to query. - /// \param r A pointer filled in with the current red color value. - /// \param g A pointer filled in with the current green color value. - /// \param b A pointer filled in with the current blue color value. - /// - /// \return 0 on success, or -1 if the surface is not valid. - /// - /// \sa SDL_SetSurfaceColorMod() + #[doc = " \\brief Get the additional color value used in blit operations."] + #[doc = ""] + #[doc = " \\param surface The surface to query."] + #[doc = " \\param r A pointer filled in with the current red color value."] + #[doc = " \\param g A pointer filled in with the current green color value."] + #[doc = " \\param b A pointer filled in with the current blue color value."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 if the surface is not valid."] + #[doc = ""] + #[doc = " \\sa SDL_SetSurfaceColorMod()"] pub fn SDL_GetSurfaceColorMod( surface: *mut SDL_Surface, r: *mut Uint8, @@ -6606,88 +7028,88 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// \brief Set an additional alpha value used in blit operations. - /// - /// \param surface The surface to update. - /// \param alpha The alpha value multiplied into blit operations. - /// - /// \return 0 on success, or -1 if the surface is not valid. - /// - /// \sa SDL_GetSurfaceAlphaMod() + #[doc = " \\brief Set an additional alpha value used in blit operations."] + #[doc = ""] + #[doc = " \\param surface The surface to update."] + #[doc = " \\param alpha The alpha value multiplied into blit operations."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 if the surface is not valid."] + #[doc = ""] + #[doc = " \\sa SDL_GetSurfaceAlphaMod()"] pub fn SDL_SetSurfaceAlphaMod(surface: *mut SDL_Surface, alpha: Uint8) -> libc::c_int; } extern "C" { - /// \brief Get the additional alpha value used in blit operations. - /// - /// \param surface The surface to query. - /// \param alpha A pointer filled in with the current alpha value. - /// - /// \return 0 on success, or -1 if the surface is not valid. - /// - /// \sa SDL_SetSurfaceAlphaMod() + #[doc = " \\brief Get the additional alpha value used in blit operations."] + #[doc = ""] + #[doc = " \\param surface The surface to query."] + #[doc = " \\param alpha A pointer filled in with the current alpha value."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 if the surface is not valid."] + #[doc = ""] + #[doc = " \\sa SDL_SetSurfaceAlphaMod()"] pub fn SDL_GetSurfaceAlphaMod(surface: *mut SDL_Surface, alpha: *mut Uint8) -> libc::c_int; } extern "C" { - /// \brief Set the blend mode used for blit operations. - /// - /// \param surface The surface to update. - /// \param blendMode ::SDL_BlendMode to use for blit blending. - /// - /// \return 0 on success, or -1 if the parameters are not valid. - /// - /// \sa SDL_GetSurfaceBlendMode() + #[doc = " \\brief Set the blend mode used for blit operations."] + #[doc = ""] + #[doc = " \\param surface The surface to update."] + #[doc = " \\param blendMode ::SDL_BlendMode to use for blit blending."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 if the parameters are not valid."] + #[doc = ""] + #[doc = " \\sa SDL_GetSurfaceBlendMode()"] pub fn SDL_SetSurfaceBlendMode( surface: *mut SDL_Surface, blendMode: SDL_BlendMode, ) -> libc::c_int; } extern "C" { - /// \brief Get the blend mode used for blit operations. - /// - /// \param surface The surface to query. - /// \param blendMode A pointer filled in with the current blend mode. - /// - /// \return 0 on success, or -1 if the surface is not valid. - /// - /// \sa SDL_SetSurfaceBlendMode() + #[doc = " \\brief Get the blend mode used for blit operations."] + #[doc = ""] + #[doc = " \\param surface The surface to query."] + #[doc = " \\param blendMode A pointer filled in with the current blend mode."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 if the surface is not valid."] + #[doc = ""] + #[doc = " \\sa SDL_SetSurfaceBlendMode()"] pub fn SDL_GetSurfaceBlendMode( surface: *mut SDL_Surface, blendMode: *mut SDL_BlendMode, ) -> libc::c_int; } extern "C" { - /// Sets the clipping rectangle for the destination surface in a blit. - /// - /// If the clip rectangle is NULL, clipping will be disabled. - /// - /// If the clip rectangle doesn't intersect the surface, the function will - /// return SDL_FALSE and blits will be completely clipped. Otherwise the - /// function returns SDL_TRUE and blits to the surface will be clipped to - /// the intersection of the surface area and the clipping rectangle. - /// - /// Note that blits are automatically clipped to the edges of the source - /// and destination surfaces. + #[doc = " Sets the clipping rectangle for the destination surface in a blit."] + #[doc = ""] + #[doc = " If the clip rectangle is NULL, clipping will be disabled."] + #[doc = ""] + #[doc = " If the clip rectangle doesn't intersect the surface, the function will"] + #[doc = " return SDL_FALSE and blits will be completely clipped. Otherwise the"] + #[doc = " function returns SDL_TRUE and blits to the surface will be clipped to"] + #[doc = " the intersection of the surface area and the clipping rectangle."] + #[doc = ""] + #[doc = " Note that blits are automatically clipped to the edges of the source"] + #[doc = " and destination surfaces."] pub fn SDL_SetClipRect(surface: *mut SDL_Surface, rect: *const SDL_Rect) -> SDL_bool; } extern "C" { - /// Gets the clipping rectangle for the destination surface in a blit. - /// - /// \c rect must be a pointer to a valid rectangle which will be filled - /// with the correct values. + #[doc = " Gets the clipping rectangle for the destination surface in a blit."] + #[doc = ""] + #[doc = " \\c rect must be a pointer to a valid rectangle which will be filled"] + #[doc = " with the correct values."] pub fn SDL_GetClipRect(surface: *mut SDL_Surface, rect: *mut SDL_Rect); } extern "C" { pub fn SDL_DuplicateSurface(surface: *mut SDL_Surface) -> *mut SDL_Surface; } extern "C" { - /// Creates a new surface of the specified format, and then copies and maps - /// the given surface to it so the blit of the converted surface will be as - /// fast as possible. If this function fails, it returns NULL. - /// - /// The \c flags parameter is passed to SDL_CreateRGBSurface() and has those - /// semantics. You can also pass ::SDL_RLEACCEL in the flags parameter and - /// SDL will try to RLE accelerate colorkey and alpha blits in the resulting - /// surface. + #[doc = " Creates a new surface of the specified format, and then copies and maps"] + #[doc = " the given surface to it so the blit of the converted surface will be as"] + #[doc = " fast as possible. If this function fails, it returns NULL."] + #[doc = ""] + #[doc = " The \\c flags parameter is passed to SDL_CreateRGBSurface() and has those"] + #[doc = " semantics. You can also pass ::SDL_RLEACCEL in the flags parameter and"] + #[doc = " SDL will try to RLE accelerate colorkey and alpha blits in the resulting"] + #[doc = " surface."] pub fn SDL_ConvertSurface( src: *mut SDL_Surface, fmt: *const SDL_PixelFormat, @@ -6702,9 +7124,9 @@ extern "C" { ) -> *mut SDL_Surface; } extern "C" { - /// \brief Copy a block of pixels of one format to another format - /// - /// \return 0 on success, or -1 if there was an error + #[doc = " \\brief Copy a block of pixels of one format to another format"] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 if there was an error"] pub fn SDL_ConvertPixels( width: libc::c_int, height: libc::c_int, @@ -6717,14 +7139,14 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// Performs a fast fill of the given rectangle with \c color. - /// - /// If \c rect is NULL, the whole surface will be filled with \c color. - /// - /// The color should be a pixel of the format used by the surface, and - /// can be generated by the SDL_MapRGB() function. - /// - /// \return 0 on success, or -1 on error. + #[doc = " Performs a fast fill of the given rectangle with \\c color."] + #[doc = ""] + #[doc = " If \\c rect is NULL, the whole surface will be filled with \\c color."] + #[doc = ""] + #[doc = " The color should be a pixel of the format used by the surface, and"] + #[doc = " can be generated by the SDL_MapRGB() function."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 on error."] pub fn SDL_FillRect(dst: *mut SDL_Surface, rect: *const SDL_Rect, color: Uint32) -> libc::c_int; } @@ -6737,8 +7159,8 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// This is the public blit function, SDL_BlitSurface(), and it performs - /// rectangle validation and clipping before passing it to SDL_LowerBlit() + #[doc = " This is the public blit function, SDL_BlitSurface(), and it performs"] + #[doc = " rectangle validation and clipping before passing it to SDL_LowerBlit()"] pub fn SDL_UpperBlit( src: *mut SDL_Surface, srcrect: *const SDL_Rect, @@ -6747,8 +7169,8 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// This is a semi-private blit function and it performs low-level surface - /// blitting only. + #[doc = " This is a semi-private blit function and it performs low-level surface"] + #[doc = " blitting only."] pub fn SDL_LowerBlit( src: *mut SDL_Surface, srcrect: *mut SDL_Rect, @@ -6757,10 +7179,10 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// \brief Perform a fast, low quality, stretch blit between two surfaces of the - /// same pixel format. - /// - /// \note This function uses a static buffer, and is not thread-safe. + #[doc = " \\brief Perform a fast, low quality, stretch blit between two surfaces of the"] + #[doc = " same pixel format."] + #[doc = ""] + #[doc = " \\note This function uses a static buffer, and is not thread-safe."] pub fn SDL_SoftStretch( src: *mut SDL_Surface, srcrect: *const SDL_Rect, @@ -6769,8 +7191,8 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// This is the public scaled blit function, SDL_BlitScaled(), and it performs - /// rectangle validation and clipping before passing it to SDL_LowerBlitScaled() + #[doc = " This is the public scaled blit function, SDL_BlitScaled(), and it performs"] + #[doc = " rectangle validation and clipping before passing it to SDL_LowerBlitScaled()"] pub fn SDL_UpperBlitScaled( src: *mut SDL_Surface, srcrect: *const SDL_Rect, @@ -6779,8 +7201,8 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// This is a semi-private blit function and it performs low-level surface - /// scaled blitting only. + #[doc = " This is a semi-private blit function and it performs low-level surface"] + #[doc = " scaled blitting only."] pub fn SDL_LowerBlitScaled( src: *mut SDL_Surface, srcrect: *mut SDL_Rect, @@ -6789,41 +7211,41 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// \brief Set the YUV conversion mode + #[doc = " \\brief Set the YUV conversion mode"] pub fn SDL_SetYUVConversionMode(mode: SDL_YUV_CONVERSION_MODE); } extern "C" { - /// \brief Get the YUV conversion mode + #[doc = " \\brief Get the YUV conversion mode"] pub fn SDL_GetYUVConversionMode() -> SDL_YUV_CONVERSION_MODE; } extern "C" { - /// \brief Get the YUV conversion mode, returning the correct mode for the resolution when the current conversion mode is SDL_YUV_CONVERSION_AUTOMATIC + #[doc = " \\brief Get the YUV conversion mode, returning the correct mode for the resolution when the current conversion mode is SDL_YUV_CONVERSION_AUTOMATIC"] pub fn SDL_GetYUVConversionModeForResolution( width: libc::c_int, height: libc::c_int, ) -> SDL_YUV_CONVERSION_MODE; } -/// \brief The structure that defines a display mode -/// -/// \sa SDL_GetNumDisplayModes() -/// \sa SDL_GetDisplayMode() -/// \sa SDL_GetDesktopDisplayMode() -/// \sa SDL_GetCurrentDisplayMode() -/// \sa SDL_GetClosestDisplayMode() -/// \sa SDL_SetWindowDisplayMode() -/// \sa SDL_GetWindowDisplayMode() +#[doc = " \\brief The structure that defines a display mode"] +#[doc = ""] +#[doc = " \\sa SDL_GetNumDisplayModes()"] +#[doc = " \\sa SDL_GetDisplayMode()"] +#[doc = " \\sa SDL_GetDesktopDisplayMode()"] +#[doc = " \\sa SDL_GetCurrentDisplayMode()"] +#[doc = " \\sa SDL_GetClosestDisplayMode()"] +#[doc = " \\sa SDL_SetWindowDisplayMode()"] +#[doc = " \\sa SDL_GetWindowDisplayMode()"] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_DisplayMode { - ///< pixel format + #[doc = "< pixel format"] pub format: Uint32, - ///< width, in screen coordinates + #[doc = "< width, in screen coordinates"] pub w: libc::c_int, - ///< height, in screen coordinates + #[doc = "< height, in screen coordinates"] pub h: libc::c_int, - ///< refresh rate (or zero for unspecified) + #[doc = "< refresh rate (or zero for unspecified)"] pub refresh_rate: libc::c_int, - ///< driver-specific data, initialize to 0 + #[doc = "< driver-specific data, initialize to 0"] pub driverdata: *mut libc::c_void, } #[test] @@ -6895,125 +7317,125 @@ pub struct SDL_Window { _unused: [u8; 0], } #[repr(u32)] -/// \brief The flags on a window -/// -/// \sa SDL_GetWindowFlags() +#[doc = " \\brief The flags on a window"] +#[doc = ""] +#[doc = " \\sa SDL_GetWindowFlags()"] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum SDL_WindowFlags { - ///< fullscreen window + #[doc = "< fullscreen window"] SDL_WINDOW_FULLSCREEN = 1, - ///< window usable with OpenGL context + #[doc = "< window usable with OpenGL context"] SDL_WINDOW_OPENGL = 2, - ///< window is visible + #[doc = "< window is visible"] SDL_WINDOW_SHOWN = 4, - ///< window is not visible + #[doc = "< window is not visible"] SDL_WINDOW_HIDDEN = 8, - ///< no window decoration + #[doc = "< no window decoration"] SDL_WINDOW_BORDERLESS = 16, - ///< window can be resized + #[doc = "< window can be resized"] SDL_WINDOW_RESIZABLE = 32, - ///< window is minimized + #[doc = "< window is minimized"] SDL_WINDOW_MINIMIZED = 64, - ///< window is maximized + #[doc = "< window is maximized"] SDL_WINDOW_MAXIMIZED = 128, - ///< window has grabbed input focus + #[doc = "< window has grabbed input focus"] SDL_WINDOW_INPUT_GRABBED = 256, - ///< window has input focus + #[doc = "< window has input focus"] SDL_WINDOW_INPUT_FOCUS = 512, - ///< window has mouse focus + #[doc = "< window has mouse focus"] SDL_WINDOW_MOUSE_FOCUS = 1024, SDL_WINDOW_FULLSCREEN_DESKTOP = 4097, - ///< window not created by SDL + #[doc = "< window not created by SDL"] SDL_WINDOW_FOREIGN = 2048, - ///< window should be created in high-DPI mode if supported. - ///On macOS NSHighResolutionCapable must be set true in the - ///application's Info.plist for this to have any effect. + #[doc = "< window should be created in high-DPI mode if supported."] + #[doc = "On macOS NSHighResolutionCapable must be set true in the"] + #[doc = "application's Info.plist for this to have any effect."] SDL_WINDOW_ALLOW_HIGHDPI = 8192, - ///< window has mouse captured (unrelated to INPUT_GRABBED) + #[doc = "< window has mouse captured (unrelated to INPUT_GRABBED)"] SDL_WINDOW_MOUSE_CAPTURE = 16384, - ///< window should always be above others + #[doc = "< window should always be above others"] SDL_WINDOW_ALWAYS_ON_TOP = 32768, - ///< window should not be added to the taskbar + #[doc = "< window should not be added to the taskbar"] SDL_WINDOW_SKIP_TASKBAR = 65536, - ///< window should be treated as a utility window + #[doc = "< window should be treated as a utility window"] SDL_WINDOW_UTILITY = 131072, - ///< window should be treated as a tooltip + #[doc = "< window should be treated as a tooltip"] SDL_WINDOW_TOOLTIP = 262144, - ///< window should be treated as a popup menu + #[doc = "< window should be treated as a popup menu"] SDL_WINDOW_POPUP_MENU = 524288, - ///< window usable for Vulkan surface + #[doc = "< window usable for Vulkan surface"] SDL_WINDOW_VULKAN = 268435456, } #[repr(u32)] -/// \brief Event subtype for window events +#[doc = " \\brief Event subtype for window events"] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum SDL_WindowEventID { - ///< Never used + #[doc = "< Never used"] SDL_WINDOWEVENT_NONE = 0, - ///< Window has been shown + #[doc = "< Window has been shown"] SDL_WINDOWEVENT_SHOWN = 1, - ///< Window has been hidden + #[doc = "< Window has been hidden"] SDL_WINDOWEVENT_HIDDEN = 2, - ///< Window has been exposed and should be - ///redrawn + #[doc = "< Window has been exposed and should be"] + #[doc = "redrawn"] SDL_WINDOWEVENT_EXPOSED = 3, - ///< Window has been moved to data1, data2 + #[doc = "< Window has been moved to data1, data2"] SDL_WINDOWEVENT_MOVED = 4, - ///< Window has been resized to data1xdata2 + #[doc = "< Window has been resized to data1xdata2"] SDL_WINDOWEVENT_RESIZED = 5, - ///< The window size has changed, either as - ///a result of an API call or through the - ///system or user changing the window size. + #[doc = "< The window size has changed, either as"] + #[doc = "a result of an API call or through the"] + #[doc = "system or user changing the window size."] SDL_WINDOWEVENT_SIZE_CHANGED = 6, - ///< Window has been minimized + #[doc = "< Window has been minimized"] SDL_WINDOWEVENT_MINIMIZED = 7, - ///< Window has been maximized + #[doc = "< Window has been maximized"] SDL_WINDOWEVENT_MAXIMIZED = 8, - ///< Window has been restored to normal size - ///and position + #[doc = "< Window has been restored to normal size"] + #[doc = "and position"] SDL_WINDOWEVENT_RESTORED = 9, - ///< Window has gained mouse focus + #[doc = "< Window has gained mouse focus"] SDL_WINDOWEVENT_ENTER = 10, - ///< Window has lost mouse focus + #[doc = "< Window has lost mouse focus"] SDL_WINDOWEVENT_LEAVE = 11, - ///< Window has gained keyboard focus + #[doc = "< Window has gained keyboard focus"] SDL_WINDOWEVENT_FOCUS_GAINED = 12, - ///< Window has lost keyboard focus + #[doc = "< Window has lost keyboard focus"] SDL_WINDOWEVENT_FOCUS_LOST = 13, - ///< The window manager requests that the window be closed + #[doc = "< The window manager requests that the window be closed"] SDL_WINDOWEVENT_CLOSE = 14, - ///< Window is being offered a focus (should SetWindowInputFocus() on itself or a subwindow, or ignore) + #[doc = "< Window is being offered a focus (should SetWindowInputFocus() on itself or a subwindow, or ignore)"] SDL_WINDOWEVENT_TAKE_FOCUS = 15, - ///< Window had a hit test that wasn't SDL_HITTEST_NORMAL. + #[doc = "< Window had a hit test that wasn't SDL_HITTEST_NORMAL."] SDL_WINDOWEVENT_HIT_TEST = 16, } #[repr(u32)] -/// \brief Event subtype for display events +#[doc = " \\brief Event subtype for display events"] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum SDL_DisplayEventID { - ///< Never used + #[doc = "< Never used"] SDL_DISPLAYEVENT_NONE = 0, - ///< Display orientation has changed to data1 + #[doc = "< Display orientation has changed to data1"] SDL_DISPLAYEVENT_ORIENTATION = 1, } #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum SDL_DisplayOrientation { - ///< The display orientation can't be determined + #[doc = "< The display orientation can't be determined"] SDL_ORIENTATION_UNKNOWN = 0, - ///< The display is in landscape mode, with the right side up, relative to portrait mode + #[doc = "< The display is in landscape mode, with the right side up, relative to portrait mode"] SDL_ORIENTATION_LANDSCAPE = 1, - ///< The display is in landscape mode, with the left side up, relative to portrait mode + #[doc = "< The display is in landscape mode, with the left side up, relative to portrait mode"] SDL_ORIENTATION_LANDSCAPE_FLIPPED = 2, - ///< The display is in portrait mode + #[doc = "< The display is in portrait mode"] SDL_ORIENTATION_PORTRAIT = 3, - ///< The display is in portrait mode, upside down + #[doc = "< The display is in portrait mode, upside down"] SDL_ORIENTATION_PORTRAIT_FLIPPED = 4, } -/// \brief An opaque handle to an OpenGL context. +#[doc = " \\brief An opaque handle to an OpenGL context."] pub type SDL_GLContext = *mut libc::c_void; #[repr(u32)] -/// \brief OpenGL configuration attributes +#[doc = " \\brief OpenGL configuration attributes"] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum SDL_GLattr { SDL_GL_RED_SIZE = 0, @@ -7049,7 +7471,7 @@ pub enum SDL_GLattr { pub enum SDL_GLprofile { SDL_GL_CONTEXT_PROFILE_CORE = 1, SDL_GL_CONTEXT_PROFILE_COMPATIBILITY = 2, - ///< GLX_CONTEXT_ES2_PROFILE_BIT_EXT + #[doc = "< GLX_CONTEXT_ES2_PROFILE_BIT_EXT"] SDL_GL_CONTEXT_PROFILE_ES = 4, } #[repr(u32)] @@ -7073,106 +7495,106 @@ pub enum SDL_GLContextResetNotification { SDL_GL_CONTEXT_RESET_LOSE_CONTEXT = 1, } extern "C" { - /// \brief Get the number of video drivers compiled into SDL - /// - /// \sa SDL_GetVideoDriver() + #[doc = " \\brief Get the number of video drivers compiled into SDL"] + #[doc = ""] + #[doc = " \\sa SDL_GetVideoDriver()"] pub fn SDL_GetNumVideoDrivers() -> libc::c_int; } extern "C" { - /// \brief Get the name of a built in video driver. - /// - /// \note The video drivers are presented in the order in which they are - /// normally checked during initialization. - /// - /// \sa SDL_GetNumVideoDrivers() + #[doc = " \\brief Get the name of a built in video driver."] + #[doc = ""] + #[doc = " \\note The video drivers are presented in the order in which they are"] + #[doc = " normally checked during initialization."] + #[doc = ""] + #[doc = " \\sa SDL_GetNumVideoDrivers()"] pub fn SDL_GetVideoDriver(index: libc::c_int) -> *const libc::c_char; } extern "C" { - /// \brief Initialize the video subsystem, optionally specifying a video driver. - /// - /// \param driver_name Initialize a specific driver by name, or NULL for the - /// default video driver. - /// - /// \return 0 on success, -1 on error - /// - /// This function initializes the video subsystem; setting up a connection - /// to the window manager, etc, and determines the available display modes - /// and pixel formats, but does not initialize a window or graphics mode. - /// - /// \sa SDL_VideoQuit() + #[doc = " \\brief Initialize the video subsystem, optionally specifying a video driver."] + #[doc = ""] + #[doc = " \\param driver_name Initialize a specific driver by name, or NULL for the"] + #[doc = " default video driver."] + #[doc = ""] + #[doc = " \\return 0 on success, -1 on error"] + #[doc = ""] + #[doc = " This function initializes the video subsystem; setting up a connection"] + #[doc = " to the window manager, etc, and determines the available display modes"] + #[doc = " and pixel formats, but does not initialize a window or graphics mode."] + #[doc = ""] + #[doc = " \\sa SDL_VideoQuit()"] pub fn SDL_VideoInit(driver_name: *const libc::c_char) -> libc::c_int; } extern "C" { - /// \brief Shuts down the video subsystem. - /// - /// This function closes all windows, and restores the original video mode. - /// - /// \sa SDL_VideoInit() + #[doc = " \\brief Shuts down the video subsystem."] + #[doc = ""] + #[doc = " This function closes all windows, and restores the original video mode."] + #[doc = ""] + #[doc = " \\sa SDL_VideoInit()"] pub fn SDL_VideoQuit(); } extern "C" { - /// \brief Returns the name of the currently initialized video driver. - /// - /// \return The name of the current video driver or NULL if no driver - /// has been initialized - /// - /// \sa SDL_GetNumVideoDrivers() - /// \sa SDL_GetVideoDriver() + #[doc = " \\brief Returns the name of the currently initialized video driver."] + #[doc = ""] + #[doc = " \\return The name of the current video driver or NULL if no driver"] + #[doc = " has been initialized"] + #[doc = ""] + #[doc = " \\sa SDL_GetNumVideoDrivers()"] + #[doc = " \\sa SDL_GetVideoDriver()"] pub fn SDL_GetCurrentVideoDriver() -> *const libc::c_char; } extern "C" { - /// \brief Returns the number of available video displays. - /// - /// \sa SDL_GetDisplayBounds() + #[doc = " \\brief Returns the number of available video displays."] + #[doc = ""] + #[doc = " \\sa SDL_GetDisplayBounds()"] pub fn SDL_GetNumVideoDisplays() -> libc::c_int; } extern "C" { - /// \brief Get the name of a display in UTF-8 encoding - /// - /// \return The name of a display, or NULL for an invalid display index. - /// - /// \sa SDL_GetNumVideoDisplays() + #[doc = " \\brief Get the name of a display in UTF-8 encoding"] + #[doc = ""] + #[doc = " \\return The name of a display, or NULL for an invalid display index."] + #[doc = ""] + #[doc = " \\sa SDL_GetNumVideoDisplays()"] pub fn SDL_GetDisplayName(displayIndex: libc::c_int) -> *const libc::c_char; } extern "C" { - /// \brief Get the desktop area represented by a display, with the primary - /// display located at 0,0 - /// - /// \return 0 on success, or -1 if the index is out of range. - /// - /// \sa SDL_GetNumVideoDisplays() + #[doc = " \\brief Get the desktop area represented by a display, with the primary"] + #[doc = " display located at 0,0"] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 if the index is out of range."] + #[doc = ""] + #[doc = " \\sa SDL_GetNumVideoDisplays()"] pub fn SDL_GetDisplayBounds(displayIndex: libc::c_int, rect: *mut SDL_Rect) -> libc::c_int; } extern "C" { - /// \brief Get the usable desktop area represented by a display, with the - /// primary display located at 0,0 - /// - /// This is the same area as SDL_GetDisplayBounds() reports, but with portions - /// reserved by the system removed. For example, on Mac OS X, this subtracts - /// the area occupied by the menu bar and dock. - /// - /// Setting a window to be fullscreen generally bypasses these unusable areas, - /// so these are good guidelines for the maximum space available to a - /// non-fullscreen window. - /// - /// \return 0 on success, or -1 if the index is out of range. - /// - /// \sa SDL_GetDisplayBounds() - /// \sa SDL_GetNumVideoDisplays() + #[doc = " \\brief Get the usable desktop area represented by a display, with the"] + #[doc = " primary display located at 0,0"] + #[doc = ""] + #[doc = " This is the same area as SDL_GetDisplayBounds() reports, but with portions"] + #[doc = " reserved by the system removed. For example, on Mac OS X, this subtracts"] + #[doc = " the area occupied by the menu bar and dock."] + #[doc = ""] + #[doc = " Setting a window to be fullscreen generally bypasses these unusable areas,"] + #[doc = " so these are good guidelines for the maximum space available to a"] + #[doc = " non-fullscreen window."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 if the index is out of range."] + #[doc = ""] + #[doc = " \\sa SDL_GetDisplayBounds()"] + #[doc = " \\sa SDL_GetNumVideoDisplays()"] pub fn SDL_GetDisplayUsableBounds( displayIndex: libc::c_int, rect: *mut SDL_Rect, ) -> libc::c_int; } extern "C" { - /// \brief Get the dots/pixels-per-inch for a display - /// - /// \note Diagonal, horizontal and vertical DPI can all be optionally - /// returned if the parameter is non-NULL. - /// - /// \return 0 on success, or -1 if no DPI information is available or the index is out of range. - /// - /// \sa SDL_GetNumVideoDisplays() + #[doc = " \\brief Get the dots/pixels-per-inch for a display"] + #[doc = ""] + #[doc = " \\note Diagonal, horizontal and vertical DPI can all be optionally"] + #[doc = " returned if the parameter is non-NULL."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 if no DPI information is available or the index is out of range."] + #[doc = ""] + #[doc = " \\sa SDL_GetNumVideoDisplays()"] pub fn SDL_GetDisplayDPI( displayIndex: libc::c_int, ddpi: *mut f32, @@ -7181,29 +7603,29 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// \brief Get the orientation of a display - /// - /// \return The orientation of the display, or SDL_ORIENTATION_UNKNOWN if it isn't available. - /// - /// \sa SDL_GetNumVideoDisplays() + #[doc = " \\brief Get the orientation of a display"] + #[doc = ""] + #[doc = " \\return The orientation of the display, or SDL_ORIENTATION_UNKNOWN if it isn't available."] + #[doc = ""] + #[doc = " \\sa SDL_GetNumVideoDisplays()"] pub fn SDL_GetDisplayOrientation(displayIndex: libc::c_int) -> SDL_DisplayOrientation; } extern "C" { - /// \brief Returns the number of available display modes. - /// - /// \sa SDL_GetDisplayMode() + #[doc = " \\brief Returns the number of available display modes."] + #[doc = ""] + #[doc = " \\sa SDL_GetDisplayMode()"] pub fn SDL_GetNumDisplayModes(displayIndex: libc::c_int) -> libc::c_int; } extern "C" { - /// \brief Fill in information about a specific display mode. - /// - /// \note The display modes are sorted in this priority: - /// \li bits per pixel -> more colors to fewer colors - /// \li width -> largest to smallest - /// \li height -> largest to smallest - /// \li refresh rate -> highest to lowest - /// - /// \sa SDL_GetNumDisplayModes() + #[doc = " \\brief Fill in information about a specific display mode."] + #[doc = ""] + #[doc = " \\note The display modes are sorted in this priority:"] + #[doc = " \\li bits per pixel -> more colors to fewer colors"] + #[doc = " \\li width -> largest to smallest"] + #[doc = " \\li height -> largest to smallest"] + #[doc = " \\li refresh rate -> highest to lowest"] + #[doc = ""] + #[doc = " \\sa SDL_GetNumDisplayModes()"] pub fn SDL_GetDisplayMode( displayIndex: libc::c_int, modeIndex: libc::c_int, @@ -7211,39 +7633,39 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// \brief Fill in information about the desktop display mode. + #[doc = " \\brief Fill in information about the desktop display mode."] pub fn SDL_GetDesktopDisplayMode( displayIndex: libc::c_int, mode: *mut SDL_DisplayMode, ) -> libc::c_int; } extern "C" { - /// \brief Fill in information about the current display mode. + #[doc = " \\brief Fill in information about the current display mode."] pub fn SDL_GetCurrentDisplayMode( displayIndex: libc::c_int, mode: *mut SDL_DisplayMode, ) -> libc::c_int; } extern "C" { - /// \brief Get the closest match to the requested display mode. - /// - /// \param displayIndex The index of display from which mode should be queried. - /// \param mode The desired display mode - /// \param closest A pointer to a display mode to be filled in with the closest - /// match of the available display modes. - /// - /// \return The passed in value \c closest, or NULL if no matching video mode - /// was available. - /// - /// The available display modes are scanned, and \c closest is filled in with the - /// closest mode matching the requested mode and returned. The mode format and - /// refresh_rate default to the desktop mode if they are 0. The modes are - /// scanned with size being first priority, format being second priority, and - /// finally checking the refresh_rate. If all the available modes are too - /// small, then NULL is returned. - /// - /// \sa SDL_GetNumDisplayModes() - /// \sa SDL_GetDisplayMode() + #[doc = " \\brief Get the closest match to the requested display mode."] + #[doc = ""] + #[doc = " \\param displayIndex The index of display from which mode should be queried."] + #[doc = " \\param mode The desired display mode"] + #[doc = " \\param closest A pointer to a display mode to be filled in with the closest"] + #[doc = " match of the available display modes."] + #[doc = ""] + #[doc = " \\return The passed in value \\c closest, or NULL if no matching video mode"] + #[doc = " was available."] + #[doc = ""] + #[doc = " The available display modes are scanned, and \\c closest is filled in with the"] + #[doc = " closest mode matching the requested mode and returned. The mode format and"] + #[doc = " refresh_rate default to the desktop mode if they are 0. The modes are"] + #[doc = " scanned with size being first priority, format being second priority, and"] + #[doc = " finally checking the refresh_rate. If all the available modes are too"] + #[doc = " small, then NULL is returned."] + #[doc = ""] + #[doc = " \\sa SDL_GetNumDisplayModes()"] + #[doc = " \\sa SDL_GetDisplayMode()"] pub fn SDL_GetClosestDisplayMode( displayIndex: libc::c_int, mode: *const SDL_DisplayMode, @@ -7251,86 +7673,86 @@ extern "C" { ) -> *mut SDL_DisplayMode; } extern "C" { - /// \brief Get the display index associated with a window. - /// - /// \return the display index of the display containing the center of the - /// window, or -1 on error. + #[doc = " \\brief Get the display index associated with a window."] + #[doc = ""] + #[doc = " \\return the display index of the display containing the center of the"] + #[doc = " window, or -1 on error."] pub fn SDL_GetWindowDisplayIndex(window: *mut SDL_Window) -> libc::c_int; } extern "C" { - /// \brief Set the display mode used when a fullscreen window is visible. - /// - /// By default the window's dimensions and the desktop format and refresh rate - /// are used. - /// - /// \param window The window for which the display mode should be set. - /// \param mode The mode to use, or NULL for the default mode. - /// - /// \return 0 on success, or -1 if setting the display mode failed. - /// - /// \sa SDL_GetWindowDisplayMode() - /// \sa SDL_SetWindowFullscreen() + #[doc = " \\brief Set the display mode used when a fullscreen window is visible."] + #[doc = ""] + #[doc = " By default the window's dimensions and the desktop format and refresh rate"] + #[doc = " are used."] + #[doc = ""] + #[doc = " \\param window The window for which the display mode should be set."] + #[doc = " \\param mode The mode to use, or NULL for the default mode."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 if setting the display mode failed."] + #[doc = ""] + #[doc = " \\sa SDL_GetWindowDisplayMode()"] + #[doc = " \\sa SDL_SetWindowFullscreen()"] pub fn SDL_SetWindowDisplayMode( window: *mut SDL_Window, mode: *const SDL_DisplayMode, ) -> libc::c_int; } extern "C" { - /// \brief Fill in information about the display mode used when a fullscreen - /// window is visible. - /// - /// \sa SDL_SetWindowDisplayMode() - /// \sa SDL_SetWindowFullscreen() + #[doc = " \\brief Fill in information about the display mode used when a fullscreen"] + #[doc = " window is visible."] + #[doc = ""] + #[doc = " \\sa SDL_SetWindowDisplayMode()"] + #[doc = " \\sa SDL_SetWindowFullscreen()"] pub fn SDL_GetWindowDisplayMode( window: *mut SDL_Window, mode: *mut SDL_DisplayMode, ) -> libc::c_int; } extern "C" { - /// \brief Get the pixel format associated with the window. + #[doc = " \\brief Get the pixel format associated with the window."] pub fn SDL_GetWindowPixelFormat(window: *mut SDL_Window) -> Uint32; } extern "C" { - /// \brief Create a window with the specified position, dimensions, and flags. - /// - /// \param title The title of the window, in UTF-8 encoding. - /// \param x The x position of the window, ::SDL_WINDOWPOS_CENTERED, or - /// ::SDL_WINDOWPOS_UNDEFINED. - /// \param y The y position of the window, ::SDL_WINDOWPOS_CENTERED, or - /// ::SDL_WINDOWPOS_UNDEFINED. - /// \param w The width of the window, in screen coordinates. - /// \param h The height of the window, in screen coordinates. - /// \param flags The flags for the window, a mask of any of the following: - /// ::SDL_WINDOW_FULLSCREEN, ::SDL_WINDOW_OPENGL, - /// ::SDL_WINDOW_HIDDEN, ::SDL_WINDOW_BORDERLESS, - /// ::SDL_WINDOW_RESIZABLE, ::SDL_WINDOW_MAXIMIZED, - /// ::SDL_WINDOW_MINIMIZED, ::SDL_WINDOW_INPUT_GRABBED, - /// ::SDL_WINDOW_ALLOW_HIGHDPI, ::SDL_WINDOW_VULKAN. - /// - /// \return The created window, or NULL if window creation failed. - /// - /// If the window is created with the SDL_WINDOW_ALLOW_HIGHDPI flag, its size - /// in pixels may differ from its size in screen coordinates on platforms with - /// high-DPI support (e.g. iOS and Mac OS X). Use SDL_GetWindowSize() to query - /// the client area's size in screen coordinates, and SDL_GL_GetDrawableSize(), - /// SDL_Vulkan_GetDrawableSize(), or SDL_GetRendererOutputSize() to query the - /// drawable size in pixels. - /// - /// If the window is created with any of the SDL_WINDOW_OPENGL or - /// SDL_WINDOW_VULKAN flags, then the corresponding LoadLibrary function - /// (SDL_GL_LoadLibrary or SDL_Vulkan_LoadLibrary) is called and the - /// corresponding UnloadLibrary function is called by SDL_DestroyWindow(). - /// - /// If SDL_WINDOW_VULKAN is specified and there isn't a working Vulkan driver, - /// SDL_CreateWindow() will fail because SDL_Vulkan_LoadLibrary() will fail. - /// - /// \note On non-Apple devices, SDL requires you to either not link to the - /// Vulkan loader or link to a dynamic library version. This limitation - /// may be removed in a future version of SDL. - /// - /// \sa SDL_DestroyWindow() - /// \sa SDL_GL_LoadLibrary() - /// \sa SDL_Vulkan_LoadLibrary() + #[doc = " \\brief Create a window with the specified position, dimensions, and flags."] + #[doc = ""] + #[doc = " \\param title The title of the window, in UTF-8 encoding."] + #[doc = " \\param x The x position of the window, ::SDL_WINDOWPOS_CENTERED, or"] + #[doc = " ::SDL_WINDOWPOS_UNDEFINED."] + #[doc = " \\param y The y position of the window, ::SDL_WINDOWPOS_CENTERED, or"] + #[doc = " ::SDL_WINDOWPOS_UNDEFINED."] + #[doc = " \\param w The width of the window, in screen coordinates."] + #[doc = " \\param h The height of the window, in screen coordinates."] + #[doc = " \\param flags The flags for the window, a mask of any of the following:"] + #[doc = " ::SDL_WINDOW_FULLSCREEN, ::SDL_WINDOW_OPENGL,"] + #[doc = " ::SDL_WINDOW_HIDDEN, ::SDL_WINDOW_BORDERLESS,"] + #[doc = " ::SDL_WINDOW_RESIZABLE, ::SDL_WINDOW_MAXIMIZED,"] + #[doc = " ::SDL_WINDOW_MINIMIZED, ::SDL_WINDOW_INPUT_GRABBED,"] + #[doc = " ::SDL_WINDOW_ALLOW_HIGHDPI, ::SDL_WINDOW_VULKAN."] + #[doc = ""] + #[doc = " \\return The created window, or NULL if window creation failed."] + #[doc = ""] + #[doc = " If the window is created with the SDL_WINDOW_ALLOW_HIGHDPI flag, its size"] + #[doc = " in pixels may differ from its size in screen coordinates on platforms with"] + #[doc = " high-DPI support (e.g. iOS and Mac OS X). Use SDL_GetWindowSize() to query"] + #[doc = " the client area's size in screen coordinates, and SDL_GL_GetDrawableSize(),"] + #[doc = " SDL_Vulkan_GetDrawableSize(), or SDL_GetRendererOutputSize() to query the"] + #[doc = " drawable size in pixels."] + #[doc = ""] + #[doc = " If the window is created with any of the SDL_WINDOW_OPENGL or"] + #[doc = " SDL_WINDOW_VULKAN flags, then the corresponding LoadLibrary function"] + #[doc = " (SDL_GL_LoadLibrary or SDL_Vulkan_LoadLibrary) is called and the"] + #[doc = " corresponding UnloadLibrary function is called by SDL_DestroyWindow()."] + #[doc = ""] + #[doc = " If SDL_WINDOW_VULKAN is specified and there isn't a working Vulkan driver,"] + #[doc = " SDL_CreateWindow() will fail because SDL_Vulkan_LoadLibrary() will fail."] + #[doc = ""] + #[doc = " \\note On non-Apple devices, SDL requires you to either not link to the"] + #[doc = " Vulkan loader or link to a dynamic library version. This limitation"] + #[doc = " may be removed in a future version of SDL."] + #[doc = ""] + #[doc = " \\sa SDL_DestroyWindow()"] + #[doc = " \\sa SDL_GL_LoadLibrary()"] + #[doc = " \\sa SDL_Vulkan_LoadLibrary()"] pub fn SDL_CreateWindow( title: *const libc::c_char, x: libc::c_int, @@ -7341,58 +7763,58 @@ extern "C" { ) -> *mut SDL_Window; } extern "C" { - /// \brief Create an SDL window from an existing native window. - /// - /// \param data A pointer to driver-dependent window creation data - /// - /// \return The created window, or NULL if window creation failed. - /// - /// \sa SDL_DestroyWindow() + #[doc = " \\brief Create an SDL window from an existing native window."] + #[doc = ""] + #[doc = " \\param data A pointer to driver-dependent window creation data"] + #[doc = ""] + #[doc = " \\return The created window, or NULL if window creation failed."] + #[doc = ""] + #[doc = " \\sa SDL_DestroyWindow()"] pub fn SDL_CreateWindowFrom(data: *const libc::c_void) -> *mut SDL_Window; } extern "C" { - /// \brief Get the numeric ID of a window, for logging purposes. + #[doc = " \\brief Get the numeric ID of a window, for logging purposes."] pub fn SDL_GetWindowID(window: *mut SDL_Window) -> Uint32; } extern "C" { - /// \brief Get a window from a stored ID, or NULL if it doesn't exist. + #[doc = " \\brief Get a window from a stored ID, or NULL if it doesn't exist."] pub fn SDL_GetWindowFromID(id: Uint32) -> *mut SDL_Window; } extern "C" { - /// \brief Get the window flags. + #[doc = " \\brief Get the window flags."] pub fn SDL_GetWindowFlags(window: *mut SDL_Window) -> Uint32; } extern "C" { - /// \brief Set the title of a window, in UTF-8 format. - /// - /// \sa SDL_GetWindowTitle() + #[doc = " \\brief Set the title of a window, in UTF-8 format."] + #[doc = ""] + #[doc = " \\sa SDL_GetWindowTitle()"] pub fn SDL_SetWindowTitle(window: *mut SDL_Window, title: *const libc::c_char); } extern "C" { - /// \brief Get the title of a window, in UTF-8 format. - /// - /// \sa SDL_SetWindowTitle() + #[doc = " \\brief Get the title of a window, in UTF-8 format."] + #[doc = ""] + #[doc = " \\sa SDL_SetWindowTitle()"] pub fn SDL_GetWindowTitle(window: *mut SDL_Window) -> *const libc::c_char; } extern "C" { - /// \brief Set the icon for a window. - /// - /// \param window The window for which the icon should be set. - /// \param icon The icon for the window. + #[doc = " \\brief Set the icon for a window."] + #[doc = ""] + #[doc = " \\param window The window for which the icon should be set."] + #[doc = " \\param icon The icon for the window."] pub fn SDL_SetWindowIcon(window: *mut SDL_Window, icon: *mut SDL_Surface); } extern "C" { - /// \brief Associate an arbitrary named pointer with a window. - /// - /// \param window The window to associate with the pointer. - /// \param name The name of the pointer. - /// \param userdata The associated pointer. - /// - /// \return The previous value associated with 'name' - /// - /// \note The name is case-sensitive. - /// - /// \sa SDL_GetWindowData() + #[doc = " \\brief Associate an arbitrary named pointer with a window."] + #[doc = ""] + #[doc = " \\param window The window to associate with the pointer."] + #[doc = " \\param name The name of the pointer."] + #[doc = " \\param userdata The associated pointer."] + #[doc = ""] + #[doc = " \\return The previous value associated with 'name'"] + #[doc = ""] + #[doc = " \\note The name is case-sensitive."] + #[doc = ""] + #[doc = " \\sa SDL_GetWindowData()"] pub fn SDL_SetWindowData( window: *mut SDL_Window, name: *const libc::c_char, @@ -7400,95 +7822,95 @@ extern "C" { ) -> *mut libc::c_void; } extern "C" { - /// \brief Retrieve the data pointer associated with a window. - /// - /// \param window The window to query. - /// \param name The name of the pointer. - /// - /// \return The value associated with 'name' - /// - /// \sa SDL_SetWindowData() + #[doc = " \\brief Retrieve the data pointer associated with a window."] + #[doc = ""] + #[doc = " \\param window The window to query."] + #[doc = " \\param name The name of the pointer."] + #[doc = ""] + #[doc = " \\return The value associated with 'name'"] + #[doc = ""] + #[doc = " \\sa SDL_SetWindowData()"] pub fn SDL_GetWindowData( window: *mut SDL_Window, name: *const libc::c_char, ) -> *mut libc::c_void; } extern "C" { - /// \brief Set the position of a window. - /// - /// \param window The window to reposition. - /// \param x The x coordinate of the window in screen coordinates, or - /// ::SDL_WINDOWPOS_CENTERED or ::SDL_WINDOWPOS_UNDEFINED. - /// \param y The y coordinate of the window in screen coordinates, or - /// ::SDL_WINDOWPOS_CENTERED or ::SDL_WINDOWPOS_UNDEFINED. - /// - /// \note The window coordinate origin is the upper left of the display. - /// - /// \sa SDL_GetWindowPosition() + #[doc = " \\brief Set the position of a window."] + #[doc = ""] + #[doc = " \\param window The window to reposition."] + #[doc = " \\param x The x coordinate of the window in screen coordinates, or"] + #[doc = " ::SDL_WINDOWPOS_CENTERED or ::SDL_WINDOWPOS_UNDEFINED."] + #[doc = " \\param y The y coordinate of the window in screen coordinates, or"] + #[doc = " ::SDL_WINDOWPOS_CENTERED or ::SDL_WINDOWPOS_UNDEFINED."] + #[doc = ""] + #[doc = " \\note The window coordinate origin is the upper left of the display."] + #[doc = ""] + #[doc = " \\sa SDL_GetWindowPosition()"] pub fn SDL_SetWindowPosition(window: *mut SDL_Window, x: libc::c_int, y: libc::c_int); } extern "C" { - /// \brief Get the position of a window. - /// - /// \param window The window to query. - /// \param x Pointer to variable for storing the x position, in screen - /// coordinates. May be NULL. - /// \param y Pointer to variable for storing the y position, in screen - /// coordinates. May be NULL. - /// - /// \sa SDL_SetWindowPosition() + #[doc = " \\brief Get the position of a window."] + #[doc = ""] + #[doc = " \\param window The window to query."] + #[doc = " \\param x Pointer to variable for storing the x position, in screen"] + #[doc = " coordinates. May be NULL."] + #[doc = " \\param y Pointer to variable for storing the y position, in screen"] + #[doc = " coordinates. May be NULL."] + #[doc = ""] + #[doc = " \\sa SDL_SetWindowPosition()"] pub fn SDL_GetWindowPosition(window: *mut SDL_Window, x: *mut libc::c_int, y: *mut libc::c_int); } extern "C" { - /// \brief Set the size of a window's client area. - /// - /// \param window The window to resize. - /// \param w The width of the window, in screen coordinates. Must be >0. - /// \param h The height of the window, in screen coordinates. Must be >0. - /// - /// \note Fullscreen windows automatically match the size of the display mode, - /// and you should use SDL_SetWindowDisplayMode() to change their size. - /// - /// The window size in screen coordinates may differ from the size in pixels, if - /// the window was created with SDL_WINDOW_ALLOW_HIGHDPI on a platform with - /// high-dpi support (e.g. iOS or OS X). Use SDL_GL_GetDrawableSize() or - /// SDL_GetRendererOutputSize() to get the real client area size in pixels. - /// - /// \sa SDL_GetWindowSize() - /// \sa SDL_SetWindowDisplayMode() + #[doc = " \\brief Set the size of a window's client area."] + #[doc = ""] + #[doc = " \\param window The window to resize."] + #[doc = " \\param w The width of the window, in screen coordinates. Must be >0."] + #[doc = " \\param h The height of the window, in screen coordinates. Must be >0."] + #[doc = ""] + #[doc = " \\note Fullscreen windows automatically match the size of the display mode,"] + #[doc = " and you should use SDL_SetWindowDisplayMode() to change their size."] + #[doc = ""] + #[doc = " The window size in screen coordinates may differ from the size in pixels, if"] + #[doc = " the window was created with SDL_WINDOW_ALLOW_HIGHDPI on a platform with"] + #[doc = " high-dpi support (e.g. iOS or OS X). Use SDL_GL_GetDrawableSize() or"] + #[doc = " SDL_GetRendererOutputSize() to get the real client area size in pixels."] + #[doc = ""] + #[doc = " \\sa SDL_GetWindowSize()"] + #[doc = " \\sa SDL_SetWindowDisplayMode()"] pub fn SDL_SetWindowSize(window: *mut SDL_Window, w: libc::c_int, h: libc::c_int); } extern "C" { - /// \brief Get the size of a window's client area. - /// - /// \param window The window to query. - /// \param w Pointer to variable for storing the width, in screen - /// coordinates. May be NULL. - /// \param h Pointer to variable for storing the height, in screen - /// coordinates. May be NULL. - /// - /// The window size in screen coordinates may differ from the size in pixels, if - /// the window was created with SDL_WINDOW_ALLOW_HIGHDPI on a platform with - /// high-dpi support (e.g. iOS or OS X). Use SDL_GL_GetDrawableSize() or - /// SDL_GetRendererOutputSize() to get the real client area size in pixels. - /// - /// \sa SDL_SetWindowSize() + #[doc = " \\brief Get the size of a window's client area."] + #[doc = ""] + #[doc = " \\param window The window to query."] + #[doc = " \\param w Pointer to variable for storing the width, in screen"] + #[doc = " coordinates. May be NULL."] + #[doc = " \\param h Pointer to variable for storing the height, in screen"] + #[doc = " coordinates. May be NULL."] + #[doc = ""] + #[doc = " The window size in screen coordinates may differ from the size in pixels, if"] + #[doc = " the window was created with SDL_WINDOW_ALLOW_HIGHDPI on a platform with"] + #[doc = " high-dpi support (e.g. iOS or OS X). Use SDL_GL_GetDrawableSize() or"] + #[doc = " SDL_GetRendererOutputSize() to get the real client area size in pixels."] + #[doc = ""] + #[doc = " \\sa SDL_SetWindowSize()"] pub fn SDL_GetWindowSize(window: *mut SDL_Window, w: *mut libc::c_int, h: *mut libc::c_int); } extern "C" { - /// \brief Get the size of a window's borders (decorations) around the client area. - /// - /// \param window The window to query. - /// \param top Pointer to variable for storing the size of the top border. NULL is permitted. - /// \param left Pointer to variable for storing the size of the left border. NULL is permitted. - /// \param bottom Pointer to variable for storing the size of the bottom border. NULL is permitted. - /// \param right Pointer to variable for storing the size of the right border. NULL is permitted. - /// - /// \return 0 on success, or -1 if getting this information is not supported. - /// - /// \note if this function fails (returns -1), the size values will be - /// initialized to 0, 0, 0, 0 (if a non-NULL pointer is provided), as - /// if the window in question was borderless. + #[doc = " \\brief Get the size of a window's borders (decorations) around the client area."] + #[doc = ""] + #[doc = " \\param window The window to query."] + #[doc = " \\param top Pointer to variable for storing the size of the top border. NULL is permitted."] + #[doc = " \\param left Pointer to variable for storing the size of the left border. NULL is permitted."] + #[doc = " \\param bottom Pointer to variable for storing the size of the bottom border. NULL is permitted."] + #[doc = " \\param right Pointer to variable for storing the size of the right border. NULL is permitted."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 if getting this information is not supported."] + #[doc = ""] + #[doc = " \\note if this function fails (returns -1), the size values will be"] + #[doc = " initialized to 0, 0, 0, 0 (if a non-NULL pointer is provided), as"] + #[doc = " if the window in question was borderless."] pub fn SDL_GetWindowBordersSize( window: *mut SDL_Window, top: *mut libc::c_int, @@ -7498,17 +7920,17 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// \brief Set the minimum size of a window's client area. - /// - /// \param window The window to set a new minimum size. - /// \param min_w The minimum width of the window, must be >0 - /// \param min_h The minimum height of the window, must be >0 - /// - /// \note You can't change the minimum size of a fullscreen window, it - /// automatically matches the size of the display mode. - /// - /// \sa SDL_GetWindowMinimumSize() - /// \sa SDL_SetWindowMaximumSize() + #[doc = " \\brief Set the minimum size of a window's client area."] + #[doc = ""] + #[doc = " \\param window The window to set a new minimum size."] + #[doc = " \\param min_w The minimum width of the window, must be >0"] + #[doc = " \\param min_h The minimum height of the window, must be >0"] + #[doc = ""] + #[doc = " \\note You can't change the minimum size of a fullscreen window, it"] + #[doc = " automatically matches the size of the display mode."] + #[doc = ""] + #[doc = " \\sa SDL_GetWindowMinimumSize()"] + #[doc = " \\sa SDL_SetWindowMaximumSize()"] pub fn SDL_SetWindowMinimumSize( window: *mut SDL_Window, min_w: libc::c_int, @@ -7516,14 +7938,14 @@ extern "C" { ); } extern "C" { - /// \brief Get the minimum size of a window's client area. - /// - /// \param window The window to query. - /// \param w Pointer to variable for storing the minimum width, may be NULL - /// \param h Pointer to variable for storing the minimum height, may be NULL - /// - /// \sa SDL_GetWindowMaximumSize() - /// \sa SDL_SetWindowMinimumSize() + #[doc = " \\brief Get the minimum size of a window's client area."] + #[doc = ""] + #[doc = " \\param window The window to query."] + #[doc = " \\param w Pointer to variable for storing the minimum width, may be NULL"] + #[doc = " \\param h Pointer to variable for storing the minimum height, may be NULL"] + #[doc = ""] + #[doc = " \\sa SDL_GetWindowMaximumSize()"] + #[doc = " \\sa SDL_SetWindowMinimumSize()"] pub fn SDL_GetWindowMinimumSize( window: *mut SDL_Window, w: *mut libc::c_int, @@ -7531,17 +7953,17 @@ extern "C" { ); } extern "C" { - /// \brief Set the maximum size of a window's client area. - /// - /// \param window The window to set a new maximum size. - /// \param max_w The maximum width of the window, must be >0 - /// \param max_h The maximum height of the window, must be >0 - /// - /// \note You can't change the maximum size of a fullscreen window, it - /// automatically matches the size of the display mode. - /// - /// \sa SDL_GetWindowMaximumSize() - /// \sa SDL_SetWindowMinimumSize() + #[doc = " \\brief Set the maximum size of a window's client area."] + #[doc = ""] + #[doc = " \\param window The window to set a new maximum size."] + #[doc = " \\param max_w The maximum width of the window, must be >0"] + #[doc = " \\param max_h The maximum height of the window, must be >0"] + #[doc = ""] + #[doc = " \\note You can't change the maximum size of a fullscreen window, it"] + #[doc = " automatically matches the size of the display mode."] + #[doc = ""] + #[doc = " \\sa SDL_GetWindowMaximumSize()"] + #[doc = " \\sa SDL_SetWindowMinimumSize()"] pub fn SDL_SetWindowMaximumSize( window: *mut SDL_Window, max_w: libc::c_int, @@ -7549,14 +7971,14 @@ extern "C" { ); } extern "C" { - /// \brief Get the maximum size of a window's client area. - /// - /// \param window The window to query. - /// \param w Pointer to variable for storing the maximum width, may be NULL - /// \param h Pointer to variable for storing the maximum height, may be NULL - /// - /// \sa SDL_GetWindowMinimumSize() - /// \sa SDL_SetWindowMaximumSize() + #[doc = " \\brief Get the maximum size of a window's client area."] + #[doc = ""] + #[doc = " \\param window The window to query."] + #[doc = " \\param w Pointer to variable for storing the maximum width, may be NULL"] + #[doc = " \\param h Pointer to variable for storing the maximum height, may be NULL"] + #[doc = ""] + #[doc = " \\sa SDL_GetWindowMinimumSize()"] + #[doc = " \\sa SDL_SetWindowMaximumSize()"] pub fn SDL_GetWindowMaximumSize( window: *mut SDL_Window, w: *mut libc::c_int, @@ -7564,109 +7986,109 @@ extern "C" { ); } extern "C" { - /// \brief Set the border state of a window. - /// - /// This will add or remove the window's SDL_WINDOW_BORDERLESS flag and - /// add or remove the border from the actual window. This is a no-op if the - /// window's border already matches the requested state. - /// - /// \param window The window of which to change the border state. - /// \param bordered SDL_FALSE to remove border, SDL_TRUE to add border. - /// - /// \note You can't change the border state of a fullscreen window. - /// - /// \sa SDL_GetWindowFlags() + #[doc = " \\brief Set the border state of a window."] + #[doc = ""] + #[doc = " This will add or remove the window's SDL_WINDOW_BORDERLESS flag and"] + #[doc = " add or remove the border from the actual window. This is a no-op if the"] + #[doc = " window's border already matches the requested state."] + #[doc = ""] + #[doc = " \\param window The window of which to change the border state."] + #[doc = " \\param bordered SDL_FALSE to remove border, SDL_TRUE to add border."] + #[doc = ""] + #[doc = " \\note You can't change the border state of a fullscreen window."] + #[doc = ""] + #[doc = " \\sa SDL_GetWindowFlags()"] pub fn SDL_SetWindowBordered(window: *mut SDL_Window, bordered: SDL_bool); } extern "C" { - /// \brief Set the user-resizable state of a window. - /// - /// This will add or remove the window's SDL_WINDOW_RESIZABLE flag and - /// allow/disallow user resizing of the window. This is a no-op if the - /// window's resizable state already matches the requested state. - /// - /// \param window The window of which to change the resizable state. - /// \param resizable SDL_TRUE to allow resizing, SDL_FALSE to disallow. - /// - /// \note You can't change the resizable state of a fullscreen window. - /// - /// \sa SDL_GetWindowFlags() + #[doc = " \\brief Set the user-resizable state of a window."] + #[doc = ""] + #[doc = " This will add or remove the window's SDL_WINDOW_RESIZABLE flag and"] + #[doc = " allow/disallow user resizing of the window. This is a no-op if the"] + #[doc = " window's resizable state already matches the requested state."] + #[doc = ""] + #[doc = " \\param window The window of which to change the resizable state."] + #[doc = " \\param resizable SDL_TRUE to allow resizing, SDL_FALSE to disallow."] + #[doc = ""] + #[doc = " \\note You can't change the resizable state of a fullscreen window."] + #[doc = ""] + #[doc = " \\sa SDL_GetWindowFlags()"] pub fn SDL_SetWindowResizable(window: *mut SDL_Window, resizable: SDL_bool); } extern "C" { - /// \brief Show a window. - /// - /// \sa SDL_HideWindow() + #[doc = " \\brief Show a window."] + #[doc = ""] + #[doc = " \\sa SDL_HideWindow()"] pub fn SDL_ShowWindow(window: *mut SDL_Window); } extern "C" { - /// \brief Hide a window. - /// - /// \sa SDL_ShowWindow() + #[doc = " \\brief Hide a window."] + #[doc = ""] + #[doc = " \\sa SDL_ShowWindow()"] pub fn SDL_HideWindow(window: *mut SDL_Window); } extern "C" { - /// \brief Raise a window above other windows and set the input focus. + #[doc = " \\brief Raise a window above other windows and set the input focus."] pub fn SDL_RaiseWindow(window: *mut SDL_Window); } extern "C" { - /// \brief Make a window as large as possible. - /// - /// \sa SDL_RestoreWindow() + #[doc = " \\brief Make a window as large as possible."] + #[doc = ""] + #[doc = " \\sa SDL_RestoreWindow()"] pub fn SDL_MaximizeWindow(window: *mut SDL_Window); } extern "C" { - /// \brief Minimize a window to an iconic representation. - /// - /// \sa SDL_RestoreWindow() + #[doc = " \\brief Minimize a window to an iconic representation."] + #[doc = ""] + #[doc = " \\sa SDL_RestoreWindow()"] pub fn SDL_MinimizeWindow(window: *mut SDL_Window); } extern "C" { - /// \brief Restore the size and position of a minimized or maximized window. - /// - /// \sa SDL_MaximizeWindow() - /// \sa SDL_MinimizeWindow() + #[doc = " \\brief Restore the size and position of a minimized or maximized window."] + #[doc = ""] + #[doc = " \\sa SDL_MaximizeWindow()"] + #[doc = " \\sa SDL_MinimizeWindow()"] pub fn SDL_RestoreWindow(window: *mut SDL_Window); } extern "C" { - /// \brief Set a window's fullscreen state. - /// - /// \return 0 on success, or -1 if setting the display mode failed. - /// - /// \sa SDL_SetWindowDisplayMode() - /// \sa SDL_GetWindowDisplayMode() + #[doc = " \\brief Set a window's fullscreen state."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 if setting the display mode failed."] + #[doc = ""] + #[doc = " \\sa SDL_SetWindowDisplayMode()"] + #[doc = " \\sa SDL_GetWindowDisplayMode()"] pub fn SDL_SetWindowFullscreen(window: *mut SDL_Window, flags: Uint32) -> libc::c_int; } extern "C" { - /// \brief Get the SDL surface associated with the window. - /// - /// \return The window's framebuffer surface, or NULL on error. - /// - /// A new surface will be created with the optimal format for the window, - /// if necessary. This surface will be freed when the window is destroyed. - /// - /// \note You may not combine this with 3D or the rendering API on this window. - /// - /// \sa SDL_UpdateWindowSurface() - /// \sa SDL_UpdateWindowSurfaceRects() + #[doc = " \\brief Get the SDL surface associated with the window."] + #[doc = ""] + #[doc = " \\return The window's framebuffer surface, or NULL on error."] + #[doc = ""] + #[doc = " A new surface will be created with the optimal format for the window,"] + #[doc = " if necessary. This surface will be freed when the window is destroyed."] + #[doc = ""] + #[doc = " \\note You may not combine this with 3D or the rendering API on this window."] + #[doc = ""] + #[doc = " \\sa SDL_UpdateWindowSurface()"] + #[doc = " \\sa SDL_UpdateWindowSurfaceRects()"] pub fn SDL_GetWindowSurface(window: *mut SDL_Window) -> *mut SDL_Surface; } extern "C" { - /// \brief Copy the window surface to the screen. - /// - /// \return 0 on success, or -1 on error. - /// - /// \sa SDL_GetWindowSurface() - /// \sa SDL_UpdateWindowSurfaceRects() + #[doc = " \\brief Copy the window surface to the screen."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 on error."] + #[doc = ""] + #[doc = " \\sa SDL_GetWindowSurface()"] + #[doc = " \\sa SDL_UpdateWindowSurfaceRects()"] pub fn SDL_UpdateWindowSurface(window: *mut SDL_Window) -> libc::c_int; } extern "C" { - /// \brief Copy a number of rectangles on the window surface to the screen. - /// - /// \return 0 on success, or -1 on error. - /// - /// \sa SDL_GetWindowSurface() - /// \sa SDL_UpdateWindowSurface() + #[doc = " \\brief Copy a number of rectangles on the window surface to the screen."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 on error."] + #[doc = ""] + #[doc = " \\sa SDL_GetWindowSurface()"] + #[doc = " \\sa SDL_UpdateWindowSurface()"] pub fn SDL_UpdateWindowSurfaceRects( window: *mut SDL_Window, rects: *const SDL_Rect, @@ -7674,118 +8096,118 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// \brief Set a window's input grab mode. - /// - /// \param window The window for which the input grab mode should be set. - /// \param grabbed This is SDL_TRUE to grab input, and SDL_FALSE to release input. - /// - /// If the caller enables a grab while another window is currently grabbed, - /// the other window loses its grab in favor of the caller's window. - /// - /// \sa SDL_GetWindowGrab() + #[doc = " \\brief Set a window's input grab mode."] + #[doc = ""] + #[doc = " \\param window The window for which the input grab mode should be set."] + #[doc = " \\param grabbed This is SDL_TRUE to grab input, and SDL_FALSE to release input."] + #[doc = ""] + #[doc = " If the caller enables a grab while another window is currently grabbed,"] + #[doc = " the other window loses its grab in favor of the caller's window."] + #[doc = ""] + #[doc = " \\sa SDL_GetWindowGrab()"] pub fn SDL_SetWindowGrab(window: *mut SDL_Window, grabbed: SDL_bool); } extern "C" { - /// \brief Get a window's input grab mode. - /// - /// \return This returns SDL_TRUE if input is grabbed, and SDL_FALSE otherwise. - /// - /// \sa SDL_SetWindowGrab() + #[doc = " \\brief Get a window's input grab mode."] + #[doc = ""] + #[doc = " \\return This returns SDL_TRUE if input is grabbed, and SDL_FALSE otherwise."] + #[doc = ""] + #[doc = " \\sa SDL_SetWindowGrab()"] pub fn SDL_GetWindowGrab(window: *mut SDL_Window) -> SDL_bool; } extern "C" { - /// \brief Get the window that currently has an input grab enabled. - /// - /// \return This returns the window if input is grabbed, and NULL otherwise. - /// - /// \sa SDL_SetWindowGrab() + #[doc = " \\brief Get the window that currently has an input grab enabled."] + #[doc = ""] + #[doc = " \\return This returns the window if input is grabbed, and NULL otherwise."] + #[doc = ""] + #[doc = " \\sa SDL_SetWindowGrab()"] pub fn SDL_GetGrabbedWindow() -> *mut SDL_Window; } extern "C" { - /// \brief Set the brightness (gamma correction) for a window. - /// - /// \return 0 on success, or -1 if setting the brightness isn't supported. - /// - /// \sa SDL_GetWindowBrightness() - /// \sa SDL_SetWindowGammaRamp() + #[doc = " \\brief Set the brightness (gamma correction) for a window."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 if setting the brightness isn't supported."] + #[doc = ""] + #[doc = " \\sa SDL_GetWindowBrightness()"] + #[doc = " \\sa SDL_SetWindowGammaRamp()"] pub fn SDL_SetWindowBrightness(window: *mut SDL_Window, brightness: f32) -> libc::c_int; } extern "C" { - /// \brief Get the brightness (gamma correction) for a window. - /// - /// \return The last brightness value passed to SDL_SetWindowBrightness() - /// - /// \sa SDL_SetWindowBrightness() + #[doc = " \\brief Get the brightness (gamma correction) for a window."] + #[doc = ""] + #[doc = " \\return The last brightness value passed to SDL_SetWindowBrightness()"] + #[doc = ""] + #[doc = " \\sa SDL_SetWindowBrightness()"] pub fn SDL_GetWindowBrightness(window: *mut SDL_Window) -> f32; } extern "C" { - /// \brief Set the opacity for a window - /// - /// \param window The window which will be made transparent or opaque - /// \param opacity Opacity (0.0f - transparent, 1.0f - opaque) This will be - /// clamped internally between 0.0f and 1.0f. - /// - /// \return 0 on success, or -1 if setting the opacity isn't supported. - /// - /// \sa SDL_GetWindowOpacity() + #[doc = " \\brief Set the opacity for a window"] + #[doc = ""] + #[doc = " \\param window The window which will be made transparent or opaque"] + #[doc = " \\param opacity Opacity (0.0f - transparent, 1.0f - opaque) This will be"] + #[doc = " clamped internally between 0.0f and 1.0f."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 if setting the opacity isn't supported."] + #[doc = ""] + #[doc = " \\sa SDL_GetWindowOpacity()"] pub fn SDL_SetWindowOpacity(window: *mut SDL_Window, opacity: f32) -> libc::c_int; } extern "C" { - /// \brief Get the opacity of a window. - /// - /// If transparency isn't supported on this platform, opacity will be reported - /// as 1.0f without error. - /// - /// \param window The window in question. - /// \param out_opacity Opacity (0.0f - transparent, 1.0f - opaque) - /// - /// \return 0 on success, or -1 on error (invalid window, etc). - /// - /// \sa SDL_SetWindowOpacity() + #[doc = " \\brief Get the opacity of a window."] + #[doc = ""] + #[doc = " If transparency isn't supported on this platform, opacity will be reported"] + #[doc = " as 1.0f without error."] + #[doc = ""] + #[doc = " \\param window The window in question."] + #[doc = " \\param out_opacity Opacity (0.0f - transparent, 1.0f - opaque)"] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 on error (invalid window, etc)."] + #[doc = ""] + #[doc = " \\sa SDL_SetWindowOpacity()"] pub fn SDL_GetWindowOpacity(window: *mut SDL_Window, out_opacity: *mut f32) -> libc::c_int; } extern "C" { - /// \brief Sets the window as a modal for another window (TODO: reconsider this function and/or its name) - /// - /// \param modal_window The window that should be modal - /// \param parent_window The parent window - /// - /// \return 0 on success, or -1 otherwise. + #[doc = " \\brief Sets the window as a modal for another window (TODO: reconsider this function and/or its name)"] + #[doc = ""] + #[doc = " \\param modal_window The window that should be modal"] + #[doc = " \\param parent_window The parent window"] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 otherwise."] pub fn SDL_SetWindowModalFor( modal_window: *mut SDL_Window, parent_window: *mut SDL_Window, ) -> libc::c_int; } extern "C" { - /// \brief Explicitly sets input focus to the window. - /// - /// You almost certainly want SDL_RaiseWindow() instead of this function. Use - /// this with caution, as you might give focus to a window that's completely - /// obscured by other windows. - /// - /// \param window The window that should get the input focus - /// - /// \return 0 on success, or -1 otherwise. - /// \sa SDL_RaiseWindow() + #[doc = " \\brief Explicitly sets input focus to the window."] + #[doc = ""] + #[doc = " You almost certainly want SDL_RaiseWindow() instead of this function. Use"] + #[doc = " this with caution, as you might give focus to a window that's completely"] + #[doc = " obscured by other windows."] + #[doc = ""] + #[doc = " \\param window The window that should get the input focus"] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 otherwise."] + #[doc = " \\sa SDL_RaiseWindow()"] pub fn SDL_SetWindowInputFocus(window: *mut SDL_Window) -> libc::c_int; } extern "C" { - /// \brief Set the gamma ramp for a window. - /// - /// \param window The window for which the gamma ramp should be set. - /// \param red The translation table for the red channel, or NULL. - /// \param green The translation table for the green channel, or NULL. - /// \param blue The translation table for the blue channel, or NULL. - /// - /// \return 0 on success, or -1 if gamma ramps are unsupported. - /// - /// Set the gamma translation table for the red, green, and blue channels - /// of the video hardware. Each table is an array of 256 16-bit quantities, - /// representing a mapping between the input and output for that channel. - /// The input is the index into the array, and the output is the 16-bit - /// gamma value at that index, scaled to the output color precision. - /// - /// \sa SDL_GetWindowGammaRamp() + #[doc = " \\brief Set the gamma ramp for a window."] + #[doc = ""] + #[doc = " \\param window The window for which the gamma ramp should be set."] + #[doc = " \\param red The translation table for the red channel, or NULL."] + #[doc = " \\param green The translation table for the green channel, or NULL."] + #[doc = " \\param blue The translation table for the blue channel, or NULL."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 if gamma ramps are unsupported."] + #[doc = ""] + #[doc = " Set the gamma translation table for the red, green, and blue channels"] + #[doc = " of the video hardware. Each table is an array of 256 16-bit quantities,"] + #[doc = " representing a mapping between the input and output for that channel."] + #[doc = " The input is the index into the array, and the output is the 16-bit"] + #[doc = " gamma value at that index, scaled to the output color precision."] + #[doc = ""] + #[doc = " \\sa SDL_GetWindowGammaRamp()"] pub fn SDL_SetWindowGammaRamp( window: *mut SDL_Window, red: *const Uint16, @@ -7794,19 +8216,19 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// \brief Get the gamma ramp for a window. - /// - /// \param window The window from which the gamma ramp should be queried. - /// \param red A pointer to a 256 element array of 16-bit quantities to hold - /// the translation table for the red channel, or NULL. - /// \param green A pointer to a 256 element array of 16-bit quantities to hold - /// the translation table for the green channel, or NULL. - /// \param blue A pointer to a 256 element array of 16-bit quantities to hold - /// the translation table for the blue channel, or NULL. - /// - /// \return 0 on success, or -1 if gamma ramps are unsupported. - /// - /// \sa SDL_SetWindowGammaRamp() + #[doc = " \\brief Get the gamma ramp for a window."] + #[doc = ""] + #[doc = " \\param window The window from which the gamma ramp should be queried."] + #[doc = " \\param red A pointer to a 256 element array of 16-bit quantities to hold"] + #[doc = " the translation table for the red channel, or NULL."] + #[doc = " \\param green A pointer to a 256 element array of 16-bit quantities to hold"] + #[doc = " the translation table for the green channel, or NULL."] + #[doc = " \\param blue A pointer to a 256 element array of 16-bit quantities to hold"] + #[doc = " the translation table for the blue channel, or NULL."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 if gamma ramps are unsupported."] + #[doc = ""] + #[doc = " \\sa SDL_SetWindowGammaRamp()"] pub fn SDL_GetWindowGammaRamp( window: *mut SDL_Window, red: *mut Uint16, @@ -7815,14 +8237,14 @@ extern "C" { ) -> libc::c_int; } #[repr(u32)] -/// \brief Possible return values from the SDL_HitTest callback. -/// -/// \sa SDL_HitTest +#[doc = " \\brief Possible return values from the SDL_HitTest callback."] +#[doc = ""] +#[doc = " \\sa SDL_HitTest"] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum SDL_HitTestResult { - ///< Region is normal. No special properties. + #[doc = "< Region is normal. No special properties."] SDL_HITTEST_NORMAL = 0, - ///< Region can drag entire window. + #[doc = "< Region can drag entire window."] SDL_HITTEST_DRAGGABLE = 1, SDL_HITTEST_RESIZE_TOPLEFT = 2, SDL_HITTEST_RESIZE_TOP = 3, @@ -7833,9 +8255,9 @@ pub enum SDL_HitTestResult { SDL_HITTEST_RESIZE_BOTTOMLEFT = 8, SDL_HITTEST_RESIZE_LEFT = 9, } -/// \brief Callback used for hit-testing. -/// -/// \sa SDL_SetWindowHitTest +#[doc = " \\brief Callback used for hit-testing."] +#[doc = ""] +#[doc = " \\sa SDL_SetWindowHitTest"] pub type SDL_HitTest = ::core::option::Option< unsafe extern "C" fn( win: *mut SDL_Window, @@ -7844,41 +8266,41 @@ pub type SDL_HitTest = ::core::option::Option< ) -> SDL_HitTestResult, >; extern "C" { - /// \brief Provide a callback that decides if a window region has special properties. - /// - /// Normally windows are dragged and resized by decorations provided by the - /// system window manager (a title bar, borders, etc), but for some apps, it - /// makes sense to drag them from somewhere else inside the window itself; for - /// example, one might have a borderless window that wants to be draggable - /// from any part, or simulate its own title bar, etc. - /// - /// This function lets the app provide a callback that designates pieces of - /// a given window as special. This callback is run during event processing - /// if we need to tell the OS to treat a region of the window specially; the - /// use of this callback is known as "hit testing." - /// - /// Mouse input may not be delivered to your application if it is within - /// a special area; the OS will often apply that input to moving the window or - /// resizing the window and not deliver it to the application. - /// - /// Specifying NULL for a callback disables hit-testing. Hit-testing is - /// disabled by default. - /// - /// Platforms that don't support this functionality will return -1 - /// unconditionally, even if you're attempting to disable hit-testing. - /// - /// Your callback may fire at any time, and its firing does not indicate any - /// specific behavior (for example, on Windows, this certainly might fire - /// when the OS is deciding whether to drag your window, but it fires for lots - /// of other reasons, too, some unrelated to anything you probably care about - /// _and when the mouse isn't actually at the location it is testing_). - /// Since this can fire at any time, you should try to keep your callback - /// efficient, devoid of allocations, etc. - /// - /// \param window The window to set hit-testing on. - /// \param callback The callback to call when doing a hit-test. - /// \param callback_data An app-defined void pointer passed to the callback. - /// \return 0 on success, -1 on error (including unsupported). + #[doc = " \\brief Provide a callback that decides if a window region has special properties."] + #[doc = ""] + #[doc = " Normally windows are dragged and resized by decorations provided by the"] + #[doc = " system window manager (a title bar, borders, etc), but for some apps, it"] + #[doc = " makes sense to drag them from somewhere else inside the window itself; for"] + #[doc = " example, one might have a borderless window that wants to be draggable"] + #[doc = " from any part, or simulate its own title bar, etc."] + #[doc = ""] + #[doc = " This function lets the app provide a callback that designates pieces of"] + #[doc = " a given window as special. This callback is run during event processing"] + #[doc = " if we need to tell the OS to treat a region of the window specially; the"] + #[doc = " use of this callback is known as \"hit testing.\""] + #[doc = ""] + #[doc = " Mouse input may not be delivered to your application if it is within"] + #[doc = " a special area; the OS will often apply that input to moving the window or"] + #[doc = " resizing the window and not deliver it to the application."] + #[doc = ""] + #[doc = " Specifying NULL for a callback disables hit-testing. Hit-testing is"] + #[doc = " disabled by default."] + #[doc = ""] + #[doc = " Platforms that don't support this functionality will return -1"] + #[doc = " unconditionally, even if you're attempting to disable hit-testing."] + #[doc = ""] + #[doc = " Your callback may fire at any time, and its firing does not indicate any"] + #[doc = " specific behavior (for example, on Windows, this certainly might fire"] + #[doc = " when the OS is deciding whether to drag your window, but it fires for lots"] + #[doc = " of other reasons, too, some unrelated to anything you probably care about"] + #[doc = " _and when the mouse isn't actually at the location it is testing_)."] + #[doc = " Since this can fire at any time, you should try to keep your callback"] + #[doc = " efficient, devoid of allocations, etc."] + #[doc = ""] + #[doc = " \\param window The window to set hit-testing on."] + #[doc = " \\param callback The callback to call when doing a hit-test."] + #[doc = " \\param callback_data An app-defined void pointer passed to the callback."] + #[doc = " \\return 0 on success, -1 on error (including unsupported)."] pub fn SDL_SetWindowHitTest( window: *mut SDL_Window, callback: SDL_HitTest, @@ -7886,117 +8308,117 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// \brief Destroy a window. + #[doc = " \\brief Destroy a window."] pub fn SDL_DestroyWindow(window: *mut SDL_Window); } extern "C" { - /// \brief Returns whether the screensaver is currently enabled (default off). - /// - /// \sa SDL_EnableScreenSaver() - /// \sa SDL_DisableScreenSaver() + #[doc = " \\brief Returns whether the screensaver is currently enabled (default off)."] + #[doc = ""] + #[doc = " \\sa SDL_EnableScreenSaver()"] + #[doc = " \\sa SDL_DisableScreenSaver()"] pub fn SDL_IsScreenSaverEnabled() -> SDL_bool; } extern "C" { - /// \brief Allow the screen to be blanked by a screensaver - /// - /// \sa SDL_IsScreenSaverEnabled() - /// \sa SDL_DisableScreenSaver() + #[doc = " \\brief Allow the screen to be blanked by a screensaver"] + #[doc = ""] + #[doc = " \\sa SDL_IsScreenSaverEnabled()"] + #[doc = " \\sa SDL_DisableScreenSaver()"] pub fn SDL_EnableScreenSaver(); } extern "C" { - /// \brief Prevent the screen from being blanked by a screensaver - /// - /// \sa SDL_IsScreenSaverEnabled() - /// \sa SDL_EnableScreenSaver() + #[doc = " \\brief Prevent the screen from being blanked by a screensaver"] + #[doc = ""] + #[doc = " \\sa SDL_IsScreenSaverEnabled()"] + #[doc = " \\sa SDL_EnableScreenSaver()"] pub fn SDL_DisableScreenSaver(); } extern "C" { - /// \brief Dynamically load an OpenGL library. - /// - /// \param path The platform dependent OpenGL library name, or NULL to open the - /// default OpenGL library. - /// - /// \return 0 on success, or -1 if the library couldn't be loaded. - /// - /// This should be done after initializing the video driver, but before - /// creating any OpenGL windows. If no OpenGL library is loaded, the default - /// library will be loaded upon creation of the first OpenGL window. - /// - /// \note If you do this, you need to retrieve all of the GL functions used in - /// your program from the dynamic library using SDL_GL_GetProcAddress(). - /// - /// \sa SDL_GL_GetProcAddress() - /// \sa SDL_GL_UnloadLibrary() + #[doc = " \\brief Dynamically load an OpenGL library."] + #[doc = ""] + #[doc = " \\param path The platform dependent OpenGL library name, or NULL to open the"] + #[doc = " default OpenGL library."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 if the library couldn't be loaded."] + #[doc = ""] + #[doc = " This should be done after initializing the video driver, but before"] + #[doc = " creating any OpenGL windows. If no OpenGL library is loaded, the default"] + #[doc = " library will be loaded upon creation of the first OpenGL window."] + #[doc = ""] + #[doc = " \\note If you do this, you need to retrieve all of the GL functions used in"] + #[doc = " your program from the dynamic library using SDL_GL_GetProcAddress()."] + #[doc = ""] + #[doc = " \\sa SDL_GL_GetProcAddress()"] + #[doc = " \\sa SDL_GL_UnloadLibrary()"] pub fn SDL_GL_LoadLibrary(path: *const libc::c_char) -> libc::c_int; } extern "C" { - /// \brief Get the address of an OpenGL function. + #[doc = " \\brief Get the address of an OpenGL function."] pub fn SDL_GL_GetProcAddress(proc_: *const libc::c_char) -> *mut libc::c_void; } extern "C" { - /// \brief Unload the OpenGL library previously loaded by SDL_GL_LoadLibrary(). - /// - /// \sa SDL_GL_LoadLibrary() + #[doc = " \\brief Unload the OpenGL library previously loaded by SDL_GL_LoadLibrary()."] + #[doc = ""] + #[doc = " \\sa SDL_GL_LoadLibrary()"] pub fn SDL_GL_UnloadLibrary(); } extern "C" { - /// \brief Return true if an OpenGL extension is supported for the current - /// context. + #[doc = " \\brief Return true if an OpenGL extension is supported for the current"] + #[doc = " context."] pub fn SDL_GL_ExtensionSupported(extension: *const libc::c_char) -> SDL_bool; } extern "C" { - /// \brief Reset all previously set OpenGL context attributes to their default values + #[doc = " \\brief Reset all previously set OpenGL context attributes to their default values"] pub fn SDL_GL_ResetAttributes(); } extern "C" { - /// \brief Set an OpenGL window attribute before window creation. - /// - /// \return 0 on success, or -1 if the attribute could not be set. + #[doc = " \\brief Set an OpenGL window attribute before window creation."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 if the attribute could not be set."] pub fn SDL_GL_SetAttribute(attr: SDL_GLattr, value: libc::c_int) -> libc::c_int; } extern "C" { - /// \brief Get the actual value for an attribute from the current context. - /// - /// \return 0 on success, or -1 if the attribute could not be retrieved. - /// The integer at \c value will be modified in either case. + #[doc = " \\brief Get the actual value for an attribute from the current context."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 if the attribute could not be retrieved."] + #[doc = " The integer at \\c value will be modified in either case."] pub fn SDL_GL_GetAttribute(attr: SDL_GLattr, value: *mut libc::c_int) -> libc::c_int; } extern "C" { - /// \brief Create an OpenGL context for use with an OpenGL window, and make it - /// current. - /// - /// \sa SDL_GL_DeleteContext() + #[doc = " \\brief Create an OpenGL context for use with an OpenGL window, and make it"] + #[doc = " current."] + #[doc = ""] + #[doc = " \\sa SDL_GL_DeleteContext()"] pub fn SDL_GL_CreateContext(window: *mut SDL_Window) -> SDL_GLContext; } extern "C" { - /// \brief Set up an OpenGL context for rendering into an OpenGL window. - /// - /// \note The context must have been created with a compatible window. + #[doc = " \\brief Set up an OpenGL context for rendering into an OpenGL window."] + #[doc = ""] + #[doc = " \\note The context must have been created with a compatible window."] pub fn SDL_GL_MakeCurrent(window: *mut SDL_Window, context: SDL_GLContext) -> libc::c_int; } extern "C" { - /// \brief Get the currently active OpenGL window. + #[doc = " \\brief Get the currently active OpenGL window."] pub fn SDL_GL_GetCurrentWindow() -> *mut SDL_Window; } extern "C" { - /// \brief Get the currently active OpenGL context. + #[doc = " \\brief Get the currently active OpenGL context."] pub fn SDL_GL_GetCurrentContext() -> SDL_GLContext; } extern "C" { - /// \brief Get the size of a window's underlying drawable in pixels (for use - /// with glViewport). - /// - /// \param window Window from which the drawable size should be queried - /// \param w Pointer to variable for storing the width in pixels, may be NULL - /// \param h Pointer to variable for storing the height in pixels, may be NULL - /// - /// This may differ from SDL_GetWindowSize() if we're rendering to a high-DPI - /// drawable, i.e. the window was created with SDL_WINDOW_ALLOW_HIGHDPI on a - /// platform with high-DPI support (Apple calls this "Retina"), and not disabled - /// by the SDL_HINT_VIDEO_HIGHDPI_DISABLED hint. - /// - /// \sa SDL_GetWindowSize() - /// \sa SDL_CreateWindow() + #[doc = " \\brief Get the size of a window's underlying drawable in pixels (for use"] + #[doc = " with glViewport)."] + #[doc = ""] + #[doc = " \\param window Window from which the drawable size should be queried"] + #[doc = " \\param w Pointer to variable for storing the width in pixels, may be NULL"] + #[doc = " \\param h Pointer to variable for storing the height in pixels, may be NULL"] + #[doc = ""] + #[doc = " This may differ from SDL_GetWindowSize() if we're rendering to a high-DPI"] + #[doc = " drawable, i.e. the window was created with SDL_WINDOW_ALLOW_HIGHDPI on a"] + #[doc = " platform with high-DPI support (Apple calls this \"Retina\"), and not disabled"] + #[doc = " by the SDL_HINT_VIDEO_HIGHDPI_DISABLED hint."] + #[doc = ""] + #[doc = " \\sa SDL_GetWindowSize()"] + #[doc = " \\sa SDL_CreateWindow()"] pub fn SDL_GL_GetDrawableSize( window: *mut SDL_Window, w: *mut libc::c_int, @@ -8004,50 +8426,50 @@ extern "C" { ); } extern "C" { - /// \brief Set the swap interval for the current OpenGL context. - /// - /// \param interval 0 for immediate updates, 1 for updates synchronized with the - /// vertical retrace. If the system supports it, you may - /// specify -1 to allow late swaps to happen immediately - /// instead of waiting for the next retrace. - /// - /// \return 0 on success, or -1 if setting the swap interval is not supported. - /// - /// \sa SDL_GL_GetSwapInterval() + #[doc = " \\brief Set the swap interval for the current OpenGL context."] + #[doc = ""] + #[doc = " \\param interval 0 for immediate updates, 1 for updates synchronized with the"] + #[doc = " vertical retrace. If the system supports it, you may"] + #[doc = " specify -1 to allow late swaps to happen immediately"] + #[doc = " instead of waiting for the next retrace."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 if setting the swap interval is not supported."] + #[doc = ""] + #[doc = " \\sa SDL_GL_GetSwapInterval()"] pub fn SDL_GL_SetSwapInterval(interval: libc::c_int) -> libc::c_int; } extern "C" { - /// \brief Get the swap interval for the current OpenGL context. - /// - /// \return 0 if there is no vertical retrace synchronization, 1 if the buffer - /// swap is synchronized with the vertical retrace, and -1 if late - /// swaps happen immediately instead of waiting for the next retrace. - /// If the system can't determine the swap interval, or there isn't a - /// valid current context, this will return 0 as a safe default. - /// - /// \sa SDL_GL_SetSwapInterval() + #[doc = " \\brief Get the swap interval for the current OpenGL context."] + #[doc = ""] + #[doc = " \\return 0 if there is no vertical retrace synchronization, 1 if the buffer"] + #[doc = " swap is synchronized with the vertical retrace, and -1 if late"] + #[doc = " swaps happen immediately instead of waiting for the next retrace."] + #[doc = " If the system can't determine the swap interval, or there isn't a"] + #[doc = " valid current context, this will return 0 as a safe default."] + #[doc = ""] + #[doc = " \\sa SDL_GL_SetSwapInterval()"] pub fn SDL_GL_GetSwapInterval() -> libc::c_int; } extern "C" { - /// \brief Swap the OpenGL buffers for a window, if double-buffering is - /// supported. + #[doc = " \\brief Swap the OpenGL buffers for a window, if double-buffering is"] + #[doc = " supported."] pub fn SDL_GL_SwapWindow(window: *mut SDL_Window); } extern "C" { - /// \brief Delete an OpenGL context. - /// - /// \sa SDL_GL_CreateContext() + #[doc = " \\brief Delete an OpenGL context."] + #[doc = ""] + #[doc = " \\sa SDL_GL_CreateContext()"] pub fn SDL_GL_DeleteContext(context: SDL_GLContext); } #[repr(u32)] -/// \brief The SDL keyboard scancode representation. -/// -/// Values of this type are used to represent keyboard keys, among other places -/// in the \link SDL_Keysym::scancode key.keysym.scancode \endlink field of the -/// SDL_Event structure. -/// -/// The values in this enumeration are based on the USB usage page standard: -/// http://www.usb.org/developers/hidpage/Hut1_12v2.pdf +#[doc = " \\brief The SDL keyboard scancode representation."] +#[doc = ""] +#[doc = " Values of this type are used to represent keyboard keys, among other places"] +#[doc = " in the \\link SDL_Keysym::scancode key.keysym.scancode \\endlink field of the"] +#[doc = " SDL_Event structure."] +#[doc = ""] +#[doc = " The values in this enumeration are based on the USB usage page standard:"] +#[doc = " https://www.usb.org/sites/default/files/documents/hut1_12v2.pdf"] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum SDL_Scancode { SDL_SCANCODE_UNKNOWN = 0, @@ -8096,50 +8518,50 @@ pub enum SDL_Scancode { SDL_SCANCODE_EQUALS = 46, SDL_SCANCODE_LEFTBRACKET = 47, SDL_SCANCODE_RIGHTBRACKET = 48, - ///< Located at the lower left of the return - /// key on ISO keyboards and at the right end - /// of the QWERTY row on ANSI keyboards. - /// Produces REVERSE SOLIDUS (backslash) and - /// VERTICAL LINE in a US layout, REVERSE - /// SOLIDUS and VERTICAL LINE in a UK Mac - /// layout, NUMBER SIGN and TILDE in a UK - /// Windows layout, DOLLAR SIGN and POUND SIGN - /// in a Swiss German layout, NUMBER SIGN and - /// APOSTROPHE in a German layout, GRAVE - /// ACCENT and POUND SIGN in a French Mac - /// layout, and ASTERISK and MICRO SIGN in a - /// French Windows layout. + #[doc = "< Located at the lower left of the return"] + #[doc = " key on ISO keyboards and at the right end"] + #[doc = " of the QWERTY row on ANSI keyboards."] + #[doc = " Produces REVERSE SOLIDUS (backslash) and"] + #[doc = " VERTICAL LINE in a US layout, REVERSE"] + #[doc = " SOLIDUS and VERTICAL LINE in a UK Mac"] + #[doc = " layout, NUMBER SIGN and TILDE in a UK"] + #[doc = " Windows layout, DOLLAR SIGN and POUND SIGN"] + #[doc = " in a Swiss German layout, NUMBER SIGN and"] + #[doc = " APOSTROPHE in a German layout, GRAVE"] + #[doc = " ACCENT and POUND SIGN in a French Mac"] + #[doc = " layout, and ASTERISK and MICRO SIGN in a"] + #[doc = " French Windows layout."] SDL_SCANCODE_BACKSLASH = 49, - ///< ISO USB keyboards actually use this code - /// instead of 49 for the same key, but all - /// OSes I've seen treat the two codes - /// identically. So, as an implementor, unless - /// your keyboard generates both of those - /// codes and your OS treats them differently, - /// you should generate SDL_SCANCODE_BACKSLASH - /// instead of this code. As a user, you - /// should not rely on this code because SDL - /// will never generate it with most (all?) - /// keyboards. + #[doc = "< ISO USB keyboards actually use this code"] + #[doc = " instead of 49 for the same key, but all"] + #[doc = " OSes I've seen treat the two codes"] + #[doc = " identically. So, as an implementor, unless"] + #[doc = " your keyboard generates both of those"] + #[doc = " codes and your OS treats them differently,"] + #[doc = " you should generate SDL_SCANCODE_BACKSLASH"] + #[doc = " instead of this code. As a user, you"] + #[doc = " should not rely on this code because SDL"] + #[doc = " will never generate it with most (all?)"] + #[doc = " keyboards."] SDL_SCANCODE_NONUSHASH = 50, SDL_SCANCODE_SEMICOLON = 51, SDL_SCANCODE_APOSTROPHE = 52, - ///< Located in the top left corner (on both ANSI - /// and ISO keyboards). Produces GRAVE ACCENT and - /// TILDE in a US Windows layout and in US and UK - /// Mac layouts on ANSI keyboards, GRAVE ACCENT - /// and NOT SIGN in a UK Windows layout, SECTION - /// SIGN and PLUS-MINUS SIGN in US and UK Mac - /// layouts on ISO keyboards, SECTION SIGN and - /// DEGREE SIGN in a Swiss German layout (Mac: - /// only on ISO keyboards), CIRCUMFLEX ACCENT and - /// DEGREE SIGN in a German layout (Mac: only on - /// ISO keyboards), SUPERSCRIPT TWO and TILDE in a - /// French Windows layout, COMMERCIAL AT and - /// NUMBER SIGN in a French Mac layout on ISO - /// keyboards, and LESS-THAN SIGN and GREATER-THAN - /// SIGN in a Swiss German, German, or French Mac - /// layout on ANSI keyboards. + #[doc = "< Located in the top left corner (on both ANSI"] + #[doc = " and ISO keyboards). Produces GRAVE ACCENT and"] + #[doc = " TILDE in a US Windows layout and in US and UK"] + #[doc = " Mac layouts on ANSI keyboards, GRAVE ACCENT"] + #[doc = " and NOT SIGN in a UK Windows layout, SECTION"] + #[doc = " SIGN and PLUS-MINUS SIGN in US and UK Mac"] + #[doc = " layouts on ISO keyboards, SECTION SIGN and"] + #[doc = " DEGREE SIGN in a Swiss German layout (Mac:"] + #[doc = " only on ISO keyboards), CIRCUMFLEX ACCENT and"] + #[doc = " DEGREE SIGN in a German layout (Mac: only on"] + #[doc = " ISO keyboards), SUPERSCRIPT TWO and TILDE in a"] + #[doc = " French Windows layout, COMMERCIAL AT and"] + #[doc = " NUMBER SIGN in a French Mac layout on ISO"] + #[doc = " keyboards, and LESS-THAN SIGN and GREATER-THAN"] + #[doc = " SIGN in a Swiss German, German, or French Mac"] + #[doc = " layout on ANSI keyboards."] SDL_SCANCODE_GRAVE = 53, SDL_SCANCODE_COMMA = 54, SDL_SCANCODE_PERIOD = 55, @@ -8160,8 +8582,8 @@ pub enum SDL_Scancode { SDL_SCANCODE_PRINTSCREEN = 70, SDL_SCANCODE_SCROLLLOCK = 71, SDL_SCANCODE_PAUSE = 72, - ///< insert on PC, help on some Mac keyboards (but - ///does send code 73, not 117) + #[doc = "< insert on PC, help on some Mac keyboards (but"] + #[doc = "does send code 73, not 117)"] SDL_SCANCODE_INSERT = 73, SDL_SCANCODE_HOME = 74, SDL_SCANCODE_PAGEUP = 75, @@ -8172,7 +8594,7 @@ pub enum SDL_Scancode { SDL_SCANCODE_LEFT = 80, SDL_SCANCODE_DOWN = 81, SDL_SCANCODE_UP = 82, - ///< num lock on PC, clear on Mac keyboards + #[doc = "< num lock on PC, clear on Mac keyboards"] SDL_SCANCODE_NUMLOCKCLEAR = 83, SDL_SCANCODE_KP_DIVIDE = 84, SDL_SCANCODE_KP_MULTIPLY = 85, @@ -8190,22 +8612,22 @@ pub enum SDL_Scancode { SDL_SCANCODE_KP_9 = 97, SDL_SCANCODE_KP_0 = 98, SDL_SCANCODE_KP_PERIOD = 99, - ///< This is the additional key that ISO - /// keyboards have over ANSI ones, - /// located between left shift and Y. - /// Produces GRAVE ACCENT and TILDE in a - /// US or UK Mac layout, REVERSE SOLIDUS - /// (backslash) and VERTICAL LINE in a - /// US or UK Windows layout, and - /// LESS-THAN SIGN and GREATER-THAN SIGN - /// in a Swiss German, German, or French - /// layout. + #[doc = "< This is the additional key that ISO"] + #[doc = " keyboards have over ANSI ones,"] + #[doc = " located between left shift and Y."] + #[doc = " Produces GRAVE ACCENT and TILDE in a"] + #[doc = " US or UK Mac layout, REVERSE SOLIDUS"] + #[doc = " (backslash) and VERTICAL LINE in a"] + #[doc = " US or UK Windows layout, and"] + #[doc = " LESS-THAN SIGN and GREATER-THAN SIGN"] + #[doc = " in a Swiss German, German, or French"] + #[doc = " layout."] SDL_SCANCODE_NONUSBACKSLASH = 100, - ///< windows contextual menu, compose + #[doc = "< windows contextual menu, compose"] SDL_SCANCODE_APPLICATION = 101, - ///< The USB document says this is a status flag, - /// not a physical key - but some Mac keyboards - /// do have a power key. + #[doc = "< The USB document says this is a status flag,"] + #[doc = " not a physical key - but some Mac keyboards"] + #[doc = " do have a power key."] SDL_SCANCODE_POWER = 102, SDL_SCANCODE_KP_EQUALS = 103, SDL_SCANCODE_F13 = 104, @@ -8225,7 +8647,7 @@ pub enum SDL_Scancode { SDL_SCANCODE_MENU = 118, SDL_SCANCODE_SELECT = 119, SDL_SCANCODE_STOP = 120, - ///< redo + #[doc = "< redo"] SDL_SCANCODE_AGAIN = 121, SDL_SCANCODE_UNDO = 122, SDL_SCANCODE_CUT = 123, @@ -8237,11 +8659,11 @@ pub enum SDL_Scancode { SDL_SCANCODE_VOLUMEDOWN = 129, SDL_SCANCODE_KP_COMMA = 133, SDL_SCANCODE_KP_EQUALSAS400 = 134, - ///< used on Asian keyboards, see - ///footnotes in USB doc + #[doc = "< used on Asian keyboards, see"] + #[doc = "footnotes in USB doc"] SDL_SCANCODE_INTERNATIONAL1 = 135, SDL_SCANCODE_INTERNATIONAL2 = 136, - ///< Yen + #[doc = "< Yen"] SDL_SCANCODE_INTERNATIONAL3 = 137, SDL_SCANCODE_INTERNATIONAL4 = 138, SDL_SCANCODE_INTERNATIONAL5 = 139, @@ -8249,25 +8671,25 @@ pub enum SDL_Scancode { SDL_SCANCODE_INTERNATIONAL7 = 141, SDL_SCANCODE_INTERNATIONAL8 = 142, SDL_SCANCODE_INTERNATIONAL9 = 143, - ///< Hangul/English toggle + #[doc = "< Hangul/English toggle"] SDL_SCANCODE_LANG1 = 144, - ///< Hanja conversion + #[doc = "< Hanja conversion"] SDL_SCANCODE_LANG2 = 145, - ///< Katakana + #[doc = "< Katakana"] SDL_SCANCODE_LANG3 = 146, - ///< Hiragana + #[doc = "< Hiragana"] SDL_SCANCODE_LANG4 = 147, - ///< Zenkaku/Hankaku + #[doc = "< Zenkaku/Hankaku"] SDL_SCANCODE_LANG5 = 148, - ///< reserved + #[doc = "< reserved"] SDL_SCANCODE_LANG6 = 149, - ///< reserved + #[doc = "< reserved"] SDL_SCANCODE_LANG7 = 150, - ///< reserved + #[doc = "< reserved"] SDL_SCANCODE_LANG8 = 151, - ///< reserved + #[doc = "< reserved"] SDL_SCANCODE_LANG9 = 152, - ///< Erase-Eaze + #[doc = "< Erase-Eaze"] SDL_SCANCODE_ALTERASE = 153, SDL_SCANCODE_SYSREQ = 154, SDL_SCANCODE_CANCEL = 155, @@ -8328,19 +8750,19 @@ pub enum SDL_Scancode { SDL_SCANCODE_KP_HEXADECIMAL = 221, SDL_SCANCODE_LCTRL = 224, SDL_SCANCODE_LSHIFT = 225, - ///< alt, option + #[doc = "< alt, option"] SDL_SCANCODE_LALT = 226, - ///< windows, command (apple), meta + #[doc = "< windows, command (apple), meta"] SDL_SCANCODE_LGUI = 227, SDL_SCANCODE_RCTRL = 228, SDL_SCANCODE_RSHIFT = 229, - ///< alt gr, option + #[doc = "< alt gr, option"] SDL_SCANCODE_RALT = 230, - ///< windows, command (apple), meta + #[doc = "< windows, command (apple), meta"] SDL_SCANCODE_RGUI = 231, - ///< I'm not sure if this is really not covered - /// by any of the above, but since there's a - /// special KMOD_MODE for it I'm adding it here + #[doc = "< I'm not sure if this is really not covered"] + #[doc = " by any of the above, but since there's a"] + #[doc = " special KMOD_MODE for it I'm adding it here"] SDL_SCANCODE_MODE = 257, SDL_SCANCODE_AUDIONEXT = 258, SDL_SCANCODE_AUDIOPREV = 259, @@ -8361,8 +8783,8 @@ pub enum SDL_Scancode { SDL_SCANCODE_AC_BOOKMARKS = 274, SDL_SCANCODE_BRIGHTNESSDOWN = 275, SDL_SCANCODE_BRIGHTNESSUP = 276, - ///< display mirroring/dual display - ///switch, video mode switch + #[doc = "< display mirroring/dual display"] + #[doc = "switch, video mode switch"] SDL_SCANCODE_DISPLAYSWITCH = 277, SDL_SCANCODE_KBDILLUMTOGGLE = 278, SDL_SCANCODE_KBDILLUMDOWN = 279, @@ -8373,263 +8795,263 @@ pub enum SDL_Scancode { SDL_SCANCODE_APP2 = 284, SDL_SCANCODE_AUDIOREWIND = 285, SDL_SCANCODE_AUDIOFASTFORWARD = 286, - ///< not a key, just marks the number of scancodes - ///for array bounds + #[doc = "< not a key, just marks the number of scancodes"] + #[doc = "for array bounds"] SDL_NUM_SCANCODES = 512, } -/// \brief The SDL virtual key representation. -/// -/// Values of this type are used to represent keyboard keys using the current -/// layout of the keyboard. These values include Unicode values representing -/// the unmodified character that would be generated by pressing the key, or -/// an SDLK_* constant for those keys that do not generate characters. -/// -/// A special exception is the number keys at the top of the keyboard which -/// always map to SDLK_0...SDLK_9, regardless of layout. +#[doc = " \\brief The SDL virtual key representation."] +#[doc = ""] +#[doc = " Values of this type are used to represent keyboard keys using the current"] +#[doc = " layout of the keyboard. These values include Unicode values representing"] +#[doc = " the unmodified character that would be generated by pressing the key, or"] +#[doc = " an SDLK_* constant for those keys that do not generate characters."] +#[doc = ""] +#[doc = " A special exception is the number keys at the top of the keyboard which"] +#[doc = " always map to SDLK_0...SDLK_9, regardless of layout."] pub type SDL_Keycode = Sint32; -pub const SDLK_UNKNOWN: _bindgen_ty_7 = _bindgen_ty_7::SDLK_UNKNOWN; -pub const SDLK_RETURN: _bindgen_ty_7 = _bindgen_ty_7::SDLK_RETURN; -pub const SDLK_ESCAPE: _bindgen_ty_7 = _bindgen_ty_7::SDLK_ESCAPE; -pub const SDLK_BACKSPACE: _bindgen_ty_7 = _bindgen_ty_7::SDLK_BACKSPACE; -pub const SDLK_TAB: _bindgen_ty_7 = _bindgen_ty_7::SDLK_TAB; -pub const SDLK_SPACE: _bindgen_ty_7 = _bindgen_ty_7::SDLK_SPACE; -pub const SDLK_EXCLAIM: _bindgen_ty_7 = _bindgen_ty_7::SDLK_EXCLAIM; -pub const SDLK_QUOTEDBL: _bindgen_ty_7 = _bindgen_ty_7::SDLK_QUOTEDBL; -pub const SDLK_HASH: _bindgen_ty_7 = _bindgen_ty_7::SDLK_HASH; -pub const SDLK_PERCENT: _bindgen_ty_7 = _bindgen_ty_7::SDLK_PERCENT; -pub const SDLK_DOLLAR: _bindgen_ty_7 = _bindgen_ty_7::SDLK_DOLLAR; -pub const SDLK_AMPERSAND: _bindgen_ty_7 = _bindgen_ty_7::SDLK_AMPERSAND; -pub const SDLK_QUOTE: _bindgen_ty_7 = _bindgen_ty_7::SDLK_QUOTE; -pub const SDLK_LEFTPAREN: _bindgen_ty_7 = _bindgen_ty_7::SDLK_LEFTPAREN; -pub const SDLK_RIGHTPAREN: _bindgen_ty_7 = _bindgen_ty_7::SDLK_RIGHTPAREN; -pub const SDLK_ASTERISK: _bindgen_ty_7 = _bindgen_ty_7::SDLK_ASTERISK; -pub const SDLK_PLUS: _bindgen_ty_7 = _bindgen_ty_7::SDLK_PLUS; -pub const SDLK_COMMA: _bindgen_ty_7 = _bindgen_ty_7::SDLK_COMMA; -pub const SDLK_MINUS: _bindgen_ty_7 = _bindgen_ty_7::SDLK_MINUS; -pub const SDLK_PERIOD: _bindgen_ty_7 = _bindgen_ty_7::SDLK_PERIOD; -pub const SDLK_SLASH: _bindgen_ty_7 = _bindgen_ty_7::SDLK_SLASH; -pub const SDLK_0: _bindgen_ty_7 = _bindgen_ty_7::SDLK_0; -pub const SDLK_1: _bindgen_ty_7 = _bindgen_ty_7::SDLK_1; -pub const SDLK_2: _bindgen_ty_7 = _bindgen_ty_7::SDLK_2; -pub const SDLK_3: _bindgen_ty_7 = _bindgen_ty_7::SDLK_3; -pub const SDLK_4: _bindgen_ty_7 = _bindgen_ty_7::SDLK_4; -pub const SDLK_5: _bindgen_ty_7 = _bindgen_ty_7::SDLK_5; -pub const SDLK_6: _bindgen_ty_7 = _bindgen_ty_7::SDLK_6; -pub const SDLK_7: _bindgen_ty_7 = _bindgen_ty_7::SDLK_7; -pub const SDLK_8: _bindgen_ty_7 = _bindgen_ty_7::SDLK_8; -pub const SDLK_9: _bindgen_ty_7 = _bindgen_ty_7::SDLK_9; -pub const SDLK_COLON: _bindgen_ty_7 = _bindgen_ty_7::SDLK_COLON; -pub const SDLK_SEMICOLON: _bindgen_ty_7 = _bindgen_ty_7::SDLK_SEMICOLON; -pub const SDLK_LESS: _bindgen_ty_7 = _bindgen_ty_7::SDLK_LESS; -pub const SDLK_EQUALS: _bindgen_ty_7 = _bindgen_ty_7::SDLK_EQUALS; -pub const SDLK_GREATER: _bindgen_ty_7 = _bindgen_ty_7::SDLK_GREATER; -pub const SDLK_QUESTION: _bindgen_ty_7 = _bindgen_ty_7::SDLK_QUESTION; -pub const SDLK_AT: _bindgen_ty_7 = _bindgen_ty_7::SDLK_AT; -pub const SDLK_LEFTBRACKET: _bindgen_ty_7 = _bindgen_ty_7::SDLK_LEFTBRACKET; -pub const SDLK_BACKSLASH: _bindgen_ty_7 = _bindgen_ty_7::SDLK_BACKSLASH; -pub const SDLK_RIGHTBRACKET: _bindgen_ty_7 = _bindgen_ty_7::SDLK_RIGHTBRACKET; -pub const SDLK_CARET: _bindgen_ty_7 = _bindgen_ty_7::SDLK_CARET; -pub const SDLK_UNDERSCORE: _bindgen_ty_7 = _bindgen_ty_7::SDLK_UNDERSCORE; -pub const SDLK_BACKQUOTE: _bindgen_ty_7 = _bindgen_ty_7::SDLK_BACKQUOTE; -pub const SDLK_a: _bindgen_ty_7 = _bindgen_ty_7::SDLK_a; -pub const SDLK_b: _bindgen_ty_7 = _bindgen_ty_7::SDLK_b; -pub const SDLK_c: _bindgen_ty_7 = _bindgen_ty_7::SDLK_c; -pub const SDLK_d: _bindgen_ty_7 = _bindgen_ty_7::SDLK_d; -pub const SDLK_e: _bindgen_ty_7 = _bindgen_ty_7::SDLK_e; -pub const SDLK_f: _bindgen_ty_7 = _bindgen_ty_7::SDLK_f; -pub const SDLK_g: _bindgen_ty_7 = _bindgen_ty_7::SDLK_g; -pub const SDLK_h: _bindgen_ty_7 = _bindgen_ty_7::SDLK_h; -pub const SDLK_i: _bindgen_ty_7 = _bindgen_ty_7::SDLK_i; -pub const SDLK_j: _bindgen_ty_7 = _bindgen_ty_7::SDLK_j; -pub const SDLK_k: _bindgen_ty_7 = _bindgen_ty_7::SDLK_k; -pub const SDLK_l: _bindgen_ty_7 = _bindgen_ty_7::SDLK_l; -pub const SDLK_m: _bindgen_ty_7 = _bindgen_ty_7::SDLK_m; -pub const SDLK_n: _bindgen_ty_7 = _bindgen_ty_7::SDLK_n; -pub const SDLK_o: _bindgen_ty_7 = _bindgen_ty_7::SDLK_o; -pub const SDLK_p: _bindgen_ty_7 = _bindgen_ty_7::SDLK_p; -pub const SDLK_q: _bindgen_ty_7 = _bindgen_ty_7::SDLK_q; -pub const SDLK_r: _bindgen_ty_7 = _bindgen_ty_7::SDLK_r; -pub const SDLK_s: _bindgen_ty_7 = _bindgen_ty_7::SDLK_s; -pub const SDLK_t: _bindgen_ty_7 = _bindgen_ty_7::SDLK_t; -pub const SDLK_u: _bindgen_ty_7 = _bindgen_ty_7::SDLK_u; -pub const SDLK_v: _bindgen_ty_7 = _bindgen_ty_7::SDLK_v; -pub const SDLK_w: _bindgen_ty_7 = _bindgen_ty_7::SDLK_w; -pub const SDLK_x: _bindgen_ty_7 = _bindgen_ty_7::SDLK_x; -pub const SDLK_y: _bindgen_ty_7 = _bindgen_ty_7::SDLK_y; -pub const SDLK_z: _bindgen_ty_7 = _bindgen_ty_7::SDLK_z; -pub const SDLK_CAPSLOCK: _bindgen_ty_7 = _bindgen_ty_7::SDLK_CAPSLOCK; -pub const SDLK_F1: _bindgen_ty_7 = _bindgen_ty_7::SDLK_F1; -pub const SDLK_F2: _bindgen_ty_7 = _bindgen_ty_7::SDLK_F2; -pub const SDLK_F3: _bindgen_ty_7 = _bindgen_ty_7::SDLK_F3; -pub const SDLK_F4: _bindgen_ty_7 = _bindgen_ty_7::SDLK_F4; -pub const SDLK_F5: _bindgen_ty_7 = _bindgen_ty_7::SDLK_F5; -pub const SDLK_F6: _bindgen_ty_7 = _bindgen_ty_7::SDLK_F6; -pub const SDLK_F7: _bindgen_ty_7 = _bindgen_ty_7::SDLK_F7; -pub const SDLK_F8: _bindgen_ty_7 = _bindgen_ty_7::SDLK_F8; -pub const SDLK_F9: _bindgen_ty_7 = _bindgen_ty_7::SDLK_F9; -pub const SDLK_F10: _bindgen_ty_7 = _bindgen_ty_7::SDLK_F10; -pub const SDLK_F11: _bindgen_ty_7 = _bindgen_ty_7::SDLK_F11; -pub const SDLK_F12: _bindgen_ty_7 = _bindgen_ty_7::SDLK_F12; -pub const SDLK_PRINTSCREEN: _bindgen_ty_7 = _bindgen_ty_7::SDLK_PRINTSCREEN; -pub const SDLK_SCROLLLOCK: _bindgen_ty_7 = _bindgen_ty_7::SDLK_SCROLLLOCK; -pub const SDLK_PAUSE: _bindgen_ty_7 = _bindgen_ty_7::SDLK_PAUSE; -pub const SDLK_INSERT: _bindgen_ty_7 = _bindgen_ty_7::SDLK_INSERT; -pub const SDLK_HOME: _bindgen_ty_7 = _bindgen_ty_7::SDLK_HOME; -pub const SDLK_PAGEUP: _bindgen_ty_7 = _bindgen_ty_7::SDLK_PAGEUP; -pub const SDLK_DELETE: _bindgen_ty_7 = _bindgen_ty_7::SDLK_DELETE; -pub const SDLK_END: _bindgen_ty_7 = _bindgen_ty_7::SDLK_END; -pub const SDLK_PAGEDOWN: _bindgen_ty_7 = _bindgen_ty_7::SDLK_PAGEDOWN; -pub const SDLK_RIGHT: _bindgen_ty_7 = _bindgen_ty_7::SDLK_RIGHT; -pub const SDLK_LEFT: _bindgen_ty_7 = _bindgen_ty_7::SDLK_LEFT; -pub const SDLK_DOWN: _bindgen_ty_7 = _bindgen_ty_7::SDLK_DOWN; -pub const SDLK_UP: _bindgen_ty_7 = _bindgen_ty_7::SDLK_UP; -pub const SDLK_NUMLOCKCLEAR: _bindgen_ty_7 = _bindgen_ty_7::SDLK_NUMLOCKCLEAR; -pub const SDLK_KP_DIVIDE: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_DIVIDE; -pub const SDLK_KP_MULTIPLY: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_MULTIPLY; -pub const SDLK_KP_MINUS: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_MINUS; -pub const SDLK_KP_PLUS: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_PLUS; -pub const SDLK_KP_ENTER: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_ENTER; -pub const SDLK_KP_1: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_1; -pub const SDLK_KP_2: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_2; -pub const SDLK_KP_3: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_3; -pub const SDLK_KP_4: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_4; -pub const SDLK_KP_5: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_5; -pub const SDLK_KP_6: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_6; -pub const SDLK_KP_7: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_7; -pub const SDLK_KP_8: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_8; -pub const SDLK_KP_9: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_9; -pub const SDLK_KP_0: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_0; -pub const SDLK_KP_PERIOD: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_PERIOD; -pub const SDLK_APPLICATION: _bindgen_ty_7 = _bindgen_ty_7::SDLK_APPLICATION; -pub const SDLK_POWER: _bindgen_ty_7 = _bindgen_ty_7::SDLK_POWER; -pub const SDLK_KP_EQUALS: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_EQUALS; -pub const SDLK_F13: _bindgen_ty_7 = _bindgen_ty_7::SDLK_F13; -pub const SDLK_F14: _bindgen_ty_7 = _bindgen_ty_7::SDLK_F14; -pub const SDLK_F15: _bindgen_ty_7 = _bindgen_ty_7::SDLK_F15; -pub const SDLK_F16: _bindgen_ty_7 = _bindgen_ty_7::SDLK_F16; -pub const SDLK_F17: _bindgen_ty_7 = _bindgen_ty_7::SDLK_F17; -pub const SDLK_F18: _bindgen_ty_7 = _bindgen_ty_7::SDLK_F18; -pub const SDLK_F19: _bindgen_ty_7 = _bindgen_ty_7::SDLK_F19; -pub const SDLK_F20: _bindgen_ty_7 = _bindgen_ty_7::SDLK_F20; -pub const SDLK_F21: _bindgen_ty_7 = _bindgen_ty_7::SDLK_F21; -pub const SDLK_F22: _bindgen_ty_7 = _bindgen_ty_7::SDLK_F22; -pub const SDLK_F23: _bindgen_ty_7 = _bindgen_ty_7::SDLK_F23; -pub const SDLK_F24: _bindgen_ty_7 = _bindgen_ty_7::SDLK_F24; -pub const SDLK_EXECUTE: _bindgen_ty_7 = _bindgen_ty_7::SDLK_EXECUTE; -pub const SDLK_HELP: _bindgen_ty_7 = _bindgen_ty_7::SDLK_HELP; -pub const SDLK_MENU: _bindgen_ty_7 = _bindgen_ty_7::SDLK_MENU; -pub const SDLK_SELECT: _bindgen_ty_7 = _bindgen_ty_7::SDLK_SELECT; -pub const SDLK_STOP: _bindgen_ty_7 = _bindgen_ty_7::SDLK_STOP; -pub const SDLK_AGAIN: _bindgen_ty_7 = _bindgen_ty_7::SDLK_AGAIN; -pub const SDLK_UNDO: _bindgen_ty_7 = _bindgen_ty_7::SDLK_UNDO; -pub const SDLK_CUT: _bindgen_ty_7 = _bindgen_ty_7::SDLK_CUT; -pub const SDLK_COPY: _bindgen_ty_7 = _bindgen_ty_7::SDLK_COPY; -pub const SDLK_PASTE: _bindgen_ty_7 = _bindgen_ty_7::SDLK_PASTE; -pub const SDLK_FIND: _bindgen_ty_7 = _bindgen_ty_7::SDLK_FIND; -pub const SDLK_MUTE: _bindgen_ty_7 = _bindgen_ty_7::SDLK_MUTE; -pub const SDLK_VOLUMEUP: _bindgen_ty_7 = _bindgen_ty_7::SDLK_VOLUMEUP; -pub const SDLK_VOLUMEDOWN: _bindgen_ty_7 = _bindgen_ty_7::SDLK_VOLUMEDOWN; -pub const SDLK_KP_COMMA: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_COMMA; -pub const SDLK_KP_EQUALSAS400: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_EQUALSAS400; -pub const SDLK_ALTERASE: _bindgen_ty_7 = _bindgen_ty_7::SDLK_ALTERASE; -pub const SDLK_SYSREQ: _bindgen_ty_7 = _bindgen_ty_7::SDLK_SYSREQ; -pub const SDLK_CANCEL: _bindgen_ty_7 = _bindgen_ty_7::SDLK_CANCEL; -pub const SDLK_CLEAR: _bindgen_ty_7 = _bindgen_ty_7::SDLK_CLEAR; -pub const SDLK_PRIOR: _bindgen_ty_7 = _bindgen_ty_7::SDLK_PRIOR; -pub const SDLK_RETURN2: _bindgen_ty_7 = _bindgen_ty_7::SDLK_RETURN2; -pub const SDLK_SEPARATOR: _bindgen_ty_7 = _bindgen_ty_7::SDLK_SEPARATOR; -pub const SDLK_OUT: _bindgen_ty_7 = _bindgen_ty_7::SDLK_OUT; -pub const SDLK_OPER: _bindgen_ty_7 = _bindgen_ty_7::SDLK_OPER; -pub const SDLK_CLEARAGAIN: _bindgen_ty_7 = _bindgen_ty_7::SDLK_CLEARAGAIN; -pub const SDLK_CRSEL: _bindgen_ty_7 = _bindgen_ty_7::SDLK_CRSEL; -pub const SDLK_EXSEL: _bindgen_ty_7 = _bindgen_ty_7::SDLK_EXSEL; -pub const SDLK_KP_00: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_00; -pub const SDLK_KP_000: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_000; -pub const SDLK_THOUSANDSSEPARATOR: _bindgen_ty_7 = _bindgen_ty_7::SDLK_THOUSANDSSEPARATOR; -pub const SDLK_DECIMALSEPARATOR: _bindgen_ty_7 = _bindgen_ty_7::SDLK_DECIMALSEPARATOR; -pub const SDLK_CURRENCYUNIT: _bindgen_ty_7 = _bindgen_ty_7::SDLK_CURRENCYUNIT; -pub const SDLK_CURRENCYSUBUNIT: _bindgen_ty_7 = _bindgen_ty_7::SDLK_CURRENCYSUBUNIT; -pub const SDLK_KP_LEFTPAREN: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_LEFTPAREN; -pub const SDLK_KP_RIGHTPAREN: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_RIGHTPAREN; -pub const SDLK_KP_LEFTBRACE: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_LEFTBRACE; -pub const SDLK_KP_RIGHTBRACE: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_RIGHTBRACE; -pub const SDLK_KP_TAB: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_TAB; -pub const SDLK_KP_BACKSPACE: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_BACKSPACE; -pub const SDLK_KP_A: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_A; -pub const SDLK_KP_B: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_B; -pub const SDLK_KP_C: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_C; -pub const SDLK_KP_D: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_D; -pub const SDLK_KP_E: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_E; -pub const SDLK_KP_F: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_F; -pub const SDLK_KP_XOR: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_XOR; -pub const SDLK_KP_POWER: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_POWER; -pub const SDLK_KP_PERCENT: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_PERCENT; -pub const SDLK_KP_LESS: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_LESS; -pub const SDLK_KP_GREATER: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_GREATER; -pub const SDLK_KP_AMPERSAND: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_AMPERSAND; -pub const SDLK_KP_DBLAMPERSAND: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_DBLAMPERSAND; -pub const SDLK_KP_VERTICALBAR: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_VERTICALBAR; -pub const SDLK_KP_DBLVERTICALBAR: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_DBLVERTICALBAR; -pub const SDLK_KP_COLON: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_COLON; -pub const SDLK_KP_HASH: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_HASH; -pub const SDLK_KP_SPACE: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_SPACE; -pub const SDLK_KP_AT: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_AT; -pub const SDLK_KP_EXCLAM: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_EXCLAM; -pub const SDLK_KP_MEMSTORE: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_MEMSTORE; -pub const SDLK_KP_MEMRECALL: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_MEMRECALL; -pub const SDLK_KP_MEMCLEAR: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_MEMCLEAR; -pub const SDLK_KP_MEMADD: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_MEMADD; -pub const SDLK_KP_MEMSUBTRACT: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_MEMSUBTRACT; -pub const SDLK_KP_MEMMULTIPLY: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_MEMMULTIPLY; -pub const SDLK_KP_MEMDIVIDE: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_MEMDIVIDE; -pub const SDLK_KP_PLUSMINUS: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_PLUSMINUS; -pub const SDLK_KP_CLEAR: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_CLEAR; -pub const SDLK_KP_CLEARENTRY: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_CLEARENTRY; -pub const SDLK_KP_BINARY: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_BINARY; -pub const SDLK_KP_OCTAL: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_OCTAL; -pub const SDLK_KP_DECIMAL: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_DECIMAL; -pub const SDLK_KP_HEXADECIMAL: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KP_HEXADECIMAL; -pub const SDLK_LCTRL: _bindgen_ty_7 = _bindgen_ty_7::SDLK_LCTRL; -pub const SDLK_LSHIFT: _bindgen_ty_7 = _bindgen_ty_7::SDLK_LSHIFT; -pub const SDLK_LALT: _bindgen_ty_7 = _bindgen_ty_7::SDLK_LALT; -pub const SDLK_LGUI: _bindgen_ty_7 = _bindgen_ty_7::SDLK_LGUI; -pub const SDLK_RCTRL: _bindgen_ty_7 = _bindgen_ty_7::SDLK_RCTRL; -pub const SDLK_RSHIFT: _bindgen_ty_7 = _bindgen_ty_7::SDLK_RSHIFT; -pub const SDLK_RALT: _bindgen_ty_7 = _bindgen_ty_7::SDLK_RALT; -pub const SDLK_RGUI: _bindgen_ty_7 = _bindgen_ty_7::SDLK_RGUI; -pub const SDLK_MODE: _bindgen_ty_7 = _bindgen_ty_7::SDLK_MODE; -pub const SDLK_AUDIONEXT: _bindgen_ty_7 = _bindgen_ty_7::SDLK_AUDIONEXT; -pub const SDLK_AUDIOPREV: _bindgen_ty_7 = _bindgen_ty_7::SDLK_AUDIOPREV; -pub const SDLK_AUDIOSTOP: _bindgen_ty_7 = _bindgen_ty_7::SDLK_AUDIOSTOP; -pub const SDLK_AUDIOPLAY: _bindgen_ty_7 = _bindgen_ty_7::SDLK_AUDIOPLAY; -pub const SDLK_AUDIOMUTE: _bindgen_ty_7 = _bindgen_ty_7::SDLK_AUDIOMUTE; -pub const SDLK_MEDIASELECT: _bindgen_ty_7 = _bindgen_ty_7::SDLK_MEDIASELECT; -pub const SDLK_WWW: _bindgen_ty_7 = _bindgen_ty_7::SDLK_WWW; -pub const SDLK_MAIL: _bindgen_ty_7 = _bindgen_ty_7::SDLK_MAIL; -pub const SDLK_CALCULATOR: _bindgen_ty_7 = _bindgen_ty_7::SDLK_CALCULATOR; -pub const SDLK_COMPUTER: _bindgen_ty_7 = _bindgen_ty_7::SDLK_COMPUTER; -pub const SDLK_AC_SEARCH: _bindgen_ty_7 = _bindgen_ty_7::SDLK_AC_SEARCH; -pub const SDLK_AC_HOME: _bindgen_ty_7 = _bindgen_ty_7::SDLK_AC_HOME; -pub const SDLK_AC_BACK: _bindgen_ty_7 = _bindgen_ty_7::SDLK_AC_BACK; -pub const SDLK_AC_FORWARD: _bindgen_ty_7 = _bindgen_ty_7::SDLK_AC_FORWARD; -pub const SDLK_AC_STOP: _bindgen_ty_7 = _bindgen_ty_7::SDLK_AC_STOP; -pub const SDLK_AC_REFRESH: _bindgen_ty_7 = _bindgen_ty_7::SDLK_AC_REFRESH; -pub const SDLK_AC_BOOKMARKS: _bindgen_ty_7 = _bindgen_ty_7::SDLK_AC_BOOKMARKS; -pub const SDLK_BRIGHTNESSDOWN: _bindgen_ty_7 = _bindgen_ty_7::SDLK_BRIGHTNESSDOWN; -pub const SDLK_BRIGHTNESSUP: _bindgen_ty_7 = _bindgen_ty_7::SDLK_BRIGHTNESSUP; -pub const SDLK_DISPLAYSWITCH: _bindgen_ty_7 = _bindgen_ty_7::SDLK_DISPLAYSWITCH; -pub const SDLK_KBDILLUMTOGGLE: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KBDILLUMTOGGLE; -pub const SDLK_KBDILLUMDOWN: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KBDILLUMDOWN; -pub const SDLK_KBDILLUMUP: _bindgen_ty_7 = _bindgen_ty_7::SDLK_KBDILLUMUP; -pub const SDLK_EJECT: _bindgen_ty_7 = _bindgen_ty_7::SDLK_EJECT; -pub const SDLK_SLEEP: _bindgen_ty_7 = _bindgen_ty_7::SDLK_SLEEP; -pub const SDLK_APP1: _bindgen_ty_7 = _bindgen_ty_7::SDLK_APP1; -pub const SDLK_APP2: _bindgen_ty_7 = _bindgen_ty_7::SDLK_APP2; -pub const SDLK_AUDIOREWIND: _bindgen_ty_7 = _bindgen_ty_7::SDLK_AUDIOREWIND; -pub const SDLK_AUDIOFASTFORWARD: _bindgen_ty_7 = _bindgen_ty_7::SDLK_AUDIOFASTFORWARD; +pub const SDLK_UNKNOWN: _bindgen_ty_6 = _bindgen_ty_6::SDLK_UNKNOWN; +pub const SDLK_RETURN: _bindgen_ty_6 = _bindgen_ty_6::SDLK_RETURN; +pub const SDLK_ESCAPE: _bindgen_ty_6 = _bindgen_ty_6::SDLK_ESCAPE; +pub const SDLK_BACKSPACE: _bindgen_ty_6 = _bindgen_ty_6::SDLK_BACKSPACE; +pub const SDLK_TAB: _bindgen_ty_6 = _bindgen_ty_6::SDLK_TAB; +pub const SDLK_SPACE: _bindgen_ty_6 = _bindgen_ty_6::SDLK_SPACE; +pub const SDLK_EXCLAIM: _bindgen_ty_6 = _bindgen_ty_6::SDLK_EXCLAIM; +pub const SDLK_QUOTEDBL: _bindgen_ty_6 = _bindgen_ty_6::SDLK_QUOTEDBL; +pub const SDLK_HASH: _bindgen_ty_6 = _bindgen_ty_6::SDLK_HASH; +pub const SDLK_PERCENT: _bindgen_ty_6 = _bindgen_ty_6::SDLK_PERCENT; +pub const SDLK_DOLLAR: _bindgen_ty_6 = _bindgen_ty_6::SDLK_DOLLAR; +pub const SDLK_AMPERSAND: _bindgen_ty_6 = _bindgen_ty_6::SDLK_AMPERSAND; +pub const SDLK_QUOTE: _bindgen_ty_6 = _bindgen_ty_6::SDLK_QUOTE; +pub const SDLK_LEFTPAREN: _bindgen_ty_6 = _bindgen_ty_6::SDLK_LEFTPAREN; +pub const SDLK_RIGHTPAREN: _bindgen_ty_6 = _bindgen_ty_6::SDLK_RIGHTPAREN; +pub const SDLK_ASTERISK: _bindgen_ty_6 = _bindgen_ty_6::SDLK_ASTERISK; +pub const SDLK_PLUS: _bindgen_ty_6 = _bindgen_ty_6::SDLK_PLUS; +pub const SDLK_COMMA: _bindgen_ty_6 = _bindgen_ty_6::SDLK_COMMA; +pub const SDLK_MINUS: _bindgen_ty_6 = _bindgen_ty_6::SDLK_MINUS; +pub const SDLK_PERIOD: _bindgen_ty_6 = _bindgen_ty_6::SDLK_PERIOD; +pub const SDLK_SLASH: _bindgen_ty_6 = _bindgen_ty_6::SDLK_SLASH; +pub const SDLK_0: _bindgen_ty_6 = _bindgen_ty_6::SDLK_0; +pub const SDLK_1: _bindgen_ty_6 = _bindgen_ty_6::SDLK_1; +pub const SDLK_2: _bindgen_ty_6 = _bindgen_ty_6::SDLK_2; +pub const SDLK_3: _bindgen_ty_6 = _bindgen_ty_6::SDLK_3; +pub const SDLK_4: _bindgen_ty_6 = _bindgen_ty_6::SDLK_4; +pub const SDLK_5: _bindgen_ty_6 = _bindgen_ty_6::SDLK_5; +pub const SDLK_6: _bindgen_ty_6 = _bindgen_ty_6::SDLK_6; +pub const SDLK_7: _bindgen_ty_6 = _bindgen_ty_6::SDLK_7; +pub const SDLK_8: _bindgen_ty_6 = _bindgen_ty_6::SDLK_8; +pub const SDLK_9: _bindgen_ty_6 = _bindgen_ty_6::SDLK_9; +pub const SDLK_COLON: _bindgen_ty_6 = _bindgen_ty_6::SDLK_COLON; +pub const SDLK_SEMICOLON: _bindgen_ty_6 = _bindgen_ty_6::SDLK_SEMICOLON; +pub const SDLK_LESS: _bindgen_ty_6 = _bindgen_ty_6::SDLK_LESS; +pub const SDLK_EQUALS: _bindgen_ty_6 = _bindgen_ty_6::SDLK_EQUALS; +pub const SDLK_GREATER: _bindgen_ty_6 = _bindgen_ty_6::SDLK_GREATER; +pub const SDLK_QUESTION: _bindgen_ty_6 = _bindgen_ty_6::SDLK_QUESTION; +pub const SDLK_AT: _bindgen_ty_6 = _bindgen_ty_6::SDLK_AT; +pub const SDLK_LEFTBRACKET: _bindgen_ty_6 = _bindgen_ty_6::SDLK_LEFTBRACKET; +pub const SDLK_BACKSLASH: _bindgen_ty_6 = _bindgen_ty_6::SDLK_BACKSLASH; +pub const SDLK_RIGHTBRACKET: _bindgen_ty_6 = _bindgen_ty_6::SDLK_RIGHTBRACKET; +pub const SDLK_CARET: _bindgen_ty_6 = _bindgen_ty_6::SDLK_CARET; +pub const SDLK_UNDERSCORE: _bindgen_ty_6 = _bindgen_ty_6::SDLK_UNDERSCORE; +pub const SDLK_BACKQUOTE: _bindgen_ty_6 = _bindgen_ty_6::SDLK_BACKQUOTE; +pub const SDLK_a: _bindgen_ty_6 = _bindgen_ty_6::SDLK_a; +pub const SDLK_b: _bindgen_ty_6 = _bindgen_ty_6::SDLK_b; +pub const SDLK_c: _bindgen_ty_6 = _bindgen_ty_6::SDLK_c; +pub const SDLK_d: _bindgen_ty_6 = _bindgen_ty_6::SDLK_d; +pub const SDLK_e: _bindgen_ty_6 = _bindgen_ty_6::SDLK_e; +pub const SDLK_f: _bindgen_ty_6 = _bindgen_ty_6::SDLK_f; +pub const SDLK_g: _bindgen_ty_6 = _bindgen_ty_6::SDLK_g; +pub const SDLK_h: _bindgen_ty_6 = _bindgen_ty_6::SDLK_h; +pub const SDLK_i: _bindgen_ty_6 = _bindgen_ty_6::SDLK_i; +pub const SDLK_j: _bindgen_ty_6 = _bindgen_ty_6::SDLK_j; +pub const SDLK_k: _bindgen_ty_6 = _bindgen_ty_6::SDLK_k; +pub const SDLK_l: _bindgen_ty_6 = _bindgen_ty_6::SDLK_l; +pub const SDLK_m: _bindgen_ty_6 = _bindgen_ty_6::SDLK_m; +pub const SDLK_n: _bindgen_ty_6 = _bindgen_ty_6::SDLK_n; +pub const SDLK_o: _bindgen_ty_6 = _bindgen_ty_6::SDLK_o; +pub const SDLK_p: _bindgen_ty_6 = _bindgen_ty_6::SDLK_p; +pub const SDLK_q: _bindgen_ty_6 = _bindgen_ty_6::SDLK_q; +pub const SDLK_r: _bindgen_ty_6 = _bindgen_ty_6::SDLK_r; +pub const SDLK_s: _bindgen_ty_6 = _bindgen_ty_6::SDLK_s; +pub const SDLK_t: _bindgen_ty_6 = _bindgen_ty_6::SDLK_t; +pub const SDLK_u: _bindgen_ty_6 = _bindgen_ty_6::SDLK_u; +pub const SDLK_v: _bindgen_ty_6 = _bindgen_ty_6::SDLK_v; +pub const SDLK_w: _bindgen_ty_6 = _bindgen_ty_6::SDLK_w; +pub const SDLK_x: _bindgen_ty_6 = _bindgen_ty_6::SDLK_x; +pub const SDLK_y: _bindgen_ty_6 = _bindgen_ty_6::SDLK_y; +pub const SDLK_z: _bindgen_ty_6 = _bindgen_ty_6::SDLK_z; +pub const SDLK_CAPSLOCK: _bindgen_ty_6 = _bindgen_ty_6::SDLK_CAPSLOCK; +pub const SDLK_F1: _bindgen_ty_6 = _bindgen_ty_6::SDLK_F1; +pub const SDLK_F2: _bindgen_ty_6 = _bindgen_ty_6::SDLK_F2; +pub const SDLK_F3: _bindgen_ty_6 = _bindgen_ty_6::SDLK_F3; +pub const SDLK_F4: _bindgen_ty_6 = _bindgen_ty_6::SDLK_F4; +pub const SDLK_F5: _bindgen_ty_6 = _bindgen_ty_6::SDLK_F5; +pub const SDLK_F6: _bindgen_ty_6 = _bindgen_ty_6::SDLK_F6; +pub const SDLK_F7: _bindgen_ty_6 = _bindgen_ty_6::SDLK_F7; +pub const SDLK_F8: _bindgen_ty_6 = _bindgen_ty_6::SDLK_F8; +pub const SDLK_F9: _bindgen_ty_6 = _bindgen_ty_6::SDLK_F9; +pub const SDLK_F10: _bindgen_ty_6 = _bindgen_ty_6::SDLK_F10; +pub const SDLK_F11: _bindgen_ty_6 = _bindgen_ty_6::SDLK_F11; +pub const SDLK_F12: _bindgen_ty_6 = _bindgen_ty_6::SDLK_F12; +pub const SDLK_PRINTSCREEN: _bindgen_ty_6 = _bindgen_ty_6::SDLK_PRINTSCREEN; +pub const SDLK_SCROLLLOCK: _bindgen_ty_6 = _bindgen_ty_6::SDLK_SCROLLLOCK; +pub const SDLK_PAUSE: _bindgen_ty_6 = _bindgen_ty_6::SDLK_PAUSE; +pub const SDLK_INSERT: _bindgen_ty_6 = _bindgen_ty_6::SDLK_INSERT; +pub const SDLK_HOME: _bindgen_ty_6 = _bindgen_ty_6::SDLK_HOME; +pub const SDLK_PAGEUP: _bindgen_ty_6 = _bindgen_ty_6::SDLK_PAGEUP; +pub const SDLK_DELETE: _bindgen_ty_6 = _bindgen_ty_6::SDLK_DELETE; +pub const SDLK_END: _bindgen_ty_6 = _bindgen_ty_6::SDLK_END; +pub const SDLK_PAGEDOWN: _bindgen_ty_6 = _bindgen_ty_6::SDLK_PAGEDOWN; +pub const SDLK_RIGHT: _bindgen_ty_6 = _bindgen_ty_6::SDLK_RIGHT; +pub const SDLK_LEFT: _bindgen_ty_6 = _bindgen_ty_6::SDLK_LEFT; +pub const SDLK_DOWN: _bindgen_ty_6 = _bindgen_ty_6::SDLK_DOWN; +pub const SDLK_UP: _bindgen_ty_6 = _bindgen_ty_6::SDLK_UP; +pub const SDLK_NUMLOCKCLEAR: _bindgen_ty_6 = _bindgen_ty_6::SDLK_NUMLOCKCLEAR; +pub const SDLK_KP_DIVIDE: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_DIVIDE; +pub const SDLK_KP_MULTIPLY: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_MULTIPLY; +pub const SDLK_KP_MINUS: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_MINUS; +pub const SDLK_KP_PLUS: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_PLUS; +pub const SDLK_KP_ENTER: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_ENTER; +pub const SDLK_KP_1: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_1; +pub const SDLK_KP_2: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_2; +pub const SDLK_KP_3: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_3; +pub const SDLK_KP_4: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_4; +pub const SDLK_KP_5: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_5; +pub const SDLK_KP_6: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_6; +pub const SDLK_KP_7: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_7; +pub const SDLK_KP_8: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_8; +pub const SDLK_KP_9: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_9; +pub const SDLK_KP_0: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_0; +pub const SDLK_KP_PERIOD: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_PERIOD; +pub const SDLK_APPLICATION: _bindgen_ty_6 = _bindgen_ty_6::SDLK_APPLICATION; +pub const SDLK_POWER: _bindgen_ty_6 = _bindgen_ty_6::SDLK_POWER; +pub const SDLK_KP_EQUALS: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_EQUALS; +pub const SDLK_F13: _bindgen_ty_6 = _bindgen_ty_6::SDLK_F13; +pub const SDLK_F14: _bindgen_ty_6 = _bindgen_ty_6::SDLK_F14; +pub const SDLK_F15: _bindgen_ty_6 = _bindgen_ty_6::SDLK_F15; +pub const SDLK_F16: _bindgen_ty_6 = _bindgen_ty_6::SDLK_F16; +pub const SDLK_F17: _bindgen_ty_6 = _bindgen_ty_6::SDLK_F17; +pub const SDLK_F18: _bindgen_ty_6 = _bindgen_ty_6::SDLK_F18; +pub const SDLK_F19: _bindgen_ty_6 = _bindgen_ty_6::SDLK_F19; +pub const SDLK_F20: _bindgen_ty_6 = _bindgen_ty_6::SDLK_F20; +pub const SDLK_F21: _bindgen_ty_6 = _bindgen_ty_6::SDLK_F21; +pub const SDLK_F22: _bindgen_ty_6 = _bindgen_ty_6::SDLK_F22; +pub const SDLK_F23: _bindgen_ty_6 = _bindgen_ty_6::SDLK_F23; +pub const SDLK_F24: _bindgen_ty_6 = _bindgen_ty_6::SDLK_F24; +pub const SDLK_EXECUTE: _bindgen_ty_6 = _bindgen_ty_6::SDLK_EXECUTE; +pub const SDLK_HELP: _bindgen_ty_6 = _bindgen_ty_6::SDLK_HELP; +pub const SDLK_MENU: _bindgen_ty_6 = _bindgen_ty_6::SDLK_MENU; +pub const SDLK_SELECT: _bindgen_ty_6 = _bindgen_ty_6::SDLK_SELECT; +pub const SDLK_STOP: _bindgen_ty_6 = _bindgen_ty_6::SDLK_STOP; +pub const SDLK_AGAIN: _bindgen_ty_6 = _bindgen_ty_6::SDLK_AGAIN; +pub const SDLK_UNDO: _bindgen_ty_6 = _bindgen_ty_6::SDLK_UNDO; +pub const SDLK_CUT: _bindgen_ty_6 = _bindgen_ty_6::SDLK_CUT; +pub const SDLK_COPY: _bindgen_ty_6 = _bindgen_ty_6::SDLK_COPY; +pub const SDLK_PASTE: _bindgen_ty_6 = _bindgen_ty_6::SDLK_PASTE; +pub const SDLK_FIND: _bindgen_ty_6 = _bindgen_ty_6::SDLK_FIND; +pub const SDLK_MUTE: _bindgen_ty_6 = _bindgen_ty_6::SDLK_MUTE; +pub const SDLK_VOLUMEUP: _bindgen_ty_6 = _bindgen_ty_6::SDLK_VOLUMEUP; +pub const SDLK_VOLUMEDOWN: _bindgen_ty_6 = _bindgen_ty_6::SDLK_VOLUMEDOWN; +pub const SDLK_KP_COMMA: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_COMMA; +pub const SDLK_KP_EQUALSAS400: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_EQUALSAS400; +pub const SDLK_ALTERASE: _bindgen_ty_6 = _bindgen_ty_6::SDLK_ALTERASE; +pub const SDLK_SYSREQ: _bindgen_ty_6 = _bindgen_ty_6::SDLK_SYSREQ; +pub const SDLK_CANCEL: _bindgen_ty_6 = _bindgen_ty_6::SDLK_CANCEL; +pub const SDLK_CLEAR: _bindgen_ty_6 = _bindgen_ty_6::SDLK_CLEAR; +pub const SDLK_PRIOR: _bindgen_ty_6 = _bindgen_ty_6::SDLK_PRIOR; +pub const SDLK_RETURN2: _bindgen_ty_6 = _bindgen_ty_6::SDLK_RETURN2; +pub const SDLK_SEPARATOR: _bindgen_ty_6 = _bindgen_ty_6::SDLK_SEPARATOR; +pub const SDLK_OUT: _bindgen_ty_6 = _bindgen_ty_6::SDLK_OUT; +pub const SDLK_OPER: _bindgen_ty_6 = _bindgen_ty_6::SDLK_OPER; +pub const SDLK_CLEARAGAIN: _bindgen_ty_6 = _bindgen_ty_6::SDLK_CLEARAGAIN; +pub const SDLK_CRSEL: _bindgen_ty_6 = _bindgen_ty_6::SDLK_CRSEL; +pub const SDLK_EXSEL: _bindgen_ty_6 = _bindgen_ty_6::SDLK_EXSEL; +pub const SDLK_KP_00: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_00; +pub const SDLK_KP_000: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_000; +pub const SDLK_THOUSANDSSEPARATOR: _bindgen_ty_6 = _bindgen_ty_6::SDLK_THOUSANDSSEPARATOR; +pub const SDLK_DECIMALSEPARATOR: _bindgen_ty_6 = _bindgen_ty_6::SDLK_DECIMALSEPARATOR; +pub const SDLK_CURRENCYUNIT: _bindgen_ty_6 = _bindgen_ty_6::SDLK_CURRENCYUNIT; +pub const SDLK_CURRENCYSUBUNIT: _bindgen_ty_6 = _bindgen_ty_6::SDLK_CURRENCYSUBUNIT; +pub const SDLK_KP_LEFTPAREN: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_LEFTPAREN; +pub const SDLK_KP_RIGHTPAREN: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_RIGHTPAREN; +pub const SDLK_KP_LEFTBRACE: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_LEFTBRACE; +pub const SDLK_KP_RIGHTBRACE: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_RIGHTBRACE; +pub const SDLK_KP_TAB: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_TAB; +pub const SDLK_KP_BACKSPACE: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_BACKSPACE; +pub const SDLK_KP_A: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_A; +pub const SDLK_KP_B: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_B; +pub const SDLK_KP_C: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_C; +pub const SDLK_KP_D: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_D; +pub const SDLK_KP_E: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_E; +pub const SDLK_KP_F: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_F; +pub const SDLK_KP_XOR: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_XOR; +pub const SDLK_KP_POWER: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_POWER; +pub const SDLK_KP_PERCENT: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_PERCENT; +pub const SDLK_KP_LESS: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_LESS; +pub const SDLK_KP_GREATER: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_GREATER; +pub const SDLK_KP_AMPERSAND: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_AMPERSAND; +pub const SDLK_KP_DBLAMPERSAND: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_DBLAMPERSAND; +pub const SDLK_KP_VERTICALBAR: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_VERTICALBAR; +pub const SDLK_KP_DBLVERTICALBAR: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_DBLVERTICALBAR; +pub const SDLK_KP_COLON: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_COLON; +pub const SDLK_KP_HASH: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_HASH; +pub const SDLK_KP_SPACE: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_SPACE; +pub const SDLK_KP_AT: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_AT; +pub const SDLK_KP_EXCLAM: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_EXCLAM; +pub const SDLK_KP_MEMSTORE: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_MEMSTORE; +pub const SDLK_KP_MEMRECALL: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_MEMRECALL; +pub const SDLK_KP_MEMCLEAR: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_MEMCLEAR; +pub const SDLK_KP_MEMADD: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_MEMADD; +pub const SDLK_KP_MEMSUBTRACT: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_MEMSUBTRACT; +pub const SDLK_KP_MEMMULTIPLY: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_MEMMULTIPLY; +pub const SDLK_KP_MEMDIVIDE: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_MEMDIVIDE; +pub const SDLK_KP_PLUSMINUS: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_PLUSMINUS; +pub const SDLK_KP_CLEAR: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_CLEAR; +pub const SDLK_KP_CLEARENTRY: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_CLEARENTRY; +pub const SDLK_KP_BINARY: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_BINARY; +pub const SDLK_KP_OCTAL: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_OCTAL; +pub const SDLK_KP_DECIMAL: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_DECIMAL; +pub const SDLK_KP_HEXADECIMAL: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KP_HEXADECIMAL; +pub const SDLK_LCTRL: _bindgen_ty_6 = _bindgen_ty_6::SDLK_LCTRL; +pub const SDLK_LSHIFT: _bindgen_ty_6 = _bindgen_ty_6::SDLK_LSHIFT; +pub const SDLK_LALT: _bindgen_ty_6 = _bindgen_ty_6::SDLK_LALT; +pub const SDLK_LGUI: _bindgen_ty_6 = _bindgen_ty_6::SDLK_LGUI; +pub const SDLK_RCTRL: _bindgen_ty_6 = _bindgen_ty_6::SDLK_RCTRL; +pub const SDLK_RSHIFT: _bindgen_ty_6 = _bindgen_ty_6::SDLK_RSHIFT; +pub const SDLK_RALT: _bindgen_ty_6 = _bindgen_ty_6::SDLK_RALT; +pub const SDLK_RGUI: _bindgen_ty_6 = _bindgen_ty_6::SDLK_RGUI; +pub const SDLK_MODE: _bindgen_ty_6 = _bindgen_ty_6::SDLK_MODE; +pub const SDLK_AUDIONEXT: _bindgen_ty_6 = _bindgen_ty_6::SDLK_AUDIONEXT; +pub const SDLK_AUDIOPREV: _bindgen_ty_6 = _bindgen_ty_6::SDLK_AUDIOPREV; +pub const SDLK_AUDIOSTOP: _bindgen_ty_6 = _bindgen_ty_6::SDLK_AUDIOSTOP; +pub const SDLK_AUDIOPLAY: _bindgen_ty_6 = _bindgen_ty_6::SDLK_AUDIOPLAY; +pub const SDLK_AUDIOMUTE: _bindgen_ty_6 = _bindgen_ty_6::SDLK_AUDIOMUTE; +pub const SDLK_MEDIASELECT: _bindgen_ty_6 = _bindgen_ty_6::SDLK_MEDIASELECT; +pub const SDLK_WWW: _bindgen_ty_6 = _bindgen_ty_6::SDLK_WWW; +pub const SDLK_MAIL: _bindgen_ty_6 = _bindgen_ty_6::SDLK_MAIL; +pub const SDLK_CALCULATOR: _bindgen_ty_6 = _bindgen_ty_6::SDLK_CALCULATOR; +pub const SDLK_COMPUTER: _bindgen_ty_6 = _bindgen_ty_6::SDLK_COMPUTER; +pub const SDLK_AC_SEARCH: _bindgen_ty_6 = _bindgen_ty_6::SDLK_AC_SEARCH; +pub const SDLK_AC_HOME: _bindgen_ty_6 = _bindgen_ty_6::SDLK_AC_HOME; +pub const SDLK_AC_BACK: _bindgen_ty_6 = _bindgen_ty_6::SDLK_AC_BACK; +pub const SDLK_AC_FORWARD: _bindgen_ty_6 = _bindgen_ty_6::SDLK_AC_FORWARD; +pub const SDLK_AC_STOP: _bindgen_ty_6 = _bindgen_ty_6::SDLK_AC_STOP; +pub const SDLK_AC_REFRESH: _bindgen_ty_6 = _bindgen_ty_6::SDLK_AC_REFRESH; +pub const SDLK_AC_BOOKMARKS: _bindgen_ty_6 = _bindgen_ty_6::SDLK_AC_BOOKMARKS; +pub const SDLK_BRIGHTNESSDOWN: _bindgen_ty_6 = _bindgen_ty_6::SDLK_BRIGHTNESSDOWN; +pub const SDLK_BRIGHTNESSUP: _bindgen_ty_6 = _bindgen_ty_6::SDLK_BRIGHTNESSUP; +pub const SDLK_DISPLAYSWITCH: _bindgen_ty_6 = _bindgen_ty_6::SDLK_DISPLAYSWITCH; +pub const SDLK_KBDILLUMTOGGLE: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KBDILLUMTOGGLE; +pub const SDLK_KBDILLUMDOWN: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KBDILLUMDOWN; +pub const SDLK_KBDILLUMUP: _bindgen_ty_6 = _bindgen_ty_6::SDLK_KBDILLUMUP; +pub const SDLK_EJECT: _bindgen_ty_6 = _bindgen_ty_6::SDLK_EJECT; +pub const SDLK_SLEEP: _bindgen_ty_6 = _bindgen_ty_6::SDLK_SLEEP; +pub const SDLK_APP1: _bindgen_ty_6 = _bindgen_ty_6::SDLK_APP1; +pub const SDLK_APP2: _bindgen_ty_6 = _bindgen_ty_6::SDLK_APP2; +pub const SDLK_AUDIOREWIND: _bindgen_ty_6 = _bindgen_ty_6::SDLK_AUDIOREWIND; +pub const SDLK_AUDIOFASTFORWARD: _bindgen_ty_6 = _bindgen_ty_6::SDLK_AUDIOFASTFORWARD; #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] -pub enum _bindgen_ty_7 { +pub enum _bindgen_ty_6 { SDLK_UNKNOWN = 0, SDLK_RETURN = 13, SDLK_ESCAPE = 27, @@ -8872,7 +9294,7 @@ pub enum _bindgen_ty_7 { SDLK_AUDIOFASTFORWARD = 1073742110, } #[repr(u32)] -/// \brief Enumeration of valid key mods (possibly OR'd together). +#[doc = " \\brief Enumeration of valid key mods (possibly OR'd together)."] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum SDL_Keymod { KMOD_NONE = 0, @@ -8889,17 +9311,17 @@ pub enum SDL_Keymod { KMOD_MODE = 16384, KMOD_RESERVED = 32768, } -/// \brief The SDL keysym structure, used in key events. -/// -/// \note If you are looking for translated character input, see the ::SDL_TEXTINPUT event. +#[doc = " \\brief The SDL keysym structure, used in key events."] +#[doc = ""] +#[doc = " \\note If you are looking for translated character input, see the ::SDL_TEXTINPUT event."] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_Keysym { - ///< SDL physical key code - see ::SDL_Scancode for details + #[doc = "< SDL physical key code - see ::SDL_Scancode for details"] pub scancode: SDL_Scancode, - ///< SDL virtual key code - see ::SDL_Keycode for details + #[doc = "< SDL virtual key code - see ::SDL_Keycode for details"] pub sym: SDL_Keycode, - ///< current key modifiers + #[doc = "< current key modifiers"] pub mod_: Uint16, pub unused: Uint32, } @@ -8957,139 +9379,139 @@ fn bindgen_test_layout_SDL_Keysym() { ); } extern "C" { - /// \brief Get the window which currently has keyboard focus. + #[doc = " \\brief Get the window which currently has keyboard focus."] pub fn SDL_GetKeyboardFocus() -> *mut SDL_Window; } extern "C" { - /// \brief Get a snapshot of the current state of the keyboard. - /// - /// \param numkeys if non-NULL, receives the length of the returned array. - /// - /// \return An array of key states. Indexes into this array are obtained by using ::SDL_Scancode values. - /// - /// \b Example: - /// \code - /// const Uint8 *state = SDL_GetKeyboardState(NULL); - /// if ( state[SDL_SCANCODE_RETURN] ) { - /// printf(" is pressed.\n"); - /// } - /// \endcode + #[doc = " \\brief Get a snapshot of the current state of the keyboard."] + #[doc = ""] + #[doc = " \\param numkeys if non-NULL, receives the length of the returned array."] + #[doc = ""] + #[doc = " \\return An array of key states. Indexes into this array are obtained by using ::SDL_Scancode values."] + #[doc = ""] + #[doc = " \\b Example:"] + #[doc = " \\code"] + #[doc = " const Uint8 *state = SDL_GetKeyboardState(NULL);"] + #[doc = " if ( state[SDL_SCANCODE_RETURN] ) {"] + #[doc = " printf(\" is pressed.\\n\");"] + #[doc = " }"] + #[doc = " \\endcode"] pub fn SDL_GetKeyboardState(numkeys: *mut libc::c_int) -> *const Uint8; } extern "C" { - /// \brief Get the current key modifier state for the keyboard. + #[doc = " \\brief Get the current key modifier state for the keyboard."] pub fn SDL_GetModState() -> SDL_Keymod; } extern "C" { - /// \brief Set the current key modifier state for the keyboard. - /// - /// \note This does not change the keyboard state, only the key modifier flags. + #[doc = " \\brief Set the current key modifier state for the keyboard."] + #[doc = ""] + #[doc = " \\note This does not change the keyboard state, only the key modifier flags."] pub fn SDL_SetModState(modstate: SDL_Keymod); } extern "C" { - /// \brief Get the key code corresponding to the given scancode according - /// to the current keyboard layout. - /// - /// See ::SDL_Keycode for details. - /// - /// \sa SDL_GetKeyName() + #[doc = " \\brief Get the key code corresponding to the given scancode according"] + #[doc = " to the current keyboard layout."] + #[doc = ""] + #[doc = " See ::SDL_Keycode for details."] + #[doc = ""] + #[doc = " \\sa SDL_GetKeyName()"] pub fn SDL_GetKeyFromScancode(scancode: SDL_Scancode) -> SDL_Keycode; } extern "C" { - /// \brief Get the scancode corresponding to the given key code according to the - /// current keyboard layout. - /// - /// See ::SDL_Scancode for details. - /// - /// \sa SDL_GetScancodeName() + #[doc = " \\brief Get the scancode corresponding to the given key code according to the"] + #[doc = " current keyboard layout."] + #[doc = ""] + #[doc = " See ::SDL_Scancode for details."] + #[doc = ""] + #[doc = " \\sa SDL_GetScancodeName()"] pub fn SDL_GetScancodeFromKey(key: SDL_Keycode) -> SDL_Scancode; } extern "C" { - /// \brief Get a human-readable name for a scancode. - /// - /// \return A pointer to the name for the scancode. - /// If the scancode doesn't have a name, this function returns - /// an empty string (""). - /// - /// \sa SDL_Scancode + #[doc = " \\brief Get a human-readable name for a scancode."] + #[doc = ""] + #[doc = " \\return A pointer to the name for the scancode."] + #[doc = " If the scancode doesn't have a name, this function returns"] + #[doc = " an empty string (\"\")."] + #[doc = ""] + #[doc = " \\sa SDL_Scancode"] pub fn SDL_GetScancodeName(scancode: SDL_Scancode) -> *const libc::c_char; } extern "C" { - /// \brief Get a scancode from a human-readable name - /// - /// \return scancode, or SDL_SCANCODE_UNKNOWN if the name wasn't recognized - /// - /// \sa SDL_Scancode + #[doc = " \\brief Get a scancode from a human-readable name"] + #[doc = ""] + #[doc = " \\return scancode, or SDL_SCANCODE_UNKNOWN if the name wasn't recognized"] + #[doc = ""] + #[doc = " \\sa SDL_Scancode"] pub fn SDL_GetScancodeFromName(name: *const libc::c_char) -> SDL_Scancode; } extern "C" { - /// \brief Get a human-readable name for a key. - /// - /// \return A pointer to a UTF-8 string that stays valid at least until the next - /// call to this function. If you need it around any longer, you must - /// copy it. If the key doesn't have a name, this function returns an - /// empty string (""). - /// - /// \sa SDL_Keycode + #[doc = " \\brief Get a human-readable name for a key."] + #[doc = ""] + #[doc = " \\return A pointer to a UTF-8 string that stays valid at least until the next"] + #[doc = " call to this function. If you need it around any longer, you must"] + #[doc = " copy it. If the key doesn't have a name, this function returns an"] + #[doc = " empty string (\"\")."] + #[doc = ""] + #[doc = " \\sa SDL_Keycode"] pub fn SDL_GetKeyName(key: SDL_Keycode) -> *const libc::c_char; } extern "C" { - /// \brief Get a key code from a human-readable name - /// - /// \return key code, or SDLK_UNKNOWN if the name wasn't recognized - /// - /// \sa SDL_Keycode + #[doc = " \\brief Get a key code from a human-readable name"] + #[doc = ""] + #[doc = " \\return key code, or SDLK_UNKNOWN if the name wasn't recognized"] + #[doc = ""] + #[doc = " \\sa SDL_Keycode"] pub fn SDL_GetKeyFromName(name: *const libc::c_char) -> SDL_Keycode; } extern "C" { - /// \brief Start accepting Unicode text input events. - /// This function will show the on-screen keyboard if supported. - /// - /// \sa SDL_StopTextInput() - /// \sa SDL_SetTextInputRect() - /// \sa SDL_HasScreenKeyboardSupport() + #[doc = " \\brief Start accepting Unicode text input events."] + #[doc = " This function will show the on-screen keyboard if supported."] + #[doc = ""] + #[doc = " \\sa SDL_StopTextInput()"] + #[doc = " \\sa SDL_SetTextInputRect()"] + #[doc = " \\sa SDL_HasScreenKeyboardSupport()"] pub fn SDL_StartTextInput(); } extern "C" { - /// \brief Return whether or not Unicode text input events are enabled. - /// - /// \sa SDL_StartTextInput() - /// \sa SDL_StopTextInput() + #[doc = " \\brief Return whether or not Unicode text input events are enabled."] + #[doc = ""] + #[doc = " \\sa SDL_StartTextInput()"] + #[doc = " \\sa SDL_StopTextInput()"] pub fn SDL_IsTextInputActive() -> SDL_bool; } extern "C" { - /// \brief Stop receiving any text input events. - /// This function will hide the on-screen keyboard if supported. - /// - /// \sa SDL_StartTextInput() - /// \sa SDL_HasScreenKeyboardSupport() + #[doc = " \\brief Stop receiving any text input events."] + #[doc = " This function will hide the on-screen keyboard if supported."] + #[doc = ""] + #[doc = " \\sa SDL_StartTextInput()"] + #[doc = " \\sa SDL_HasScreenKeyboardSupport()"] pub fn SDL_StopTextInput(); } extern "C" { - /// \brief Set the rectangle used to type Unicode text inputs. - /// This is used as a hint for IME and on-screen keyboard placement. - /// - /// \sa SDL_StartTextInput() + #[doc = " \\brief Set the rectangle used to type Unicode text inputs."] + #[doc = " This is used as a hint for IME and on-screen keyboard placement."] + #[doc = ""] + #[doc = " \\sa SDL_StartTextInput()"] pub fn SDL_SetTextInputRect(rect: *mut SDL_Rect); } extern "C" { - /// \brief Returns whether the platform has some screen keyboard support. - /// - /// \return SDL_TRUE if some keyboard support is available else SDL_FALSE. - /// - /// \note Not all screen keyboard functions are supported on all platforms. - /// - /// \sa SDL_IsScreenKeyboardShown() + #[doc = " \\brief Returns whether the platform has some screen keyboard support."] + #[doc = ""] + #[doc = " \\return SDL_TRUE if some keyboard support is available else SDL_FALSE."] + #[doc = ""] + #[doc = " \\note Not all screen keyboard functions are supported on all platforms."] + #[doc = ""] + #[doc = " \\sa SDL_IsScreenKeyboardShown()"] pub fn SDL_HasScreenKeyboardSupport() -> SDL_bool; } extern "C" { - /// \brief Returns whether the screen keyboard is shown for given window. - /// - /// \param window The window for which screen keyboard should be queried. - /// - /// \return SDL_TRUE if screen keyboard is shown else SDL_FALSE. - /// - /// \sa SDL_HasScreenKeyboardSupport() + #[doc = " \\brief Returns whether the screen keyboard is shown for given window."] + #[doc = ""] + #[doc = " \\param window The window for which screen keyboard should be queried."] + #[doc = ""] + #[doc = " \\return SDL_TRUE if screen keyboard is shown else SDL_FALSE."] + #[doc = ""] + #[doc = " \\sa SDL_HasScreenKeyboardSupport()"] pub fn SDL_IsScreenKeyboardShown(window: *mut SDL_Window) -> SDL_bool; } #[repr(C)] @@ -9098,179 +9520,179 @@ pub struct SDL_Cursor { _unused: [u8; 0], } #[repr(u32)] -/// \brief Cursor types for SDL_CreateSystemCursor(). +#[doc = " \\brief Cursor types for SDL_CreateSystemCursor()."] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum SDL_SystemCursor { - ///< Arrow + #[doc = "< Arrow"] SDL_SYSTEM_CURSOR_ARROW = 0, - ///< I-beam + #[doc = "< I-beam"] SDL_SYSTEM_CURSOR_IBEAM = 1, - ///< Wait + #[doc = "< Wait"] SDL_SYSTEM_CURSOR_WAIT = 2, - ///< Crosshair + #[doc = "< Crosshair"] SDL_SYSTEM_CURSOR_CROSSHAIR = 3, - ///< Small wait cursor (or Wait if not available) + #[doc = "< Small wait cursor (or Wait if not available)"] SDL_SYSTEM_CURSOR_WAITARROW = 4, - ///< Double arrow pointing northwest and southeast + #[doc = "< Double arrow pointing northwest and southeast"] SDL_SYSTEM_CURSOR_SIZENWSE = 5, - ///< Double arrow pointing northeast and southwest + #[doc = "< Double arrow pointing northeast and southwest"] SDL_SYSTEM_CURSOR_SIZENESW = 6, - ///< Double arrow pointing west and east + #[doc = "< Double arrow pointing west and east"] SDL_SYSTEM_CURSOR_SIZEWE = 7, - ///< Double arrow pointing north and south + #[doc = "< Double arrow pointing north and south"] SDL_SYSTEM_CURSOR_SIZENS = 8, - ///< Four pointed arrow pointing north, south, east, and west + #[doc = "< Four pointed arrow pointing north, south, east, and west"] SDL_SYSTEM_CURSOR_SIZEALL = 9, - ///< Slashed circle or crossbones + #[doc = "< Slashed circle or crossbones"] SDL_SYSTEM_CURSOR_NO = 10, - ///< Hand + #[doc = "< Hand"] SDL_SYSTEM_CURSOR_HAND = 11, SDL_NUM_SYSTEM_CURSORS = 12, } #[repr(u32)] -/// \brief Scroll direction types for the Scroll event +#[doc = " \\brief Scroll direction types for the Scroll event"] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum SDL_MouseWheelDirection { - ///< The scroll direction is normal + #[doc = "< The scroll direction is normal"] SDL_MOUSEWHEEL_NORMAL = 0, - ///< The scroll direction is flipped / natural + #[doc = "< The scroll direction is flipped / natural"] SDL_MOUSEWHEEL_FLIPPED = 1, } extern "C" { - /// \brief Get the window which currently has mouse focus. + #[doc = " \\brief Get the window which currently has mouse focus."] pub fn SDL_GetMouseFocus() -> *mut SDL_Window; } extern "C" { - /// \brief Retrieve the current state of the mouse. - /// - /// The current button state is returned as a button bitmask, which can - /// be tested using the SDL_BUTTON(X) macros, and x and y are set to the - /// mouse cursor position relative to the focus window for the currently - /// selected mouse. You can pass NULL for either x or y. + #[doc = " \\brief Retrieve the current state of the mouse."] + #[doc = ""] + #[doc = " The current button state is returned as a button bitmask, which can"] + #[doc = " be tested using the SDL_BUTTON(X) macros, and x and y are set to the"] + #[doc = " mouse cursor position relative to the focus window for the currently"] + #[doc = " selected mouse. You can pass NULL for either x or y."] pub fn SDL_GetMouseState(x: *mut libc::c_int, y: *mut libc::c_int) -> Uint32; } extern "C" { - /// \brief Get the current state of the mouse, in relation to the desktop - /// - /// This works just like SDL_GetMouseState(), but the coordinates will be - /// reported relative to the top-left of the desktop. This can be useful if - /// you need to track the mouse outside of a specific window and - /// SDL_CaptureMouse() doesn't fit your needs. For example, it could be - /// useful if you need to track the mouse while dragging a window, where - /// coordinates relative to a window might not be in sync at all times. - /// - /// \note SDL_GetMouseState() returns the mouse position as SDL understands - /// it from the last pump of the event queue. This function, however, - /// queries the OS for the current mouse position, and as such, might - /// be a slightly less efficient function. Unless you know what you're - /// doing and have a good reason to use this function, you probably want - /// SDL_GetMouseState() instead. - /// - /// \param x Returns the current X coord, relative to the desktop. Can be NULL. - /// \param y Returns the current Y coord, relative to the desktop. Can be NULL. - /// \return The current button state as a bitmask, which can be tested using the SDL_BUTTON(X) macros. - /// - /// \sa SDL_GetMouseState + #[doc = " \\brief Get the current state of the mouse, in relation to the desktop"] + #[doc = ""] + #[doc = " This works just like SDL_GetMouseState(), but the coordinates will be"] + #[doc = " reported relative to the top-left of the desktop. This can be useful if"] + #[doc = " you need to track the mouse outside of a specific window and"] + #[doc = " SDL_CaptureMouse() doesn't fit your needs. For example, it could be"] + #[doc = " useful if you need to track the mouse while dragging a window, where"] + #[doc = " coordinates relative to a window might not be in sync at all times."] + #[doc = ""] + #[doc = " \\note SDL_GetMouseState() returns the mouse position as SDL understands"] + #[doc = " it from the last pump of the event queue. This function, however,"] + #[doc = " queries the OS for the current mouse position, and as such, might"] + #[doc = " be a slightly less efficient function. Unless you know what you're"] + #[doc = " doing and have a good reason to use this function, you probably want"] + #[doc = " SDL_GetMouseState() instead."] + #[doc = ""] + #[doc = " \\param x Returns the current X coord, relative to the desktop. Can be NULL."] + #[doc = " \\param y Returns the current Y coord, relative to the desktop. Can be NULL."] + #[doc = " \\return The current button state as a bitmask, which can be tested using the SDL_BUTTON(X) macros."] + #[doc = ""] + #[doc = " \\sa SDL_GetMouseState"] pub fn SDL_GetGlobalMouseState(x: *mut libc::c_int, y: *mut libc::c_int) -> Uint32; } extern "C" { - /// \brief Retrieve the relative state of the mouse. - /// - /// The current button state is returned as a button bitmask, which can - /// be tested using the SDL_BUTTON(X) macros, and x and y are set to the - /// mouse deltas since the last call to SDL_GetRelativeMouseState(). + #[doc = " \\brief Retrieve the relative state of the mouse."] + #[doc = ""] + #[doc = " The current button state is returned as a button bitmask, which can"] + #[doc = " be tested using the SDL_BUTTON(X) macros, and x and y are set to the"] + #[doc = " mouse deltas since the last call to SDL_GetRelativeMouseState()."] pub fn SDL_GetRelativeMouseState(x: *mut libc::c_int, y: *mut libc::c_int) -> Uint32; } extern "C" { - /// \brief Moves the mouse to the given position within the window. - /// - /// \param window The window to move the mouse into, or NULL for the current mouse focus - /// \param x The x coordinate within the window - /// \param y The y coordinate within the window - /// - /// \note This function generates a mouse motion event + #[doc = " \\brief Moves the mouse to the given position within the window."] + #[doc = ""] + #[doc = " \\param window The window to move the mouse into, or NULL for the current mouse focus"] + #[doc = " \\param x The x coordinate within the window"] + #[doc = " \\param y The y coordinate within the window"] + #[doc = ""] + #[doc = " \\note This function generates a mouse motion event"] pub fn SDL_WarpMouseInWindow(window: *mut SDL_Window, x: libc::c_int, y: libc::c_int); } extern "C" { - /// \brief Moves the mouse to the given position in global screen space. - /// - /// \param x The x coordinate - /// \param y The y coordinate - /// \return 0 on success, -1 on error (usually: unsupported by a platform). - /// - /// \note This function generates a mouse motion event + #[doc = " \\brief Moves the mouse to the given position in global screen space."] + #[doc = ""] + #[doc = " \\param x The x coordinate"] + #[doc = " \\param y The y coordinate"] + #[doc = " \\return 0 on success, -1 on error (usually: unsupported by a platform)."] + #[doc = ""] + #[doc = " \\note This function generates a mouse motion event"] pub fn SDL_WarpMouseGlobal(x: libc::c_int, y: libc::c_int) -> libc::c_int; } extern "C" { - /// \brief Set relative mouse mode. - /// - /// \param enabled Whether or not to enable relative mode - /// - /// \return 0 on success, or -1 if relative mode is not supported. - /// - /// While the mouse is in relative mode, the cursor is hidden, and the - /// driver will try to report continuous motion in the current window. - /// Only relative motion events will be delivered, the mouse position - /// will not change. - /// - /// \note This function will flush any pending mouse motion. - /// - /// \sa SDL_GetRelativeMouseMode() + #[doc = " \\brief Set relative mouse mode."] + #[doc = ""] + #[doc = " \\param enabled Whether or not to enable relative mode"] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 if relative mode is not supported."] + #[doc = ""] + #[doc = " While the mouse is in relative mode, the cursor is hidden, and the"] + #[doc = " driver will try to report continuous motion in the current window."] + #[doc = " Only relative motion events will be delivered, the mouse position"] + #[doc = " will not change."] + #[doc = ""] + #[doc = " \\note This function will flush any pending mouse motion."] + #[doc = ""] + #[doc = " \\sa SDL_GetRelativeMouseMode()"] pub fn SDL_SetRelativeMouseMode(enabled: SDL_bool) -> libc::c_int; } extern "C" { - /// \brief Capture the mouse, to track input outside an SDL window. - /// - /// \param enabled Whether or not to enable capturing - /// - /// Capturing enables your app to obtain mouse events globally, instead of - /// just within your window. Not all video targets support this function. - /// When capturing is enabled, the current window will get all mouse events, - /// but unlike relative mode, no change is made to the cursor and it is - /// not restrained to your window. - /// - /// This function may also deny mouse input to other windows--both those in - /// your application and others on the system--so you should use this - /// function sparingly, and in small bursts. For example, you might want to - /// track the mouse while the user is dragging something, until the user - /// releases a mouse button. It is not recommended that you capture the mouse - /// for long periods of time, such as the entire time your app is running. - /// - /// While captured, mouse events still report coordinates relative to the - /// current (foreground) window, but those coordinates may be outside the - /// bounds of the window (including negative values). Capturing is only - /// allowed for the foreground window. If the window loses focus while - /// capturing, the capture will be disabled automatically. - /// - /// While capturing is enabled, the current window will have the - /// SDL_WINDOW_MOUSE_CAPTURE flag set. - /// - /// \return 0 on success, or -1 if not supported. + #[doc = " \\brief Capture the mouse, to track input outside an SDL window."] + #[doc = ""] + #[doc = " \\param enabled Whether or not to enable capturing"] + #[doc = ""] + #[doc = " Capturing enables your app to obtain mouse events globally, instead of"] + #[doc = " just within your window. Not all video targets support this function."] + #[doc = " When capturing is enabled, the current window will get all mouse events,"] + #[doc = " but unlike relative mode, no change is made to the cursor and it is"] + #[doc = " not restrained to your window."] + #[doc = ""] + #[doc = " This function may also deny mouse input to other windows--both those in"] + #[doc = " your application and others on the system--so you should use this"] + #[doc = " function sparingly, and in small bursts. For example, you might want to"] + #[doc = " track the mouse while the user is dragging something, until the user"] + #[doc = " releases a mouse button. It is not recommended that you capture the mouse"] + #[doc = " for long periods of time, such as the entire time your app is running."] + #[doc = ""] + #[doc = " While captured, mouse events still report coordinates relative to the"] + #[doc = " current (foreground) window, but those coordinates may be outside the"] + #[doc = " bounds of the window (including negative values). Capturing is only"] + #[doc = " allowed for the foreground window. If the window loses focus while"] + #[doc = " capturing, the capture will be disabled automatically."] + #[doc = ""] + #[doc = " While capturing is enabled, the current window will have the"] + #[doc = " SDL_WINDOW_MOUSE_CAPTURE flag set."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 if not supported."] pub fn SDL_CaptureMouse(enabled: SDL_bool) -> libc::c_int; } extern "C" { - /// \brief Query whether relative mouse mode is enabled. - /// - /// \sa SDL_SetRelativeMouseMode() + #[doc = " \\brief Query whether relative mouse mode is enabled."] + #[doc = ""] + #[doc = " \\sa SDL_SetRelativeMouseMode()"] pub fn SDL_GetRelativeMouseMode() -> SDL_bool; } extern "C" { - /// \brief Create a cursor, using the specified bitmap data and - /// mask (in MSB format). - /// - /// The cursor width must be a multiple of 8 bits. - /// - /// The cursor is created in black and white according to the following: - /// - /// - /// - /// - /// - /// - ///
data mask resulting pixel on screen
0 1 White
1 1 Black
0 0 Transparent
1 0 Inverted color if possible, black - /// if not.
- /// - /// \sa SDL_FreeCursor() + #[doc = " \\brief Create a cursor, using the specified bitmap data and"] + #[doc = " mask (in MSB format)."] + #[doc = ""] + #[doc = " The cursor width must be a multiple of 8 bits."] + #[doc = ""] + #[doc = " The cursor is created in black and white according to the following:"] + #[doc = " "] + #[doc = " "] + #[doc = " "] + #[doc = " "] + #[doc = " "] + #[doc = " "] + #[doc = "
data mask resulting pixel on screen
0 1 White
1 1 Black
0 0 Transparent
1 0 Inverted color if possible, black"] + #[doc = " if not.
"] + #[doc = ""] + #[doc = " \\sa SDL_FreeCursor()"] pub fn SDL_CreateCursor( data: *const Uint8, mask: *const Uint8, @@ -9281,9 +9703,9 @@ extern "C" { ) -> *mut SDL_Cursor; } extern "C" { - /// \brief Create a color cursor. - /// - /// \sa SDL_FreeCursor() + #[doc = " \\brief Create a color cursor."] + #[doc = ""] + #[doc = " \\sa SDL_FreeCursor()"] pub fn SDL_CreateColorCursor( surface: *mut SDL_Surface, hot_x: libc::c_int, @@ -9291,41 +9713,41 @@ extern "C" { ) -> *mut SDL_Cursor; } extern "C" { - /// \brief Create a system cursor. - /// - /// \sa SDL_FreeCursor() + #[doc = " \\brief Create a system cursor."] + #[doc = ""] + #[doc = " \\sa SDL_FreeCursor()"] pub fn SDL_CreateSystemCursor(id: SDL_SystemCursor) -> *mut SDL_Cursor; } extern "C" { - /// \brief Set the active cursor. + #[doc = " \\brief Set the active cursor."] pub fn SDL_SetCursor(cursor: *mut SDL_Cursor); } extern "C" { - /// \brief Return the active cursor. + #[doc = " \\brief Return the active cursor."] pub fn SDL_GetCursor() -> *mut SDL_Cursor; } extern "C" { - /// \brief Return the default cursor. + #[doc = " \\brief Return the default cursor."] pub fn SDL_GetDefaultCursor() -> *mut SDL_Cursor; } extern "C" { - /// \brief Frees a cursor created with SDL_CreateCursor() or similar functions. - /// - /// \sa SDL_CreateCursor() - /// \sa SDL_CreateColorCursor() - /// \sa SDL_CreateSystemCursor() + #[doc = " \\brief Frees a cursor created with SDL_CreateCursor() or similar functions."] + #[doc = ""] + #[doc = " \\sa SDL_CreateCursor()"] + #[doc = " \\sa SDL_CreateColorCursor()"] + #[doc = " \\sa SDL_CreateSystemCursor()"] pub fn SDL_FreeCursor(cursor: *mut SDL_Cursor); } extern "C" { - /// \brief Toggle whether or not the cursor is shown. - /// - /// \param toggle 1 to show the cursor, 0 to hide it, -1 to query the current - /// state. - /// - /// \return 1 if the cursor is shown, or 0 if the cursor is hidden. + #[doc = " \\brief Toggle whether or not the cursor is shown."] + #[doc = ""] + #[doc = " \\param toggle 1 to show the cursor, 0 to hide it, -1 to query the current"] + #[doc = " state."] + #[doc = ""] + #[doc = " \\return 1 if the cursor is shown, or 0 if the cursor is hidden."] pub fn SDL_ShowCursor(toggle: libc::c_int) -> libc::c_int; } -/// The joystick structure used to identify an SDL joystick +#[doc = " The joystick structure used to identify an SDL joystick"] #[repr(C)] #[derive(Copy, Clone)] pub struct _SDL_Joystick { @@ -9360,11 +9782,11 @@ fn bindgen_test_layout_SDL_JoystickGUID() { ) ); } -/// This is a unique ID for a joystick for the time it is connected to the system, -/// and is never reused for the lifetime of the application. If the joystick is -/// disconnected and reconnected, it will get a new ID. -/// -/// The ID value starts at 0 and increments from there. The value -1 is an invalid ID. +#[doc = " This is a unique ID for a joystick for the time it is connected to the system,"] +#[doc = " and is never reused for the lifetime of the application. If the joystick is"] +#[doc = " disconnected and reconnected, it will get a new ID."] +#[doc = ""] +#[doc = " The ID value starts at 0 and increments from there. The value -1 is an invalid ID."] pub type SDL_JoystickID = Sint32; #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] @@ -9392,119 +9814,119 @@ pub enum SDL_JoystickPowerLevel { SDL_JOYSTICK_POWER_MAX = 5, } extern "C" { - /// Locking for multi-threaded access to the joystick API - /// - /// If you are using the joystick API or handling events from multiple threads - /// you should use these locking functions to protect access to the joysticks. - /// - /// In particular, you are guaranteed that the joystick list won't change, so - /// the API functions that take a joystick index will be valid, and joystick - /// and game controller events will not be delivered. + #[doc = " Locking for multi-threaded access to the joystick API"] + #[doc = ""] + #[doc = " If you are using the joystick API or handling events from multiple threads"] + #[doc = " you should use these locking functions to protect access to the joysticks."] + #[doc = ""] + #[doc = " In particular, you are guaranteed that the joystick list won't change, so"] + #[doc = " the API functions that take a joystick index will be valid, and joystick"] + #[doc = " and game controller events will not be delivered."] pub fn SDL_LockJoysticks(); } extern "C" { pub fn SDL_UnlockJoysticks(); } extern "C" { - /// Count the number of joysticks attached to the system right now + #[doc = " Count the number of joysticks attached to the system right now"] pub fn SDL_NumJoysticks() -> libc::c_int; } extern "C" { - /// Get the implementation dependent name of a joystick. - /// This can be called before any joysticks are opened. - /// If no name can be found, this function returns NULL. + #[doc = " Get the implementation dependent name of a joystick."] + #[doc = " This can be called before any joysticks are opened."] + #[doc = " If no name can be found, this function returns NULL."] pub fn SDL_JoystickNameForIndex(device_index: libc::c_int) -> *const libc::c_char; } extern "C" { - /// Get the player index of a joystick, or -1 if it's not available - /// This can be called before any joysticks are opened. + #[doc = " Get the player index of a joystick, or -1 if it's not available"] + #[doc = " This can be called before any joysticks are opened."] pub fn SDL_JoystickGetDevicePlayerIndex(device_index: libc::c_int) -> libc::c_int; } extern "C" { - /// Return the GUID for the joystick at this index - /// This can be called before any joysticks are opened. + #[doc = " Return the GUID for the joystick at this index"] + #[doc = " This can be called before any joysticks are opened."] pub fn SDL_JoystickGetDeviceGUID(device_index: libc::c_int) -> SDL_JoystickGUID; } extern "C" { - /// Get the USB vendor ID of a joystick, if available. - /// This can be called before any joysticks are opened. - /// If the vendor ID isn't available this function returns 0. + #[doc = " Get the USB vendor ID of a joystick, if available."] + #[doc = " This can be called before any joysticks are opened."] + #[doc = " If the vendor ID isn't available this function returns 0."] pub fn SDL_JoystickGetDeviceVendor(device_index: libc::c_int) -> Uint16; } extern "C" { - /// Get the USB product ID of a joystick, if available. - /// This can be called before any joysticks are opened. - /// If the product ID isn't available this function returns 0. + #[doc = " Get the USB product ID of a joystick, if available."] + #[doc = " This can be called before any joysticks are opened."] + #[doc = " If the product ID isn't available this function returns 0."] pub fn SDL_JoystickGetDeviceProduct(device_index: libc::c_int) -> Uint16; } extern "C" { - /// Get the product version of a joystick, if available. - /// This can be called before any joysticks are opened. - /// If the product version isn't available this function returns 0. + #[doc = " Get the product version of a joystick, if available."] + #[doc = " This can be called before any joysticks are opened."] + #[doc = " If the product version isn't available this function returns 0."] pub fn SDL_JoystickGetDeviceProductVersion(device_index: libc::c_int) -> Uint16; } extern "C" { - /// Get the type of a joystick, if available. - /// This can be called before any joysticks are opened. + #[doc = " Get the type of a joystick, if available."] + #[doc = " This can be called before any joysticks are opened."] pub fn SDL_JoystickGetDeviceType(device_index: libc::c_int) -> SDL_JoystickType; } extern "C" { - /// Get the instance ID of a joystick. - /// This can be called before any joysticks are opened. - /// If the index is out of range, this function will return -1. + #[doc = " Get the instance ID of a joystick."] + #[doc = " This can be called before any joysticks are opened."] + #[doc = " If the index is out of range, this function will return -1."] pub fn SDL_JoystickGetDeviceInstanceID(device_index: libc::c_int) -> SDL_JoystickID; } extern "C" { - /// Open a joystick for use. - /// The index passed as an argument refers to the N'th joystick on the system. - /// This index is not the value which will identify this joystick in future - /// joystick events. The joystick's instance id (::SDL_JoystickID) will be used - /// there instead. - /// - /// \return A joystick identifier, or NULL if an error occurred. + #[doc = " Open a joystick for use."] + #[doc = " The index passed as an argument refers to the N'th joystick on the system."] + #[doc = " This index is not the value which will identify this joystick in future"] + #[doc = " joystick events. The joystick's instance id (::SDL_JoystickID) will be used"] + #[doc = " there instead."] + #[doc = ""] + #[doc = " \\return A joystick identifier, or NULL if an error occurred."] pub fn SDL_JoystickOpen(device_index: libc::c_int) -> *mut SDL_Joystick; } extern "C" { - /// Return the SDL_Joystick associated with an instance id. + #[doc = " Return the SDL_Joystick associated with an instance id."] pub fn SDL_JoystickFromInstanceID(joyid: SDL_JoystickID) -> *mut SDL_Joystick; } extern "C" { - /// Return the name for this currently opened joystick. - /// If no name can be found, this function returns NULL. + #[doc = " Return the name for this currently opened joystick."] + #[doc = " If no name can be found, this function returns NULL."] pub fn SDL_JoystickName(joystick: *mut SDL_Joystick) -> *const libc::c_char; } extern "C" { - /// Get the player index of an opened joystick, or -1 if it's not available - /// - /// For XInput controllers this returns the XInput user index. + #[doc = " Get the player index of an opened joystick, or -1 if it's not available"] + #[doc = ""] + #[doc = " For XInput controllers this returns the XInput user index."] pub fn SDL_JoystickGetPlayerIndex(joystick: *mut SDL_Joystick) -> libc::c_int; } extern "C" { - /// Return the GUID for this opened joystick + #[doc = " Return the GUID for this opened joystick"] pub fn SDL_JoystickGetGUID(joystick: *mut SDL_Joystick) -> SDL_JoystickGUID; } extern "C" { - /// Get the USB vendor ID of an opened joystick, if available. - /// If the vendor ID isn't available this function returns 0. + #[doc = " Get the USB vendor ID of an opened joystick, if available."] + #[doc = " If the vendor ID isn't available this function returns 0."] pub fn SDL_JoystickGetVendor(joystick: *mut SDL_Joystick) -> Uint16; } extern "C" { - /// Get the USB product ID of an opened joystick, if available. - /// If the product ID isn't available this function returns 0. + #[doc = " Get the USB product ID of an opened joystick, if available."] + #[doc = " If the product ID isn't available this function returns 0."] pub fn SDL_JoystickGetProduct(joystick: *mut SDL_Joystick) -> Uint16; } extern "C" { - /// Get the product version of an opened joystick, if available. - /// If the product version isn't available this function returns 0. + #[doc = " Get the product version of an opened joystick, if available."] + #[doc = " If the product version isn't available this function returns 0."] pub fn SDL_JoystickGetProductVersion(joystick: *mut SDL_Joystick) -> Uint16; } extern "C" { - /// Get the type of an opened joystick. + #[doc = " Get the type of an opened joystick."] pub fn SDL_JoystickGetType(joystick: *mut SDL_Joystick) -> SDL_JoystickType; } extern "C" { - /// Return a string representation for this guid. pszGUID must point to at least 33 bytes - /// (32 for the string plus a NULL terminator). + #[doc = " Return a string representation for this guid. pszGUID must point to at least 33 bytes"] + #[doc = " (32 for the string plus a NULL terminator)."] pub fn SDL_JoystickGetGUIDString( guid: SDL_JoystickGUID, pszGUID: *mut libc::c_char, @@ -9512,69 +9934,69 @@ extern "C" { ); } extern "C" { - /// Convert a string into a joystick guid + #[doc = " Convert a string into a joystick guid"] pub fn SDL_JoystickGetGUIDFromString(pchGUID: *const libc::c_char) -> SDL_JoystickGUID; } extern "C" { - /// Returns SDL_TRUE if the joystick has been opened and currently connected, or SDL_FALSE if it has not. + #[doc = " Returns SDL_TRUE if the joystick has been opened and currently connected, or SDL_FALSE if it has not."] pub fn SDL_JoystickGetAttached(joystick: *mut SDL_Joystick) -> SDL_bool; } extern "C" { - /// Get the instance ID of an opened joystick or -1 if the joystick is invalid. + #[doc = " Get the instance ID of an opened joystick or -1 if the joystick is invalid."] pub fn SDL_JoystickInstanceID(joystick: *mut SDL_Joystick) -> SDL_JoystickID; } extern "C" { - /// Get the number of general axis controls on a joystick. + #[doc = " Get the number of general axis controls on a joystick."] pub fn SDL_JoystickNumAxes(joystick: *mut SDL_Joystick) -> libc::c_int; } extern "C" { - /// Get the number of trackballs on a joystick. - /// - /// Joystick trackballs have only relative motion events associated - /// with them and their state cannot be polled. + #[doc = " Get the number of trackballs on a joystick."] + #[doc = ""] + #[doc = " Joystick trackballs have only relative motion events associated"] + #[doc = " with them and their state cannot be polled."] pub fn SDL_JoystickNumBalls(joystick: *mut SDL_Joystick) -> libc::c_int; } extern "C" { - /// Get the number of POV hats on a joystick. + #[doc = " Get the number of POV hats on a joystick."] pub fn SDL_JoystickNumHats(joystick: *mut SDL_Joystick) -> libc::c_int; } extern "C" { - /// Get the number of buttons on a joystick. + #[doc = " Get the number of buttons on a joystick."] pub fn SDL_JoystickNumButtons(joystick: *mut SDL_Joystick) -> libc::c_int; } extern "C" { - /// Update the current state of the open joysticks. - /// - /// This is called automatically by the event loop if any joystick - /// events are enabled. + #[doc = " Update the current state of the open joysticks."] + #[doc = ""] + #[doc = " This is called automatically by the event loop if any joystick"] + #[doc = " events are enabled."] pub fn SDL_JoystickUpdate(); } extern "C" { - /// Enable/disable joystick event polling. - /// - /// If joystick events are disabled, you must call SDL_JoystickUpdate() - /// yourself and check the state of the joystick when you want joystick - /// information. - /// - /// The state can be one of ::SDL_QUERY, ::SDL_ENABLE or ::SDL_IGNORE. + #[doc = " Enable/disable joystick event polling."] + #[doc = ""] + #[doc = " If joystick events are disabled, you must call SDL_JoystickUpdate()"] + #[doc = " yourself and check the state of the joystick when you want joystick"] + #[doc = " information."] + #[doc = ""] + #[doc = " The state can be one of ::SDL_QUERY, ::SDL_ENABLE or ::SDL_IGNORE."] pub fn SDL_JoystickEventState(state: libc::c_int) -> libc::c_int; } extern "C" { - /// Get the current state of an axis control on a joystick. - /// - /// The state is a value ranging from -32768 to 32767. - /// - /// The axis indices start at index 0. + #[doc = " Get the current state of an axis control on a joystick."] + #[doc = ""] + #[doc = " The state is a value ranging from -32768 to 32767."] + #[doc = ""] + #[doc = " The axis indices start at index 0."] pub fn SDL_JoystickGetAxis(joystick: *mut SDL_Joystick, axis: libc::c_int) -> Sint16; } extern "C" { - /// Get the initial state of an axis control on a joystick. - /// - /// The state is a value ranging from -32768 to 32767. - /// - /// The axis indices start at index 0. - /// - /// \return SDL_TRUE if this axis has any initial value, or SDL_FALSE if not. + #[doc = " Get the initial state of an axis control on a joystick."] + #[doc = ""] + #[doc = " The state is a value ranging from -32768 to 32767."] + #[doc = ""] + #[doc = " The axis indices start at index 0."] + #[doc = ""] + #[doc = " \\return SDL_TRUE if this axis has any initial value, or SDL_FALSE if not."] pub fn SDL_JoystickGetAxisInitialState( joystick: *mut SDL_Joystick, axis: libc::c_int, @@ -9582,28 +10004,28 @@ extern "C" { ) -> SDL_bool; } extern "C" { - /// Get the current state of a POV hat on a joystick. - /// - /// The hat indices start at index 0. - /// - /// \return The return value is one of the following positions: - /// - ::SDL_HAT_CENTERED - /// - ::SDL_HAT_UP - /// - ::SDL_HAT_RIGHT - /// - ::SDL_HAT_DOWN - /// - ::SDL_HAT_LEFT - /// - ::SDL_HAT_RIGHTUP - /// - ::SDL_HAT_RIGHTDOWN - /// - ::SDL_HAT_LEFTUP - /// - ::SDL_HAT_LEFTDOWN + #[doc = " Get the current state of a POV hat on a joystick."] + #[doc = ""] + #[doc = " The hat indices start at index 0."] + #[doc = ""] + #[doc = " \\return The return value is one of the following positions:"] + #[doc = " - ::SDL_HAT_CENTERED"] + #[doc = " - ::SDL_HAT_UP"] + #[doc = " - ::SDL_HAT_RIGHT"] + #[doc = " - ::SDL_HAT_DOWN"] + #[doc = " - ::SDL_HAT_LEFT"] + #[doc = " - ::SDL_HAT_RIGHTUP"] + #[doc = " - ::SDL_HAT_RIGHTDOWN"] + #[doc = " - ::SDL_HAT_LEFTUP"] + #[doc = " - ::SDL_HAT_LEFTDOWN"] pub fn SDL_JoystickGetHat(joystick: *mut SDL_Joystick, hat: libc::c_int) -> Uint8; } extern "C" { - /// Get the ball axis change since the last poll. - /// - /// \return 0, or -1 if you passed it invalid parameters. - /// - /// The ball indices start at index 0. + #[doc = " Get the ball axis change since the last poll."] + #[doc = ""] + #[doc = " \\return 0, or -1 if you passed it invalid parameters."] + #[doc = ""] + #[doc = " The ball indices start at index 0."] pub fn SDL_JoystickGetBall( joystick: *mut SDL_Joystick, ball: libc::c_int, @@ -9612,21 +10034,21 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// Get the current state of a button on a joystick. - /// - /// The button indices start at index 0. + #[doc = " Get the current state of a button on a joystick."] + #[doc = ""] + #[doc = " The button indices start at index 0."] pub fn SDL_JoystickGetButton(joystick: *mut SDL_Joystick, button: libc::c_int) -> Uint8; } extern "C" { - /// Trigger a rumble effect - /// Each call to this function cancels any previous rumble effect, and calling it with 0 intensity stops any rumbling. - /// - /// \param joystick The joystick to vibrate - /// \param low_frequency_rumble The intensity of the low frequency (left) rumble motor, from 0 to 0xFFFF - /// \param high_frequency_rumble The intensity of the high frequency (right) rumble motor, from 0 to 0xFFFF - /// \param duration_ms The duration of the rumble effect, in milliseconds - /// - /// \return 0, or -1 if rumble isn't supported on this joystick + #[doc = " Trigger a rumble effect"] + #[doc = " Each call to this function cancels any previous rumble effect, and calling it with 0 intensity stops any rumbling."] + #[doc = ""] + #[doc = " \\param joystick The joystick to vibrate"] + #[doc = " \\param low_frequency_rumble The intensity of the low frequency (left) rumble motor, from 0 to 0xFFFF"] + #[doc = " \\param high_frequency_rumble The intensity of the high frequency (right) rumble motor, from 0 to 0xFFFF"] + #[doc = " \\param duration_ms The duration of the rumble effect, in milliseconds"] + #[doc = ""] + #[doc = " \\return 0, or -1 if rumble isn't supported on this joystick"] pub fn SDL_JoystickRumble( joystick: *mut SDL_Joystick, low_frequency_rumble: Uint16, @@ -9635,14 +10057,14 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// Close a joystick previously opened with SDL_JoystickOpen(). + #[doc = " Close a joystick previously opened with SDL_JoystickOpen()."] pub fn SDL_JoystickClose(joystick: *mut SDL_Joystick); } extern "C" { - /// Return the battery level of this joystick + #[doc = " Return the battery level of this joystick"] pub fn SDL_JoystickCurrentPowerLevel(joystick: *mut SDL_Joystick) -> SDL_JoystickPowerLevel; } -/// The gamecontroller structure used to identify an SDL game controller +#[doc = " The gamecontroller structure used to identify an SDL game controller"] #[repr(C)] #[derive(Copy, Clone)] pub struct _SDL_GameController { @@ -9657,7 +10079,7 @@ pub enum SDL_GameControllerBindType { SDL_CONTROLLER_BINDTYPE_AXIS = 2, SDL_CONTROLLER_BINDTYPE_HAT = 3, } -/// Get the SDL joystick layer binding for this controller button/axis mapping +#[doc = " Get the SDL joystick layer binding for this controller button/axis mapping"] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_GameControllerButtonBind { @@ -9819,142 +10241,142 @@ fn bindgen_test_layout_SDL_GameControllerButtonBind() { ); } extern "C" { - /// Load a set of mappings from a seekable SDL data stream (memory or file), filtered by the current SDL_GetPlatform() - /// A community sourced database of controllers is available at https://raw.github.com/gabomdq/SDL_GameControllerDB/master/gamecontrollerdb.txt - /// - /// If \c freerw is non-zero, the stream will be closed after being read. - /// - /// \return number of mappings added, -1 on error + #[doc = " Load a set of mappings from a seekable SDL data stream (memory or file), filtered by the current SDL_GetPlatform()"] + #[doc = " A community sourced database of controllers is available at https://raw.github.com/gabomdq/SDL_GameControllerDB/master/gamecontrollerdb.txt"] + #[doc = ""] + #[doc = " If \\c freerw is non-zero, the stream will be closed after being read."] + #[doc = ""] + #[doc = " \\return number of mappings added, -1 on error"] pub fn SDL_GameControllerAddMappingsFromRW( rw: *mut SDL_RWops, freerw: libc::c_int, ) -> libc::c_int; } extern "C" { - /// Add or update an existing mapping configuration - /// - /// \return 1 if mapping is added, 0 if updated, -1 on error + #[doc = " Add or update an existing mapping configuration"] + #[doc = ""] + #[doc = " \\return 1 if mapping is added, 0 if updated, -1 on error"] pub fn SDL_GameControllerAddMapping(mappingString: *const libc::c_char) -> libc::c_int; } extern "C" { - /// Get the number of mappings installed - /// - /// \return the number of mappings + #[doc = " Get the number of mappings installed"] + #[doc = ""] + #[doc = " \\return the number of mappings"] pub fn SDL_GameControllerNumMappings() -> libc::c_int; } extern "C" { - /// Get the mapping at a particular index. - /// - /// \return the mapping string. Must be freed with SDL_free(). Returns NULL if the index is out of range. + #[doc = " Get the mapping at a particular index."] + #[doc = ""] + #[doc = " \\return the mapping string. Must be freed with SDL_free(). Returns NULL if the index is out of range."] pub fn SDL_GameControllerMappingForIndex(mapping_index: libc::c_int) -> *mut libc::c_char; } extern "C" { - /// Get a mapping string for a GUID - /// - /// \return the mapping string. Must be freed with SDL_free(). Returns NULL if no mapping is available + #[doc = " Get a mapping string for a GUID"] + #[doc = ""] + #[doc = " \\return the mapping string. Must be freed with SDL_free(). Returns NULL if no mapping is available"] pub fn SDL_GameControllerMappingForGUID(guid: SDL_JoystickGUID) -> *mut libc::c_char; } extern "C" { - /// Get a mapping string for an open GameController - /// - /// \return the mapping string. Must be freed with SDL_free(). Returns NULL if no mapping is available + #[doc = " Get a mapping string for an open GameController"] + #[doc = ""] + #[doc = " \\return the mapping string. Must be freed with SDL_free(). Returns NULL if no mapping is available"] pub fn SDL_GameControllerMapping(gamecontroller: *mut SDL_GameController) -> *mut libc::c_char; } extern "C" { - /// Is the joystick on this index supported by the game controller interface? + #[doc = " Is the joystick on this index supported by the game controller interface?"] pub fn SDL_IsGameController(joystick_index: libc::c_int) -> SDL_bool; } extern "C" { - /// Get the implementation dependent name of a game controller. - /// This can be called before any controllers are opened. - /// If no name can be found, this function returns NULL. + #[doc = " Get the implementation dependent name of a game controller."] + #[doc = " This can be called before any controllers are opened."] + #[doc = " If no name can be found, this function returns NULL."] pub fn SDL_GameControllerNameForIndex(joystick_index: libc::c_int) -> *const libc::c_char; } extern "C" { - /// Get the mapping of a game controller. - /// This can be called before any controllers are opened. - /// - /// \return the mapping string. Must be freed with SDL_free(). Returns NULL if no mapping is available + #[doc = " Get the mapping of a game controller."] + #[doc = " This can be called before any controllers are opened."] + #[doc = ""] + #[doc = " \\return the mapping string. Must be freed with SDL_free(). Returns NULL if no mapping is available"] pub fn SDL_GameControllerMappingForDeviceIndex( joystick_index: libc::c_int, ) -> *mut libc::c_char; } extern "C" { - /// Open a game controller for use. - /// The index passed as an argument refers to the N'th game controller on the system. - /// This index is not the value which will identify this controller in future - /// controller events. The joystick's instance id (::SDL_JoystickID) will be - /// used there instead. - /// - /// \return A controller identifier, or NULL if an error occurred. + #[doc = " Open a game controller for use."] + #[doc = " The index passed as an argument refers to the N'th game controller on the system."] + #[doc = " This index is not the value which will identify this controller in future"] + #[doc = " controller events. The joystick's instance id (::SDL_JoystickID) will be"] + #[doc = " used there instead."] + #[doc = ""] + #[doc = " \\return A controller identifier, or NULL if an error occurred."] pub fn SDL_GameControllerOpen(joystick_index: libc::c_int) -> *mut SDL_GameController; } extern "C" { - /// Return the SDL_GameController associated with an instance id. + #[doc = " Return the SDL_GameController associated with an instance id."] pub fn SDL_GameControllerFromInstanceID(joyid: SDL_JoystickID) -> *mut SDL_GameController; } extern "C" { - /// Return the name for this currently opened controller + #[doc = " Return the name for this currently opened controller"] pub fn SDL_GameControllerName(gamecontroller: *mut SDL_GameController) -> *const libc::c_char; } extern "C" { - /// Get the player index of an opened game controller, or -1 if it's not available - /// - /// For XInput controllers this returns the XInput user index. + #[doc = " Get the player index of an opened game controller, or -1 if it's not available"] + #[doc = ""] + #[doc = " For XInput controllers this returns the XInput user index."] pub fn SDL_GameControllerGetPlayerIndex(gamecontroller: *mut SDL_GameController) -> libc::c_int; } extern "C" { - /// Get the USB vendor ID of an opened controller, if available. - /// If the vendor ID isn't available this function returns 0. + #[doc = " Get the USB vendor ID of an opened controller, if available."] + #[doc = " If the vendor ID isn't available this function returns 0."] pub fn SDL_GameControllerGetVendor(gamecontroller: *mut SDL_GameController) -> Uint16; } extern "C" { - /// Get the USB product ID of an opened controller, if available. - /// If the product ID isn't available this function returns 0. + #[doc = " Get the USB product ID of an opened controller, if available."] + #[doc = " If the product ID isn't available this function returns 0."] pub fn SDL_GameControllerGetProduct(gamecontroller: *mut SDL_GameController) -> Uint16; } extern "C" { - /// Get the product version of an opened controller, if available. - /// If the product version isn't available this function returns 0. + #[doc = " Get the product version of an opened controller, if available."] + #[doc = " If the product version isn't available this function returns 0."] pub fn SDL_GameControllerGetProductVersion(gamecontroller: *mut SDL_GameController) -> Uint16; } extern "C" { - /// Returns SDL_TRUE if the controller has been opened and currently connected, - /// or SDL_FALSE if it has not. + #[doc = " Returns SDL_TRUE if the controller has been opened and currently connected,"] + #[doc = " or SDL_FALSE if it has not."] pub fn SDL_GameControllerGetAttached(gamecontroller: *mut SDL_GameController) -> SDL_bool; } extern "C" { - /// Get the underlying joystick object used by a controller + #[doc = " Get the underlying joystick object used by a controller"] pub fn SDL_GameControllerGetJoystick( gamecontroller: *mut SDL_GameController, ) -> *mut SDL_Joystick; } extern "C" { - /// Enable/disable controller event polling. - /// - /// If controller events are disabled, you must call SDL_GameControllerUpdate() - /// yourself and check the state of the controller when you want controller - /// information. - /// - /// The state can be one of ::SDL_QUERY, ::SDL_ENABLE or ::SDL_IGNORE. + #[doc = " Enable/disable controller event polling."] + #[doc = ""] + #[doc = " If controller events are disabled, you must call SDL_GameControllerUpdate()"] + #[doc = " yourself and check the state of the controller when you want controller"] + #[doc = " information."] + #[doc = ""] + #[doc = " The state can be one of ::SDL_QUERY, ::SDL_ENABLE or ::SDL_IGNORE."] pub fn SDL_GameControllerEventState(state: libc::c_int) -> libc::c_int; } extern "C" { - /// Update the current state of the open game controllers. - /// - /// This is called automatically by the event loop if any game controller - /// events are enabled. + #[doc = " Update the current state of the open game controllers."] + #[doc = ""] + #[doc = " This is called automatically by the event loop if any game controller"] + #[doc = " events are enabled."] pub fn SDL_GameControllerUpdate(); } #[repr(i32)] -/// The list of axes available from a controller -/// -/// Thumbstick axis values range from SDL_JOYSTICK_AXIS_MIN to SDL_JOYSTICK_AXIS_MAX, -/// and are centered within ~8000 of zero, though advanced UI will allow users to set -/// or autodetect the dead zone, which varies between controllers. -/// -/// Trigger axis values range from 0 to SDL_JOYSTICK_AXIS_MAX. +#[doc = " The list of axes available from a controller"] +#[doc = ""] +#[doc = " Thumbstick axis values range from SDL_JOYSTICK_AXIS_MIN to SDL_JOYSTICK_AXIS_MAX,"] +#[doc = " and are centered within ~8000 of zero, though advanced UI will allow users to set"] +#[doc = " or autodetect the dead zone, which varies between controllers."] +#[doc = ""] +#[doc = " Trigger axis values range from 0 to SDL_JOYSTICK_AXIS_MAX."] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum SDL_GameControllerAxis { SDL_CONTROLLER_AXIS_INVALID = -1, @@ -9967,36 +10389,36 @@ pub enum SDL_GameControllerAxis { SDL_CONTROLLER_AXIS_MAX = 6, } extern "C" { - /// turn this string into a axis mapping + #[doc = " turn this string into a axis mapping"] pub fn SDL_GameControllerGetAxisFromString( pchString: *const libc::c_char, ) -> SDL_GameControllerAxis; } extern "C" { - /// turn this axis enum into a string mapping + #[doc = " turn this axis enum into a string mapping"] pub fn SDL_GameControllerGetStringForAxis(axis: SDL_GameControllerAxis) -> *const libc::c_char; } extern "C" { - /// Get the SDL joystick layer binding for this controller button mapping + #[doc = " Get the SDL joystick layer binding for this controller button mapping"] pub fn SDL_GameControllerGetBindForAxis( gamecontroller: *mut SDL_GameController, axis: SDL_GameControllerAxis, ) -> SDL_GameControllerButtonBind; } extern "C" { - /// Get the current state of an axis control on a game controller. - /// - /// The state is a value ranging from -32768 to 32767 (except for the triggers, - /// which range from 0 to 32767). - /// - /// The axis indices start at index 0. + #[doc = " Get the current state of an axis control on a game controller."] + #[doc = ""] + #[doc = " The state is a value ranging from -32768 to 32767 (except for the triggers,"] + #[doc = " which range from 0 to 32767)."] + #[doc = ""] + #[doc = " The axis indices start at index 0."] pub fn SDL_GameControllerGetAxis( gamecontroller: *mut SDL_GameController, axis: SDL_GameControllerAxis, ) -> Sint16; } #[repr(i32)] -/// The list of buttons available from a controller +#[doc = " The list of buttons available from a controller"] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum SDL_GameControllerButton { SDL_CONTROLLER_BUTTON_INVALID = -1, @@ -10018,43 +10440,43 @@ pub enum SDL_GameControllerButton { SDL_CONTROLLER_BUTTON_MAX = 15, } extern "C" { - /// turn this string into a button mapping + #[doc = " turn this string into a button mapping"] pub fn SDL_GameControllerGetButtonFromString( pchString: *const libc::c_char, ) -> SDL_GameControllerButton; } extern "C" { - /// turn this button enum into a string mapping + #[doc = " turn this button enum into a string mapping"] pub fn SDL_GameControllerGetStringForButton( button: SDL_GameControllerButton, ) -> *const libc::c_char; } extern "C" { - /// Get the SDL joystick layer binding for this controller button mapping + #[doc = " Get the SDL joystick layer binding for this controller button mapping"] pub fn SDL_GameControllerGetBindForButton( gamecontroller: *mut SDL_GameController, button: SDL_GameControllerButton, ) -> SDL_GameControllerButtonBind; } extern "C" { - /// Get the current state of a button on a game controller. - /// - /// The button indices start at index 0. + #[doc = " Get the current state of a button on a game controller."] + #[doc = ""] + #[doc = " The button indices start at index 0."] pub fn SDL_GameControllerGetButton( gamecontroller: *mut SDL_GameController, button: SDL_GameControllerButton, ) -> Uint8; } extern "C" { - /// Trigger a rumble effect - /// Each call to this function cancels any previous rumble effect, and calling it with 0 intensity stops any rumbling. - /// - /// \param gamecontroller The controller to vibrate - /// \param low_frequency_rumble The intensity of the low frequency (left) rumble motor, from 0 to 0xFFFF - /// \param high_frequency_rumble The intensity of the high frequency (right) rumble motor, from 0 to 0xFFFF - /// \param duration_ms The duration of the rumble effect, in milliseconds - /// - /// \return 0, or -1 if rumble isn't supported on this joystick + #[doc = " Trigger a rumble effect"] + #[doc = " Each call to this function cancels any previous rumble effect, and calling it with 0 intensity stops any rumbling."] + #[doc = ""] + #[doc = " \\param gamecontroller The controller to vibrate"] + #[doc = " \\param low_frequency_rumble The intensity of the low frequency (left) rumble motor, from 0 to 0xFFFF"] + #[doc = " \\param high_frequency_rumble The intensity of the high frequency (right) rumble motor, from 0 to 0xFFFF"] + #[doc = " \\param duration_ms The duration of the rumble effect, in milliseconds"] + #[doc = ""] + #[doc = " \\return 0, or -1 if rumble isn't supported on this joystick"] pub fn SDL_GameControllerRumble( gamecontroller: *mut SDL_GameController, low_frequency_rumble: Uint16, @@ -10063,11 +10485,19 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// Close a controller previously opened with SDL_GameControllerOpen(). + #[doc = " Close a controller previously opened with SDL_GameControllerOpen()."] pub fn SDL_GameControllerClose(gamecontroller: *mut SDL_GameController); } pub type SDL_TouchID = Sint64; pub type SDL_FingerID = Sint64; +#[repr(i32)] +#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] +pub enum SDL_TouchDeviceType { + SDL_TOUCH_DEVICE_INVALID = -1, + SDL_TOUCH_DEVICE_DIRECT = 0, + SDL_TOUCH_DEVICE_INDIRECT_ABSOLUTE = 1, + SDL_TOUCH_DEVICE_INDIRECT_RELATIVE = 2, +} #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_Finger { @@ -10130,128 +10560,132 @@ fn bindgen_test_layout_SDL_Finger() { ); } extern "C" { - /// \brief Get the number of registered touch devices. + #[doc = " \\brief Get the number of registered touch devices."] pub fn SDL_GetNumTouchDevices() -> libc::c_int; } extern "C" { - /// \brief Get the touch ID with the given index, or 0 if the index is invalid. + #[doc = " \\brief Get the touch ID with the given index, or 0 if the index is invalid."] pub fn SDL_GetTouchDevice(index: libc::c_int) -> SDL_TouchID; } extern "C" { - /// \brief Get the number of active fingers for a given touch device. + #[doc = " \\brief Get the type of the given touch device."] + pub fn SDL_GetTouchDeviceType(touchID: SDL_TouchID) -> SDL_TouchDeviceType; +} +extern "C" { + #[doc = " \\brief Get the number of active fingers for a given touch device."] pub fn SDL_GetNumTouchFingers(touchID: SDL_TouchID) -> libc::c_int; } extern "C" { - /// \brief Get the finger object of the given touch, with the given index. + #[doc = " \\brief Get the finger object of the given touch, with the given index."] pub fn SDL_GetTouchFinger(touchID: SDL_TouchID, index: libc::c_int) -> *mut SDL_Finger; } pub type SDL_GestureID = Sint64; extern "C" { - /// \brief Begin Recording a gesture on the specified touch, or all touches (-1) - /// - /// + #[doc = " \\brief Begin Recording a gesture on the specified touch, or all touches (-1)"] + #[doc = ""] + #[doc = ""] pub fn SDL_RecordGesture(touchId: SDL_TouchID) -> libc::c_int; } extern "C" { - /// \brief Save all currently loaded Dollar Gesture templates - /// - /// + #[doc = " \\brief Save all currently loaded Dollar Gesture templates"] + #[doc = ""] + #[doc = ""] pub fn SDL_SaveAllDollarTemplates(dst: *mut SDL_RWops) -> libc::c_int; } extern "C" { - /// \brief Save a currently loaded Dollar Gesture template - /// - /// + #[doc = " \\brief Save a currently loaded Dollar Gesture template"] + #[doc = ""] + #[doc = ""] pub fn SDL_SaveDollarTemplate(gestureId: SDL_GestureID, dst: *mut SDL_RWops) -> libc::c_int; } extern "C" { - /// \brief Load Dollar Gesture templates from a file - /// - /// + #[doc = " \\brief Load Dollar Gesture templates from a file"] + #[doc = ""] + #[doc = ""] pub fn SDL_LoadDollarTemplates(touchId: SDL_TouchID, src: *mut SDL_RWops) -> libc::c_int; } #[repr(u32)] -/// \brief The types of events that can be delivered. +#[doc = " \\brief The types of events that can be delivered."] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum SDL_EventType { - ///< Unused (do not remove) + #[doc = "< Unused (do not remove)"] SDL_FIRSTEVENT = 0, - ///< User-requested quit + #[doc = "< User-requested quit"] SDL_QUIT = 256, - ///< The application is being terminated by the OS - ///Called on iOS in applicationWillTerminate() - ///Called on Android in onDestroy() + #[doc = "< The application is being terminated by the OS"] + #[doc = "Called on iOS in applicationWillTerminate()"] + #[doc = "Called on Android in onDestroy()"] SDL_APP_TERMINATING = 257, - ///< The application is low on memory, free memory if possible. - ///Called on iOS in applicationDidReceiveMemoryWarning() - ///Called on Android in onLowMemory() + #[doc = "< The application is low on memory, free memory if possible."] + #[doc = "Called on iOS in applicationDidReceiveMemoryWarning()"] + #[doc = "Called on Android in onLowMemory()"] SDL_APP_LOWMEMORY = 258, - ///< The application is about to enter the background - ///Called on iOS in applicationWillResignActive() - ///Called on Android in onPause() + #[doc = "< The application is about to enter the background"] + #[doc = "Called on iOS in applicationWillResignActive()"] + #[doc = "Called on Android in onPause()"] SDL_APP_WILLENTERBACKGROUND = 259, - ///< The application did enter the background and may not get CPU for some time - ///Called on iOS in applicationDidEnterBackground() - ///Called on Android in onPause() + #[doc = "< The application did enter the background and may not get CPU for some time"] + #[doc = "Called on iOS in applicationDidEnterBackground()"] + #[doc = "Called on Android in onPause()"] SDL_APP_DIDENTERBACKGROUND = 260, - ///< The application is about to enter the foreground - ///Called on iOS in applicationWillEnterForeground() - ///Called on Android in onResume() + #[doc = "< The application is about to enter the foreground"] + #[doc = "Called on iOS in applicationWillEnterForeground()"] + #[doc = "Called on Android in onResume()"] SDL_APP_WILLENTERFOREGROUND = 261, - ///< The application is now interactive - ///Called on iOS in applicationDidBecomeActive() - ///Called on Android in onResume() + #[doc = "< The application is now interactive"] + #[doc = "Called on iOS in applicationDidBecomeActive()"] + #[doc = "Called on Android in onResume()"] SDL_APP_DIDENTERFOREGROUND = 262, - ///< Display state change + #[doc = "< Display state change"] SDL_DISPLAYEVENT = 336, - ///< Window state change + #[doc = "< Window state change"] SDL_WINDOWEVENT = 512, - ///< System specific event + #[doc = "< System specific event"] SDL_SYSWMEVENT = 513, - ///< Key pressed + #[doc = "< Key pressed"] SDL_KEYDOWN = 768, - ///< Key released + #[doc = "< Key released"] SDL_KEYUP = 769, - ///< Keyboard text editing (composition) + #[doc = "< Keyboard text editing (composition)"] SDL_TEXTEDITING = 770, - ///< Keyboard text input + #[doc = "< Keyboard text input"] SDL_TEXTINPUT = 771, - ///< Keymap changed due to a system event such as an - ///input language or keyboard layout change. + #[doc = "< Keymap changed due to a system event such as an"] + #[doc = "input language or keyboard layout change."] SDL_KEYMAPCHANGED = 772, - ///< Mouse moved + #[doc = "< Mouse moved"] SDL_MOUSEMOTION = 1024, - ///< Mouse button pressed + #[doc = "< Mouse button pressed"] SDL_MOUSEBUTTONDOWN = 1025, - ///< Mouse button released + #[doc = "< Mouse button released"] SDL_MOUSEBUTTONUP = 1026, - ///< Mouse wheel motion + #[doc = "< Mouse wheel motion"] SDL_MOUSEWHEEL = 1027, - ///< Joystick axis motion + #[doc = "< Joystick axis motion"] SDL_JOYAXISMOTION = 1536, - ///< Joystick trackball motion + #[doc = "< Joystick trackball motion"] SDL_JOYBALLMOTION = 1537, - ///< Joystick hat position change + #[doc = "< Joystick hat position change"] SDL_JOYHATMOTION = 1538, - ///< Joystick button pressed + #[doc = "< Joystick button pressed"] SDL_JOYBUTTONDOWN = 1539, - ///< Joystick button released + #[doc = "< Joystick button released"] SDL_JOYBUTTONUP = 1540, - ///< A new joystick has been inserted into the system + #[doc = "< A new joystick has been inserted into the system"] SDL_JOYDEVICEADDED = 1541, - ///< An opened joystick has been removed + #[doc = "< An opened joystick has been removed"] SDL_JOYDEVICEREMOVED = 1542, - ///< Game controller axis motion + #[doc = "< Game controller axis motion"] SDL_CONTROLLERAXISMOTION = 1616, - ///< Game controller button pressed + #[doc = "< Game controller button pressed"] SDL_CONTROLLERBUTTONDOWN = 1617, - ///< Game controller button released + #[doc = "< Game controller button released"] SDL_CONTROLLERBUTTONUP = 1618, - ///< A new Game controller has been inserted into the system + #[doc = "< A new Game controller has been inserted into the system"] SDL_CONTROLLERDEVICEADDED = 1619, - ///< An opened Game controller has been removed + #[doc = "< An opened Game controller has been removed"] SDL_CONTROLLERDEVICEREMOVED = 1620, - ///< The controller mapping was updated + #[doc = "< The controller mapping was updated"] SDL_CONTROLLERDEVICEREMAPPED = 1621, SDL_FINGERDOWN = 1792, SDL_FINGERUP = 1793, @@ -10259,38 +10693,38 @@ pub enum SDL_EventType { SDL_DOLLARGESTURE = 2048, SDL_DOLLARRECORD = 2049, SDL_MULTIGESTURE = 2050, - ///< The clipboard changed + #[doc = "< The clipboard changed"] SDL_CLIPBOARDUPDATE = 2304, - ///< The system requests a file open + #[doc = "< The system requests a file open"] SDL_DROPFILE = 4096, - ///< text/plain drag-and-drop event + #[doc = "< text/plain drag-and-drop event"] SDL_DROPTEXT = 4097, - ///< A new set of drops is beginning (NULL filename) + #[doc = "< A new set of drops is beginning (NULL filename)"] SDL_DROPBEGIN = 4098, - ///< Current set of drops is now complete (NULL filename) + #[doc = "< Current set of drops is now complete (NULL filename)"] SDL_DROPCOMPLETE = 4099, - ///< A new audio device is available + #[doc = "< A new audio device is available"] SDL_AUDIODEVICEADDED = 4352, - ///< An audio device has been removed. + #[doc = "< An audio device has been removed."] SDL_AUDIODEVICEREMOVED = 4353, - ///< A sensor was updated + #[doc = "< A sensor was updated"] SDL_SENSORUPDATE = 4608, - ///< The render targets have been reset and their contents need to be updated + #[doc = "< The render targets have been reset and their contents need to be updated"] SDL_RENDER_TARGETS_RESET = 8192, - ///< The device has been reset and all textures need to be recreated + #[doc = "< The device has been reset and all textures need to be recreated"] SDL_RENDER_DEVICE_RESET = 8193, - /// Events ::SDL_USEREVENT through ::SDL_LASTEVENT are for your use, - /// and should be allocated with SDL_RegisterEvents() + #[doc = " Events ::SDL_USEREVENT through ::SDL_LASTEVENT are for your use,"] + #[doc = " and should be allocated with SDL_RegisterEvents()"] SDL_USEREVENT = 32768, - /// This last event is only for bounding internal arrays + #[doc = " This last event is only for bounding internal arrays"] SDL_LASTEVENT = 65535, } -/// \brief Fields shared by every event +#[doc = " \\brief Fields shared by every event"] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_CommonEvent { pub type_: Uint32, - ///< In milliseconds, populated using SDL_GetTicks() + #[doc = "< In milliseconds, populated using SDL_GetTicks()"] pub timestamp: Uint32, } #[test] @@ -10326,22 +10760,22 @@ fn bindgen_test_layout_SDL_CommonEvent() { ) ); } -/// \brief Display state change event data (event.display.*) +#[doc = " \\brief Display state change event data (event.display.*)"] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_DisplayEvent { - ///< ::SDL_DISPLAYEVENT + #[doc = "< ::SDL_DISPLAYEVENT"] pub type_: Uint32, - ///< In milliseconds, populated using SDL_GetTicks() + #[doc = "< In milliseconds, populated using SDL_GetTicks()"] pub timestamp: Uint32, - ///< The associated display index + #[doc = "< The associated display index"] pub display: Uint32, - ///< ::SDL_DisplayEventID + #[doc = "< ::SDL_DisplayEventID"] pub event: Uint8, pub padding1: Uint8, pub padding2: Uint8, pub padding3: Uint8, - ///< event dependent data + #[doc = "< event dependent data"] pub data1: Sint32, } #[test] @@ -10437,24 +10871,24 @@ fn bindgen_test_layout_SDL_DisplayEvent() { ) ); } -/// \brief Window state change event data (event.window.*) +#[doc = " \\brief Window state change event data (event.window.*)"] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_WindowEvent { - ///< ::SDL_WINDOWEVENT + #[doc = "< ::SDL_WINDOWEVENT"] pub type_: Uint32, - ///< In milliseconds, populated using SDL_GetTicks() + #[doc = "< In milliseconds, populated using SDL_GetTicks()"] pub timestamp: Uint32, - ///< The associated window + #[doc = "< The associated window"] pub windowID: Uint32, - ///< ::SDL_WindowEventID + #[doc = "< ::SDL_WindowEventID"] pub event: Uint8, pub padding1: Uint8, pub padding2: Uint8, pub padding3: Uint8, - ///< event dependent data + #[doc = "< event dependent data"] pub data1: Sint32, - ///< event dependent data + #[doc = "< event dependent data"] pub data2: Sint32, } #[test] @@ -10560,23 +10994,23 @@ fn bindgen_test_layout_SDL_WindowEvent() { ) ); } -/// \brief Keyboard button event structure (event.key.*) +#[doc = " \\brief Keyboard button event structure (event.key.*)"] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_KeyboardEvent { - ///< ::SDL_KEYDOWN or ::SDL_KEYUP + #[doc = "< ::SDL_KEYDOWN or ::SDL_KEYUP"] pub type_: Uint32, - ///< In milliseconds, populated using SDL_GetTicks() + #[doc = "< In milliseconds, populated using SDL_GetTicks()"] pub timestamp: Uint32, - ///< The window with keyboard focus, if any + #[doc = "< The window with keyboard focus, if any"] pub windowID: Uint32, - ///< ::SDL_PRESSED or ::SDL_RELEASED + #[doc = "< ::SDL_PRESSED or ::SDL_RELEASED"] pub state: Uint8, - ///< Non-zero if this is a key repeat + #[doc = "< Non-zero if this is a key repeat"] pub repeat: Uint8, pub padding2: Uint8, pub padding3: Uint8, - ///< The key that was pressed or released + #[doc = "< The key that was pressed or released"] pub keysym: SDL_Keysym, } #[test] @@ -10672,21 +11106,21 @@ fn bindgen_test_layout_SDL_KeyboardEvent() { ) ); } -/// \brief Keyboard text editing event structure (event.edit.*) +#[doc = " \\brief Keyboard text editing event structure (event.edit.*)"] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_TextEditingEvent { - ///< ::SDL_TEXTEDITING + #[doc = "< ::SDL_TEXTEDITING"] pub type_: Uint32, - ///< In milliseconds, populated using SDL_GetTicks() + #[doc = "< In milliseconds, populated using SDL_GetTicks()"] pub timestamp: Uint32, - ///< The window with keyboard focus, if any + #[doc = "< The window with keyboard focus, if any"] pub windowID: Uint32, - ///< The editing text + #[doc = "< The editing text"] pub text: [libc::c_char; 32usize], - ///< The start cursor of selected editing text + #[doc = "< The start cursor of selected editing text"] pub start: Sint32, - ///< The length of selected editing text + #[doc = "< The length of selected editing text"] pub length: Sint32, } #[test] @@ -10762,17 +11196,17 @@ fn bindgen_test_layout_SDL_TextEditingEvent() { ) ); } -/// \brief Keyboard text input event structure (event.text.*) +#[doc = " \\brief Keyboard text input event structure (event.text.*)"] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_TextInputEvent { - ///< ::SDL_TEXTINPUT + #[doc = "< ::SDL_TEXTINPUT"] pub type_: Uint32, - ///< In milliseconds, populated using SDL_GetTicks() + #[doc = "< In milliseconds, populated using SDL_GetTicks()"] pub timestamp: Uint32, - ///< The window with keyboard focus, if any + #[doc = "< The window with keyboard focus, if any"] pub windowID: Uint32, - ///< The input text + #[doc = "< The input text"] pub text: [libc::c_char; 32usize], } #[test] @@ -10828,27 +11262,27 @@ fn bindgen_test_layout_SDL_TextInputEvent() { ) ); } -/// \brief Mouse motion event structure (event.motion.*) +#[doc = " \\brief Mouse motion event structure (event.motion.*)"] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_MouseMotionEvent { - ///< ::SDL_MOUSEMOTION + #[doc = "< ::SDL_MOUSEMOTION"] pub type_: Uint32, - ///< In milliseconds, populated using SDL_GetTicks() + #[doc = "< In milliseconds, populated using SDL_GetTicks()"] pub timestamp: Uint32, - ///< The window with mouse focus, if any + #[doc = "< The window with mouse focus, if any"] pub windowID: Uint32, - ///< The mouse instance id, or SDL_TOUCH_MOUSEID + #[doc = "< The mouse instance id, or SDL_TOUCH_MOUSEID"] pub which: Uint32, - ///< The current button state + #[doc = "< The current button state"] pub state: Uint32, - ///< X coordinate, relative to window + #[doc = "< X coordinate, relative to window"] pub x: Sint32, - ///< Y coordinate, relative to window + #[doc = "< Y coordinate, relative to window"] pub y: Sint32, - ///< The relative motion in the X direction + #[doc = "< The relative motion in the X direction"] pub xrel: Sint32, - ///< The relative motion in the Y direction + #[doc = "< The relative motion in the Y direction"] pub yrel: Sint32, } #[test] @@ -10954,28 +11388,28 @@ fn bindgen_test_layout_SDL_MouseMotionEvent() { ) ); } -/// \brief Mouse button event structure (event.button.*) +#[doc = " \\brief Mouse button event structure (event.button.*)"] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_MouseButtonEvent { - ///< ::SDL_MOUSEBUTTONDOWN or ::SDL_MOUSEBUTTONUP + #[doc = "< ::SDL_MOUSEBUTTONDOWN or ::SDL_MOUSEBUTTONUP"] pub type_: Uint32, - ///< In milliseconds, populated using SDL_GetTicks() + #[doc = "< In milliseconds, populated using SDL_GetTicks()"] pub timestamp: Uint32, - ///< The window with mouse focus, if any + #[doc = "< The window with mouse focus, if any"] pub windowID: Uint32, - ///< The mouse instance id, or SDL_TOUCH_MOUSEID + #[doc = "< The mouse instance id, or SDL_TOUCH_MOUSEID"] pub which: Uint32, - ///< The mouse button index + #[doc = "< The mouse button index"] pub button: Uint8, - ///< ::SDL_PRESSED or ::SDL_RELEASED + #[doc = "< ::SDL_PRESSED or ::SDL_RELEASED"] pub state: Uint8, - ///< 1 for single-click, 2 for double-click, etc. + #[doc = "< 1 for single-click, 2 for double-click, etc."] pub clicks: Uint8, pub padding1: Uint8, - ///< X coordinate, relative to window + #[doc = "< X coordinate, relative to window"] pub x: Sint32, - ///< Y coordinate, relative to window + #[doc = "< Y coordinate, relative to window"] pub y: Sint32, } #[test] @@ -11091,23 +11525,23 @@ fn bindgen_test_layout_SDL_MouseButtonEvent() { ) ); } -/// \brief Mouse wheel event structure (event.wheel.*) +#[doc = " \\brief Mouse wheel event structure (event.wheel.*)"] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_MouseWheelEvent { - ///< ::SDL_MOUSEWHEEL + #[doc = "< ::SDL_MOUSEWHEEL"] pub type_: Uint32, - ///< In milliseconds, populated using SDL_GetTicks() + #[doc = "< In milliseconds, populated using SDL_GetTicks()"] pub timestamp: Uint32, - ///< The window with mouse focus, if any + #[doc = "< The window with mouse focus, if any"] pub windowID: Uint32, - ///< The mouse instance id, or SDL_TOUCH_MOUSEID + #[doc = "< The mouse instance id, or SDL_TOUCH_MOUSEID"] pub which: Uint32, - ///< The amount scrolled horizontally, positive to the right and negative to the left + #[doc = "< The amount scrolled horizontally, positive to the right and negative to the left"] pub x: Sint32, - ///< The amount scrolled vertically, positive away from the user and negative toward the user + #[doc = "< The amount scrolled vertically, positive away from the user and negative toward the user"] pub y: Sint32, - ///< Set to one of the SDL_MOUSEWHEEL_* defines. When FLIPPED the values in X and Y will be opposite. Multiply by -1 to change them back + #[doc = "< Set to one of the SDL_MOUSEWHEEL_* defines. When FLIPPED the values in X and Y will be opposite. Multiply by -1 to change them back"] pub direction: Uint32, } #[test] @@ -11193,22 +11627,22 @@ fn bindgen_test_layout_SDL_MouseWheelEvent() { ) ); } -/// \brief Joystick axis motion event structure (event.jaxis.*) +#[doc = " \\brief Joystick axis motion event structure (event.jaxis.*)"] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_JoyAxisEvent { - ///< ::SDL_JOYAXISMOTION + #[doc = "< ::SDL_JOYAXISMOTION"] pub type_: Uint32, - ///< In milliseconds, populated using SDL_GetTicks() + #[doc = "< In milliseconds, populated using SDL_GetTicks()"] pub timestamp: Uint32, - ///< The joystick instance id + #[doc = "< The joystick instance id"] pub which: SDL_JoystickID, - ///< The joystick axis index + #[doc = "< The joystick axis index"] pub axis: Uint8, pub padding1: Uint8, pub padding2: Uint8, pub padding3: Uint8, - ///< The axis value (range: -32768 to 32767) + #[doc = "< The axis value (range: -32768 to 32767)"] pub value: Sint16, pub padding4: Uint16, } @@ -11315,24 +11749,24 @@ fn bindgen_test_layout_SDL_JoyAxisEvent() { ) ); } -/// \brief Joystick trackball motion event structure (event.jball.*) +#[doc = " \\brief Joystick trackball motion event structure (event.jball.*)"] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_JoyBallEvent { - ///< ::SDL_JOYBALLMOTION + #[doc = "< ::SDL_JOYBALLMOTION"] pub type_: Uint32, - ///< In milliseconds, populated using SDL_GetTicks() + #[doc = "< In milliseconds, populated using SDL_GetTicks()"] pub timestamp: Uint32, - ///< The joystick instance id + #[doc = "< The joystick instance id"] pub which: SDL_JoystickID, - ///< The joystick trackball index + #[doc = "< The joystick trackball index"] pub ball: Uint8, pub padding1: Uint8, pub padding2: Uint8, pub padding3: Uint8, - ///< The relative motion in the X direction + #[doc = "< The relative motion in the X direction"] pub xrel: Sint16, - ///< The relative motion in the Y direction + #[doc = "< The relative motion in the Y direction"] pub yrel: Sint16, } #[test] @@ -11438,24 +11872,24 @@ fn bindgen_test_layout_SDL_JoyBallEvent() { ) ); } -/// \brief Joystick hat position change event structure (event.jhat.*) +#[doc = " \\brief Joystick hat position change event structure (event.jhat.*)"] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_JoyHatEvent { - ///< ::SDL_JOYHATMOTION + #[doc = "< ::SDL_JOYHATMOTION"] pub type_: Uint32, - ///< In milliseconds, populated using SDL_GetTicks() + #[doc = "< In milliseconds, populated using SDL_GetTicks()"] pub timestamp: Uint32, - ///< The joystick instance id + #[doc = "< The joystick instance id"] pub which: SDL_JoystickID, - ///< The joystick hat index + #[doc = "< The joystick hat index"] pub hat: Uint8, - ///< The hat position value. - /// \sa ::SDL_HAT_LEFTUP ::SDL_HAT_UP ::SDL_HAT_RIGHTUP - /// \sa ::SDL_HAT_LEFT ::SDL_HAT_CENTERED ::SDL_HAT_RIGHT - /// \sa ::SDL_HAT_LEFTDOWN ::SDL_HAT_DOWN ::SDL_HAT_RIGHTDOWN - /// - /// Note that zero means the POV is centered. + #[doc = "< The hat position value."] + #[doc = " \\sa ::SDL_HAT_LEFTUP ::SDL_HAT_UP ::SDL_HAT_RIGHTUP"] + #[doc = " \\sa ::SDL_HAT_LEFT ::SDL_HAT_CENTERED ::SDL_HAT_RIGHT"] + #[doc = " \\sa ::SDL_HAT_LEFTDOWN ::SDL_HAT_DOWN ::SDL_HAT_RIGHTDOWN"] + #[doc = ""] + #[doc = " Note that zero means the POV is centered."] pub value: Uint8, pub padding1: Uint8, pub padding2: Uint8, @@ -11543,19 +11977,19 @@ fn bindgen_test_layout_SDL_JoyHatEvent() { ) ); } -/// \brief Joystick button event structure (event.jbutton.*) +#[doc = " \\brief Joystick button event structure (event.jbutton.*)"] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_JoyButtonEvent { - ///< ::SDL_JOYBUTTONDOWN or ::SDL_JOYBUTTONUP + #[doc = "< ::SDL_JOYBUTTONDOWN or ::SDL_JOYBUTTONUP"] pub type_: Uint32, - ///< In milliseconds, populated using SDL_GetTicks() + #[doc = "< In milliseconds, populated using SDL_GetTicks()"] pub timestamp: Uint32, - ///< The joystick instance id + #[doc = "< The joystick instance id"] pub which: SDL_JoystickID, - ///< The joystick button index + #[doc = "< The joystick button index"] pub button: Uint8, - ///< ::SDL_PRESSED or ::SDL_RELEASED + #[doc = "< ::SDL_PRESSED or ::SDL_RELEASED"] pub state: Uint8, pub padding1: Uint8, pub padding2: Uint8, @@ -11643,15 +12077,15 @@ fn bindgen_test_layout_SDL_JoyButtonEvent() { ) ); } -/// \brief Joystick device event structure (event.jdevice.*) +#[doc = " \\brief Joystick device event structure (event.jdevice.*)"] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_JoyDeviceEvent { - ///< ::SDL_JOYDEVICEADDED or ::SDL_JOYDEVICEREMOVED + #[doc = "< ::SDL_JOYDEVICEADDED or ::SDL_JOYDEVICEREMOVED"] pub type_: Uint32, - ///< In milliseconds, populated using SDL_GetTicks() + #[doc = "< In milliseconds, populated using SDL_GetTicks()"] pub timestamp: Uint32, - ///< The joystick device index for the ADDED event, instance id for the REMOVED event + #[doc = "< The joystick device index for the ADDED event, instance id for the REMOVED event"] pub which: Sint32, } #[test] @@ -11697,22 +12131,22 @@ fn bindgen_test_layout_SDL_JoyDeviceEvent() { ) ); } -/// \brief Game controller axis motion event structure (event.caxis.*) +#[doc = " \\brief Game controller axis motion event structure (event.caxis.*)"] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_ControllerAxisEvent { - ///< ::SDL_CONTROLLERAXISMOTION + #[doc = "< ::SDL_CONTROLLERAXISMOTION"] pub type_: Uint32, - ///< In milliseconds, populated using SDL_GetTicks() + #[doc = "< In milliseconds, populated using SDL_GetTicks()"] pub timestamp: Uint32, - ///< The joystick instance id + #[doc = "< The joystick instance id"] pub which: SDL_JoystickID, - ///< The controller axis (SDL_GameControllerAxis) + #[doc = "< The controller axis (SDL_GameControllerAxis)"] pub axis: Uint8, pub padding1: Uint8, pub padding2: Uint8, pub padding3: Uint8, - ///< The axis value (range: -32768 to 32767) + #[doc = "< The axis value (range: -32768 to 32767)"] pub value: Sint16, pub padding4: Uint16, } @@ -11829,19 +12263,19 @@ fn bindgen_test_layout_SDL_ControllerAxisEvent() { ) ); } -/// \brief Game controller button event structure (event.cbutton.*) +#[doc = " \\brief Game controller button event structure (event.cbutton.*)"] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_ControllerButtonEvent { - ///< ::SDL_CONTROLLERBUTTONDOWN or ::SDL_CONTROLLERBUTTONUP + #[doc = "< ::SDL_CONTROLLERBUTTONDOWN or ::SDL_CONTROLLERBUTTONUP"] pub type_: Uint32, - ///< In milliseconds, populated using SDL_GetTicks() + #[doc = "< In milliseconds, populated using SDL_GetTicks()"] pub timestamp: Uint32, - ///< The joystick instance id + #[doc = "< The joystick instance id"] pub which: SDL_JoystickID, - ///< The controller button (SDL_GameControllerButton) + #[doc = "< The controller button (SDL_GameControllerButton)"] pub button: Uint8, - ///< ::SDL_PRESSED or ::SDL_RELEASED + #[doc = "< ::SDL_PRESSED or ::SDL_RELEASED"] pub state: Uint8, pub padding1: Uint8, pub padding2: Uint8, @@ -11943,15 +12377,15 @@ fn bindgen_test_layout_SDL_ControllerButtonEvent() { ) ); } -/// \brief Controller device event structure (event.cdevice.*) +#[doc = " \\brief Controller device event structure (event.cdevice.*)"] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_ControllerDeviceEvent { - ///< ::SDL_CONTROLLERDEVICEADDED, ::SDL_CONTROLLERDEVICEREMOVED, or ::SDL_CONTROLLERDEVICEREMAPPED + #[doc = "< ::SDL_CONTROLLERDEVICEADDED, ::SDL_CONTROLLERDEVICEREMOVED, or ::SDL_CONTROLLERDEVICEREMAPPED"] pub type_: Uint32, - ///< In milliseconds, populated using SDL_GetTicks() + #[doc = "< In milliseconds, populated using SDL_GetTicks()"] pub timestamp: Uint32, - ///< The joystick device index for the ADDED event, instance id for the REMOVED or REMAPPED event + #[doc = "< The joystick device index for the ADDED event, instance id for the REMOVED or REMAPPED event"] pub which: Sint32, } #[test] @@ -12003,17 +12437,17 @@ fn bindgen_test_layout_SDL_ControllerDeviceEvent() { ) ); } -/// \brief Audio device event structure (event.adevice.*) +#[doc = " \\brief Audio device event structure (event.adevice.*)"] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_AudioDeviceEvent { - ///< ::SDL_AUDIODEVICEADDED, or ::SDL_AUDIODEVICEREMOVED + #[doc = "< ::SDL_AUDIODEVICEADDED, or ::SDL_AUDIODEVICEREMOVED"] pub type_: Uint32, - ///< In milliseconds, populated using SDL_GetTicks() + #[doc = "< In milliseconds, populated using SDL_GetTicks()"] pub timestamp: Uint32, - ///< The audio device index for the ADDED event (valid until next SDL_GetNumAudioDevices() call), SDL_AudioDeviceID for the REMOVED event + #[doc = "< The audio device index for the ADDED event (valid until next SDL_GetNumAudioDevices() call), SDL_AudioDeviceID for the REMOVED event"] pub which: Uint32, - ///< zero if an output device, non-zero if a capture device. + #[doc = "< zero if an output device, non-zero if a capture device."] pub iscapture: Uint8, pub padding1: Uint8, pub padding2: Uint8, @@ -12102,26 +12536,26 @@ fn bindgen_test_layout_SDL_AudioDeviceEvent() { ) ); } -/// \brief Touch finger event structure (event.tfinger.*) +#[doc = " \\brief Touch finger event structure (event.tfinger.*)"] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_TouchFingerEvent { - ///< ::SDL_FINGERMOTION or ::SDL_FINGERDOWN or ::SDL_FINGERUP + #[doc = "< ::SDL_FINGERMOTION or ::SDL_FINGERDOWN or ::SDL_FINGERUP"] pub type_: Uint32, - ///< In milliseconds, populated using SDL_GetTicks() + #[doc = "< In milliseconds, populated using SDL_GetTicks()"] pub timestamp: Uint32, - ///< The touch device id + #[doc = "< The touch device id"] pub touchId: SDL_TouchID, pub fingerId: SDL_FingerID, - ///< Normalized in the range 0...1 + #[doc = "< Normalized in the range 0...1"] pub x: f32, - ///< Normalized in the range 0...1 + #[doc = "< Normalized in the range 0...1"] pub y: f32, - ///< Normalized in the range -1...1 + #[doc = "< Normalized in the range -1...1"] pub dx: f32, - ///< Normalized in the range -1...1 + #[doc = "< Normalized in the range -1...1"] pub dy: f32, - ///< Normalized in the range 0...1 + #[doc = "< Normalized in the range 0...1"] pub pressure: f32, } #[test] @@ -12227,15 +12661,15 @@ fn bindgen_test_layout_SDL_TouchFingerEvent() { ) ); } -/// \brief Multiple Finger Gesture Event (event.mgesture.*) +#[doc = " \\brief Multiple Finger Gesture Event (event.mgesture.*)"] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_MultiGestureEvent { - ///< ::SDL_MULTIGESTURE + #[doc = "< ::SDL_MULTIGESTURE"] pub type_: Uint32, - ///< In milliseconds, populated using SDL_GetTicks() + #[doc = "< In milliseconds, populated using SDL_GetTicks()"] pub timestamp: Uint32, - ///< The touch device id + #[doc = "< The touch device id"] pub touchId: SDL_TouchID, pub dTheta: f32, pub dDist: f32, @@ -12351,22 +12785,22 @@ fn bindgen_test_layout_SDL_MultiGestureEvent() { ) ); } -/// \brief Dollar Gesture Event (event.dgesture.*) +#[doc = " \\brief Dollar Gesture Event (event.dgesture.*)"] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_DollarGestureEvent { - ///< ::SDL_DOLLARGESTURE or ::SDL_DOLLARRECORD + #[doc = "< ::SDL_DOLLARGESTURE or ::SDL_DOLLARRECORD"] pub type_: Uint32, - ///< In milliseconds, populated using SDL_GetTicks() + #[doc = "< In milliseconds, populated using SDL_GetTicks()"] pub timestamp: Uint32, - ///< The touch device id + #[doc = "< The touch device id"] pub touchId: SDL_TouchID, pub gestureId: SDL_GestureID, pub numFingers: Uint32, pub error: f32, - ///< Normalized center of gesture + #[doc = "< Normalized center of gesture"] pub x: f32, - ///< Normalized center of gesture + #[doc = "< Normalized center of gesture"] pub y: f32, } #[test] @@ -12468,19 +12902,19 @@ fn bindgen_test_layout_SDL_DollarGestureEvent() { ) ); } -/// \brief An event used to request a file open by the system (event.drop.*) -/// This event is enabled by default, you can disable it with SDL_EventState(). -/// \note If this event is enabled, you must free the filename in the event. +#[doc = " \\brief An event used to request a file open by the system (event.drop.*)"] +#[doc = " This event is enabled by default, you can disable it with SDL_EventState()."] +#[doc = " \\note If this event is enabled, you must free the filename in the event."] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_DropEvent { - ///< ::SDL_DROPBEGIN or ::SDL_DROPFILE or ::SDL_DROPTEXT or ::SDL_DROPCOMPLETE + #[doc = "< ::SDL_DROPBEGIN or ::SDL_DROPFILE or ::SDL_DROPTEXT or ::SDL_DROPCOMPLETE"] pub type_: Uint32, - ///< In milliseconds, populated using SDL_GetTicks() + #[doc = "< In milliseconds, populated using SDL_GetTicks()"] pub timestamp: Uint32, - ///< The file name, which should be freed with SDL_free(), is NULL on begin/complete + #[doc = "< The file name, which should be freed with SDL_free(), is NULL on begin/complete"] pub file: *mut libc::c_char, - ///< The window that was dropped on, if any + #[doc = "< The window that was dropped on, if any"] pub windowID: Uint32, } #[test] @@ -12536,17 +12970,17 @@ fn bindgen_test_layout_SDL_DropEvent() { ) ); } -/// \brief Sensor event structure (event.sensor.*) +#[doc = " \\brief Sensor event structure (event.sensor.*)"] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_SensorEvent { - ///< ::SDL_SENSORUPDATE + #[doc = "< ::SDL_SENSORUPDATE"] pub type_: Uint32, - ///< In milliseconds, populated using SDL_GetTicks() + #[doc = "< In milliseconds, populated using SDL_GetTicks()"] pub timestamp: Uint32, - ///< The instance ID of the sensor + #[doc = "< The instance ID of the sensor"] pub which: Sint32, - ///< Up to 6 values from the sensor - additional values can be queried using SDL_SensorGetData() + #[doc = "< Up to 6 values from the sensor - additional values can be queried using SDL_SensorGetData()"] pub data: [f32; 6usize], } #[test] @@ -12602,13 +13036,13 @@ fn bindgen_test_layout_SDL_SensorEvent() { ) ); } -/// \brief The "quit requested" event +#[doc = " \\brief The \"quit requested\" event"] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_QuitEvent { - ///< ::SDL_QUIT + #[doc = "< ::SDL_QUIT"] pub type_: Uint32, - ///< In milliseconds, populated using SDL_GetTicks() + #[doc = "< In milliseconds, populated using SDL_GetTicks()"] pub timestamp: Uint32, } #[test] @@ -12644,13 +13078,13 @@ fn bindgen_test_layout_SDL_QuitEvent() { ) ); } -/// \brief OS Specific event +#[doc = " \\brief OS Specific event"] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_OSEvent { - ///< ::SDL_QUIT + #[doc = "< ::SDL_QUIT"] pub type_: Uint32, - ///< In milliseconds, populated using SDL_GetTicks() + #[doc = "< In milliseconds, populated using SDL_GetTicks()"] pub timestamp: Uint32, } #[test] @@ -12686,21 +13120,21 @@ fn bindgen_test_layout_SDL_OSEvent() { ) ); } -/// \brief A user-defined event type (event.user.*) +#[doc = " \\brief A user-defined event type (event.user.*)"] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_UserEvent { - ///< ::SDL_USEREVENT through ::SDL_LASTEVENT-1 + #[doc = "< ::SDL_USEREVENT through ::SDL_LASTEVENT-1"] pub type_: Uint32, - ///< In milliseconds, populated using SDL_GetTicks() + #[doc = "< In milliseconds, populated using SDL_GetTicks()"] pub timestamp: Uint32, - ///< The associated window if any + #[doc = "< The associated window if any"] pub windowID: Uint32, - ///< User defined event code + #[doc = "< User defined event code"] pub code: Sint32, - ///< User defined data pointer + #[doc = "< User defined data pointer"] pub data1: *mut libc::c_void, - ///< User defined data pointer + #[doc = "< User defined data pointer"] pub data2: *mut libc::c_void, } #[test] @@ -12776,18 +13210,18 @@ fn bindgen_test_layout_SDL_UserEvent() { ) ); } -/// \brief A video driver dependent system event (event.syswm.*) -/// This event is disabled by default, you can enable it with SDL_EventState() -/// -/// \note If you want to use this event, you should include SDL_syswm.h. +#[doc = " \\brief A video driver dependent system event (event.syswm.*)"] +#[doc = " This event is disabled by default, you can enable it with SDL_EventState()"] +#[doc = ""] +#[doc = " \\note If you want to use this event, you should include SDL_syswm.h."] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_SysWMEvent { - ///< ::SDL_SYSWMEVENT + #[doc = "< ::SDL_SYSWMEVENT"] pub type_: Uint32, - ///< In milliseconds, populated using SDL_GetTicks() + #[doc = "< In milliseconds, populated using SDL_GetTicks()"] pub timestamp: Uint32, - ///< driver dependent data, defined in SDL_syswm.h + #[doc = "< driver dependent data, defined in SDL_syswm.h"] pub msg: *mut SDL_SysWMmsg, } #[test] @@ -12833,63 +13267,63 @@ fn bindgen_test_layout_SDL_SysWMEvent() { ) ); } -/// \brief General event structure +#[doc = " \\brief General event structure"] #[repr(C)] #[derive(Copy, Clone)] pub union SDL_Event { - ///< Event type, shared with all events + #[doc = "< Event type, shared with all events"] pub type_: Uint32, - ///< Common event data + #[doc = "< Common event data"] pub common: SDL_CommonEvent, - ///< Window event data + #[doc = "< Window event data"] pub display: SDL_DisplayEvent, - ///< Window event data + #[doc = "< Window event data"] pub window: SDL_WindowEvent, - ///< Keyboard event data + #[doc = "< Keyboard event data"] pub key: SDL_KeyboardEvent, - ///< Text editing event data + #[doc = "< Text editing event data"] pub edit: SDL_TextEditingEvent, - ///< Text input event data + #[doc = "< Text input event data"] pub text: SDL_TextInputEvent, - ///< Mouse motion event data + #[doc = "< Mouse motion event data"] pub motion: SDL_MouseMotionEvent, - ///< Mouse button event data + #[doc = "< Mouse button event data"] pub button: SDL_MouseButtonEvent, - ///< Mouse wheel event data + #[doc = "< Mouse wheel event data"] pub wheel: SDL_MouseWheelEvent, - ///< Joystick axis event data + #[doc = "< Joystick axis event data"] pub jaxis: SDL_JoyAxisEvent, - ///< Joystick ball event data + #[doc = "< Joystick ball event data"] pub jball: SDL_JoyBallEvent, - ///< Joystick hat event data + #[doc = "< Joystick hat event data"] pub jhat: SDL_JoyHatEvent, - ///< Joystick button event data + #[doc = "< Joystick button event data"] pub jbutton: SDL_JoyButtonEvent, - ///< Joystick device change event data + #[doc = "< Joystick device change event data"] pub jdevice: SDL_JoyDeviceEvent, - ///< Game Controller axis event data + #[doc = "< Game Controller axis event data"] pub caxis: SDL_ControllerAxisEvent, - ///< Game Controller button event data + #[doc = "< Game Controller button event data"] pub cbutton: SDL_ControllerButtonEvent, - ///< Game Controller device event data + #[doc = "< Game Controller device event data"] pub cdevice: SDL_ControllerDeviceEvent, - ///< Audio device event data + #[doc = "< Audio device event data"] pub adevice: SDL_AudioDeviceEvent, - ///< Sensor event data + #[doc = "< Sensor event data"] pub sensor: SDL_SensorEvent, - ///< Quit request event data + #[doc = "< Quit request event data"] pub quit: SDL_QuitEvent, - ///< Custom event data + #[doc = "< Custom event data"] pub user: SDL_UserEvent, - ///< System dependent window event data + #[doc = "< System dependent window event data"] pub syswm: SDL_SysWMEvent, - ///< Touch finger event data + #[doc = "< Touch finger event data"] pub tfinger: SDL_TouchFingerEvent, - ///< Gesture event data + #[doc = "< Gesture event data"] pub mgesture: SDL_MultiGestureEvent, - ///< Gesture event data + #[doc = "< Gesture event data"] pub dgesture: SDL_DollarGestureEvent, - ///< Drag and drop event data + #[doc = "< Drag and drop event data"] pub drop: SDL_DropEvent, pub padding: [Uint8; 56usize], _bindgen_union_align: [u64; 7usize], @@ -13187,12 +13621,13 @@ fn bindgen_test_layout_SDL_Event() { ) ); } +pub type SDL_compile_time_assert_SDL_Event = [libc::c_int; 1usize]; extern "C" { - /// Pumps the event loop, gathering events from the input devices. - /// - /// This function updates the event queue and internal input device state. - /// - /// This should only be run in the thread that sets the video mode. + #[doc = " Pumps the event loop, gathering events from the input devices."] + #[doc = ""] + #[doc = " This function updates the event queue and internal input device state."] + #[doc = ""] + #[doc = " This should only be run in the thread that sets the video mode."] pub fn SDL_PumpEvents(); } #[repr(u32)] @@ -13203,22 +13638,22 @@ pub enum SDL_eventaction { SDL_GETEVENT = 2, } extern "C" { - /// Checks the event queue for messages and optionally returns them. - /// - /// If \c action is ::SDL_ADDEVENT, up to \c numevents events will be added to - /// the back of the event queue. - /// - /// If \c action is ::SDL_PEEKEVENT, up to \c numevents events at the front - /// of the event queue, within the specified minimum and maximum type, - /// will be returned and will not be removed from the queue. - /// - /// If \c action is ::SDL_GETEVENT, up to \c numevents events at the front - /// of the event queue, within the specified minimum and maximum type, - /// will be returned and will be removed from the queue. - /// - /// \return The number of events actually stored, or -1 if there was an error. - /// - /// This function is thread-safe. + #[doc = " Checks the event queue for messages and optionally returns them."] + #[doc = ""] + #[doc = " If \\c action is ::SDL_ADDEVENT, up to \\c numevents events will be added to"] + #[doc = " the back of the event queue."] + #[doc = ""] + #[doc = " If \\c action is ::SDL_PEEKEVENT, up to \\c numevents events at the front"] + #[doc = " of the event queue, within the specified minimum and maximum type,"] + #[doc = " will be returned and will not be removed from the queue."] + #[doc = ""] + #[doc = " If \\c action is ::SDL_GETEVENT, up to \\c numevents events at the front"] + #[doc = " of the event queue, within the specified minimum and maximum type,"] + #[doc = " will be returned and will be removed from the queue."] + #[doc = ""] + #[doc = " \\return The number of events actually stored, or -1 if there was an error."] + #[doc = ""] + #[doc = " This function is thread-safe."] pub fn SDL_PeepEvents( events: *mut SDL_Event, numevents: libc::c_int, @@ -13228,325 +13663,325 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// Checks to see if certain event types are in the event queue. + #[doc = " Checks to see if certain event types are in the event queue."] pub fn SDL_HasEvent(type_: Uint32) -> SDL_bool; } extern "C" { pub fn SDL_HasEvents(minType: Uint32, maxType: Uint32) -> SDL_bool; } extern "C" { - /// This function clears events from the event queue - /// This function only affects currently queued events. If you want to make - /// sure that all pending OS events are flushed, you can call SDL_PumpEvents() - /// on the main thread immediately before the flush call. + #[doc = " This function clears events from the event queue"] + #[doc = " This function only affects currently queued events. If you want to make"] + #[doc = " sure that all pending OS events are flushed, you can call SDL_PumpEvents()"] + #[doc = " on the main thread immediately before the flush call."] pub fn SDL_FlushEvent(type_: Uint32); } extern "C" { pub fn SDL_FlushEvents(minType: Uint32, maxType: Uint32); } extern "C" { - /// \brief Polls for currently pending events. - /// - /// \return 1 if there are any pending events, or 0 if there are none available. - /// - /// \param event If not NULL, the next event is removed from the queue and - /// stored in that area. + #[doc = " \\brief Polls for currently pending events."] + #[doc = ""] + #[doc = " \\return 1 if there are any pending events, or 0 if there are none available."] + #[doc = ""] + #[doc = " \\param event If not NULL, the next event is removed from the queue and"] + #[doc = " stored in that area."] pub fn SDL_PollEvent(event: *mut SDL_Event) -> libc::c_int; } extern "C" { - /// \brief Waits indefinitely for the next available event. - /// - /// \return 1, or 0 if there was an error while waiting for events. - /// - /// \param event If not NULL, the next event is removed from the queue and - /// stored in that area. + #[doc = " \\brief Waits indefinitely for the next available event."] + #[doc = ""] + #[doc = " \\return 1, or 0 if there was an error while waiting for events."] + #[doc = ""] + #[doc = " \\param event If not NULL, the next event is removed from the queue and"] + #[doc = " stored in that area."] pub fn SDL_WaitEvent(event: *mut SDL_Event) -> libc::c_int; } extern "C" { - /// \brief Waits until the specified timeout (in milliseconds) for the next - /// available event. - /// - /// \return 1, or 0 if there was an error while waiting for events. - /// - /// \param event If not NULL, the next event is removed from the queue and - /// stored in that area. - /// \param timeout The timeout (in milliseconds) to wait for next event. + #[doc = " \\brief Waits until the specified timeout (in milliseconds) for the next"] + #[doc = " available event."] + #[doc = ""] + #[doc = " \\return 1, or 0 if there was an error while waiting for events."] + #[doc = ""] + #[doc = " \\param event If not NULL, the next event is removed from the queue and"] + #[doc = " stored in that area."] + #[doc = " \\param timeout The timeout (in milliseconds) to wait for next event."] pub fn SDL_WaitEventTimeout(event: *mut SDL_Event, timeout: libc::c_int) -> libc::c_int; } extern "C" { - /// \brief Add an event to the event queue. - /// - /// \return 1 on success, 0 if the event was filtered, or -1 if the event queue - /// was full or there was some other error. + #[doc = " \\brief Add an event to the event queue."] + #[doc = ""] + #[doc = " \\return 1 on success, 0 if the event was filtered, or -1 if the event queue"] + #[doc = " was full or there was some other error."] pub fn SDL_PushEvent(event: *mut SDL_Event) -> libc::c_int; } pub type SDL_EventFilter = ::core::option::Option< unsafe extern "C" fn(userdata: *mut libc::c_void, event: *mut SDL_Event) -> libc::c_int, >; extern "C" { - /// Sets up a filter to process all events before they change internal state and - /// are posted to the internal event queue. - /// - /// The filter is prototyped as: - /// \code - /// int SDL_EventFilter(void *userdata, SDL_Event * event); - /// \endcode - /// - /// If the filter returns 1, then the event will be added to the internal queue. - /// If it returns 0, then the event will be dropped from the queue, but the - /// internal state will still be updated. This allows selective filtering of - /// dynamically arriving events. - /// - /// \warning Be very careful of what you do in the event filter function, as - /// it may run in a different thread! - /// - /// There is one caveat when dealing with the ::SDL_QuitEvent event type. The - /// event filter is only called when the window manager desires to close the - /// application window. If the event filter returns 1, then the window will - /// be closed, otherwise the window will remain open if possible. - /// - /// If the quit event is generated by an interrupt signal, it will bypass the - /// internal queue and be delivered to the application at the next event poll. + #[doc = " Sets up a filter to process all events before they change internal state and"] + #[doc = " are posted to the internal event queue."] + #[doc = ""] + #[doc = " The filter is prototyped as:"] + #[doc = " \\code"] + #[doc = " int SDL_EventFilter(void *userdata, SDL_Event * event);"] + #[doc = " \\endcode"] + #[doc = ""] + #[doc = " If the filter returns 1, then the event will be added to the internal queue."] + #[doc = " If it returns 0, then the event will be dropped from the queue, but the"] + #[doc = " internal state will still be updated. This allows selective filtering of"] + #[doc = " dynamically arriving events."] + #[doc = ""] + #[doc = " \\warning Be very careful of what you do in the event filter function, as"] + #[doc = " it may run in a different thread!"] + #[doc = ""] + #[doc = " There is one caveat when dealing with the ::SDL_QuitEvent event type. The"] + #[doc = " event filter is only called when the window manager desires to close the"] + #[doc = " application window. If the event filter returns 1, then the window will"] + #[doc = " be closed, otherwise the window will remain open if possible."] + #[doc = ""] + #[doc = " If the quit event is generated by an interrupt signal, it will bypass the"] + #[doc = " internal queue and be delivered to the application at the next event poll."] pub fn SDL_SetEventFilter(filter: SDL_EventFilter, userdata: *mut libc::c_void); } extern "C" { - /// Return the current event filter - can be used to "chain" filters. - /// If there is no event filter set, this function returns SDL_FALSE. + #[doc = " Return the current event filter - can be used to \"chain\" filters."] + #[doc = " If there is no event filter set, this function returns SDL_FALSE."] pub fn SDL_GetEventFilter( filter: *mut SDL_EventFilter, userdata: *mut *mut libc::c_void, ) -> SDL_bool; } extern "C" { - /// Add a function which is called when an event is added to the queue. + #[doc = " Add a function which is called when an event is added to the queue."] pub fn SDL_AddEventWatch(filter: SDL_EventFilter, userdata: *mut libc::c_void); } extern "C" { - /// Remove an event watch function added with SDL_AddEventWatch() + #[doc = " Remove an event watch function added with SDL_AddEventWatch()"] pub fn SDL_DelEventWatch(filter: SDL_EventFilter, userdata: *mut libc::c_void); } extern "C" { - /// Run the filter function on the current event queue, removing any - /// events for which the filter returns 0. + #[doc = " Run the filter function on the current event queue, removing any"] + #[doc = " events for which the filter returns 0."] pub fn SDL_FilterEvents(filter: SDL_EventFilter, userdata: *mut libc::c_void); } extern "C" { - /// This function allows you to set the state of processing certain events. - /// - If \c state is set to ::SDL_IGNORE, that event will be automatically - /// dropped from the event queue and will not be filtered. - /// - If \c state is set to ::SDL_ENABLE, that event will be processed - /// normally. - /// - If \c state is set to ::SDL_QUERY, SDL_EventState() will return the - /// current processing state of the specified event. + #[doc = " This function allows you to set the state of processing certain events."] + #[doc = " - If \\c state is set to ::SDL_IGNORE, that event will be automatically"] + #[doc = " dropped from the event queue and will not be filtered."] + #[doc = " - If \\c state is set to ::SDL_ENABLE, that event will be processed"] + #[doc = " normally."] + #[doc = " - If \\c state is set to ::SDL_QUERY, SDL_EventState() will return the"] + #[doc = " current processing state of the specified event."] pub fn SDL_EventState(type_: Uint32, state: libc::c_int) -> Uint8; } extern "C" { - /// This function allocates a set of user-defined events, and returns - /// the beginning event number for that set of events. - /// - /// If there aren't enough user-defined events left, this function - /// returns (Uint32)-1 + #[doc = " This function allocates a set of user-defined events, and returns"] + #[doc = " the beginning event number for that set of events."] + #[doc = ""] + #[doc = " If there aren't enough user-defined events left, this function"] + #[doc = " returns (Uint32)-1"] pub fn SDL_RegisterEvents(numevents: libc::c_int) -> Uint32; } extern "C" { - /// \brief Get the path where the application resides. - /// - /// Get the "base path". This is the directory where the application was run - /// from, which is probably the installation directory, and may or may not - /// be the process's current working directory. - /// - /// This returns an absolute path in UTF-8 encoding, and is guaranteed to - /// end with a path separator ('\\' on Windows, '/' most other places). - /// - /// The pointer returned by this function is owned by you. Please call - /// SDL_free() on the pointer when you are done with it, or it will be a - /// memory leak. This is not necessarily a fast call, though, so you should - /// call this once near startup and save the string if you need it. - /// - /// Some platforms can't determine the application's path, and on other - /// platforms, this might be meaningless. In such cases, this function will - /// return NULL. - /// - /// \return String of base dir in UTF-8 encoding, or NULL on error. - /// - /// \sa SDL_GetPrefPath + #[doc = " \\brief Get the path where the application resides."] + #[doc = ""] + #[doc = " Get the \"base path\". This is the directory where the application was run"] + #[doc = " from, which is probably the installation directory, and may or may not"] + #[doc = " be the process's current working directory."] + #[doc = ""] + #[doc = " This returns an absolute path in UTF-8 encoding, and is guaranteed to"] + #[doc = " end with a path separator ('\\\\' on Windows, '/' most other places)."] + #[doc = ""] + #[doc = " The pointer returned by this function is owned by you. Please call"] + #[doc = " SDL_free() on the pointer when you are done with it, or it will be a"] + #[doc = " memory leak. This is not necessarily a fast call, though, so you should"] + #[doc = " call this once near startup and save the string if you need it."] + #[doc = ""] + #[doc = " Some platforms can't determine the application's path, and on other"] + #[doc = " platforms, this might be meaningless. In such cases, this function will"] + #[doc = " return NULL."] + #[doc = ""] + #[doc = " \\return String of base dir in UTF-8 encoding, or NULL on error."] + #[doc = ""] + #[doc = " \\sa SDL_GetPrefPath"] pub fn SDL_GetBasePath() -> *mut libc::c_char; } extern "C" { - /// \brief Get the user-and-app-specific path where files can be written. - /// - /// Get the "pref dir". This is meant to be where users can write personal - /// files (preferences and save games, etc) that are specific to your - /// application. This directory is unique per user, per application. - /// - /// This function will decide the appropriate location in the native filesystem, - /// create the directory if necessary, and return a string of the absolute - /// path to the directory in UTF-8 encoding. - /// - /// On Windows, the string might look like: - /// "C:\\Users\\bob\\AppData\\Roaming\\My Company\\My Program Name\\" - /// - /// On Linux, the string might look like: - /// "/home/bob/.local/share/My Program Name/" - /// - /// On Mac OS X, the string might look like: - /// "/Users/bob/Library/Application Support/My Program Name/" - /// - /// (etc.) - /// - /// You specify the name of your organization (if it's not a real organization, - /// your name or an Internet domain you own might do) and the name of your - /// application. These should be untranslated proper names. - /// - /// Both the org and app strings may become part of a directory name, so - /// please follow these rules: - /// - /// - Try to use the same org string (including case-sensitivity) for - /// all your applications that use this function. - /// - Always use a unique app string for each one, and make sure it never - /// changes for an app once you've decided on it. - /// - Unicode characters are legal, as long as it's UTF-8 encoded, but... - /// - ...only use letters, numbers, and spaces. Avoid punctuation like - /// "Game Name 2: Bad Guy's Revenge!" ... "Game Name 2" is sufficient. - /// - /// This returns an absolute path in UTF-8 encoding, and is guaranteed to - /// end with a path separator ('\\' on Windows, '/' most other places). - /// - /// The pointer returned by this function is owned by you. Please call - /// SDL_free() on the pointer when you are done with it, or it will be a - /// memory leak. This is not necessarily a fast call, though, so you should - /// call this once near startup and save the string if you need it. - /// - /// You should assume the path returned by this function is the only safe - /// place to write files (and that SDL_GetBasePath(), while it might be - /// writable, or even the parent of the returned path, aren't where you - /// should be writing things). - /// - /// Some platforms can't determine the pref path, and on other - /// platforms, this might be meaningless. In such cases, this function will - /// return NULL. - /// - /// \param org The name of your organization. - /// \param app The name of your application. - /// \return UTF-8 string of user dir in platform-dependent notation. NULL - /// if there's a problem (creating directory failed, etc). - /// - /// \sa SDL_GetBasePath + #[doc = " \\brief Get the user-and-app-specific path where files can be written."] + #[doc = ""] + #[doc = " Get the \"pref dir\". This is meant to be where users can write personal"] + #[doc = " files (preferences and save games, etc) that are specific to your"] + #[doc = " application. This directory is unique per user, per application."] + #[doc = ""] + #[doc = " This function will decide the appropriate location in the native filesystem,"] + #[doc = " create the directory if necessary, and return a string of the absolute"] + #[doc = " path to the directory in UTF-8 encoding."] + #[doc = ""] + #[doc = " On Windows, the string might look like:"] + #[doc = " \"C:\\\\Users\\\\bob\\\\AppData\\\\Roaming\\\\My Company\\\\My Program Name\\\\\""] + #[doc = ""] + #[doc = " On Linux, the string might look like:"] + #[doc = " \"/home/bob/.local/share/My Program Name/\""] + #[doc = ""] + #[doc = " On Mac OS X, the string might look like:"] + #[doc = " \"/Users/bob/Library/Application Support/My Program Name/\""] + #[doc = ""] + #[doc = " (etc.)"] + #[doc = ""] + #[doc = " You specify the name of your organization (if it's not a real organization,"] + #[doc = " your name or an Internet domain you own might do) and the name of your"] + #[doc = " application. These should be untranslated proper names."] + #[doc = ""] + #[doc = " Both the org and app strings may become part of a directory name, so"] + #[doc = " please follow these rules:"] + #[doc = ""] + #[doc = " - Try to use the same org string (including case-sensitivity) for"] + #[doc = " all your applications that use this function."] + #[doc = " - Always use a unique app string for each one, and make sure it never"] + #[doc = " changes for an app once you've decided on it."] + #[doc = " - Unicode characters are legal, as long as it's UTF-8 encoded, but..."] + #[doc = " - ...only use letters, numbers, and spaces. Avoid punctuation like"] + #[doc = " \"Game Name 2: Bad Guy's Revenge!\" ... \"Game Name 2\" is sufficient."] + #[doc = ""] + #[doc = " This returns an absolute path in UTF-8 encoding, and is guaranteed to"] + #[doc = " end with a path separator ('\\\\' on Windows, '/' most other places)."] + #[doc = ""] + #[doc = " The pointer returned by this function is owned by you. Please call"] + #[doc = " SDL_free() on the pointer when you are done with it, or it will be a"] + #[doc = " memory leak. This is not necessarily a fast call, though, so you should"] + #[doc = " call this once near startup and save the string if you need it."] + #[doc = ""] + #[doc = " You should assume the path returned by this function is the only safe"] + #[doc = " place to write files (and that SDL_GetBasePath(), while it might be"] + #[doc = " writable, or even the parent of the returned path, aren't where you"] + #[doc = " should be writing things)."] + #[doc = ""] + #[doc = " Some platforms can't determine the pref path, and on other"] + #[doc = " platforms, this might be meaningless. In such cases, this function will"] + #[doc = " return NULL."] + #[doc = ""] + #[doc = " \\param org The name of your organization."] + #[doc = " \\param app The name of your application."] + #[doc = " \\return UTF-8 string of user dir in platform-dependent notation. NULL"] + #[doc = " if there's a problem (creating directory failed, etc)."] + #[doc = ""] + #[doc = " \\sa SDL_GetBasePath"] pub fn SDL_GetPrefPath(org: *const libc::c_char, app: *const libc::c_char) -> *mut libc::c_char; } -/// \typedef SDL_Haptic -/// -/// \brief The haptic structure used to identify an SDL haptic. -/// -/// \sa SDL_HapticOpen -/// \sa SDL_HapticOpenFromJoystick -/// \sa SDL_HapticClose +#[doc = " \\typedef SDL_Haptic"] +#[doc = ""] +#[doc = " \\brief The haptic structure used to identify an SDL haptic."] +#[doc = ""] +#[doc = " \\sa SDL_HapticOpen"] +#[doc = " \\sa SDL_HapticOpenFromJoystick"] +#[doc = " \\sa SDL_HapticClose"] #[repr(C)] #[derive(Copy, Clone)] pub struct _SDL_Haptic { _unused: [u8; 0], } pub type SDL_Haptic = _SDL_Haptic; -/// \brief Structure that represents a haptic direction. -/// -/// This is the direction where the force comes from, -/// instead of the direction in which the force is exerted. -/// -/// Directions can be specified by: -/// - ::SDL_HAPTIC_POLAR : Specified by polar coordinates. -/// - ::SDL_HAPTIC_CARTESIAN : Specified by cartesian coordinates. -/// - ::SDL_HAPTIC_SPHERICAL : Specified by spherical coordinates. -/// -/// Cardinal directions of the haptic device are relative to the positioning -/// of the device. North is considered to be away from the user. -/// -/// The following diagram represents the cardinal directions: -/// \verbatim -///.--. -///|__| .-------. -///|=.| |.-----.| -///|--| || || -///| | |'-----'| -///|__|~')_____(' -///[ COMPUTER ] -/// -/// -///North (0,-1) -///^ -///| -///| -///(-1,0) West <----[ HAPTIC ]----> East (1,0) -///| -///| -///v -///South (0,1) -/// -/// -///[ USER ] -///\|||/ -///(o o) -///---ooO-(_)-Ooo--- -///\endverbatim -/// -/// If type is ::SDL_HAPTIC_POLAR, direction is encoded by hundredths of a -/// degree starting north and turning clockwise. ::SDL_HAPTIC_POLAR only uses -/// the first \c dir parameter. The cardinal directions would be: -/// - North: 0 (0 degrees) -/// - East: 9000 (90 degrees) -/// - South: 18000 (180 degrees) -/// - West: 27000 (270 degrees) -/// -/// If type is ::SDL_HAPTIC_CARTESIAN, direction is encoded by three positions -/// (X axis, Y axis and Z axis (with 3 axes)). ::SDL_HAPTIC_CARTESIAN uses -/// the first three \c dir parameters. The cardinal directions would be: -/// - North: 0,-1, 0 -/// - East: 1, 0, 0 -/// - South: 0, 1, 0 -/// - West: -1, 0, 0 -/// -/// The Z axis represents the height of the effect if supported, otherwise -/// it's unused. In cartesian encoding (1, 2) would be the same as (2, 4), you -/// can use any multiple you want, only the direction matters. -/// -/// If type is ::SDL_HAPTIC_SPHERICAL, direction is encoded by two rotations. -/// The first two \c dir parameters are used. The \c dir parameters are as -/// follows (all values are in hundredths of degrees): -/// - Degrees from (1, 0) rotated towards (0, 1). -/// - Degrees towards (0, 0, 1) (device needs at least 3 axes). -/// -/// -/// Example of force coming from the south with all encodings (force coming -/// from the south means the user will have to pull the stick to counteract): -/// \code -/// SDL_HapticDirection direction; -/// -/// // Cartesian directions -/// direction.type = SDL_HAPTIC_CARTESIAN; // Using cartesian direction encoding. -/// direction.dir[0] = 0; // X position -/// direction.dir[1] = 1; // Y position -/// // Assuming the device has 2 axes, we don't need to specify third parameter. -/// -/// // Polar directions -/// direction.type = SDL_HAPTIC_POLAR; // We'll be using polar direction encoding. -/// direction.dir[0] = 18000; // Polar only uses first parameter -/// -/// // Spherical coordinates -/// direction.type = SDL_HAPTIC_SPHERICAL; // Spherical encoding -/// direction.dir[0] = 9000; // Since we only have two axes we don't need more parameters. -/// \endcode -/// -/// \sa SDL_HAPTIC_POLAR -/// \sa SDL_HAPTIC_CARTESIAN -/// \sa SDL_HAPTIC_SPHERICAL -/// \sa SDL_HapticEffect -/// \sa SDL_HapticNumAxes +#[doc = " \\brief Structure that represents a haptic direction."] +#[doc = ""] +#[doc = " This is the direction where the force comes from,"] +#[doc = " instead of the direction in which the force is exerted."] +#[doc = ""] +#[doc = " Directions can be specified by:"] +#[doc = " - ::SDL_HAPTIC_POLAR : Specified by polar coordinates."] +#[doc = " - ::SDL_HAPTIC_CARTESIAN : Specified by cartesian coordinates."] +#[doc = " - ::SDL_HAPTIC_SPHERICAL : Specified by spherical coordinates."] +#[doc = ""] +#[doc = " Cardinal directions of the haptic device are relative to the positioning"] +#[doc = " of the device. North is considered to be away from the user."] +#[doc = ""] +#[doc = " The following diagram represents the cardinal directions:"] +#[doc = " \\verbatim"] +#[doc = ".--."] +#[doc = "|__| .-------."] +#[doc = "|=.| |.-----.|"] +#[doc = "|--| || ||"] +#[doc = "| | |'-----'|"] +#[doc = "|__|~')_____('"] +#[doc = "[ COMPUTER ]"] +#[doc = ""] +#[doc = ""] +#[doc = "North (0,-1)"] +#[doc = "^"] +#[doc = "|"] +#[doc = "|"] +#[doc = "(-1,0) West <----[ HAPTIC ]----> East (1,0)"] +#[doc = "|"] +#[doc = "|"] +#[doc = "v"] +#[doc = "South (0,1)"] +#[doc = ""] +#[doc = ""] +#[doc = "[ USER ]"] +#[doc = "\\|||/"] +#[doc = "(o o)"] +#[doc = "---ooO-(_)-Ooo---"] +#[doc = "\\endverbatim"] +#[doc = ""] +#[doc = " If type is ::SDL_HAPTIC_POLAR, direction is encoded by hundredths of a"] +#[doc = " degree starting north and turning clockwise. ::SDL_HAPTIC_POLAR only uses"] +#[doc = " the first \\c dir parameter. The cardinal directions would be:"] +#[doc = " - North: 0 (0 degrees)"] +#[doc = " - East: 9000 (90 degrees)"] +#[doc = " - South: 18000 (180 degrees)"] +#[doc = " - West: 27000 (270 degrees)"] +#[doc = ""] +#[doc = " If type is ::SDL_HAPTIC_CARTESIAN, direction is encoded by three positions"] +#[doc = " (X axis, Y axis and Z axis (with 3 axes)). ::SDL_HAPTIC_CARTESIAN uses"] +#[doc = " the first three \\c dir parameters. The cardinal directions would be:"] +#[doc = " - North: 0,-1, 0"] +#[doc = " - East: 1, 0, 0"] +#[doc = " - South: 0, 1, 0"] +#[doc = " - West: -1, 0, 0"] +#[doc = ""] +#[doc = " The Z axis represents the height of the effect if supported, otherwise"] +#[doc = " it's unused. In cartesian encoding (1, 2) would be the same as (2, 4), you"] +#[doc = " can use any multiple you want, only the direction matters."] +#[doc = ""] +#[doc = " If type is ::SDL_HAPTIC_SPHERICAL, direction is encoded by two rotations."] +#[doc = " The first two \\c dir parameters are used. The \\c dir parameters are as"] +#[doc = " follows (all values are in hundredths of degrees):"] +#[doc = " - Degrees from (1, 0) rotated towards (0, 1)."] +#[doc = " - Degrees towards (0, 0, 1) (device needs at least 3 axes)."] +#[doc = ""] +#[doc = ""] +#[doc = " Example of force coming from the south with all encodings (force coming"] +#[doc = " from the south means the user will have to pull the stick to counteract):"] +#[doc = " \\code"] +#[doc = " SDL_HapticDirection direction;"] +#[doc = ""] +#[doc = " // Cartesian directions"] +#[doc = " direction.type = SDL_HAPTIC_CARTESIAN; // Using cartesian direction encoding."] +#[doc = " direction.dir[0] = 0; // X position"] +#[doc = " direction.dir[1] = 1; // Y position"] +#[doc = " // Assuming the device has 2 axes, we don't need to specify third parameter."] +#[doc = ""] +#[doc = " // Polar directions"] +#[doc = " direction.type = SDL_HAPTIC_POLAR; // We'll be using polar direction encoding."] +#[doc = " direction.dir[0] = 18000; // Polar only uses first parameter"] +#[doc = ""] +#[doc = " // Spherical coordinates"] +#[doc = " direction.type = SDL_HAPTIC_SPHERICAL; // Spherical encoding"] +#[doc = " direction.dir[0] = 9000; // Since we only have two axes we don't need more parameters."] +#[doc = " \\endcode"] +#[doc = ""] +#[doc = " \\sa SDL_HAPTIC_POLAR"] +#[doc = " \\sa SDL_HAPTIC_CARTESIAN"] +#[doc = " \\sa SDL_HAPTIC_SPHERICAL"] +#[doc = " \\sa SDL_HapticEffect"] +#[doc = " \\sa SDL_HapticNumAxes"] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_HapticDirection { - ///< The type of encoding. + #[doc = "< The type of encoding."] pub type_: Uint8, - ///< The encoded direction. + #[doc = "< The encoded direction."] pub dir: [Sint32; 3usize], } #[test] @@ -13582,39 +14017,39 @@ fn bindgen_test_layout_SDL_HapticDirection() { ) ); } -/// \brief A structure containing a template for a Constant effect. -/// -/// This struct is exclusively for the ::SDL_HAPTIC_CONSTANT effect. -/// -/// A constant effect applies a constant force in the specified direction -/// to the joystick. -/// -/// \sa SDL_HAPTIC_CONSTANT -/// \sa SDL_HapticEffect +#[doc = " \\brief A structure containing a template for a Constant effect."] +#[doc = ""] +#[doc = " This struct is exclusively for the ::SDL_HAPTIC_CONSTANT effect."] +#[doc = ""] +#[doc = " A constant effect applies a constant force in the specified direction"] +#[doc = " to the joystick."] +#[doc = ""] +#[doc = " \\sa SDL_HAPTIC_CONSTANT"] +#[doc = " \\sa SDL_HapticEffect"] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_HapticConstant { - ///< ::SDL_HAPTIC_CONSTANT + #[doc = "< ::SDL_HAPTIC_CONSTANT"] pub type_: Uint16, - ///< Direction of the effect. + #[doc = "< Direction of the effect."] pub direction: SDL_HapticDirection, - ///< Duration of the effect. + #[doc = "< Duration of the effect."] pub length: Uint32, - ///< Delay before starting the effect. + #[doc = "< Delay before starting the effect."] pub delay: Uint16, - ///< Button that triggers the effect. + #[doc = "< Button that triggers the effect."] pub button: Uint16, - ///< How soon it can be triggered again after button. + #[doc = "< How soon it can be triggered again after button."] pub interval: Uint16, - ///< Strength of the constant effect. + #[doc = "< Strength of the constant effect."] pub level: Sint16, - ///< Duration of the attack. + #[doc = "< Duration of the attack."] pub attack_length: Uint16, - ///< Level at the start of the attack. + #[doc = "< Level at the start of the attack."] pub attack_level: Uint16, - ///< Duration of the fade. + #[doc = "< Duration of the fade."] pub fade_length: Uint16, - ///< Level at the end of the fade. + #[doc = "< Level at the end of the fade."] pub fade_level: Uint16, } #[test] @@ -13744,93 +14179,85 @@ fn bindgen_test_layout_SDL_HapticConstant() { ) ); } -/// \brief A structure containing a template for a Periodic effect. -/// -/// The struct handles the following effects: -/// - ::SDL_HAPTIC_SINE -/// - ::SDL_HAPTIC_LEFTRIGHT -/// - ::SDL_HAPTIC_TRIANGLE -/// - ::SDL_HAPTIC_SAWTOOTHUP -/// - ::SDL_HAPTIC_SAWTOOTHDOWN -/// -/// A periodic effect consists in a wave-shaped effect that repeats itself -/// over time. The type determines the shape of the wave and the parameters -/// determine the dimensions of the wave. -/// -/// Phase is given by hundredth of a degree meaning that giving the phase a value -/// of 9000 will displace it 25% of its period. Here are sample values: -/// - 0: No phase displacement. -/// - 9000: Displaced 25% of its period. -/// - 18000: Displaced 50% of its period. -/// - 27000: Displaced 75% of its period. -/// - 36000: Displaced 100% of its period, same as 0, but 0 is preferred. -/// -/// Examples: -/// \verbatim -///SDL_HAPTIC_SINE -///__ __ __ __ -//// \ / \ / \ / -//// \__/ \__/ \__/ -/// -///SDL_HAPTIC_SQUARE -///__ __ __ __ __ -///| | | | | | | | | | -///| |__| |__| |__| |__| | -/// -///SDL_HAPTIC_TRIANGLE -////\ /\ /\ /\ /\ -//// \ / \ / \ / \ / -//// \/ \/ \/ \/ -/// -///SDL_HAPTIC_SAWTOOTHUP -////| /| /| /| /| /| /| -//// | / | / | / | / | / | / | -//// |/ |/ |/ |/ |/ |/ | -/// -///SDL_HAPTIC_SAWTOOTHDOWN -///\ |\ |\ |\ |\ |\ |\ | -///\ | \ | \ | \ | \ | \ | \ | -///\| \| \| \| \| \| \| -///\endverbatim -/// -/// \sa SDL_HAPTIC_SINE -/// \sa SDL_HAPTIC_LEFTRIGHT -/// \sa SDL_HAPTIC_TRIANGLE -/// \sa SDL_HAPTIC_SAWTOOTHUP -/// \sa SDL_HAPTIC_SAWTOOTHDOWN -/// \sa SDL_HapticEffect +#[doc = " \\brief A structure containing a template for a Periodic effect."] +#[doc = ""] +#[doc = " The struct handles the following effects:"] +#[doc = " - ::SDL_HAPTIC_SINE"] +#[doc = " - ::SDL_HAPTIC_LEFTRIGHT"] +#[doc = " - ::SDL_HAPTIC_TRIANGLE"] +#[doc = " - ::SDL_HAPTIC_SAWTOOTHUP"] +#[doc = " - ::SDL_HAPTIC_SAWTOOTHDOWN"] +#[doc = ""] +#[doc = " A periodic effect consists in a wave-shaped effect that repeats itself"] +#[doc = " over time. The type determines the shape of the wave and the parameters"] +#[doc = " determine the dimensions of the wave."] +#[doc = ""] +#[doc = " Phase is given by hundredth of a degree meaning that giving the phase a value"] +#[doc = " of 9000 will displace it 25% of its period. Here are sample values:"] +#[doc = " - 0: No phase displacement."] +#[doc = " - 9000: Displaced 25% of its period."] +#[doc = " - 18000: Displaced 50% of its period."] +#[doc = " - 27000: Displaced 75% of its period."] +#[doc = " - 36000: Displaced 100% of its period, same as 0, but 0 is preferred."] +#[doc = ""] +#[doc = " Examples:"] +#[doc = " \\verbatim"] +#[doc = "SDL_HAPTIC_SINE"] +#[doc = "__ __ __ __"] +#[doc = ""] +#[doc = "SDL_HAPTIC_SQUARE"] +#[doc = "__ __ __ __ __"] +#[doc = "| | | | | | | | | |"] +#[doc = "| |__| |__| |__| |__| |"] +#[doc = ""] +#[doc = "SDL_HAPTIC_TRIANGLE"] +#[doc = ""] +#[doc = "SDL_HAPTIC_SAWTOOTHUP"] +#[doc = ""] +#[doc = "SDL_HAPTIC_SAWTOOTHDOWN"] +#[doc = "\\ |\\ |\\ |\\ |\\ |\\ |\\ |"] +#[doc = "\\ | \\ | \\ | \\ | \\ | \\ | \\ |"] +#[doc = "\\| \\| \\| \\| \\| \\| \\|"] +#[doc = "\\endverbatim"] +#[doc = ""] +#[doc = " \\sa SDL_HAPTIC_SINE"] +#[doc = " \\sa SDL_HAPTIC_LEFTRIGHT"] +#[doc = " \\sa SDL_HAPTIC_TRIANGLE"] +#[doc = " \\sa SDL_HAPTIC_SAWTOOTHUP"] +#[doc = " \\sa SDL_HAPTIC_SAWTOOTHDOWN"] +#[doc = " \\sa SDL_HapticEffect"] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_HapticPeriodic { - ///< ::SDL_HAPTIC_SINE, ::SDL_HAPTIC_LEFTRIGHT, - ///::SDL_HAPTIC_TRIANGLE, ::SDL_HAPTIC_SAWTOOTHUP or - ///::SDL_HAPTIC_SAWTOOTHDOWN + #[doc = "< ::SDL_HAPTIC_SINE, ::SDL_HAPTIC_LEFTRIGHT,"] + #[doc = "::SDL_HAPTIC_TRIANGLE, ::SDL_HAPTIC_SAWTOOTHUP or"] + #[doc = "::SDL_HAPTIC_SAWTOOTHDOWN"] pub type_: Uint16, - ///< Direction of the effect. + #[doc = "< Direction of the effect."] pub direction: SDL_HapticDirection, - ///< Duration of the effect. + #[doc = "< Duration of the effect."] pub length: Uint32, - ///< Delay before starting the effect. + #[doc = "< Delay before starting the effect."] pub delay: Uint16, - ///< Button that triggers the effect. + #[doc = "< Button that triggers the effect."] pub button: Uint16, - ///< How soon it can be triggered again after button. + #[doc = "< How soon it can be triggered again after button."] pub interval: Uint16, - ///< Period of the wave. + #[doc = "< Period of the wave."] pub period: Uint16, - ///< Peak value; if negative, equivalent to 180 degrees extra phase shift. + #[doc = "< Peak value; if negative, equivalent to 180 degrees extra phase shift."] pub magnitude: Sint16, - ///< Mean value of the wave. + #[doc = "< Mean value of the wave."] pub offset: Sint16, - ///< Positive phase shift given by hundredth of a degree. + #[doc = "< Positive phase shift given by hundredth of a degree."] pub phase: Uint16, - ///< Duration of the attack. + #[doc = "< Duration of the attack."] pub attack_length: Uint16, - ///< Level at the start of the attack. + #[doc = "< Level at the start of the attack."] pub attack_level: Uint16, - ///< Duration of the fade. + #[doc = "< Duration of the fade."] pub fade_length: Uint16, - ///< Level at the end of the fade. + #[doc = "< Level at the end of the fade."] pub fade_level: Uint16, } #[test] @@ -13990,55 +14417,55 @@ fn bindgen_test_layout_SDL_HapticPeriodic() { ) ); } -/// \brief A structure containing a template for a Condition effect. -/// -/// The struct handles the following effects: -/// - ::SDL_HAPTIC_SPRING: Effect based on axes position. -/// - ::SDL_HAPTIC_DAMPER: Effect based on axes velocity. -/// - ::SDL_HAPTIC_INERTIA: Effect based on axes acceleration. -/// - ::SDL_HAPTIC_FRICTION: Effect based on axes movement. -/// -/// Direction is handled by condition internals instead of a direction member. -/// The condition effect specific members have three parameters. The first -/// refers to the X axis, the second refers to the Y axis and the third -/// refers to the Z axis. The right terms refer to the positive side of the -/// axis and the left terms refer to the negative side of the axis. Please -/// refer to the ::SDL_HapticDirection diagram for which side is positive and -/// which is negative. -/// -/// \sa SDL_HapticDirection -/// \sa SDL_HAPTIC_SPRING -/// \sa SDL_HAPTIC_DAMPER -/// \sa SDL_HAPTIC_INERTIA -/// \sa SDL_HAPTIC_FRICTION -/// \sa SDL_HapticEffect +#[doc = " \\brief A structure containing a template for a Condition effect."] +#[doc = ""] +#[doc = " The struct handles the following effects:"] +#[doc = " - ::SDL_HAPTIC_SPRING: Effect based on axes position."] +#[doc = " - ::SDL_HAPTIC_DAMPER: Effect based on axes velocity."] +#[doc = " - ::SDL_HAPTIC_INERTIA: Effect based on axes acceleration."] +#[doc = " - ::SDL_HAPTIC_FRICTION: Effect based on axes movement."] +#[doc = ""] +#[doc = " Direction is handled by condition internals instead of a direction member."] +#[doc = " The condition effect specific members have three parameters. The first"] +#[doc = " refers to the X axis, the second refers to the Y axis and the third"] +#[doc = " refers to the Z axis. The right terms refer to the positive side of the"] +#[doc = " axis and the left terms refer to the negative side of the axis. Please"] +#[doc = " refer to the ::SDL_HapticDirection diagram for which side is positive and"] +#[doc = " which is negative."] +#[doc = ""] +#[doc = " \\sa SDL_HapticDirection"] +#[doc = " \\sa SDL_HAPTIC_SPRING"] +#[doc = " \\sa SDL_HAPTIC_DAMPER"] +#[doc = " \\sa SDL_HAPTIC_INERTIA"] +#[doc = " \\sa SDL_HAPTIC_FRICTION"] +#[doc = " \\sa SDL_HapticEffect"] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_HapticCondition { - ///< ::SDL_HAPTIC_SPRING, ::SDL_HAPTIC_DAMPER, - ///::SDL_HAPTIC_INERTIA or ::SDL_HAPTIC_FRICTION + #[doc = "< ::SDL_HAPTIC_SPRING, ::SDL_HAPTIC_DAMPER,"] + #[doc = "::SDL_HAPTIC_INERTIA or ::SDL_HAPTIC_FRICTION"] pub type_: Uint16, - ///< Direction of the effect - Not used ATM. + #[doc = "< Direction of the effect - Not used ATM."] pub direction: SDL_HapticDirection, - ///< Duration of the effect. + #[doc = "< Duration of the effect."] pub length: Uint32, - ///< Delay before starting the effect. + #[doc = "< Delay before starting the effect."] pub delay: Uint16, - ///< Button that triggers the effect. + #[doc = "< Button that triggers the effect."] pub button: Uint16, - ///< How soon it can be triggered again after button. + #[doc = "< How soon it can be triggered again after button."] pub interval: Uint16, - ///< Level when joystick is to the positive side; max 0xFFFF. + #[doc = "< Level when joystick is to the positive side; max 0xFFFF."] pub right_sat: [Uint16; 3usize], - ///< Level when joystick is to the negative side; max 0xFFFF. + #[doc = "< Level when joystick is to the negative side; max 0xFFFF."] pub left_sat: [Uint16; 3usize], - ///< How fast to increase the force towards the positive side. + #[doc = "< How fast to increase the force towards the positive side."] pub right_coeff: [Sint16; 3usize], - ///< How fast to increase the force towards the negative side. + #[doc = "< How fast to increase the force towards the negative side."] pub left_coeff: [Sint16; 3usize], - ///< Size of the dead zone; max 0xFFFF: whole axis-range when 0-centered. + #[doc = "< Size of the dead zone; max 0xFFFF: whole axis-range when 0-centered."] pub deadband: [Uint16; 3usize], - ///< Position of the dead zone. + #[doc = "< Position of the dead zone."] pub center: [Sint16; 3usize], } #[test] @@ -14176,43 +14603,43 @@ fn bindgen_test_layout_SDL_HapticCondition() { ) ); } -/// \brief A structure containing a template for a Ramp effect. -/// -/// This struct is exclusively for the ::SDL_HAPTIC_RAMP effect. -/// -/// The ramp effect starts at start strength and ends at end strength. -/// It augments in linear fashion. If you use attack and fade with a ramp -/// the effects get added to the ramp effect making the effect become -/// quadratic instead of linear. -/// -/// \sa SDL_HAPTIC_RAMP -/// \sa SDL_HapticEffect +#[doc = " \\brief A structure containing a template for a Ramp effect."] +#[doc = ""] +#[doc = " This struct is exclusively for the ::SDL_HAPTIC_RAMP effect."] +#[doc = ""] +#[doc = " The ramp effect starts at start strength and ends at end strength."] +#[doc = " It augments in linear fashion. If you use attack and fade with a ramp"] +#[doc = " the effects get added to the ramp effect making the effect become"] +#[doc = " quadratic instead of linear."] +#[doc = ""] +#[doc = " \\sa SDL_HAPTIC_RAMP"] +#[doc = " \\sa SDL_HapticEffect"] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_HapticRamp { - ///< ::SDL_HAPTIC_RAMP + #[doc = "< ::SDL_HAPTIC_RAMP"] pub type_: Uint16, - ///< Direction of the effect. + #[doc = "< Direction of the effect."] pub direction: SDL_HapticDirection, - ///< Duration of the effect. + #[doc = "< Duration of the effect."] pub length: Uint32, - ///< Delay before starting the effect. + #[doc = "< Delay before starting the effect."] pub delay: Uint16, - ///< Button that triggers the effect. + #[doc = "< Button that triggers the effect."] pub button: Uint16, - ///< How soon it can be triggered again after button. + #[doc = "< How soon it can be triggered again after button."] pub interval: Uint16, - ///< Beginning strength level. + #[doc = "< Beginning strength level."] pub start: Sint16, - ///< Ending strength level. + #[doc = "< Ending strength level."] pub end: Sint16, - ///< Duration of the attack. + #[doc = "< Duration of the attack."] pub attack_length: Uint16, - ///< Level at the start of the attack. + #[doc = "< Level at the start of the attack."] pub attack_level: Uint16, - ///< Duration of the fade. + #[doc = "< Duration of the fade."] pub fade_length: Uint16, - ///< Level at the end of the fade. + #[doc = "< Level at the end of the fade."] pub fade_level: Uint16, } #[test] @@ -14348,26 +14775,26 @@ fn bindgen_test_layout_SDL_HapticRamp() { ) ); } -/// \brief A structure containing a template for a Left/Right effect. -/// -/// This struct is exclusively for the ::SDL_HAPTIC_LEFTRIGHT effect. -/// -/// The Left/Right effect is used to explicitly control the large and small -/// motors, commonly found in modern game controllers. The small (right) motor -/// is high frequency, and the large (left) motor is low frequency. -/// -/// \sa SDL_HAPTIC_LEFTRIGHT -/// \sa SDL_HapticEffect +#[doc = " \\brief A structure containing a template for a Left/Right effect."] +#[doc = ""] +#[doc = " This struct is exclusively for the ::SDL_HAPTIC_LEFTRIGHT effect."] +#[doc = ""] +#[doc = " The Left/Right effect is used to explicitly control the large and small"] +#[doc = " motors, commonly found in modern game controllers. The small (right) motor"] +#[doc = " is high frequency, and the large (left) motor is low frequency."] +#[doc = ""] +#[doc = " \\sa SDL_HAPTIC_LEFTRIGHT"] +#[doc = " \\sa SDL_HapticEffect"] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_HapticLeftRight { - ///< ::SDL_HAPTIC_LEFTRIGHT + #[doc = "< ::SDL_HAPTIC_LEFTRIGHT"] pub type_: Uint16, - ///< Duration of the effect in milliseconds. + #[doc = "< Duration of the effect in milliseconds."] pub length: Uint32, - ///< Control of the large controller motor. + #[doc = "< Control of the large controller motor."] pub large_magnitude: Uint16, - ///< Control of the small controller motor. + #[doc = "< Control of the small controller motor."] pub small_magnitude: Uint16, } #[test] @@ -14427,49 +14854,49 @@ fn bindgen_test_layout_SDL_HapticLeftRight() { ) ); } -/// \brief A structure containing a template for the ::SDL_HAPTIC_CUSTOM effect. -/// -/// This struct is exclusively for the ::SDL_HAPTIC_CUSTOM effect. -/// -/// A custom force feedback effect is much like a periodic effect, where the -/// application can define its exact shape. You will have to allocate the -/// data yourself. Data should consist of channels * samples Uint16 samples. -/// -/// If channels is one, the effect is rotated using the defined direction. -/// Otherwise it uses the samples in data for the different axes. -/// -/// \sa SDL_HAPTIC_CUSTOM -/// \sa SDL_HapticEffect +#[doc = " \\brief A structure containing a template for the ::SDL_HAPTIC_CUSTOM effect."] +#[doc = ""] +#[doc = " This struct is exclusively for the ::SDL_HAPTIC_CUSTOM effect."] +#[doc = ""] +#[doc = " A custom force feedback effect is much like a periodic effect, where the"] +#[doc = " application can define its exact shape. You will have to allocate the"] +#[doc = " data yourself. Data should consist of channels * samples Uint16 samples."] +#[doc = ""] +#[doc = " If channels is one, the effect is rotated using the defined direction."] +#[doc = " Otherwise it uses the samples in data for the different axes."] +#[doc = ""] +#[doc = " \\sa SDL_HAPTIC_CUSTOM"] +#[doc = " \\sa SDL_HapticEffect"] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_HapticCustom { - ///< ::SDL_HAPTIC_CUSTOM + #[doc = "< ::SDL_HAPTIC_CUSTOM"] pub type_: Uint16, - ///< Direction of the effect. + #[doc = "< Direction of the effect."] pub direction: SDL_HapticDirection, - ///< Duration of the effect. + #[doc = "< Duration of the effect."] pub length: Uint32, - ///< Delay before starting the effect. + #[doc = "< Delay before starting the effect."] pub delay: Uint16, - ///< Button that triggers the effect. + #[doc = "< Button that triggers the effect."] pub button: Uint16, - ///< How soon it can be triggered again after button. + #[doc = "< How soon it can be triggered again after button."] pub interval: Uint16, - ///< Axes to use, minimum of one. + #[doc = "< Axes to use, minimum of one."] pub channels: Uint8, - ///< Sample periods. + #[doc = "< Sample periods."] pub period: Uint16, - ///< Amount of samples. + #[doc = "< Amount of samples."] pub samples: Uint16, - ///< Should contain channels*samples items. + #[doc = "< Should contain channels*samples items."] pub data: *mut Uint16, - ///< Duration of the attack. + #[doc = "< Duration of the attack."] pub attack_length: Uint16, - ///< Level at the start of the attack. + #[doc = "< Level at the start of the attack."] pub attack_level: Uint16, - ///< Duration of the fade. + #[doc = "< Duration of the fade."] pub fade_length: Uint16, - ///< Level at the end of the fade. + #[doc = "< Level at the end of the fade."] pub fade_level: Uint16, } #[test] @@ -14625,89 +15052,89 @@ fn bindgen_test_layout_SDL_HapticCustom() { ) ); } -/// \brief The generic template for any haptic effect. -/// -/// All values max at 32767 (0x7FFF). Signed values also can be negative. -/// Time values unless specified otherwise are in milliseconds. -/// -/// You can also pass ::SDL_HAPTIC_INFINITY to length instead of a 0-32767 -/// value. Neither delay, interval, attack_length nor fade_length support -/// ::SDL_HAPTIC_INFINITY. Fade will also not be used since effect never ends. -/// -/// Additionally, the ::SDL_HAPTIC_RAMP effect does not support a duration of -/// ::SDL_HAPTIC_INFINITY. -/// -/// Button triggers may not be supported on all devices, it is advised to not -/// use them if possible. Buttons start at index 1 instead of index 0 like -/// the joystick. -/// -/// If both attack_length and fade_level are 0, the envelope is not used, -/// otherwise both values are used. -/// -/// Common parts: -/// \code -/// // Replay - All effects have this -/// Uint32 length; // Duration of effect (ms). -/// Uint16 delay; // Delay before starting effect. -/// -/// // Trigger - All effects have this -/// Uint16 button; // Button that triggers effect. -/// Uint16 interval; // How soon before effect can be triggered again. -/// -/// // Envelope - All effects except condition effects have this -/// Uint16 attack_length; // Duration of the attack (ms). -/// Uint16 attack_level; // Level at the start of the attack. -/// Uint16 fade_length; // Duration of the fade out (ms). -/// Uint16 fade_level; // Level at the end of the fade. -/// \endcode -/// -/// -/// Here we have an example of a constant effect evolution in time: -/// \verbatim -///Strength -///^ -///| -///| effect level --> _________________ -///| / \ -///| / \ -///| / \ -///| / \ -///| attack_level --> | \ -///| | | <--- fade_level -///| -///+--------------------------------------------------> Time -///[--] [---] -///attack_length fade_length -/// -///[------------------][-----------------------] -///delay length -///\endverbatim -/// -/// Note either the attack_level or the fade_level may be above the actual -/// effect level. -/// -/// \sa SDL_HapticConstant -/// \sa SDL_HapticPeriodic -/// \sa SDL_HapticCondition -/// \sa SDL_HapticRamp -/// \sa SDL_HapticLeftRight -/// \sa SDL_HapticCustom +#[doc = " \\brief The generic template for any haptic effect."] +#[doc = ""] +#[doc = " All values max at 32767 (0x7FFF). Signed values also can be negative."] +#[doc = " Time values unless specified otherwise are in milliseconds."] +#[doc = ""] +#[doc = " You can also pass ::SDL_HAPTIC_INFINITY to length instead of a 0-32767"] +#[doc = " value. Neither delay, interval, attack_length nor fade_length support"] +#[doc = " ::SDL_HAPTIC_INFINITY. Fade will also not be used since effect never ends."] +#[doc = ""] +#[doc = " Additionally, the ::SDL_HAPTIC_RAMP effect does not support a duration of"] +#[doc = " ::SDL_HAPTIC_INFINITY."] +#[doc = ""] +#[doc = " Button triggers may not be supported on all devices, it is advised to not"] +#[doc = " use them if possible. Buttons start at index 1 instead of index 0 like"] +#[doc = " the joystick."] +#[doc = ""] +#[doc = " If both attack_length and fade_level are 0, the envelope is not used,"] +#[doc = " otherwise both values are used."] +#[doc = ""] +#[doc = " Common parts:"] +#[doc = " \\code"] +#[doc = " // Replay - All effects have this"] +#[doc = " Uint32 length; // Duration of effect (ms)."] +#[doc = " Uint16 delay; // Delay before starting effect."] +#[doc = ""] +#[doc = " // Trigger - All effects have this"] +#[doc = " Uint16 button; // Button that triggers effect."] +#[doc = " Uint16 interval; // How soon before effect can be triggered again."] +#[doc = ""] +#[doc = " // Envelope - All effects except condition effects have this"] +#[doc = " Uint16 attack_length; // Duration of the attack (ms)."] +#[doc = " Uint16 attack_level; // Level at the start of the attack."] +#[doc = " Uint16 fade_length; // Duration of the fade out (ms)."] +#[doc = " Uint16 fade_level; // Level at the end of the fade."] +#[doc = " \\endcode"] +#[doc = ""] +#[doc = ""] +#[doc = " Here we have an example of a constant effect evolution in time:"] +#[doc = " \\verbatim"] +#[doc = "Strength"] +#[doc = "^"] +#[doc = "|"] +#[doc = "| effect level --> _________________"] +#[doc = "| / \\"] +#[doc = "| / \\"] +#[doc = "| / \\"] +#[doc = "| / \\"] +#[doc = "| attack_level --> | \\"] +#[doc = "| | | <--- fade_level"] +#[doc = "|"] +#[doc = "+--------------------------------------------------> Time"] +#[doc = "[--] [---]"] +#[doc = "attack_length fade_length"] +#[doc = ""] +#[doc = "[------------------][-----------------------]"] +#[doc = "delay length"] +#[doc = "\\endverbatim"] +#[doc = ""] +#[doc = " Note either the attack_level or the fade_level may be above the actual"] +#[doc = " effect level."] +#[doc = ""] +#[doc = " \\sa SDL_HapticConstant"] +#[doc = " \\sa SDL_HapticPeriodic"] +#[doc = " \\sa SDL_HapticCondition"] +#[doc = " \\sa SDL_HapticRamp"] +#[doc = " \\sa SDL_HapticLeftRight"] +#[doc = " \\sa SDL_HapticCustom"] #[repr(C)] #[derive(Copy, Clone)] pub union SDL_HapticEffect { - ///< Effect type. + #[doc = "< Effect type."] pub type_: Uint16, - ///< Constant effect. + #[doc = "< Constant effect."] pub constant: SDL_HapticConstant, - ///< Periodic effect. + #[doc = "< Periodic effect."] pub periodic: SDL_HapticPeriodic, - ///< Condition effect. + #[doc = "< Condition effect."] pub condition: SDL_HapticCondition, - ///< Ramp effect. + #[doc = "< Ramp effect."] pub ramp: SDL_HapticRamp, - ///< Left/Right effect. + #[doc = "< Left/Right effect."] pub leftright: SDL_HapticLeftRight, - ///< Custom effect. + #[doc = "< Custom effect."] pub custom: SDL_HapticCustom, _bindgen_union_align: [u64; 9usize], } @@ -14795,215 +15222,215 @@ fn bindgen_test_layout_SDL_HapticEffect() { ); } extern "C" { - /// \brief Count the number of haptic devices attached to the system. - /// - /// \return Number of haptic devices detected on the system. + #[doc = " \\brief Count the number of haptic devices attached to the system."] + #[doc = ""] + #[doc = " \\return Number of haptic devices detected on the system."] pub fn SDL_NumHaptics() -> libc::c_int; } extern "C" { - /// \brief Get the implementation dependent name of a haptic device. - /// - /// This can be called before any joysticks are opened. - /// If no name can be found, this function returns NULL. - /// - /// \param device_index Index of the device to get its name. - /// \return Name of the device or NULL on error. - /// - /// \sa SDL_NumHaptics + #[doc = " \\brief Get the implementation dependent name of a haptic device."] + #[doc = ""] + #[doc = " This can be called before any joysticks are opened."] + #[doc = " If no name can be found, this function returns NULL."] + #[doc = ""] + #[doc = " \\param device_index Index of the device to get its name."] + #[doc = " \\return Name of the device or NULL on error."] + #[doc = ""] + #[doc = " \\sa SDL_NumHaptics"] pub fn SDL_HapticName(device_index: libc::c_int) -> *const libc::c_char; } extern "C" { - /// \brief Opens a haptic device for use. - /// - /// The index passed as an argument refers to the N'th haptic device on this - /// system. - /// - /// When opening a haptic device, its gain will be set to maximum and - /// autocenter will be disabled. To modify these values use - /// SDL_HapticSetGain() and SDL_HapticSetAutocenter(). - /// - /// \param device_index Index of the device to open. - /// \return Device identifier or NULL on error. - /// - /// \sa SDL_HapticIndex - /// \sa SDL_HapticOpenFromMouse - /// \sa SDL_HapticOpenFromJoystick - /// \sa SDL_HapticClose - /// \sa SDL_HapticSetGain - /// \sa SDL_HapticSetAutocenter - /// \sa SDL_HapticPause - /// \sa SDL_HapticStopAll + #[doc = " \\brief Opens a haptic device for use."] + #[doc = ""] + #[doc = " The index passed as an argument refers to the N'th haptic device on this"] + #[doc = " system."] + #[doc = ""] + #[doc = " When opening a haptic device, its gain will be set to maximum and"] + #[doc = " autocenter will be disabled. To modify these values use"] + #[doc = " SDL_HapticSetGain() and SDL_HapticSetAutocenter()."] + #[doc = ""] + #[doc = " \\param device_index Index of the device to open."] + #[doc = " \\return Device identifier or NULL on error."] + #[doc = ""] + #[doc = " \\sa SDL_HapticIndex"] + #[doc = " \\sa SDL_HapticOpenFromMouse"] + #[doc = " \\sa SDL_HapticOpenFromJoystick"] + #[doc = " \\sa SDL_HapticClose"] + #[doc = " \\sa SDL_HapticSetGain"] + #[doc = " \\sa SDL_HapticSetAutocenter"] + #[doc = " \\sa SDL_HapticPause"] + #[doc = " \\sa SDL_HapticStopAll"] pub fn SDL_HapticOpen(device_index: libc::c_int) -> *mut SDL_Haptic; } extern "C" { - /// \brief Checks if the haptic device at index has been opened. - /// - /// \param device_index Index to check to see if it has been opened. - /// \return 1 if it has been opened or 0 if it hasn't. - /// - /// \sa SDL_HapticOpen - /// \sa SDL_HapticIndex + #[doc = " \\brief Checks if the haptic device at index has been opened."] + #[doc = ""] + #[doc = " \\param device_index Index to check to see if it has been opened."] + #[doc = " \\return 1 if it has been opened or 0 if it hasn't."] + #[doc = ""] + #[doc = " \\sa SDL_HapticOpen"] + #[doc = " \\sa SDL_HapticIndex"] pub fn SDL_HapticOpened(device_index: libc::c_int) -> libc::c_int; } extern "C" { - /// \brief Gets the index of a haptic device. - /// - /// \param haptic Haptic device to get the index of. - /// \return The index of the haptic device or -1 on error. - /// - /// \sa SDL_HapticOpen - /// \sa SDL_HapticOpened + #[doc = " \\brief Gets the index of a haptic device."] + #[doc = ""] + #[doc = " \\param haptic Haptic device to get the index of."] + #[doc = " \\return The index of the haptic device or -1 on error."] + #[doc = ""] + #[doc = " \\sa SDL_HapticOpen"] + #[doc = " \\sa SDL_HapticOpened"] pub fn SDL_HapticIndex(haptic: *mut SDL_Haptic) -> libc::c_int; } extern "C" { - /// \brief Gets whether or not the current mouse has haptic capabilities. - /// - /// \return SDL_TRUE if the mouse is haptic, SDL_FALSE if it isn't. - /// - /// \sa SDL_HapticOpenFromMouse + #[doc = " \\brief Gets whether or not the current mouse has haptic capabilities."] + #[doc = ""] + #[doc = " \\return SDL_TRUE if the mouse is haptic, SDL_FALSE if it isn't."] + #[doc = ""] + #[doc = " \\sa SDL_HapticOpenFromMouse"] pub fn SDL_MouseIsHaptic() -> libc::c_int; } extern "C" { - /// \brief Tries to open a haptic device from the current mouse. - /// - /// \return The haptic device identifier or NULL on error. - /// - /// \sa SDL_MouseIsHaptic - /// \sa SDL_HapticOpen + #[doc = " \\brief Tries to open a haptic device from the current mouse."] + #[doc = ""] + #[doc = " \\return The haptic device identifier or NULL on error."] + #[doc = ""] + #[doc = " \\sa SDL_MouseIsHaptic"] + #[doc = " \\sa SDL_HapticOpen"] pub fn SDL_HapticOpenFromMouse() -> *mut SDL_Haptic; } extern "C" { - /// \brief Checks to see if a joystick has haptic features. - /// - /// \param joystick Joystick to test for haptic capabilities. - /// \return SDL_TRUE if the joystick is haptic, SDL_FALSE if it isn't - /// or -1 if an error occurred. - /// - /// \sa SDL_HapticOpenFromJoystick + #[doc = " \\brief Checks to see if a joystick has haptic features."] + #[doc = ""] + #[doc = " \\param joystick Joystick to test for haptic capabilities."] + #[doc = " \\return SDL_TRUE if the joystick is haptic, SDL_FALSE if it isn't"] + #[doc = " or -1 if an error occurred."] + #[doc = ""] + #[doc = " \\sa SDL_HapticOpenFromJoystick"] pub fn SDL_JoystickIsHaptic(joystick: *mut SDL_Joystick) -> libc::c_int; } extern "C" { - /// \brief Opens a haptic device for use from a joystick device. - /// - /// You must still close the haptic device separately. It will not be closed - /// with the joystick. - /// - /// When opening from a joystick you should first close the haptic device before - /// closing the joystick device. If not, on some implementations the haptic - /// device will also get unallocated and you'll be unable to use force feedback - /// on that device. - /// - /// \param joystick Joystick to create a haptic device from. - /// \return A valid haptic device identifier on success or NULL on error. - /// - /// \sa SDL_HapticOpen - /// \sa SDL_HapticClose + #[doc = " \\brief Opens a haptic device for use from a joystick device."] + #[doc = ""] + #[doc = " You must still close the haptic device separately. It will not be closed"] + #[doc = " with the joystick."] + #[doc = ""] + #[doc = " When opening from a joystick you should first close the haptic device before"] + #[doc = " closing the joystick device. If not, on some implementations the haptic"] + #[doc = " device will also get unallocated and you'll be unable to use force feedback"] + #[doc = " on that device."] + #[doc = ""] + #[doc = " \\param joystick Joystick to create a haptic device from."] + #[doc = " \\return A valid haptic device identifier on success or NULL on error."] + #[doc = ""] + #[doc = " \\sa SDL_HapticOpen"] + #[doc = " \\sa SDL_HapticClose"] pub fn SDL_HapticOpenFromJoystick(joystick: *mut SDL_Joystick) -> *mut SDL_Haptic; } extern "C" { - /// \brief Closes a haptic device previously opened with SDL_HapticOpen(). - /// - /// \param haptic Haptic device to close. + #[doc = " \\brief Closes a haptic device previously opened with SDL_HapticOpen()."] + #[doc = ""] + #[doc = " \\param haptic Haptic device to close."] pub fn SDL_HapticClose(haptic: *mut SDL_Haptic); } extern "C" { - /// \brief Returns the number of effects a haptic device can store. - /// - /// On some platforms this isn't fully supported, and therefore is an - /// approximation. Always check to see if your created effect was actually - /// created and do not rely solely on SDL_HapticNumEffects(). - /// - /// \param haptic The haptic device to query effect max. - /// \return The number of effects the haptic device can store or - /// -1 on error. - /// - /// \sa SDL_HapticNumEffectsPlaying - /// \sa SDL_HapticQuery + #[doc = " \\brief Returns the number of effects a haptic device can store."] + #[doc = ""] + #[doc = " On some platforms this isn't fully supported, and therefore is an"] + #[doc = " approximation. Always check to see if your created effect was actually"] + #[doc = " created and do not rely solely on SDL_HapticNumEffects()."] + #[doc = ""] + #[doc = " \\param haptic The haptic device to query effect max."] + #[doc = " \\return The number of effects the haptic device can store or"] + #[doc = " -1 on error."] + #[doc = ""] + #[doc = " \\sa SDL_HapticNumEffectsPlaying"] + #[doc = " \\sa SDL_HapticQuery"] pub fn SDL_HapticNumEffects(haptic: *mut SDL_Haptic) -> libc::c_int; } extern "C" { - /// \brief Returns the number of effects a haptic device can play at the same - /// time. - /// - /// This is not supported on all platforms, but will always return a value. - /// Added here for the sake of completeness. - /// - /// \param haptic The haptic device to query maximum playing effects. - /// \return The number of effects the haptic device can play at the same time - /// or -1 on error. - /// - /// \sa SDL_HapticNumEffects - /// \sa SDL_HapticQuery + #[doc = " \\brief Returns the number of effects a haptic device can play at the same"] + #[doc = " time."] + #[doc = ""] + #[doc = " This is not supported on all platforms, but will always return a value."] + #[doc = " Added here for the sake of completeness."] + #[doc = ""] + #[doc = " \\param haptic The haptic device to query maximum playing effects."] + #[doc = " \\return The number of effects the haptic device can play at the same time"] + #[doc = " or -1 on error."] + #[doc = ""] + #[doc = " \\sa SDL_HapticNumEffects"] + #[doc = " \\sa SDL_HapticQuery"] pub fn SDL_HapticNumEffectsPlaying(haptic: *mut SDL_Haptic) -> libc::c_int; } extern "C" { - /// \brief Gets the haptic device's supported features in bitwise manner. - /// - /// Example: - /// \code - /// if (SDL_HapticQuery(haptic) & SDL_HAPTIC_CONSTANT) { - /// printf("We have constant haptic effect!\n"); - /// } - /// \endcode - /// - /// \param haptic The haptic device to query. - /// \return Haptic features in bitwise manner (OR'd). - /// - /// \sa SDL_HapticNumEffects - /// \sa SDL_HapticEffectSupported + #[doc = " \\brief Gets the haptic device's supported features in bitwise manner."] + #[doc = ""] + #[doc = " Example:"] + #[doc = " \\code"] + #[doc = " if (SDL_HapticQuery(haptic) & SDL_HAPTIC_CONSTANT) {"] + #[doc = " printf(\"We have constant haptic effect!\\n\");"] + #[doc = " }"] + #[doc = " \\endcode"] + #[doc = ""] + #[doc = " \\param haptic The haptic device to query."] + #[doc = " \\return Haptic features in bitwise manner (OR'd)."] + #[doc = ""] + #[doc = " \\sa SDL_HapticNumEffects"] + #[doc = " \\sa SDL_HapticEffectSupported"] pub fn SDL_HapticQuery(haptic: *mut SDL_Haptic) -> libc::c_uint; } extern "C" { - /// \brief Gets the number of haptic axes the device has. - /// - /// \sa SDL_HapticDirection + #[doc = " \\brief Gets the number of haptic axes the device has."] + #[doc = ""] + #[doc = " \\sa SDL_HapticDirection"] pub fn SDL_HapticNumAxes(haptic: *mut SDL_Haptic) -> libc::c_int; } extern "C" { - /// \brief Checks to see if effect is supported by haptic. - /// - /// \param haptic Haptic device to check on. - /// \param effect Effect to check to see if it is supported. - /// \return SDL_TRUE if effect is supported, SDL_FALSE if it isn't or -1 on error. - /// - /// \sa SDL_HapticQuery - /// \sa SDL_HapticNewEffect + #[doc = " \\brief Checks to see if effect is supported by haptic."] + #[doc = ""] + #[doc = " \\param haptic Haptic device to check on."] + #[doc = " \\param effect Effect to check to see if it is supported."] + #[doc = " \\return SDL_TRUE if effect is supported, SDL_FALSE if it isn't or -1 on error."] + #[doc = ""] + #[doc = " \\sa SDL_HapticQuery"] + #[doc = " \\sa SDL_HapticNewEffect"] pub fn SDL_HapticEffectSupported( haptic: *mut SDL_Haptic, effect: *mut SDL_HapticEffect, ) -> libc::c_int; } extern "C" { - /// \brief Creates a new haptic effect on the device. - /// - /// \param haptic Haptic device to create the effect on. - /// \param effect Properties of the effect to create. - /// \return The identifier of the effect on success or -1 on error. - /// - /// \sa SDL_HapticUpdateEffect - /// \sa SDL_HapticRunEffect - /// \sa SDL_HapticDestroyEffect + #[doc = " \\brief Creates a new haptic effect on the device."] + #[doc = ""] + #[doc = " \\param haptic Haptic device to create the effect on."] + #[doc = " \\param effect Properties of the effect to create."] + #[doc = " \\return The identifier of the effect on success or -1 on error."] + #[doc = ""] + #[doc = " \\sa SDL_HapticUpdateEffect"] + #[doc = " \\sa SDL_HapticRunEffect"] + #[doc = " \\sa SDL_HapticDestroyEffect"] pub fn SDL_HapticNewEffect( haptic: *mut SDL_Haptic, effect: *mut SDL_HapticEffect, ) -> libc::c_int; } extern "C" { - /// \brief Updates the properties of an effect. - /// - /// Can be used dynamically, although behavior when dynamically changing - /// direction may be strange. Specifically the effect may reupload itself - /// and start playing from the start. You cannot change the type either when - /// running SDL_HapticUpdateEffect(). - /// - /// \param haptic Haptic device that has the effect. - /// \param effect Identifier of the effect to update. - /// \param data New effect properties to use. - /// \return 0 on success or -1 on error. - /// - /// \sa SDL_HapticNewEffect - /// \sa SDL_HapticRunEffect - /// \sa SDL_HapticDestroyEffect + #[doc = " \\brief Updates the properties of an effect."] + #[doc = ""] + #[doc = " Can be used dynamically, although behavior when dynamically changing"] + #[doc = " direction may be strange. Specifically the effect may reupload itself"] + #[doc = " and start playing from the start. You cannot change the type either when"] + #[doc = " running SDL_HapticUpdateEffect()."] + #[doc = ""] + #[doc = " \\param haptic Haptic device that has the effect."] + #[doc = " \\param effect Identifier of the effect to update."] + #[doc = " \\param data New effect properties to use."] + #[doc = " \\return 0 on success or -1 on error."] + #[doc = ""] + #[doc = " \\sa SDL_HapticNewEffect"] + #[doc = " \\sa SDL_HapticRunEffect"] + #[doc = " \\sa SDL_HapticDestroyEffect"] pub fn SDL_HapticUpdateEffect( haptic: *mut SDL_Haptic, effect: libc::c_int, @@ -15011,22 +15438,22 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// \brief Runs the haptic effect on its associated haptic device. - /// - /// If iterations are ::SDL_HAPTIC_INFINITY, it'll run the effect over and over - /// repeating the envelope (attack and fade) every time. If you only want the - /// effect to last forever, set ::SDL_HAPTIC_INFINITY in the effect's length - /// parameter. - /// - /// \param haptic Haptic device to run the effect on. - /// \param effect Identifier of the haptic effect to run. - /// \param iterations Number of iterations to run the effect. Use - /// ::SDL_HAPTIC_INFINITY for infinity. - /// \return 0 on success or -1 on error. - /// - /// \sa SDL_HapticStopEffect - /// \sa SDL_HapticDestroyEffect - /// \sa SDL_HapticGetEffectStatus + #[doc = " \\brief Runs the haptic effect on its associated haptic device."] + #[doc = ""] + #[doc = " If iterations are ::SDL_HAPTIC_INFINITY, it'll run the effect over and over"] + #[doc = " repeating the envelope (attack and fade) every time. If you only want the"] + #[doc = " effect to last forever, set ::SDL_HAPTIC_INFINITY in the effect's length"] + #[doc = " parameter."] + #[doc = ""] + #[doc = " \\param haptic Haptic device to run the effect on."] + #[doc = " \\param effect Identifier of the haptic effect to run."] + #[doc = " \\param iterations Number of iterations to run the effect. Use"] + #[doc = " ::SDL_HAPTIC_INFINITY for infinity."] + #[doc = " \\return 0 on success or -1 on error."] + #[doc = ""] + #[doc = " \\sa SDL_HapticStopEffect"] + #[doc = " \\sa SDL_HapticDestroyEffect"] + #[doc = " \\sa SDL_HapticGetEffectStatus"] pub fn SDL_HapticRunEffect( haptic: *mut SDL_Haptic, effect: libc::c_int, @@ -15034,141 +15461,141 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// \brief Stops the haptic effect on its associated haptic device. - /// - /// \param haptic Haptic device to stop the effect on. - /// \param effect Identifier of the effect to stop. - /// \return 0 on success or -1 on error. - /// - /// \sa SDL_HapticRunEffect - /// \sa SDL_HapticDestroyEffect + #[doc = " \\brief Stops the haptic effect on its associated haptic device."] + #[doc = ""] + #[doc = " \\param haptic Haptic device to stop the effect on."] + #[doc = " \\param effect Identifier of the effect to stop."] + #[doc = " \\return 0 on success or -1 on error."] + #[doc = ""] + #[doc = " \\sa SDL_HapticRunEffect"] + #[doc = " \\sa SDL_HapticDestroyEffect"] pub fn SDL_HapticStopEffect(haptic: *mut SDL_Haptic, effect: libc::c_int) -> libc::c_int; } extern "C" { - /// \brief Destroys a haptic effect on the device. - /// - /// This will stop the effect if it's running. Effects are automatically - /// destroyed when the device is closed. - /// - /// \param haptic Device to destroy the effect on. - /// \param effect Identifier of the effect to destroy. - /// - /// \sa SDL_HapticNewEffect + #[doc = " \\brief Destroys a haptic effect on the device."] + #[doc = ""] + #[doc = " This will stop the effect if it's running. Effects are automatically"] + #[doc = " destroyed when the device is closed."] + #[doc = ""] + #[doc = " \\param haptic Device to destroy the effect on."] + #[doc = " \\param effect Identifier of the effect to destroy."] + #[doc = ""] + #[doc = " \\sa SDL_HapticNewEffect"] pub fn SDL_HapticDestroyEffect(haptic: *mut SDL_Haptic, effect: libc::c_int); } extern "C" { - /// \brief Gets the status of the current effect on the haptic device. - /// - /// Device must support the ::SDL_HAPTIC_STATUS feature. - /// - /// \param haptic Haptic device to query the effect status on. - /// \param effect Identifier of the effect to query its status. - /// \return 0 if it isn't playing, 1 if it is playing or -1 on error. - /// - /// \sa SDL_HapticRunEffect - /// \sa SDL_HapticStopEffect + #[doc = " \\brief Gets the status of the current effect on the haptic device."] + #[doc = ""] + #[doc = " Device must support the ::SDL_HAPTIC_STATUS feature."] + #[doc = ""] + #[doc = " \\param haptic Haptic device to query the effect status on."] + #[doc = " \\param effect Identifier of the effect to query its status."] + #[doc = " \\return 0 if it isn't playing, 1 if it is playing or -1 on error."] + #[doc = ""] + #[doc = " \\sa SDL_HapticRunEffect"] + #[doc = " \\sa SDL_HapticStopEffect"] pub fn SDL_HapticGetEffectStatus(haptic: *mut SDL_Haptic, effect: libc::c_int) -> libc::c_int; } extern "C" { - /// \brief Sets the global gain of the device. - /// - /// Device must support the ::SDL_HAPTIC_GAIN feature. - /// - /// The user may specify the maximum gain by setting the environment variable - /// SDL_HAPTIC_GAIN_MAX which should be between 0 and 100. All calls to - /// SDL_HapticSetGain() will scale linearly using SDL_HAPTIC_GAIN_MAX as the - /// maximum. - /// - /// \param haptic Haptic device to set the gain on. - /// \param gain Value to set the gain to, should be between 0 and 100. - /// \return 0 on success or -1 on error. - /// - /// \sa SDL_HapticQuery + #[doc = " \\brief Sets the global gain of the device."] + #[doc = ""] + #[doc = " Device must support the ::SDL_HAPTIC_GAIN feature."] + #[doc = ""] + #[doc = " The user may specify the maximum gain by setting the environment variable"] + #[doc = " SDL_HAPTIC_GAIN_MAX which should be between 0 and 100. All calls to"] + #[doc = " SDL_HapticSetGain() will scale linearly using SDL_HAPTIC_GAIN_MAX as the"] + #[doc = " maximum."] + #[doc = ""] + #[doc = " \\param haptic Haptic device to set the gain on."] + #[doc = " \\param gain Value to set the gain to, should be between 0 and 100."] + #[doc = " \\return 0 on success or -1 on error."] + #[doc = ""] + #[doc = " \\sa SDL_HapticQuery"] pub fn SDL_HapticSetGain(haptic: *mut SDL_Haptic, gain: libc::c_int) -> libc::c_int; } extern "C" { - /// \brief Sets the global autocenter of the device. - /// - /// Autocenter should be between 0 and 100. Setting it to 0 will disable - /// autocentering. - /// - /// Device must support the ::SDL_HAPTIC_AUTOCENTER feature. - /// - /// \param haptic Haptic device to set autocentering on. - /// \param autocenter Value to set autocenter to, 0 disables autocentering. - /// \return 0 on success or -1 on error. - /// - /// \sa SDL_HapticQuery + #[doc = " \\brief Sets the global autocenter of the device."] + #[doc = ""] + #[doc = " Autocenter should be between 0 and 100. Setting it to 0 will disable"] + #[doc = " autocentering."] + #[doc = ""] + #[doc = " Device must support the ::SDL_HAPTIC_AUTOCENTER feature."] + #[doc = ""] + #[doc = " \\param haptic Haptic device to set autocentering on."] + #[doc = " \\param autocenter Value to set autocenter to, 0 disables autocentering."] + #[doc = " \\return 0 on success or -1 on error."] + #[doc = ""] + #[doc = " \\sa SDL_HapticQuery"] pub fn SDL_HapticSetAutocenter(haptic: *mut SDL_Haptic, autocenter: libc::c_int) -> libc::c_int; } extern "C" { - /// \brief Pauses a haptic device. - /// - /// Device must support the ::SDL_HAPTIC_PAUSE feature. Call - /// SDL_HapticUnpause() to resume playback. - /// - /// Do not modify the effects nor add new ones while the device is paused. - /// That can cause all sorts of weird errors. - /// - /// \param haptic Haptic device to pause. - /// \return 0 on success or -1 on error. - /// - /// \sa SDL_HapticUnpause + #[doc = " \\brief Pauses a haptic device."] + #[doc = ""] + #[doc = " Device must support the ::SDL_HAPTIC_PAUSE feature. Call"] + #[doc = " SDL_HapticUnpause() to resume playback."] + #[doc = ""] + #[doc = " Do not modify the effects nor add new ones while the device is paused."] + #[doc = " That can cause all sorts of weird errors."] + #[doc = ""] + #[doc = " \\param haptic Haptic device to pause."] + #[doc = " \\return 0 on success or -1 on error."] + #[doc = ""] + #[doc = " \\sa SDL_HapticUnpause"] pub fn SDL_HapticPause(haptic: *mut SDL_Haptic) -> libc::c_int; } extern "C" { - /// \brief Unpauses a haptic device. - /// - /// Call to unpause after SDL_HapticPause(). - /// - /// \param haptic Haptic device to unpause. - /// \return 0 on success or -1 on error. - /// - /// \sa SDL_HapticPause + #[doc = " \\brief Unpauses a haptic device."] + #[doc = ""] + #[doc = " Call to unpause after SDL_HapticPause()."] + #[doc = ""] + #[doc = " \\param haptic Haptic device to unpause."] + #[doc = " \\return 0 on success or -1 on error."] + #[doc = ""] + #[doc = " \\sa SDL_HapticPause"] pub fn SDL_HapticUnpause(haptic: *mut SDL_Haptic) -> libc::c_int; } extern "C" { - /// \brief Stops all the currently playing effects on a haptic device. - /// - /// \param haptic Haptic device to stop. - /// \return 0 on success or -1 on error. + #[doc = " \\brief Stops all the currently playing effects on a haptic device."] + #[doc = ""] + #[doc = " \\param haptic Haptic device to stop."] + #[doc = " \\return 0 on success or -1 on error."] pub fn SDL_HapticStopAll(haptic: *mut SDL_Haptic) -> libc::c_int; } extern "C" { - /// \brief Checks to see if rumble is supported on a haptic device. - /// - /// \param haptic Haptic device to check to see if it supports rumble. - /// \return SDL_TRUE if effect is supported, SDL_FALSE if it isn't or -1 on error. - /// - /// \sa SDL_HapticRumbleInit - /// \sa SDL_HapticRumblePlay - /// \sa SDL_HapticRumbleStop + #[doc = " \\brief Checks to see if rumble is supported on a haptic device."] + #[doc = ""] + #[doc = " \\param haptic Haptic device to check to see if it supports rumble."] + #[doc = " \\return SDL_TRUE if effect is supported, SDL_FALSE if it isn't or -1 on error."] + #[doc = ""] + #[doc = " \\sa SDL_HapticRumbleInit"] + #[doc = " \\sa SDL_HapticRumblePlay"] + #[doc = " \\sa SDL_HapticRumbleStop"] pub fn SDL_HapticRumbleSupported(haptic: *mut SDL_Haptic) -> libc::c_int; } extern "C" { - /// \brief Initializes the haptic device for simple rumble playback. - /// - /// \param haptic Haptic device to initialize for simple rumble playback. - /// \return 0 on success or -1 on error. - /// - /// \sa SDL_HapticOpen - /// \sa SDL_HapticRumbleSupported - /// \sa SDL_HapticRumblePlay - /// \sa SDL_HapticRumbleStop + #[doc = " \\brief Initializes the haptic device for simple rumble playback."] + #[doc = ""] + #[doc = " \\param haptic Haptic device to initialize for simple rumble playback."] + #[doc = " \\return 0 on success or -1 on error."] + #[doc = ""] + #[doc = " \\sa SDL_HapticOpen"] + #[doc = " \\sa SDL_HapticRumbleSupported"] + #[doc = " \\sa SDL_HapticRumblePlay"] + #[doc = " \\sa SDL_HapticRumbleStop"] pub fn SDL_HapticRumbleInit(haptic: *mut SDL_Haptic) -> libc::c_int; } extern "C" { - /// \brief Runs simple rumble on a haptic device - /// - /// \param haptic Haptic device to play rumble effect on. - /// \param strength Strength of the rumble to play as a 0-1 float value. - /// \param length Length of the rumble to play in milliseconds. - /// \return 0 on success or -1 on error. - /// - /// \sa SDL_HapticRumbleSupported - /// \sa SDL_HapticRumbleInit - /// \sa SDL_HapticRumbleStop + #[doc = " \\brief Runs simple rumble on a haptic device"] + #[doc = ""] + #[doc = " \\param haptic Haptic device to play rumble effect on."] + #[doc = " \\param strength Strength of the rumble to play as a 0-1 float value."] + #[doc = " \\param length Length of the rumble to play in milliseconds."] + #[doc = " \\return 0 on success or -1 on error."] + #[doc = ""] + #[doc = " \\sa SDL_HapticRumbleSupported"] + #[doc = " \\sa SDL_HapticRumbleInit"] + #[doc = " \\sa SDL_HapticRumbleStop"] pub fn SDL_HapticRumblePlay( haptic: *mut SDL_Haptic, strength: f32, @@ -15176,18 +15603,18 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// \brief Stops the simple rumble on a haptic device. - /// - /// \param haptic Haptic to stop the rumble on. - /// \return 0 on success or -1 on error. - /// - /// \sa SDL_HapticRumbleSupported - /// \sa SDL_HapticRumbleInit - /// \sa SDL_HapticRumblePlay + #[doc = " \\brief Stops the simple rumble on a haptic device."] + #[doc = ""] + #[doc = " \\param haptic Haptic to stop the rumble on."] + #[doc = " \\return 0 on success or -1 on error."] + #[doc = ""] + #[doc = " \\sa SDL_HapticRumbleSupported"] + #[doc = " \\sa SDL_HapticRumbleInit"] + #[doc = " \\sa SDL_HapticRumblePlay"] pub fn SDL_HapticRumbleStop(haptic: *mut SDL_Haptic) -> libc::c_int; } #[repr(u32)] -/// \brief An enumeration of hint priorities +#[doc = " \\brief An enumeration of hint priorities"] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum SDL_HintPriority { SDL_HINT_DEFAULT = 0, @@ -15195,13 +15622,13 @@ pub enum SDL_HintPriority { SDL_HINT_OVERRIDE = 2, } extern "C" { - /// \brief Set a hint with a specific priority - /// - /// The priority controls the behavior when setting a hint that already - /// has a value. Hints will replace existing hints of their priority and - /// lower. Environment variables are considered to have override priority. - /// - /// \return SDL_TRUE if the hint was set, SDL_FALSE otherwise + #[doc = " \\brief Set a hint with a specific priority"] + #[doc = ""] + #[doc = " The priority controls the behavior when setting a hint that already"] + #[doc = " has a value. Hints will replace existing hints of their priority and"] + #[doc = " lower. Environment variables are considered to have override priority."] + #[doc = ""] + #[doc = " \\return SDL_TRUE if the hint was set, SDL_FALSE otherwise"] pub fn SDL_SetHintWithPriority( name: *const libc::c_char, value: *const libc::c_char, @@ -15209,24 +15636,24 @@ extern "C" { ) -> SDL_bool; } extern "C" { - /// \brief Set a hint with normal priority - /// - /// \return SDL_TRUE if the hint was set, SDL_FALSE otherwise + #[doc = " \\brief Set a hint with normal priority"] + #[doc = ""] + #[doc = " \\return SDL_TRUE if the hint was set, SDL_FALSE otherwise"] pub fn SDL_SetHint(name: *const libc::c_char, value: *const libc::c_char) -> SDL_bool; } extern "C" { - /// \brief Get a hint - /// - /// \return The string value of a hint variable. + #[doc = " \\brief Get a hint"] + #[doc = ""] + #[doc = " \\return The string value of a hint variable."] pub fn SDL_GetHint(name: *const libc::c_char) -> *const libc::c_char; } extern "C" { - /// \brief Get a hint - /// - /// \return The boolean value of a hint variable. + #[doc = " \\brief Get a hint"] + #[doc = ""] + #[doc = " \\return The boolean value of a hint variable."] pub fn SDL_GetHintBoolean(name: *const libc::c_char, default_value: SDL_bool) -> SDL_bool; } -/// \brief type definition of the hint callback function. +#[doc = " \\brief type definition of the hint callback function."] pub type SDL_HintCallback = ::core::option::Option< unsafe extern "C" fn( userdata: *mut libc::c_void, @@ -15236,11 +15663,11 @@ pub type SDL_HintCallback = ::core::option::Option< ), >; extern "C" { - /// \brief Add a function to watch a particular hint - /// - /// \param name The hint to watch - /// \param callback The function to call when the hint value changes - /// \param userdata A pointer to pass to the callback function + #[doc = " \\brief Add a function to watch a particular hint"] + #[doc = ""] + #[doc = " \\param name The hint to watch"] + #[doc = " \\param callback The function to call when the hint value changes"] + #[doc = " \\param userdata A pointer to pass to the callback function"] pub fn SDL_AddHintCallback( name: *const libc::c_char, callback: SDL_HintCallback, @@ -15248,11 +15675,11 @@ extern "C" { ); } extern "C" { - /// \brief Remove a function watching a particular hint - /// - /// \param name The hint being watched - /// \param callback The function being called when the hint value changes - /// \param userdata A pointer being passed to the callback function + #[doc = " \\brief Remove a function watching a particular hint"] + #[doc = ""] + #[doc = " \\param name The hint being watched"] + #[doc = " \\param callback The function being called when the hint value changes"] + #[doc = " \\param userdata A pointer being passed to the callback function"] pub fn SDL_DelHintCallback( name: *const libc::c_char, callback: SDL_HintCallback, @@ -15260,59 +15687,59 @@ extern "C" { ); } extern "C" { - /// \brief Clear all hints - /// - /// This function is called during SDL_Quit() to free stored hints. + #[doc = " \\brief Clear all hints"] + #[doc = ""] + #[doc = " This function is called during SDL_Quit() to free stored hints."] pub fn SDL_ClearHints(); } extern "C" { - /// This function dynamically loads a shared object and returns a pointer - /// to the object handle (or NULL if there was an error). - /// The 'sofile' parameter is a system dependent name of the object file. + #[doc = " This function dynamically loads a shared object and returns a pointer"] + #[doc = " to the object handle (or NULL if there was an error)."] + #[doc = " The 'sofile' parameter is a system dependent name of the object file."] pub fn SDL_LoadObject(sofile: *const libc::c_char) -> *mut libc::c_void; } extern "C" { - /// Given an object handle, this function looks up the address of the - /// named function in the shared object and returns it. This address - /// is no longer valid after calling SDL_UnloadObject(). + #[doc = " Given an object handle, this function looks up the address of the"] + #[doc = " named function in the shared object and returns it. This address"] + #[doc = " is no longer valid after calling SDL_UnloadObject()."] pub fn SDL_LoadFunction( handle: *mut libc::c_void, name: *const libc::c_char, ) -> *mut libc::c_void; } extern "C" { - /// Unload a shared object from memory. + #[doc = " Unload a shared object from memory."] pub fn SDL_UnloadObject(handle: *mut libc::c_void); } -pub const SDL_LOG_CATEGORY_APPLICATION: _bindgen_ty_8 = _bindgen_ty_8::SDL_LOG_CATEGORY_APPLICATION; -pub const SDL_LOG_CATEGORY_ERROR: _bindgen_ty_8 = _bindgen_ty_8::SDL_LOG_CATEGORY_ERROR; -pub const SDL_LOG_CATEGORY_ASSERT: _bindgen_ty_8 = _bindgen_ty_8::SDL_LOG_CATEGORY_ASSERT; -pub const SDL_LOG_CATEGORY_SYSTEM: _bindgen_ty_8 = _bindgen_ty_8::SDL_LOG_CATEGORY_SYSTEM; -pub const SDL_LOG_CATEGORY_AUDIO: _bindgen_ty_8 = _bindgen_ty_8::SDL_LOG_CATEGORY_AUDIO; -pub const SDL_LOG_CATEGORY_VIDEO: _bindgen_ty_8 = _bindgen_ty_8::SDL_LOG_CATEGORY_VIDEO; -pub const SDL_LOG_CATEGORY_RENDER: _bindgen_ty_8 = _bindgen_ty_8::SDL_LOG_CATEGORY_RENDER; -pub const SDL_LOG_CATEGORY_INPUT: _bindgen_ty_8 = _bindgen_ty_8::SDL_LOG_CATEGORY_INPUT; -pub const SDL_LOG_CATEGORY_TEST: _bindgen_ty_8 = _bindgen_ty_8::SDL_LOG_CATEGORY_TEST; -pub const SDL_LOG_CATEGORY_RESERVED1: _bindgen_ty_8 = _bindgen_ty_8::SDL_LOG_CATEGORY_RESERVED1; -pub const SDL_LOG_CATEGORY_RESERVED2: _bindgen_ty_8 = _bindgen_ty_8::SDL_LOG_CATEGORY_RESERVED2; -pub const SDL_LOG_CATEGORY_RESERVED3: _bindgen_ty_8 = _bindgen_ty_8::SDL_LOG_CATEGORY_RESERVED3; -pub const SDL_LOG_CATEGORY_RESERVED4: _bindgen_ty_8 = _bindgen_ty_8::SDL_LOG_CATEGORY_RESERVED4; -pub const SDL_LOG_CATEGORY_RESERVED5: _bindgen_ty_8 = _bindgen_ty_8::SDL_LOG_CATEGORY_RESERVED5; -pub const SDL_LOG_CATEGORY_RESERVED6: _bindgen_ty_8 = _bindgen_ty_8::SDL_LOG_CATEGORY_RESERVED6; -pub const SDL_LOG_CATEGORY_RESERVED7: _bindgen_ty_8 = _bindgen_ty_8::SDL_LOG_CATEGORY_RESERVED7; -pub const SDL_LOG_CATEGORY_RESERVED8: _bindgen_ty_8 = _bindgen_ty_8::SDL_LOG_CATEGORY_RESERVED8; -pub const SDL_LOG_CATEGORY_RESERVED9: _bindgen_ty_8 = _bindgen_ty_8::SDL_LOG_CATEGORY_RESERVED9; -pub const SDL_LOG_CATEGORY_RESERVED10: _bindgen_ty_8 = _bindgen_ty_8::SDL_LOG_CATEGORY_RESERVED10; -pub const SDL_LOG_CATEGORY_CUSTOM: _bindgen_ty_8 = _bindgen_ty_8::SDL_LOG_CATEGORY_CUSTOM; +pub const SDL_LOG_CATEGORY_APPLICATION: _bindgen_ty_7 = _bindgen_ty_7::SDL_LOG_CATEGORY_APPLICATION; +pub const SDL_LOG_CATEGORY_ERROR: _bindgen_ty_7 = _bindgen_ty_7::SDL_LOG_CATEGORY_ERROR; +pub const SDL_LOG_CATEGORY_ASSERT: _bindgen_ty_7 = _bindgen_ty_7::SDL_LOG_CATEGORY_ASSERT; +pub const SDL_LOG_CATEGORY_SYSTEM: _bindgen_ty_7 = _bindgen_ty_7::SDL_LOG_CATEGORY_SYSTEM; +pub const SDL_LOG_CATEGORY_AUDIO: _bindgen_ty_7 = _bindgen_ty_7::SDL_LOG_CATEGORY_AUDIO; +pub const SDL_LOG_CATEGORY_VIDEO: _bindgen_ty_7 = _bindgen_ty_7::SDL_LOG_CATEGORY_VIDEO; +pub const SDL_LOG_CATEGORY_RENDER: _bindgen_ty_7 = _bindgen_ty_7::SDL_LOG_CATEGORY_RENDER; +pub const SDL_LOG_CATEGORY_INPUT: _bindgen_ty_7 = _bindgen_ty_7::SDL_LOG_CATEGORY_INPUT; +pub const SDL_LOG_CATEGORY_TEST: _bindgen_ty_7 = _bindgen_ty_7::SDL_LOG_CATEGORY_TEST; +pub const SDL_LOG_CATEGORY_RESERVED1: _bindgen_ty_7 = _bindgen_ty_7::SDL_LOG_CATEGORY_RESERVED1; +pub const SDL_LOG_CATEGORY_RESERVED2: _bindgen_ty_7 = _bindgen_ty_7::SDL_LOG_CATEGORY_RESERVED2; +pub const SDL_LOG_CATEGORY_RESERVED3: _bindgen_ty_7 = _bindgen_ty_7::SDL_LOG_CATEGORY_RESERVED3; +pub const SDL_LOG_CATEGORY_RESERVED4: _bindgen_ty_7 = _bindgen_ty_7::SDL_LOG_CATEGORY_RESERVED4; +pub const SDL_LOG_CATEGORY_RESERVED5: _bindgen_ty_7 = _bindgen_ty_7::SDL_LOG_CATEGORY_RESERVED5; +pub const SDL_LOG_CATEGORY_RESERVED6: _bindgen_ty_7 = _bindgen_ty_7::SDL_LOG_CATEGORY_RESERVED6; +pub const SDL_LOG_CATEGORY_RESERVED7: _bindgen_ty_7 = _bindgen_ty_7::SDL_LOG_CATEGORY_RESERVED7; +pub const SDL_LOG_CATEGORY_RESERVED8: _bindgen_ty_7 = _bindgen_ty_7::SDL_LOG_CATEGORY_RESERVED8; +pub const SDL_LOG_CATEGORY_RESERVED9: _bindgen_ty_7 = _bindgen_ty_7::SDL_LOG_CATEGORY_RESERVED9; +pub const SDL_LOG_CATEGORY_RESERVED10: _bindgen_ty_7 = _bindgen_ty_7::SDL_LOG_CATEGORY_RESERVED10; +pub const SDL_LOG_CATEGORY_CUSTOM: _bindgen_ty_7 = _bindgen_ty_7::SDL_LOG_CATEGORY_CUSTOM; #[repr(u32)] -/// \brief The predefined log categories -/// -/// By default the application category is enabled at the INFO level, -/// the assert category is enabled at the WARN level, test is enabled -/// at the VERBOSE level and all other categories are enabled at the -/// CRITICAL level. +#[doc = " \\brief The predefined log categories"] +#[doc = ""] +#[doc = " By default the application category is enabled at the INFO level,"] +#[doc = " the assert category is enabled at the WARN level, test is enabled"] +#[doc = " at the VERBOSE level and all other categories are enabled at the"] +#[doc = " CRITICAL level."] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] -pub enum _bindgen_ty_8 { +pub enum _bindgen_ty_7 { SDL_LOG_CATEGORY_APPLICATION = 0, SDL_LOG_CATEGORY_ERROR = 1, SDL_LOG_CATEGORY_ASSERT = 2, @@ -15335,7 +15762,7 @@ pub enum _bindgen_ty_8 { SDL_LOG_CATEGORY_CUSTOM = 19, } #[repr(u32)] -/// \brief The predefined log priorities +#[doc = " \\brief The predefined log priorities"] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum SDL_LogPriority { SDL_LOG_PRIORITY_VERBOSE = 1, @@ -15347,53 +15774,53 @@ pub enum SDL_LogPriority { SDL_NUM_LOG_PRIORITIES = 7, } extern "C" { - /// \brief Set the priority of all log categories + #[doc = " \\brief Set the priority of all log categories"] pub fn SDL_LogSetAllPriority(priority: SDL_LogPriority); } extern "C" { - /// \brief Set the priority of a particular log category + #[doc = " \\brief Set the priority of a particular log category"] pub fn SDL_LogSetPriority(category: libc::c_int, priority: SDL_LogPriority); } extern "C" { - /// \brief Get the priority of a particular log category + #[doc = " \\brief Get the priority of a particular log category"] pub fn SDL_LogGetPriority(category: libc::c_int) -> SDL_LogPriority; } extern "C" { - /// \brief Reset all priorities to default. - /// - /// \note This is called in SDL_Quit(). + #[doc = " \\brief Reset all priorities to default."] + #[doc = ""] + #[doc = " \\note This is called in SDL_Quit()."] pub fn SDL_LogResetPriorities(); } extern "C" { - /// \brief Log a message with SDL_LOG_CATEGORY_APPLICATION and SDL_LOG_PRIORITY_INFO + #[doc = " \\brief Log a message with SDL_LOG_CATEGORY_APPLICATION and SDL_LOG_PRIORITY_INFO"] pub fn SDL_Log(fmt: *const libc::c_char, ...); } extern "C" { - /// \brief Log a message with SDL_LOG_PRIORITY_VERBOSE + #[doc = " \\brief Log a message with SDL_LOG_PRIORITY_VERBOSE"] pub fn SDL_LogVerbose(category: libc::c_int, fmt: *const libc::c_char, ...); } extern "C" { - /// \brief Log a message with SDL_LOG_PRIORITY_DEBUG + #[doc = " \\brief Log a message with SDL_LOG_PRIORITY_DEBUG"] pub fn SDL_LogDebug(category: libc::c_int, fmt: *const libc::c_char, ...); } extern "C" { - /// \brief Log a message with SDL_LOG_PRIORITY_INFO + #[doc = " \\brief Log a message with SDL_LOG_PRIORITY_INFO"] pub fn SDL_LogInfo(category: libc::c_int, fmt: *const libc::c_char, ...); } extern "C" { - /// \brief Log a message with SDL_LOG_PRIORITY_WARN + #[doc = " \\brief Log a message with SDL_LOG_PRIORITY_WARN"] pub fn SDL_LogWarn(category: libc::c_int, fmt: *const libc::c_char, ...); } extern "C" { - /// \brief Log a message with SDL_LOG_PRIORITY_ERROR + #[doc = " \\brief Log a message with SDL_LOG_PRIORITY_ERROR"] pub fn SDL_LogError(category: libc::c_int, fmt: *const libc::c_char, ...); } extern "C" { - /// \brief Log a message with SDL_LOG_PRIORITY_CRITICAL + #[doc = " \\brief Log a message with SDL_LOG_PRIORITY_CRITICAL"] pub fn SDL_LogCritical(category: libc::c_int, fmt: *const libc::c_char, ...); } extern "C" { - /// \brief Log a message with the specified category and priority. + #[doc = " \\brief Log a message with the specified category and priority."] pub fn SDL_LogMessage( category: libc::c_int, priority: SDL_LogPriority, @@ -15402,7 +15829,7 @@ extern "C" { ); } extern "C" { - /// \brief Log a message with the specified category and priority. + #[doc = " \\brief Log a message with the specified category and priority."] pub fn SDL_LogMessageV( category: libc::c_int, priority: SDL_LogPriority, @@ -15410,7 +15837,7 @@ extern "C" { ap: *mut __va_list_tag, ); } -/// \brief The prototype for the log output function +#[doc = " \\brief The prototype for the log output function"] pub type SDL_LogOutputFunction = ::core::option::Option< unsafe extern "C" fn( userdata: *mut libc::c_void, @@ -15420,46 +15847,46 @@ pub type SDL_LogOutputFunction = ::core::option::Option< ), >; extern "C" { - /// \brief Get the current log output function. + #[doc = " \\brief Get the current log output function."] pub fn SDL_LogGetOutputFunction( callback: *mut SDL_LogOutputFunction, userdata: *mut *mut libc::c_void, ); } extern "C" { - /// \brief This function allows you to replace the default log output - /// function with one of your own. + #[doc = " \\brief This function allows you to replace the default log output"] + #[doc = " function with one of your own."] pub fn SDL_LogSetOutputFunction(callback: SDL_LogOutputFunction, userdata: *mut libc::c_void); } #[repr(u32)] -/// \brief SDL_MessageBox flags. If supported will display warning icon, etc. +#[doc = " \\brief SDL_MessageBox flags. If supported will display warning icon, etc."] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum SDL_MessageBoxFlags { - ///< error dialog + #[doc = "< error dialog"] SDL_MESSAGEBOX_ERROR = 16, - ///< warning dialog + #[doc = "< warning dialog"] SDL_MESSAGEBOX_WARNING = 32, - ///< informational dialog + #[doc = "< informational dialog"] SDL_MESSAGEBOX_INFORMATION = 64, } #[repr(u32)] -/// \brief Flags for SDL_MessageBoxButtonData. +#[doc = " \\brief Flags for SDL_MessageBoxButtonData."] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum SDL_MessageBoxButtonFlags { - ///< Marks the default button when return is hit + #[doc = "< Marks the default button when return is hit"] SDL_MESSAGEBOX_BUTTON_RETURNKEY_DEFAULT = 1, - ///< Marks the default button when escape is hit + #[doc = "< Marks the default button when escape is hit"] SDL_MESSAGEBOX_BUTTON_ESCAPEKEY_DEFAULT = 2, } -/// \brief Individual button data. +#[doc = " \\brief Individual button data."] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_MessageBoxButtonData { - ///< ::SDL_MessageBoxButtonFlags + #[doc = "< ::SDL_MessageBoxButtonFlags"] pub flags: Uint32, - ///< User defined button id (value returned via SDL_ShowMessageBox) + #[doc = "< User defined button id (value returned via SDL_ShowMessageBox)"] pub buttonid: libc::c_int, - ///< The UTF-8 button text + #[doc = "< The UTF-8 button text"] pub text: *const libc::c_char, } #[test] @@ -15507,7 +15934,7 @@ fn bindgen_test_layout_SDL_MessageBoxButtonData() { ) ); } -/// \brief RGB value used in a message box color scheme +#[doc = " \\brief RGB value used in a message box color scheme"] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_MessageBoxColor { @@ -15568,7 +15995,7 @@ pub enum SDL_MessageBoxColorType { SDL_MESSAGEBOX_COLOR_BUTTON_SELECTED = 4, SDL_MESSAGEBOX_COLOR_MAX = 5, } -/// \brief A set of colors to use for message box dialogs +#[doc = " \\brief A set of colors to use for message box dialogs"] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_MessageBoxColorScheme { @@ -15599,21 +16026,21 @@ fn bindgen_test_layout_SDL_MessageBoxColorScheme() { ) ); } -/// \brief MessageBox structure containing title, text, window, etc. +#[doc = " \\brief MessageBox structure containing title, text, window, etc."] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_MessageBoxData { - ///< ::SDL_MessageBoxFlags + #[doc = "< ::SDL_MessageBoxFlags"] pub flags: Uint32, - ///< Parent window, can be NULL + #[doc = "< Parent window, can be NULL"] pub window: *mut SDL_Window, - ///< UTF-8 title + #[doc = "< UTF-8 title"] pub title: *const libc::c_char, - ///< UTF-8 message text + #[doc = "< UTF-8 message text"] pub message: *const libc::c_char, pub numbuttons: libc::c_int, pub buttons: *const SDL_MessageBoxButtonData, - ///< ::SDL_MessageBoxColorScheme, can be NULL to use system settings + #[doc = "< ::SDL_MessageBoxColorScheme, can be NULL to use system settings"] pub colorScheme: *const SDL_MessageBoxColorScheme, } #[test] @@ -15700,34 +16127,34 @@ fn bindgen_test_layout_SDL_MessageBoxData() { ); } extern "C" { - /// \brief Create a modal message box. - /// - /// \param messageboxdata The SDL_MessageBoxData structure with title, text, etc. - /// \param buttonid The pointer to which user id of hit button should be copied. - /// - /// \return -1 on error, otherwise 0 and buttonid contains user id of button - /// hit or -1 if dialog was closed. - /// - /// \note This function should be called on the thread that created the parent - /// window, or on the main thread if the messagebox has no parent. It will - /// block execution of that thread until the user clicks a button or - /// closes the messagebox. + #[doc = " \\brief Create a modal message box."] + #[doc = ""] + #[doc = " \\param messageboxdata The SDL_MessageBoxData structure with title, text, etc."] + #[doc = " \\param buttonid The pointer to which user id of hit button should be copied."] + #[doc = ""] + #[doc = " \\return -1 on error, otherwise 0 and buttonid contains user id of button"] + #[doc = " hit or -1 if dialog was closed."] + #[doc = ""] + #[doc = " \\note This function should be called on the thread that created the parent"] + #[doc = " window, or on the main thread if the messagebox has no parent. It will"] + #[doc = " block execution of that thread until the user clicks a button or"] + #[doc = " closes the messagebox."] pub fn SDL_ShowMessageBox( messageboxdata: *const SDL_MessageBoxData, buttonid: *mut libc::c_int, ) -> libc::c_int; } extern "C" { - /// \brief Create a simple modal message box - /// - /// \param flags ::SDL_MessageBoxFlags - /// \param title UTF-8 title text - /// \param message UTF-8 message text - /// \param window The parent window, or NULL for no parent - /// - /// \return 0 on success, -1 on error - /// - /// \sa SDL_ShowMessageBox + #[doc = " \\brief Create a simple modal message box"] + #[doc = ""] + #[doc = " \\param flags ::SDL_MessageBoxFlags"] + #[doc = " \\param title UTF-8 title text"] + #[doc = " \\param message UTF-8 message text"] + #[doc = " \\param window The parent window, or NULL for no parent"] + #[doc = ""] + #[doc = " \\return 0 on success, -1 on error"] + #[doc = ""] + #[doc = " \\sa SDL_ShowMessageBox"] pub fn SDL_ShowSimpleMessageBox( flags: Uint32, title: *const libc::c_char, @@ -15736,65 +16163,65 @@ extern "C" { ) -> libc::c_int; } #[repr(u32)] -/// \brief The basic state for the system's power supply. +#[doc = " \\brief The basic state for the system's power supply."] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum SDL_PowerState { - ///< cannot determine power status + #[doc = "< cannot determine power status"] SDL_POWERSTATE_UNKNOWN = 0, - ///< Not plugged in, running on the battery + #[doc = "< Not plugged in, running on the battery"] SDL_POWERSTATE_ON_BATTERY = 1, - ///< Plugged in, no battery available + #[doc = "< Plugged in, no battery available"] SDL_POWERSTATE_NO_BATTERY = 2, - ///< Plugged in, charging battery + #[doc = "< Plugged in, charging battery"] SDL_POWERSTATE_CHARGING = 3, - ///< Plugged in, battery charged + #[doc = "< Plugged in, battery charged"] SDL_POWERSTATE_CHARGED = 4, } extern "C" { - /// \brief Get the current power supply details. - /// - /// \param secs Seconds of battery life left. You can pass a NULL here if - /// you don't care. Will return -1 if we can't determine a - /// value, or we're not running on a battery. - /// - /// \param pct Percentage of battery life left, between 0 and 100. You can - /// pass a NULL here if you don't care. Will return -1 if we - /// can't determine a value, or we're not running on a battery. - /// - /// \return The state of the battery (if any). + #[doc = " \\brief Get the current power supply details."] + #[doc = ""] + #[doc = " \\param secs Seconds of battery life left. You can pass a NULL here if"] + #[doc = " you don't care. Will return -1 if we can't determine a"] + #[doc = " value, or we're not running on a battery."] + #[doc = ""] + #[doc = " \\param pct Percentage of battery life left, between 0 and 100. You can"] + #[doc = " pass a NULL here if you don't care. Will return -1 if we"] + #[doc = " can't determine a value, or we're not running on a battery."] + #[doc = ""] + #[doc = " \\return The state of the battery (if any)."] pub fn SDL_GetPowerInfo(secs: *mut libc::c_int, pct: *mut libc::c_int) -> SDL_PowerState; } #[repr(u32)] -/// \brief Flags used when creating a rendering context +#[doc = " \\brief Flags used when creating a rendering context"] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum SDL_RendererFlags { - ///< The renderer is a software fallback + #[doc = "< The renderer is a software fallback"] SDL_RENDERER_SOFTWARE = 1, - ///< The renderer uses hardware - ///acceleration + #[doc = "< The renderer uses hardware"] + #[doc = "acceleration"] SDL_RENDERER_ACCELERATED = 2, - ///< Present is synchronized - ///with the refresh rate + #[doc = "< Present is synchronized"] + #[doc = "with the refresh rate"] SDL_RENDERER_PRESENTVSYNC = 4, - ///< The renderer supports - ///rendering to texture + #[doc = "< The renderer supports"] + #[doc = "rendering to texture"] SDL_RENDERER_TARGETTEXTURE = 8, } -/// \brief Information on the capabilities of a render driver or context. +#[doc = " \\brief Information on the capabilities of a render driver or context."] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_RendererInfo { - ///< The name of the renderer + #[doc = "< The name of the renderer"] pub name: *const libc::c_char, - ///< Supported ::SDL_RendererFlags + #[doc = "< Supported ::SDL_RendererFlags"] pub flags: Uint32, - ///< The number of available texture formats + #[doc = "< The number of available texture formats"] pub num_texture_formats: Uint32, - ///< The available texture formats + #[doc = "< The available texture formats"] pub texture_formats: [Uint32; 16usize], - ///< The maximum texture width + #[doc = "< The maximum texture width"] pub max_texture_width: libc::c_int, - ///< The maximum texture height + #[doc = "< The maximum texture height"] pub max_texture_height: libc::c_int, } #[test] @@ -15879,85 +16306,85 @@ fn bindgen_test_layout_SDL_RendererInfo() { ); } #[repr(u32)] -/// \brief The access pattern allowed for a texture. +#[doc = " \\brief The access pattern allowed for a texture."] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum SDL_TextureAccess { - ///< Changes rarely, not lockable + #[doc = "< Changes rarely, not lockable"] SDL_TEXTUREACCESS_STATIC = 0, - ///< Changes frequently, lockable + #[doc = "< Changes frequently, lockable"] SDL_TEXTUREACCESS_STREAMING = 1, - ///< Texture can be used as a render target + #[doc = "< Texture can be used as a render target"] SDL_TEXTUREACCESS_TARGET = 2, } #[repr(u32)] -/// \brief The texture channel modulation used in SDL_RenderCopy(). +#[doc = " \\brief The texture channel modulation used in SDL_RenderCopy()."] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum SDL_TextureModulate { - ///< No modulation + #[doc = "< No modulation"] SDL_TEXTUREMODULATE_NONE = 0, - ///< srcC = srcC * color + #[doc = "< srcC = srcC * color"] SDL_TEXTUREMODULATE_COLOR = 1, - ///< srcA = srcA * alpha + #[doc = "< srcA = srcA * alpha"] SDL_TEXTUREMODULATE_ALPHA = 2, } #[repr(u32)] -/// \brief Flip constants for SDL_RenderCopyEx +#[doc = " \\brief Flip constants for SDL_RenderCopyEx"] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum SDL_RendererFlip { - ///< Do not flip + #[doc = "< Do not flip"] SDL_FLIP_NONE = 0, - ///< flip horizontally + #[doc = "< flip horizontally"] SDL_FLIP_HORIZONTAL = 1, - ///< flip vertically + #[doc = "< flip vertically"] SDL_FLIP_VERTICAL = 2, } -/// \brief A structure representing rendering state +#[doc = " \\brief A structure representing rendering state"] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_Renderer { _unused: [u8; 0], } -/// \brief An efficient driver-specific representation of pixel data +#[doc = " \\brief An efficient driver-specific representation of pixel data"] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_Texture { _unused: [u8; 0], } extern "C" { - /// \brief Get the number of 2D rendering drivers available for the current - /// display. - /// - /// A render driver is a set of code that handles rendering and texture - /// management on a particular display. Normally there is only one, but - /// some drivers may have several available with different capabilities. - /// - /// \sa SDL_GetRenderDriverInfo() - /// \sa SDL_CreateRenderer() + #[doc = " \\brief Get the number of 2D rendering drivers available for the current"] + #[doc = " display."] + #[doc = ""] + #[doc = " A render driver is a set of code that handles rendering and texture"] + #[doc = " management on a particular display. Normally there is only one, but"] + #[doc = " some drivers may have several available with different capabilities."] + #[doc = ""] + #[doc = " \\sa SDL_GetRenderDriverInfo()"] + #[doc = " \\sa SDL_CreateRenderer()"] pub fn SDL_GetNumRenderDrivers() -> libc::c_int; } extern "C" { - /// \brief Get information about a specific 2D rendering driver for the current - /// display. - /// - /// \param index The index of the driver to query information about. - /// \param info A pointer to an SDL_RendererInfo struct to be filled with - /// information on the rendering driver. - /// - /// \return 0 on success, -1 if the index was out of range. - /// - /// \sa SDL_CreateRenderer() + #[doc = " \\brief Get information about a specific 2D rendering driver for the current"] + #[doc = " display."] + #[doc = ""] + #[doc = " \\param index The index of the driver to query information about."] + #[doc = " \\param info A pointer to an SDL_RendererInfo struct to be filled with"] + #[doc = " information on the rendering driver."] + #[doc = ""] + #[doc = " \\return 0 on success, -1 if the index was out of range."] + #[doc = ""] + #[doc = " \\sa SDL_CreateRenderer()"] pub fn SDL_GetRenderDriverInfo(index: libc::c_int, info: *mut SDL_RendererInfo) -> libc::c_int; } extern "C" { - /// \brief Create a window and default renderer - /// - /// \param width The width of the window - /// \param height The height of the window - /// \param window_flags The flags used to create the window - /// \param window A pointer filled with the window, or NULL on error - /// \param renderer A pointer filled with the renderer, or NULL on error - /// - /// \return 0 on success, or -1 on error + #[doc = " \\brief Create a window and default renderer"] + #[doc = ""] + #[doc = " \\param width The width of the window"] + #[doc = " \\param height The height of the window"] + #[doc = " \\param window_flags The flags used to create the window"] + #[doc = " \\param window A pointer filled with the window, or NULL on error"] + #[doc = " \\param renderer A pointer filled with the renderer, or NULL on error"] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 on error"] pub fn SDL_CreateWindowAndRenderer( width: libc::c_int, height: libc::c_int, @@ -15967,18 +16394,18 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// \brief Create a 2D rendering context for a window. - /// - /// \param window The window where rendering is displayed. - /// \param index The index of the rendering driver to initialize, or -1 to - /// initialize the first one supporting the requested flags. - /// \param flags ::SDL_RendererFlags. - /// - /// \return A valid rendering context or NULL if there was an error. - /// - /// \sa SDL_CreateSoftwareRenderer() - /// \sa SDL_GetRendererInfo() - /// \sa SDL_DestroyRenderer() + #[doc = " \\brief Create a 2D rendering context for a window."] + #[doc = ""] + #[doc = " \\param window The window where rendering is displayed."] + #[doc = " \\param index The index of the rendering driver to initialize, or -1 to"] + #[doc = " initialize the first one supporting the requested flags."] + #[doc = " \\param flags ::SDL_RendererFlags."] + #[doc = ""] + #[doc = " \\return A valid rendering context or NULL if there was an error."] + #[doc = ""] + #[doc = " \\sa SDL_CreateSoftwareRenderer()"] + #[doc = " \\sa SDL_GetRendererInfo()"] + #[doc = " \\sa SDL_DestroyRenderer()"] pub fn SDL_CreateRenderer( window: *mut SDL_Window, index: libc::c_int, @@ -15986,29 +16413,29 @@ extern "C" { ) -> *mut SDL_Renderer; } extern "C" { - /// \brief Create a 2D software rendering context for a surface. - /// - /// \param surface The surface where rendering is done. - /// - /// \return A valid rendering context or NULL if there was an error. - /// - /// \sa SDL_CreateRenderer() - /// \sa SDL_DestroyRenderer() + #[doc = " \\brief Create a 2D software rendering context for a surface."] + #[doc = ""] + #[doc = " \\param surface The surface where rendering is done."] + #[doc = ""] + #[doc = " \\return A valid rendering context or NULL if there was an error."] + #[doc = ""] + #[doc = " \\sa SDL_CreateRenderer()"] + #[doc = " \\sa SDL_DestroyRenderer()"] pub fn SDL_CreateSoftwareRenderer(surface: *mut SDL_Surface) -> *mut SDL_Renderer; } extern "C" { - /// \brief Get the renderer associated with a window. + #[doc = " \\brief Get the renderer associated with a window."] pub fn SDL_GetRenderer(window: *mut SDL_Window) -> *mut SDL_Renderer; } extern "C" { - /// \brief Get information about a rendering context. + #[doc = " \\brief Get information about a rendering context."] pub fn SDL_GetRendererInfo( renderer: *mut SDL_Renderer, info: *mut SDL_RendererInfo, ) -> libc::c_int; } extern "C" { - /// \brief Get the output size in pixels of a rendering context. + #[doc = " \\brief Get the output size in pixels of a rendering context."] pub fn SDL_GetRendererOutputSize( renderer: *mut SDL_Renderer, w: *mut libc::c_int, @@ -16016,23 +16443,23 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// \brief Create a texture for a rendering context. - /// - /// \param renderer The renderer. - /// \param format The format of the texture. - /// \param access One of the enumerated values in ::SDL_TextureAccess. - /// \param w The width of the texture in pixels. - /// \param h The height of the texture in pixels. - /// - /// \return The created texture is returned, or NULL if no rendering context was - /// active, the format was unsupported, or the width or height were out - /// of range. - /// - /// \note The contents of the texture are not defined at creation. - /// - /// \sa SDL_QueryTexture() - /// \sa SDL_UpdateTexture() - /// \sa SDL_DestroyTexture() + #[doc = " \\brief Create a texture for a rendering context."] + #[doc = ""] + #[doc = " \\param renderer The renderer."] + #[doc = " \\param format The format of the texture."] + #[doc = " \\param access One of the enumerated values in ::SDL_TextureAccess."] + #[doc = " \\param w The width of the texture in pixels."] + #[doc = " \\param h The height of the texture in pixels."] + #[doc = ""] + #[doc = " \\return The created texture is returned, or NULL if no rendering context was"] + #[doc = " active, the format was unsupported, or the width or height were out"] + #[doc = " of range."] + #[doc = ""] + #[doc = " \\note The contents of the texture are not defined at creation."] + #[doc = ""] + #[doc = " \\sa SDL_QueryTexture()"] + #[doc = " \\sa SDL_UpdateTexture()"] + #[doc = " \\sa SDL_DestroyTexture()"] pub fn SDL_CreateTexture( renderer: *mut SDL_Renderer, format: Uint32, @@ -16042,34 +16469,34 @@ extern "C" { ) -> *mut SDL_Texture; } extern "C" { - /// \brief Create a texture from an existing surface. - /// - /// \param renderer The renderer. - /// \param surface The surface containing pixel data used to fill the texture. - /// - /// \return The created texture is returned, or NULL on error. - /// - /// \note The surface is not modified or freed by this function. - /// - /// \sa SDL_QueryTexture() - /// \sa SDL_DestroyTexture() + #[doc = " \\brief Create a texture from an existing surface."] + #[doc = ""] + #[doc = " \\param renderer The renderer."] + #[doc = " \\param surface The surface containing pixel data used to fill the texture."] + #[doc = ""] + #[doc = " \\return The created texture is returned, or NULL on error."] + #[doc = ""] + #[doc = " \\note The surface is not modified or freed by this function."] + #[doc = ""] + #[doc = " \\sa SDL_QueryTexture()"] + #[doc = " \\sa SDL_DestroyTexture()"] pub fn SDL_CreateTextureFromSurface( renderer: *mut SDL_Renderer, surface: *mut SDL_Surface, ) -> *mut SDL_Texture; } extern "C" { - /// \brief Query the attributes of a texture - /// - /// \param texture A texture to be queried. - /// \param format A pointer filled in with the raw format of the texture. The - /// actual format may differ, but pixel transfers will use this - /// format. - /// \param access A pointer filled in with the actual access to the texture. - /// \param w A pointer filled in with the width of the texture in pixels. - /// \param h A pointer filled in with the height of the texture in pixels. - /// - /// \return 0 on success, or -1 if the texture is not valid. + #[doc = " \\brief Query the attributes of a texture"] + #[doc = ""] + #[doc = " \\param texture A texture to be queried."] + #[doc = " \\param format A pointer filled in with the raw format of the texture. The"] + #[doc = " actual format may differ, but pixel transfers will use this"] + #[doc = " format."] + #[doc = " \\param access A pointer filled in with the actual access to the texture."] + #[doc = " \\param w A pointer filled in with the width of the texture in pixels."] + #[doc = " \\param h A pointer filled in with the height of the texture in pixels."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 if the texture is not valid."] pub fn SDL_QueryTexture( texture: *mut SDL_Texture, format: *mut Uint32, @@ -16079,17 +16506,17 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// \brief Set an additional color value used in render copy operations. - /// - /// \param texture The texture to update. - /// \param r The red color value multiplied into copy operations. - /// \param g The green color value multiplied into copy operations. - /// \param b The blue color value multiplied into copy operations. - /// - /// \return 0 on success, or -1 if the texture is not valid or color modulation - /// is not supported. - /// - /// \sa SDL_GetTextureColorMod() + #[doc = " \\brief Set an additional color value used in render copy operations."] + #[doc = ""] + #[doc = " \\param texture The texture to update."] + #[doc = " \\param r The red color value multiplied into copy operations."] + #[doc = " \\param g The green color value multiplied into copy operations."] + #[doc = " \\param b The blue color value multiplied into copy operations."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 if the texture is not valid or color modulation"] + #[doc = " is not supported."] + #[doc = ""] + #[doc = " \\sa SDL_GetTextureColorMod()"] pub fn SDL_SetTextureColorMod( texture: *mut SDL_Texture, r: Uint8, @@ -16098,16 +16525,16 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// \brief Get the additional color value used in render copy operations. - /// - /// \param texture The texture to query. - /// \param r A pointer filled in with the current red color value. - /// \param g A pointer filled in with the current green color value. - /// \param b A pointer filled in with the current blue color value. - /// - /// \return 0 on success, or -1 if the texture is not valid. - /// - /// \sa SDL_SetTextureColorMod() + #[doc = " \\brief Get the additional color value used in render copy operations."] + #[doc = ""] + #[doc = " \\param texture The texture to query."] + #[doc = " \\param r A pointer filled in with the current red color value."] + #[doc = " \\param g A pointer filled in with the current green color value."] + #[doc = " \\param b A pointer filled in with the current blue color value."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 if the texture is not valid."] + #[doc = ""] + #[doc = " \\sa SDL_SetTextureColorMod()"] pub fn SDL_GetTextureColorMod( texture: *mut SDL_Texture, r: *mut Uint8, @@ -16116,75 +16543,75 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// \brief Set an additional alpha value used in render copy operations. - /// - /// \param texture The texture to update. - /// \param alpha The alpha value multiplied into copy operations. - /// - /// \return 0 on success, or -1 if the texture is not valid or alpha modulation - /// is not supported. - /// - /// \sa SDL_GetTextureAlphaMod() + #[doc = " \\brief Set an additional alpha value used in render copy operations."] + #[doc = ""] + #[doc = " \\param texture The texture to update."] + #[doc = " \\param alpha The alpha value multiplied into copy operations."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 if the texture is not valid or alpha modulation"] + #[doc = " is not supported."] + #[doc = ""] + #[doc = " \\sa SDL_GetTextureAlphaMod()"] pub fn SDL_SetTextureAlphaMod(texture: *mut SDL_Texture, alpha: Uint8) -> libc::c_int; } extern "C" { - /// \brief Get the additional alpha value used in render copy operations. - /// - /// \param texture The texture to query. - /// \param alpha A pointer filled in with the current alpha value. - /// - /// \return 0 on success, or -1 if the texture is not valid. - /// - /// \sa SDL_SetTextureAlphaMod() + #[doc = " \\brief Get the additional alpha value used in render copy operations."] + #[doc = ""] + #[doc = " \\param texture The texture to query."] + #[doc = " \\param alpha A pointer filled in with the current alpha value."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 if the texture is not valid."] + #[doc = ""] + #[doc = " \\sa SDL_SetTextureAlphaMod()"] pub fn SDL_GetTextureAlphaMod(texture: *mut SDL_Texture, alpha: *mut Uint8) -> libc::c_int; } extern "C" { - /// \brief Set the blend mode used for texture copy operations. - /// - /// \param texture The texture to update. - /// \param blendMode ::SDL_BlendMode to use for texture blending. - /// - /// \return 0 on success, or -1 if the texture is not valid or the blend mode is - /// not supported. - /// - /// \note If the blend mode is not supported, the closest supported mode is - /// chosen. - /// - /// \sa SDL_GetTextureBlendMode() + #[doc = " \\brief Set the blend mode used for texture copy operations."] + #[doc = ""] + #[doc = " \\param texture The texture to update."] + #[doc = " \\param blendMode ::SDL_BlendMode to use for texture blending."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 if the texture is not valid or the blend mode is"] + #[doc = " not supported."] + #[doc = ""] + #[doc = " \\note If the blend mode is not supported, the closest supported mode is"] + #[doc = " chosen."] + #[doc = ""] + #[doc = " \\sa SDL_GetTextureBlendMode()"] pub fn SDL_SetTextureBlendMode( texture: *mut SDL_Texture, blendMode: SDL_BlendMode, ) -> libc::c_int; } extern "C" { - /// \brief Get the blend mode used for texture copy operations. - /// - /// \param texture The texture to query. - /// \param blendMode A pointer filled in with the current blend mode. - /// - /// \return 0 on success, or -1 if the texture is not valid. - /// - /// \sa SDL_SetTextureBlendMode() + #[doc = " \\brief Get the blend mode used for texture copy operations."] + #[doc = ""] + #[doc = " \\param texture The texture to query."] + #[doc = " \\param blendMode A pointer filled in with the current blend mode."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 if the texture is not valid."] + #[doc = ""] + #[doc = " \\sa SDL_SetTextureBlendMode()"] pub fn SDL_GetTextureBlendMode( texture: *mut SDL_Texture, blendMode: *mut SDL_BlendMode, ) -> libc::c_int; } extern "C" { - /// \brief Update the given texture rectangle with new pixel data. - /// - /// \param texture The texture to update - /// \param rect A pointer to the rectangle of pixels to update, or NULL to - /// update the entire texture. - /// \param pixels The raw pixel data in the format of the texture. - /// \param pitch The number of bytes in a row of pixel data, including padding between lines. - /// - /// The pixel data must be in the format of the texture. The pixel format can be - /// queried with SDL_QueryTexture. - /// - /// \return 0 on success, or -1 if the texture is not valid. - /// - /// \note This is a fairly slow function. + #[doc = " \\brief Update the given texture rectangle with new pixel data."] + #[doc = ""] + #[doc = " \\param texture The texture to update"] + #[doc = " \\param rect A pointer to the rectangle of pixels to update, or NULL to"] + #[doc = " update the entire texture."] + #[doc = " \\param pixels The raw pixel data in the format of the texture."] + #[doc = " \\param pitch The number of bytes in a row of pixel data, including padding between lines."] + #[doc = ""] + #[doc = " The pixel data must be in the format of the texture. The pixel format can be"] + #[doc = " queried with SDL_QueryTexture."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 if the texture is not valid."] + #[doc = ""] + #[doc = " \\note This is a fairly slow function."] pub fn SDL_UpdateTexture( texture: *mut SDL_Texture, rect: *const SDL_Rect, @@ -16193,23 +16620,23 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// \brief Update a rectangle within a planar YV12 or IYUV texture with new pixel data. - /// - /// \param texture The texture to update - /// \param rect A pointer to the rectangle of pixels to update, or NULL to - /// update the entire texture. - /// \param Yplane The raw pixel data for the Y plane. - /// \param Ypitch The number of bytes between rows of pixel data for the Y plane. - /// \param Uplane The raw pixel data for the U plane. - /// \param Upitch The number of bytes between rows of pixel data for the U plane. - /// \param Vplane The raw pixel data for the V plane. - /// \param Vpitch The number of bytes between rows of pixel data for the V plane. - /// - /// \return 0 on success, or -1 if the texture is not valid. - /// - /// \note You can use SDL_UpdateTexture() as long as your pixel data is - /// a contiguous block of Y and U/V planes in the proper order, but - /// this function is available if your pixel data is not contiguous. + #[doc = " \\brief Update a rectangle within a planar YV12 or IYUV texture with new pixel data."] + #[doc = ""] + #[doc = " \\param texture The texture to update"] + #[doc = " \\param rect A pointer to the rectangle of pixels to update, or NULL to"] + #[doc = " update the entire texture."] + #[doc = " \\param Yplane The raw pixel data for the Y plane."] + #[doc = " \\param Ypitch The number of bytes between rows of pixel data for the Y plane."] + #[doc = " \\param Uplane The raw pixel data for the U plane."] + #[doc = " \\param Upitch The number of bytes between rows of pixel data for the U plane."] + #[doc = " \\param Vplane The raw pixel data for the V plane."] + #[doc = " \\param Vpitch The number of bytes between rows of pixel data for the V plane."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 if the texture is not valid."] + #[doc = ""] + #[doc = " \\note You can use SDL_UpdateTexture() as long as your pixel data is"] + #[doc = " a contiguous block of Y and U/V planes in the proper order, but"] + #[doc = " this function is available if your pixel data is not contiguous."] pub fn SDL_UpdateYUVTexture( texture: *mut SDL_Texture, rect: *const SDL_Rect, @@ -16222,19 +16649,19 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// \brief Lock a portion of the texture for write-only pixel access. - /// - /// \param texture The texture to lock for access, which was created with - /// ::SDL_TEXTUREACCESS_STREAMING. - /// \param rect A pointer to the rectangle to lock for access. If the rect - /// is NULL, the entire texture will be locked. - /// \param pixels This is filled in with a pointer to the locked pixels, - /// appropriately offset by the locked area. - /// \param pitch This is filled in with the pitch of the locked pixels. - /// - /// \return 0 on success, or -1 if the texture is not valid or was not created with ::SDL_TEXTUREACCESS_STREAMING. - /// - /// \sa SDL_UnlockTexture() + #[doc = " \\brief Lock a portion of the texture for write-only pixel access."] + #[doc = ""] + #[doc = " \\param texture The texture to lock for access, which was created with"] + #[doc = " ::SDL_TEXTUREACCESS_STREAMING."] + #[doc = " \\param rect A pointer to the rectangle to lock for access. If the rect"] + #[doc = " is NULL, the entire texture will be locked."] + #[doc = " \\param pixels This is filled in with a pointer to the locked pixels,"] + #[doc = " appropriately offset by the locked area."] + #[doc = " \\param pitch This is filled in with the pitch of the locked pixels."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 if the texture is not valid or was not created with ::SDL_TEXTUREACCESS_STREAMING."] + #[doc = ""] + #[doc = " \\sa SDL_UnlockTexture()"] pub fn SDL_LockTexture( texture: *mut SDL_Texture, rect: *const SDL_Rect, @@ -16243,63 +16670,63 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// \brief Unlock a texture, uploading the changes to video memory, if needed. - /// - /// \sa SDL_LockTexture() + #[doc = " \\brief Unlock a texture, uploading the changes to video memory, if needed."] + #[doc = ""] + #[doc = " \\sa SDL_LockTexture()"] pub fn SDL_UnlockTexture(texture: *mut SDL_Texture); } extern "C" { - /// \brief Determines whether a window supports the use of render targets - /// - /// \param renderer The renderer that will be checked - /// - /// \return SDL_TRUE if supported, SDL_FALSE if not. + #[doc = " \\brief Determines whether a window supports the use of render targets"] + #[doc = ""] + #[doc = " \\param renderer The renderer that will be checked"] + #[doc = ""] + #[doc = " \\return SDL_TRUE if supported, SDL_FALSE if not."] pub fn SDL_RenderTargetSupported(renderer: *mut SDL_Renderer) -> SDL_bool; } extern "C" { - /// \brief Set a texture as the current rendering target. - /// - /// \param renderer The renderer. - /// \param texture The targeted texture, which must be created with the SDL_TEXTUREACCESS_TARGET flag, or NULL for the default render target - /// - /// \return 0 on success, or -1 on error - /// - /// \sa SDL_GetRenderTarget() + #[doc = " \\brief Set a texture as the current rendering target."] + #[doc = ""] + #[doc = " \\param renderer The renderer."] + #[doc = " \\param texture The targeted texture, which must be created with the SDL_TEXTUREACCESS_TARGET flag, or NULL for the default render target"] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 on error"] + #[doc = ""] + #[doc = " \\sa SDL_GetRenderTarget()"] pub fn SDL_SetRenderTarget( renderer: *mut SDL_Renderer, texture: *mut SDL_Texture, ) -> libc::c_int; } extern "C" { - /// \brief Get the current render target or NULL for the default render target. - /// - /// \return The current render target - /// - /// \sa SDL_SetRenderTarget() + #[doc = " \\brief Get the current render target or NULL for the default render target."] + #[doc = ""] + #[doc = " \\return The current render target"] + #[doc = ""] + #[doc = " \\sa SDL_SetRenderTarget()"] pub fn SDL_GetRenderTarget(renderer: *mut SDL_Renderer) -> *mut SDL_Texture; } extern "C" { - /// \brief Set device independent resolution for rendering - /// - /// \param renderer The renderer for which resolution should be set. - /// \param w The width of the logical resolution - /// \param h The height of the logical resolution - /// - /// This function uses the viewport and scaling functionality to allow a fixed logical - /// resolution for rendering, regardless of the actual output resolution. If the actual - /// output resolution doesn't have the same aspect ratio the output rendering will be - /// centered within the output display. - /// - /// If the output display is a window, mouse events in the window will be filtered - /// and scaled so they seem to arrive within the logical resolution. - /// - /// \note If this function results in scaling or subpixel drawing by the - /// rendering backend, it will be handled using the appropriate - /// quality hints. - /// - /// \sa SDL_RenderGetLogicalSize() - /// \sa SDL_RenderSetScale() - /// \sa SDL_RenderSetViewport() + #[doc = " \\brief Set device independent resolution for rendering"] + #[doc = ""] + #[doc = " \\param renderer The renderer for which resolution should be set."] + #[doc = " \\param w The width of the logical resolution"] + #[doc = " \\param h The height of the logical resolution"] + #[doc = ""] + #[doc = " This function uses the viewport and scaling functionality to allow a fixed logical"] + #[doc = " resolution for rendering, regardless of the actual output resolution. If the actual"] + #[doc = " output resolution doesn't have the same aspect ratio the output rendering will be"] + #[doc = " centered within the output display."] + #[doc = ""] + #[doc = " If the output display is a window, mouse events in the window will be filtered"] + #[doc = " and scaled so they seem to arrive within the logical resolution."] + #[doc = ""] + #[doc = " \\note If this function results in scaling or subpixel drawing by the"] + #[doc = " rendering backend, it will be handled using the appropriate"] + #[doc = " quality hints."] + #[doc = ""] + #[doc = " \\sa SDL_RenderGetLogicalSize()"] + #[doc = " \\sa SDL_RenderSetScale()"] + #[doc = " \\sa SDL_RenderSetViewport()"] pub fn SDL_RenderSetLogicalSize( renderer: *mut SDL_Renderer, w: libc::c_int, @@ -16307,13 +16734,13 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// \brief Get device independent resolution for rendering - /// - /// \param renderer The renderer from which resolution should be queried. - /// \param w A pointer filled with the width of the logical resolution - /// \param h A pointer filled with the height of the logical resolution - /// - /// \sa SDL_RenderSetLogicalSize() + #[doc = " \\brief Get device independent resolution for rendering"] + #[doc = ""] + #[doc = " \\param renderer The renderer from which resolution should be queried."] + #[doc = " \\param w A pointer filled with the width of the logical resolution"] + #[doc = " \\param h A pointer filled with the height of the logical resolution"] + #[doc = ""] + #[doc = " \\sa SDL_RenderSetLogicalSize()"] pub fn SDL_RenderGetLogicalSize( renderer: *mut SDL_Renderer, w: *mut libc::c_int, @@ -16321,121 +16748,121 @@ extern "C" { ); } extern "C" { - /// \brief Set whether to force integer scales for resolution-independent rendering - /// - /// \param renderer The renderer for which integer scaling should be set. - /// \param enable Enable or disable integer scaling - /// - /// This function restricts the logical viewport to integer values - that is, when - /// a resolution is between two multiples of a logical size, the viewport size is - /// rounded down to the lower multiple. - /// - /// \sa SDL_RenderSetLogicalSize() + #[doc = " \\brief Set whether to force integer scales for resolution-independent rendering"] + #[doc = ""] + #[doc = " \\param renderer The renderer for which integer scaling should be set."] + #[doc = " \\param enable Enable or disable integer scaling"] + #[doc = ""] + #[doc = " This function restricts the logical viewport to integer values - that is, when"] + #[doc = " a resolution is between two multiples of a logical size, the viewport size is"] + #[doc = " rounded down to the lower multiple."] + #[doc = ""] + #[doc = " \\sa SDL_RenderSetLogicalSize()"] pub fn SDL_RenderSetIntegerScale(renderer: *mut SDL_Renderer, enable: SDL_bool) -> libc::c_int; } extern "C" { - /// \brief Get whether integer scales are forced for resolution-independent rendering - /// - /// \param renderer The renderer from which integer scaling should be queried. - /// - /// \sa SDL_RenderSetIntegerScale() + #[doc = " \\brief Get whether integer scales are forced for resolution-independent rendering"] + #[doc = ""] + #[doc = " \\param renderer The renderer from which integer scaling should be queried."] + #[doc = ""] + #[doc = " \\sa SDL_RenderSetIntegerScale()"] pub fn SDL_RenderGetIntegerScale(renderer: *mut SDL_Renderer) -> SDL_bool; } extern "C" { - /// \brief Set the drawing area for rendering on the current target. - /// - /// \param renderer The renderer for which the drawing area should be set. - /// \param rect The rectangle representing the drawing area, or NULL to set the viewport to the entire target. - /// - /// The x,y of the viewport rect represents the origin for rendering. - /// - /// \return 0 on success, or -1 on error - /// - /// \note If the window associated with the renderer is resized, the viewport is automatically reset. - /// - /// \sa SDL_RenderGetViewport() - /// \sa SDL_RenderSetLogicalSize() + #[doc = " \\brief Set the drawing area for rendering on the current target."] + #[doc = ""] + #[doc = " \\param renderer The renderer for which the drawing area should be set."] + #[doc = " \\param rect The rectangle representing the drawing area, or NULL to set the viewport to the entire target."] + #[doc = ""] + #[doc = " The x,y of the viewport rect represents the origin for rendering."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 on error"] + #[doc = ""] + #[doc = " \\note If the window associated with the renderer is resized, the viewport is automatically reset."] + #[doc = ""] + #[doc = " \\sa SDL_RenderGetViewport()"] + #[doc = " \\sa SDL_RenderSetLogicalSize()"] pub fn SDL_RenderSetViewport(renderer: *mut SDL_Renderer, rect: *const SDL_Rect) -> libc::c_int; } extern "C" { - /// \brief Get the drawing area for the current target. - /// - /// \sa SDL_RenderSetViewport() + #[doc = " \\brief Get the drawing area for the current target."] + #[doc = ""] + #[doc = " \\sa SDL_RenderSetViewport()"] pub fn SDL_RenderGetViewport(renderer: *mut SDL_Renderer, rect: *mut SDL_Rect); } extern "C" { - /// \brief Set the clip rectangle for the current target. - /// - /// \param renderer The renderer for which clip rectangle should be set. - /// \param rect A pointer to the rectangle to set as the clip rectangle, or - /// NULL to disable clipping. - /// - /// \return 0 on success, or -1 on error - /// - /// \sa SDL_RenderGetClipRect() + #[doc = " \\brief Set the clip rectangle for the current target."] + #[doc = ""] + #[doc = " \\param renderer The renderer for which clip rectangle should be set."] + #[doc = " \\param rect A pointer to the rectangle to set as the clip rectangle, or"] + #[doc = " NULL to disable clipping."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 on error"] + #[doc = ""] + #[doc = " \\sa SDL_RenderGetClipRect()"] pub fn SDL_RenderSetClipRect(renderer: *mut SDL_Renderer, rect: *const SDL_Rect) -> libc::c_int; } extern "C" { - /// \brief Get the clip rectangle for the current target. - /// - /// \param renderer The renderer from which clip rectangle should be queried. - /// \param rect A pointer filled in with the current clip rectangle, or - /// an empty rectangle if clipping is disabled. - /// - /// \sa SDL_RenderSetClipRect() + #[doc = " \\brief Get the clip rectangle for the current target."] + #[doc = ""] + #[doc = " \\param renderer The renderer from which clip rectangle should be queried."] + #[doc = " \\param rect A pointer filled in with the current clip rectangle, or"] + #[doc = " an empty rectangle if clipping is disabled."] + #[doc = ""] + #[doc = " \\sa SDL_RenderSetClipRect()"] pub fn SDL_RenderGetClipRect(renderer: *mut SDL_Renderer, rect: *mut SDL_Rect); } extern "C" { - /// \brief Get whether clipping is enabled on the given renderer. - /// - /// \param renderer The renderer from which clip state should be queried. - /// - /// \sa SDL_RenderGetClipRect() + #[doc = " \\brief Get whether clipping is enabled on the given renderer."] + #[doc = ""] + #[doc = " \\param renderer The renderer from which clip state should be queried."] + #[doc = ""] + #[doc = " \\sa SDL_RenderGetClipRect()"] pub fn SDL_RenderIsClipEnabled(renderer: *mut SDL_Renderer) -> SDL_bool; } extern "C" { - /// \brief Set the drawing scale for rendering on the current target. - /// - /// \param renderer The renderer for which the drawing scale should be set. - /// \param scaleX The horizontal scaling factor - /// \param scaleY The vertical scaling factor - /// - /// The drawing coordinates are scaled by the x/y scaling factors - /// before they are used by the renderer. This allows resolution - /// independent drawing with a single coordinate system. - /// - /// \note If this results in scaling or subpixel drawing by the - /// rendering backend, it will be handled using the appropriate - /// quality hints. For best results use integer scaling factors. - /// - /// \sa SDL_RenderGetScale() - /// \sa SDL_RenderSetLogicalSize() + #[doc = " \\brief Set the drawing scale for rendering on the current target."] + #[doc = ""] + #[doc = " \\param renderer The renderer for which the drawing scale should be set."] + #[doc = " \\param scaleX The horizontal scaling factor"] + #[doc = " \\param scaleY The vertical scaling factor"] + #[doc = ""] + #[doc = " The drawing coordinates are scaled by the x/y scaling factors"] + #[doc = " before they are used by the renderer. This allows resolution"] + #[doc = " independent drawing with a single coordinate system."] + #[doc = ""] + #[doc = " \\note If this results in scaling or subpixel drawing by the"] + #[doc = " rendering backend, it will be handled using the appropriate"] + #[doc = " quality hints. For best results use integer scaling factors."] + #[doc = ""] + #[doc = " \\sa SDL_RenderGetScale()"] + #[doc = " \\sa SDL_RenderSetLogicalSize()"] pub fn SDL_RenderSetScale(renderer: *mut SDL_Renderer, scaleX: f32, scaleY: f32) -> libc::c_int; } extern "C" { - /// \brief Get the drawing scale for the current target. - /// - /// \param renderer The renderer from which drawing scale should be queried. - /// \param scaleX A pointer filled in with the horizontal scaling factor - /// \param scaleY A pointer filled in with the vertical scaling factor - /// - /// \sa SDL_RenderSetScale() + #[doc = " \\brief Get the drawing scale for the current target."] + #[doc = ""] + #[doc = " \\param renderer The renderer from which drawing scale should be queried."] + #[doc = " \\param scaleX A pointer filled in with the horizontal scaling factor"] + #[doc = " \\param scaleY A pointer filled in with the vertical scaling factor"] + #[doc = ""] + #[doc = " \\sa SDL_RenderSetScale()"] pub fn SDL_RenderGetScale(renderer: *mut SDL_Renderer, scaleX: *mut f32, scaleY: *mut f32); } extern "C" { - /// \brief Set the color used for drawing operations (Rect, Line and Clear). - /// - /// \param renderer The renderer for which drawing color should be set. - /// \param r The red value used to draw on the rendering target. - /// \param g The green value used to draw on the rendering target. - /// \param b The blue value used to draw on the rendering target. - /// \param a The alpha value used to draw on the rendering target, usually - /// ::SDL_ALPHA_OPAQUE (255). - /// - /// \return 0 on success, or -1 on error + #[doc = " \\brief Set the color used for drawing operations (Rect, Line and Clear)."] + #[doc = ""] + #[doc = " \\param renderer The renderer for which drawing color should be set."] + #[doc = " \\param r The red value used to draw on the rendering target."] + #[doc = " \\param g The green value used to draw on the rendering target."] + #[doc = " \\param b The blue value used to draw on the rendering target."] + #[doc = " \\param a The alpha value used to draw on the rendering target, usually"] + #[doc = " ::SDL_ALPHA_OPAQUE (255)."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 on error"] pub fn SDL_SetRenderDrawColor( renderer: *mut SDL_Renderer, r: Uint8, @@ -16445,16 +16872,16 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// \brief Get the color used for drawing operations (Rect, Line and Clear). - /// - /// \param renderer The renderer from which drawing color should be queried. - /// \param r A pointer to the red value used to draw on the rendering target. - /// \param g A pointer to the green value used to draw on the rendering target. - /// \param b A pointer to the blue value used to draw on the rendering target. - /// \param a A pointer to the alpha value used to draw on the rendering target, - /// usually ::SDL_ALPHA_OPAQUE (255). - /// - /// \return 0 on success, or -1 on error + #[doc = " \\brief Get the color used for drawing operations (Rect, Line and Clear)."] + #[doc = ""] + #[doc = " \\param renderer The renderer from which drawing color should be queried."] + #[doc = " \\param r A pointer to the red value used to draw on the rendering target."] + #[doc = " \\param g A pointer to the green value used to draw on the rendering target."] + #[doc = " \\param b A pointer to the blue value used to draw on the rendering target."] + #[doc = " \\param a A pointer to the alpha value used to draw on the rendering target,"] + #[doc = " usually ::SDL_ALPHA_OPAQUE (255)."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 on error"] pub fn SDL_GetRenderDrawColor( renderer: *mut SDL_Renderer, r: *mut Uint8, @@ -16464,53 +16891,53 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// \brief Set the blend mode used for drawing operations (Fill and Line). - /// - /// \param renderer The renderer for which blend mode should be set. - /// \param blendMode ::SDL_BlendMode to use for blending. - /// - /// \return 0 on success, or -1 on error - /// - /// \note If the blend mode is not supported, the closest supported mode is - /// chosen. - /// - /// \sa SDL_GetRenderDrawBlendMode() + #[doc = " \\brief Set the blend mode used for drawing operations (Fill and Line)."] + #[doc = ""] + #[doc = " \\param renderer The renderer for which blend mode should be set."] + #[doc = " \\param blendMode ::SDL_BlendMode to use for blending."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 on error"] + #[doc = ""] + #[doc = " \\note If the blend mode is not supported, the closest supported mode is"] + #[doc = " chosen."] + #[doc = ""] + #[doc = " \\sa SDL_GetRenderDrawBlendMode()"] pub fn SDL_SetRenderDrawBlendMode( renderer: *mut SDL_Renderer, blendMode: SDL_BlendMode, ) -> libc::c_int; } extern "C" { - /// \brief Get the blend mode used for drawing operations. - /// - /// \param renderer The renderer from which blend mode should be queried. - /// \param blendMode A pointer filled in with the current blend mode. - /// - /// \return 0 on success, or -1 on error - /// - /// \sa SDL_SetRenderDrawBlendMode() + #[doc = " \\brief Get the blend mode used for drawing operations."] + #[doc = ""] + #[doc = " \\param renderer The renderer from which blend mode should be queried."] + #[doc = " \\param blendMode A pointer filled in with the current blend mode."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 on error"] + #[doc = ""] + #[doc = " \\sa SDL_SetRenderDrawBlendMode()"] pub fn SDL_GetRenderDrawBlendMode( renderer: *mut SDL_Renderer, blendMode: *mut SDL_BlendMode, ) -> libc::c_int; } extern "C" { - /// \brief Clear the current rendering target with the drawing color - /// - /// This function clears the entire rendering target, ignoring the viewport and - /// the clip rectangle. - /// - /// \return 0 on success, or -1 on error + #[doc = " \\brief Clear the current rendering target with the drawing color"] + #[doc = ""] + #[doc = " This function clears the entire rendering target, ignoring the viewport and"] + #[doc = " the clip rectangle."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 on error"] pub fn SDL_RenderClear(renderer: *mut SDL_Renderer) -> libc::c_int; } extern "C" { - /// \brief Draw a point on the current rendering target. - /// - /// \param renderer The renderer which should draw a point. - /// \param x The x coordinate of the point. - /// \param y The y coordinate of the point. - /// - /// \return 0 on success, or -1 on error + #[doc = " \\brief Draw a point on the current rendering target."] + #[doc = ""] + #[doc = " \\param renderer The renderer which should draw a point."] + #[doc = " \\param x The x coordinate of the point."] + #[doc = " \\param y The y coordinate of the point."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 on error"] pub fn SDL_RenderDrawPoint( renderer: *mut SDL_Renderer, x: libc::c_int, @@ -16518,13 +16945,13 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// \brief Draw multiple points on the current rendering target. - /// - /// \param renderer The renderer which should draw multiple points. - /// \param points The points to draw - /// \param count The number of points to draw - /// - /// \return 0 on success, or -1 on error + #[doc = " \\brief Draw multiple points on the current rendering target."] + #[doc = ""] + #[doc = " \\param renderer The renderer which should draw multiple points."] + #[doc = " \\param points The points to draw"] + #[doc = " \\param count The number of points to draw"] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 on error"] pub fn SDL_RenderDrawPoints( renderer: *mut SDL_Renderer, points: *const SDL_Point, @@ -16532,15 +16959,15 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// \brief Draw a line on the current rendering target. - /// - /// \param renderer The renderer which should draw a line. - /// \param x1 The x coordinate of the start point. - /// \param y1 The y coordinate of the start point. - /// \param x2 The x coordinate of the end point. - /// \param y2 The y coordinate of the end point. - /// - /// \return 0 on success, or -1 on error + #[doc = " \\brief Draw a line on the current rendering target."] + #[doc = ""] + #[doc = " \\param renderer The renderer which should draw a line."] + #[doc = " \\param x1 The x coordinate of the start point."] + #[doc = " \\param y1 The y coordinate of the start point."] + #[doc = " \\param x2 The x coordinate of the end point."] + #[doc = " \\param y2 The y coordinate of the end point."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 on error"] pub fn SDL_RenderDrawLine( renderer: *mut SDL_Renderer, x1: libc::c_int, @@ -16550,13 +16977,13 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// \brief Draw a series of connected lines on the current rendering target. - /// - /// \param renderer The renderer which should draw multiple lines. - /// \param points The points along the lines - /// \param count The number of points, drawing count-1 lines - /// - /// \return 0 on success, or -1 on error + #[doc = " \\brief Draw a series of connected lines on the current rendering target."] + #[doc = ""] + #[doc = " \\param renderer The renderer which should draw multiple lines."] + #[doc = " \\param points The points along the lines"] + #[doc = " \\param count The number of points, drawing count-1 lines"] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 on error"] pub fn SDL_RenderDrawLines( renderer: *mut SDL_Renderer, points: *const SDL_Point, @@ -16564,22 +16991,22 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// \brief Draw a rectangle on the current rendering target. - /// - /// \param renderer The renderer which should draw a rectangle. - /// \param rect A pointer to the destination rectangle, or NULL to outline the entire rendering target. - /// - /// \return 0 on success, or -1 on error + #[doc = " \\brief Draw a rectangle on the current rendering target."] + #[doc = ""] + #[doc = " \\param renderer The renderer which should draw a rectangle."] + #[doc = " \\param rect A pointer to the destination rectangle, or NULL to outline the entire rendering target."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 on error"] pub fn SDL_RenderDrawRect(renderer: *mut SDL_Renderer, rect: *const SDL_Rect) -> libc::c_int; } extern "C" { - /// \brief Draw some number of rectangles on the current rendering target. - /// - /// \param renderer The renderer which should draw multiple rectangles. - /// \param rects A pointer to an array of destination rectangles. - /// \param count The number of rectangles. - /// - /// \return 0 on success, or -1 on error + #[doc = " \\brief Draw some number of rectangles on the current rendering target."] + #[doc = ""] + #[doc = " \\param renderer The renderer which should draw multiple rectangles."] + #[doc = " \\param rects A pointer to an array of destination rectangles."] + #[doc = " \\param count The number of rectangles."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 on error"] pub fn SDL_RenderDrawRects( renderer: *mut SDL_Renderer, rects: *const SDL_Rect, @@ -16587,23 +17014,23 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// \brief Fill a rectangle on the current rendering target with the drawing color. - /// - /// \param renderer The renderer which should fill a rectangle. - /// \param rect A pointer to the destination rectangle, or NULL for the entire - /// rendering target. - /// - /// \return 0 on success, or -1 on error + #[doc = " \\brief Fill a rectangle on the current rendering target with the drawing color."] + #[doc = ""] + #[doc = " \\param renderer The renderer which should fill a rectangle."] + #[doc = " \\param rect A pointer to the destination rectangle, or NULL for the entire"] + #[doc = " rendering target."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 on error"] pub fn SDL_RenderFillRect(renderer: *mut SDL_Renderer, rect: *const SDL_Rect) -> libc::c_int; } extern "C" { - /// \brief Fill some number of rectangles on the current rendering target with the drawing color. - /// - /// \param renderer The renderer which should fill multiple rectangles. - /// \param rects A pointer to an array of destination rectangles. - /// \param count The number of rectangles. - /// - /// \return 0 on success, or -1 on error + #[doc = " \\brief Fill some number of rectangles on the current rendering target with the drawing color."] + #[doc = ""] + #[doc = " \\param renderer The renderer which should fill multiple rectangles."] + #[doc = " \\param rects A pointer to an array of destination rectangles."] + #[doc = " \\param count The number of rectangles."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 on error"] pub fn SDL_RenderFillRects( renderer: *mut SDL_Renderer, rects: *const SDL_Rect, @@ -16611,16 +17038,16 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// \brief Copy a portion of the texture to the current rendering target. - /// - /// \param renderer The renderer which should copy parts of a texture. - /// \param texture The source texture. - /// \param srcrect A pointer to the source rectangle, or NULL for the entire - /// texture. - /// \param dstrect A pointer to the destination rectangle, or NULL for the - /// entire rendering target. - /// - /// \return 0 on success, or -1 on error + #[doc = " \\brief Copy a portion of the texture to the current rendering target."] + #[doc = ""] + #[doc = " \\param renderer The renderer which should copy parts of a texture."] + #[doc = " \\param texture The source texture."] + #[doc = " \\param srcrect A pointer to the source rectangle, or NULL for the entire"] + #[doc = " texture."] + #[doc = " \\param dstrect A pointer to the destination rectangle, or NULL for the"] + #[doc = " entire rendering target."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 on error"] pub fn SDL_RenderCopy( renderer: *mut SDL_Renderer, texture: *mut SDL_Texture, @@ -16629,19 +17056,19 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// \brief Copy a portion of the source texture to the current rendering target, rotating it by angle around the given center - /// - /// \param renderer The renderer which should copy parts of a texture. - /// \param texture The source texture. - /// \param srcrect A pointer to the source rectangle, or NULL for the entire - /// texture. - /// \param dstrect A pointer to the destination rectangle, or NULL for the - /// entire rendering target. - /// \param angle An angle in degrees that indicates the rotation that will be applied to dstrect, rotating it in a clockwise direction - /// \param center A pointer to a point indicating the point around which dstrect will be rotated (if NULL, rotation will be done around dstrect.w/2, dstrect.h/2). - /// \param flip An SDL_RendererFlip value stating which flipping actions should be performed on the texture - /// - /// \return 0 on success, or -1 on error + #[doc = " \\brief Copy a portion of the source texture to the current rendering target, rotating it by angle around the given center"] + #[doc = ""] + #[doc = " \\param renderer The renderer which should copy parts of a texture."] + #[doc = " \\param texture The source texture."] + #[doc = " \\param srcrect A pointer to the source rectangle, or NULL for the entire"] + #[doc = " texture."] + #[doc = " \\param dstrect A pointer to the destination rectangle, or NULL for the"] + #[doc = " entire rendering target."] + #[doc = " \\param angle An angle in degrees that indicates the rotation that will be applied to dstrect, rotating it in a clockwise direction"] + #[doc = " \\param center A pointer to a point indicating the point around which dstrect will be rotated (if NULL, rotation will be done around dstrect.w/2, dstrect.h/2)."] + #[doc = " \\param flip An SDL_RendererFlip value stating which flipping actions should be performed on the texture"] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 on error"] pub fn SDL_RenderCopyEx( renderer: *mut SDL_Renderer, texture: *mut SDL_Texture, @@ -16653,19 +17080,164 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// \brief Read pixels from the current rendering target. - /// - /// \param renderer The renderer from which pixels should be read. - /// \param rect A pointer to the rectangle to read, or NULL for the entire - /// render target. - /// \param format The desired format of the pixel data, or 0 to use the format - /// of the rendering target - /// \param pixels A pointer to be filled in with the pixel data - /// \param pitch The pitch of the pixels parameter. - /// - /// \return 0 on success, or -1 if pixel reading is not supported. - /// - /// \warning This is a very slow operation, and should not be used frequently. + #[doc = " \\brief Draw a point on the current rendering target."] + #[doc = ""] + #[doc = " \\param renderer The renderer which should draw a point."] + #[doc = " \\param x The x coordinate of the point."] + #[doc = " \\param y The y coordinate of the point."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 on error"] + pub fn SDL_RenderDrawPointF(renderer: *mut SDL_Renderer, x: f32, y: f32) -> libc::c_int; +} +extern "C" { + #[doc = " \\brief Draw multiple points on the current rendering target."] + #[doc = ""] + #[doc = " \\param renderer The renderer which should draw multiple points."] + #[doc = " \\param points The points to draw"] + #[doc = " \\param count The number of points to draw"] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 on error"] + pub fn SDL_RenderDrawPointsF( + renderer: *mut SDL_Renderer, + points: *const SDL_FPoint, + count: libc::c_int, + ) -> libc::c_int; +} +extern "C" { + #[doc = " \\brief Draw a line on the current rendering target."] + #[doc = ""] + #[doc = " \\param renderer The renderer which should draw a line."] + #[doc = " \\param x1 The x coordinate of the start point."] + #[doc = " \\param y1 The y coordinate of the start point."] + #[doc = " \\param x2 The x coordinate of the end point."] + #[doc = " \\param y2 The y coordinate of the end point."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 on error"] + pub fn SDL_RenderDrawLineF( + renderer: *mut SDL_Renderer, + x1: f32, + y1: f32, + x2: f32, + y2: f32, + ) -> libc::c_int; +} +extern "C" { + #[doc = " \\brief Draw a series of connected lines on the current rendering target."] + #[doc = ""] + #[doc = " \\param renderer The renderer which should draw multiple lines."] + #[doc = " \\param points The points along the lines"] + #[doc = " \\param count The number of points, drawing count-1 lines"] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 on error"] + pub fn SDL_RenderDrawLinesF( + renderer: *mut SDL_Renderer, + points: *const SDL_FPoint, + count: libc::c_int, + ) -> libc::c_int; +} +extern "C" { + #[doc = " \\brief Draw a rectangle on the current rendering target."] + #[doc = ""] + #[doc = " \\param renderer The renderer which should draw a rectangle."] + #[doc = " \\param rect A pointer to the destination rectangle, or NULL to outline the entire rendering target."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 on error"] + pub fn SDL_RenderDrawRectF(renderer: *mut SDL_Renderer, rect: *const SDL_FRect) -> libc::c_int; +} +extern "C" { + #[doc = " \\brief Draw some number of rectangles on the current rendering target."] + #[doc = ""] + #[doc = " \\param renderer The renderer which should draw multiple rectangles."] + #[doc = " \\param rects A pointer to an array of destination rectangles."] + #[doc = " \\param count The number of rectangles."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 on error"] + pub fn SDL_RenderDrawRectsF( + renderer: *mut SDL_Renderer, + rects: *const SDL_FRect, + count: libc::c_int, + ) -> libc::c_int; +} +extern "C" { + #[doc = " \\brief Fill a rectangle on the current rendering target with the drawing color."] + #[doc = ""] + #[doc = " \\param renderer The renderer which should fill a rectangle."] + #[doc = " \\param rect A pointer to the destination rectangle, or NULL for the entire"] + #[doc = " rendering target."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 on error"] + pub fn SDL_RenderFillRectF(renderer: *mut SDL_Renderer, rect: *const SDL_FRect) -> libc::c_int; +} +extern "C" { + #[doc = " \\brief Fill some number of rectangles on the current rendering target with the drawing color."] + #[doc = ""] + #[doc = " \\param renderer The renderer which should fill multiple rectangles."] + #[doc = " \\param rects A pointer to an array of destination rectangles."] + #[doc = " \\param count The number of rectangles."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 on error"] + pub fn SDL_RenderFillRectsF( + renderer: *mut SDL_Renderer, + rects: *const SDL_FRect, + count: libc::c_int, + ) -> libc::c_int; +} +extern "C" { + #[doc = " \\brief Copy a portion of the texture to the current rendering target."] + #[doc = ""] + #[doc = " \\param renderer The renderer which should copy parts of a texture."] + #[doc = " \\param texture The source texture."] + #[doc = " \\param srcrect A pointer to the source rectangle, or NULL for the entire"] + #[doc = " texture."] + #[doc = " \\param dstrect A pointer to the destination rectangle, or NULL for the"] + #[doc = " entire rendering target."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 on error"] + pub fn SDL_RenderCopyF( + renderer: *mut SDL_Renderer, + texture: *mut SDL_Texture, + srcrect: *const SDL_Rect, + dstrect: *const SDL_FRect, + ) -> libc::c_int; +} +extern "C" { + #[doc = " \\brief Copy a portion of the source texture to the current rendering target, rotating it by angle around the given center"] + #[doc = ""] + #[doc = " \\param renderer The renderer which should copy parts of a texture."] + #[doc = " \\param texture The source texture."] + #[doc = " \\param srcrect A pointer to the source rectangle, or NULL for the entire"] + #[doc = " texture."] + #[doc = " \\param dstrect A pointer to the destination rectangle, or NULL for the"] + #[doc = " entire rendering target."] + #[doc = " \\param angle An angle in degrees that indicates the rotation that will be applied to dstrect, rotating it in a clockwise direction"] + #[doc = " \\param center A pointer to a point indicating the point around which dstrect will be rotated (if NULL, rotation will be done around dstrect.w/2, dstrect.h/2)."] + #[doc = " \\param flip An SDL_RendererFlip value stating which flipping actions should be performed on the texture"] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 on error"] + pub fn SDL_RenderCopyExF( + renderer: *mut SDL_Renderer, + texture: *mut SDL_Texture, + srcrect: *const SDL_Rect, + dstrect: *const SDL_FRect, + angle: f64, + center: *const SDL_FPoint, + flip: SDL_RendererFlip, + ) -> libc::c_int; +} +extern "C" { + #[doc = " \\brief Read pixels from the current rendering target."] + #[doc = ""] + #[doc = " \\param renderer The renderer from which pixels should be read."] + #[doc = " \\param rect A pointer to the rectangle to read, or NULL for the entire"] + #[doc = " render target."] + #[doc = " \\param format The desired format of the pixel data, or 0 to use the format"] + #[doc = " of the rendering target"] + #[doc = " \\param pixels A pointer to be filled in with the pixel data"] + #[doc = " \\param pitch The pitch of the pixels parameter."] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 if pixel reading is not supported."] + #[doc = ""] + #[doc = " \\warning This is a very slow operation, and should not be used frequently."] pub fn SDL_RenderReadPixels( renderer: *mut SDL_Renderer, rect: *const SDL_Rect, @@ -16675,32 +17247,56 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// \brief Update the screen with rendering performed. + #[doc = " \\brief Update the screen with rendering performed."] pub fn SDL_RenderPresent(renderer: *mut SDL_Renderer); } extern "C" { - /// \brief Destroy the specified texture. - /// - /// \sa SDL_CreateTexture() - /// \sa SDL_CreateTextureFromSurface() + #[doc = " \\brief Destroy the specified texture."] + #[doc = ""] + #[doc = " \\sa SDL_CreateTexture()"] + #[doc = " \\sa SDL_CreateTextureFromSurface()"] pub fn SDL_DestroyTexture(texture: *mut SDL_Texture); } extern "C" { - /// \brief Destroy the rendering context for a window and free associated - /// textures. - /// - /// \sa SDL_CreateRenderer() + #[doc = " \\brief Destroy the rendering context for a window and free associated"] + #[doc = " textures."] + #[doc = ""] + #[doc = " \\sa SDL_CreateRenderer()"] pub fn SDL_DestroyRenderer(renderer: *mut SDL_Renderer); } extern "C" { - /// \brief Bind the texture to the current OpenGL/ES/ES2 context for use with - /// OpenGL instructions. - /// - /// \param texture The SDL texture to bind - /// \param texw A pointer to a float that will be filled with the texture width - /// \param texh A pointer to a float that will be filled with the texture height - /// - /// \return 0 on success, or -1 if the operation is not supported + #[doc = " \\brief Force the rendering context to flush any pending commands to the"] + #[doc = " underlying rendering API."] + #[doc = ""] + #[doc = " You do not need to (and in fact, shouldn't) call this function unless"] + #[doc = " you are planning to call into OpenGL/Direct3D/Metal/whatever directly"] + #[doc = " in addition to using an SDL_Renderer."] + #[doc = ""] + #[doc = " This is for a very-specific case: if you are using SDL's render API,"] + #[doc = " you asked for a specific renderer backend (OpenGL, Direct3D, etc),"] + #[doc = " you set SDL_HINT_RENDER_BATCHING to \"1\", and you plan to make"] + #[doc = " OpenGL/D3D/whatever calls in addition to SDL render API calls. If all of"] + #[doc = " this applies, you should call SDL_RenderFlush() between calls to SDL's"] + #[doc = " render API and the low-level API you're using in cooperation."] + #[doc = ""] + #[doc = " In all other cases, you can ignore this function. This is only here to"] + #[doc = " get maximum performance out of a specific situation. In all other cases,"] + #[doc = " SDL will do the right thing, perhaps at a performance loss."] + #[doc = ""] + #[doc = " This function is first available in SDL 2.0.10, and is not needed in"] + #[doc = " 2.0.9 and earlier, as earlier versions did not queue rendering commands"] + #[doc = " at all, instead flushing them to the OS immediately."] + pub fn SDL_RenderFlush(renderer: *mut SDL_Renderer) -> libc::c_int; +} +extern "C" { + #[doc = " \\brief Bind the texture to the current OpenGL/ES/ES2 context for use with"] + #[doc = " OpenGL instructions."] + #[doc = ""] + #[doc = " \\param texture The SDL texture to bind"] + #[doc = " \\param texw A pointer to a float that will be filled with the texture width"] + #[doc = " \\param texh A pointer to a float that will be filled with the texture height"] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 if the operation is not supported"] pub fn SDL_GL_BindTexture( texture: *mut SDL_Texture, texw: *mut f32, @@ -16708,149 +17304,149 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// \brief Unbind a texture from the current OpenGL/ES/ES2 context. - /// - /// \param texture The SDL texture to unbind - /// - /// \return 0 on success, or -1 if the operation is not supported + #[doc = " \\brief Unbind a texture from the current OpenGL/ES/ES2 context."] + #[doc = ""] + #[doc = " \\param texture The SDL texture to unbind"] + #[doc = ""] + #[doc = " \\return 0 on success, or -1 if the operation is not supported"] pub fn SDL_GL_UnbindTexture(texture: *mut SDL_Texture) -> libc::c_int; } extern "C" { - /// \brief Get the CAMetalLayer associated with the given Metal renderer - /// - /// \param renderer The renderer to query - /// - /// \return CAMetalLayer* on success, or NULL if the renderer isn't a Metal renderer - /// - /// \sa SDL_RenderGetMetalCommandEncoder() + #[doc = " \\brief Get the CAMetalLayer associated with the given Metal renderer"] + #[doc = ""] + #[doc = " \\param renderer The renderer to query"] + #[doc = ""] + #[doc = " \\return CAMetalLayer* on success, or NULL if the renderer isn't a Metal renderer"] + #[doc = ""] + #[doc = " \\sa SDL_RenderGetMetalCommandEncoder()"] pub fn SDL_RenderGetMetalLayer(renderer: *mut SDL_Renderer) -> *mut libc::c_void; } extern "C" { - /// \brief Get the Metal command encoder for the current frame - /// - /// \param renderer The renderer to query - /// - /// \return id on success, or NULL if the renderer isn't a Metal renderer - /// - /// \sa SDL_RenderGetMetalLayer() + #[doc = " \\brief Get the Metal command encoder for the current frame"] + #[doc = ""] + #[doc = " \\param renderer The renderer to query"] + #[doc = ""] + #[doc = " \\return id on success, or NULL if the renderer isn't a Metal renderer"] + #[doc = ""] + #[doc = " \\sa SDL_RenderGetMetalLayer()"] pub fn SDL_RenderGetMetalCommandEncoder(renderer: *mut SDL_Renderer) -> *mut libc::c_void; } -/// \brief SDL_sensor.h -/// -/// In order to use these functions, SDL_Init() must have been called -/// with the ::SDL_INIT_SENSOR flag. This causes SDL to scan the system -/// for sensors, and load appropriate drivers. +#[doc = " \\brief SDL_sensor.h"] +#[doc = ""] +#[doc = " In order to use these functions, SDL_Init() must have been called"] +#[doc = " with the ::SDL_INIT_SENSOR flag. This causes SDL to scan the system"] +#[doc = " for sensors, and load appropriate drivers."] #[repr(C)] #[derive(Copy, Clone)] pub struct _SDL_Sensor { _unused: [u8; 0], } pub type SDL_Sensor = _SDL_Sensor; -/// This is a unique ID for a sensor for the time it is connected to the system, -/// and is never reused for the lifetime of the application. -/// -/// The ID value starts at 0 and increments from there. The value -1 is an invalid ID. +#[doc = " This is a unique ID for a sensor for the time it is connected to the system,"] +#[doc = " and is never reused for the lifetime of the application."] +#[doc = ""] +#[doc = " The ID value starts at 0 and increments from there. The value -1 is an invalid ID."] pub type SDL_SensorID = Sint32; #[repr(i32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum SDL_SensorType { - ///< Returned for an invalid sensor + #[doc = "< Returned for an invalid sensor"] SDL_SENSOR_INVALID = -1, - ///< Unknown sensor type + #[doc = "< Unknown sensor type"] SDL_SENSOR_UNKNOWN = 0, - ///< Accelerometer + #[doc = "< Accelerometer"] SDL_SENSOR_ACCEL = 1, - ///< Gyroscope + #[doc = "< Gyroscope"] SDL_SENSOR_GYRO = 2, } extern "C" { - /// \brief Count the number of sensors attached to the system right now + #[doc = " \\brief Count the number of sensors attached to the system right now"] pub fn SDL_NumSensors() -> libc::c_int; } extern "C" { - /// \brief Get the implementation dependent name of a sensor. - /// - /// This can be called before any sensors are opened. - /// - /// \return The sensor name, or NULL if device_index is out of range. + #[doc = " \\brief Get the implementation dependent name of a sensor."] + #[doc = ""] + #[doc = " This can be called before any sensors are opened."] + #[doc = ""] + #[doc = " \\return The sensor name, or NULL if device_index is out of range."] pub fn SDL_SensorGetDeviceName(device_index: libc::c_int) -> *const libc::c_char; } extern "C" { - /// \brief Get the type of a sensor. - /// - /// This can be called before any sensors are opened. - /// - /// \return The sensor type, or SDL_SENSOR_INVALID if device_index is out of range. + #[doc = " \\brief Get the type of a sensor."] + #[doc = ""] + #[doc = " This can be called before any sensors are opened."] + #[doc = ""] + #[doc = " \\return The sensor type, or SDL_SENSOR_INVALID if device_index is out of range."] pub fn SDL_SensorGetDeviceType(device_index: libc::c_int) -> SDL_SensorType; } extern "C" { - /// \brief Get the platform dependent type of a sensor. - /// - /// This can be called before any sensors are opened. - /// - /// \return The sensor platform dependent type, or -1 if device_index is out of range. + #[doc = " \\brief Get the platform dependent type of a sensor."] + #[doc = ""] + #[doc = " This can be called before any sensors are opened."] + #[doc = ""] + #[doc = " \\return The sensor platform dependent type, or -1 if device_index is out of range."] pub fn SDL_SensorGetDeviceNonPortableType(device_index: libc::c_int) -> libc::c_int; } extern "C" { - /// \brief Get the instance ID of a sensor. - /// - /// This can be called before any sensors are opened. - /// - /// \return The sensor instance ID, or -1 if device_index is out of range. + #[doc = " \\brief Get the instance ID of a sensor."] + #[doc = ""] + #[doc = " This can be called before any sensors are opened."] + #[doc = ""] + #[doc = " \\return The sensor instance ID, or -1 if device_index is out of range."] pub fn SDL_SensorGetDeviceInstanceID(device_index: libc::c_int) -> SDL_SensorID; } extern "C" { - /// \brief Open a sensor for use. - /// - /// The index passed as an argument refers to the N'th sensor on the system. - /// - /// \return A sensor identifier, or NULL if an error occurred. + #[doc = " \\brief Open a sensor for use."] + #[doc = ""] + #[doc = " The index passed as an argument refers to the N'th sensor on the system."] + #[doc = ""] + #[doc = " \\return A sensor identifier, or NULL if an error occurred."] pub fn SDL_SensorOpen(device_index: libc::c_int) -> *mut SDL_Sensor; } extern "C" { - /// Return the SDL_Sensor associated with an instance id. + #[doc = " Return the SDL_Sensor associated with an instance id."] pub fn SDL_SensorFromInstanceID(instance_id: SDL_SensorID) -> *mut SDL_Sensor; } extern "C" { - /// \brief Get the implementation dependent name of a sensor. - /// - /// \return The sensor name, or NULL if the sensor is NULL. + #[doc = " \\brief Get the implementation dependent name of a sensor."] + #[doc = ""] + #[doc = " \\return The sensor name, or NULL if the sensor is NULL."] pub fn SDL_SensorGetName(sensor: *mut SDL_Sensor) -> *const libc::c_char; } extern "C" { - /// \brief Get the type of a sensor. - /// - /// This can be called before any sensors are opened. - /// - /// \return The sensor type, or SDL_SENSOR_INVALID if the sensor is NULL. + #[doc = " \\brief Get the type of a sensor."] + #[doc = ""] + #[doc = " This can be called before any sensors are opened."] + #[doc = ""] + #[doc = " \\return The sensor type, or SDL_SENSOR_INVALID if the sensor is NULL."] pub fn SDL_SensorGetType(sensor: *mut SDL_Sensor) -> SDL_SensorType; } extern "C" { - /// \brief Get the platform dependent type of a sensor. - /// - /// This can be called before any sensors are opened. - /// - /// \return The sensor platform dependent type, or -1 if the sensor is NULL. + #[doc = " \\brief Get the platform dependent type of a sensor."] + #[doc = ""] + #[doc = " This can be called before any sensors are opened."] + #[doc = ""] + #[doc = " \\return The sensor platform dependent type, or -1 if the sensor is NULL."] pub fn SDL_SensorGetNonPortableType(sensor: *mut SDL_Sensor) -> libc::c_int; } extern "C" { - /// \brief Get the instance ID of a sensor. - /// - /// This can be called before any sensors are opened. - /// - /// \return The sensor instance ID, or -1 if the sensor is NULL. + #[doc = " \\brief Get the instance ID of a sensor."] + #[doc = ""] + #[doc = " This can be called before any sensors are opened."] + #[doc = ""] + #[doc = " \\return The sensor instance ID, or -1 if the sensor is NULL."] pub fn SDL_SensorGetInstanceID(sensor: *mut SDL_Sensor) -> SDL_SensorID; } extern "C" { - /// Get the current state of an opened sensor. - /// - /// The number of values and interpretation of the data is sensor dependent. - /// - /// \param sensor The sensor to query - /// \param data A pointer filled with the current sensor state - /// \param num_values The number of values to write to data - /// - /// \return 0 or -1 if an error occurred. + #[doc = " Get the current state of an opened sensor."] + #[doc = ""] + #[doc = " The number of values and interpretation of the data is sensor dependent."] + #[doc = ""] + #[doc = " \\param sensor The sensor to query"] + #[doc = " \\param data A pointer filled with the current sensor state"] + #[doc = " \\param num_values The number of values to write to data"] + #[doc = ""] + #[doc = " \\return 0 or -1 if an error occurred."] pub fn SDL_SensorGetData( sensor: *mut SDL_Sensor, data: *mut f32, @@ -16858,36 +17454,36 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// Close a sensor previously opened with SDL_SensorOpen() + #[doc = " Close a sensor previously opened with SDL_SensorOpen()"] pub fn SDL_SensorClose(sensor: *mut SDL_Sensor); } extern "C" { - /// Update the current state of the open sensors. - /// - /// This is called automatically by the event loop if sensor events are enabled. - /// - /// This needs to be called from the thread that initialized the sensor subsystem. + #[doc = " Update the current state of the open sensors."] + #[doc = ""] + #[doc = " This is called automatically by the event loop if sensor events are enabled."] + #[doc = ""] + #[doc = " This needs to be called from the thread that initialized the sensor subsystem."] pub fn SDL_SensorUpdate(); } extern "C" { - /// \brief Create a window that can be shaped with the specified position, dimensions, and flags. - /// - /// \param title The title of the window, in UTF-8 encoding. - /// \param x The x position of the window, ::SDL_WINDOWPOS_CENTERED, or - /// ::SDL_WINDOWPOS_UNDEFINED. - /// \param y The y position of the window, ::SDL_WINDOWPOS_CENTERED, or - /// ::SDL_WINDOWPOS_UNDEFINED. - /// \param w The width of the window. - /// \param h The height of the window. - /// \param flags The flags for the window, a mask of SDL_WINDOW_BORDERLESS with any of the following: - /// ::SDL_WINDOW_OPENGL, ::SDL_WINDOW_INPUT_GRABBED, - /// ::SDL_WINDOW_HIDDEN, ::SDL_WINDOW_RESIZABLE, - /// ::SDL_WINDOW_MAXIMIZED, ::SDL_WINDOW_MINIMIZED, - /// ::SDL_WINDOW_BORDERLESS is always set, and ::SDL_WINDOW_FULLSCREEN is always unset. - /// - /// \return The window created, or NULL if window creation failed. - /// - /// \sa SDL_DestroyWindow() + #[doc = " \\brief Create a window that can be shaped with the specified position, dimensions, and flags."] + #[doc = ""] + #[doc = " \\param title The title of the window, in UTF-8 encoding."] + #[doc = " \\param x The x position of the window, ::SDL_WINDOWPOS_CENTERED, or"] + #[doc = " ::SDL_WINDOWPOS_UNDEFINED."] + #[doc = " \\param y The y position of the window, ::SDL_WINDOWPOS_CENTERED, or"] + #[doc = " ::SDL_WINDOWPOS_UNDEFINED."] + #[doc = " \\param w The width of the window."] + #[doc = " \\param h The height of the window."] + #[doc = " \\param flags The flags for the window, a mask of SDL_WINDOW_BORDERLESS with any of the following:"] + #[doc = " ::SDL_WINDOW_OPENGL, ::SDL_WINDOW_INPUT_GRABBED,"] + #[doc = " ::SDL_WINDOW_HIDDEN, ::SDL_WINDOW_RESIZABLE,"] + #[doc = " ::SDL_WINDOW_MAXIMIZED, ::SDL_WINDOW_MINIMIZED,"] + #[doc = " ::SDL_WINDOW_BORDERLESS is always set, and ::SDL_WINDOW_FULLSCREEN is always unset."] + #[doc = ""] + #[doc = " \\return The window created, or NULL if window creation failed."] + #[doc = ""] + #[doc = " \\sa SDL_DestroyWindow()"] pub fn SDL_CreateShapedWindow( title: *const libc::c_char, x: libc::c_uint, @@ -16898,33 +17494,33 @@ extern "C" { ) -> *mut SDL_Window; } extern "C" { - /// \brief Return whether the given window is a shaped window. - /// - /// \param window The window to query for being shaped. - /// - /// \return SDL_TRUE if the window is a window that can be shaped, SDL_FALSE if the window is unshaped or NULL. - /// - /// \sa SDL_CreateShapedWindow + #[doc = " \\brief Return whether the given window is a shaped window."] + #[doc = ""] + #[doc = " \\param window The window to query for being shaped."] + #[doc = ""] + #[doc = " \\return SDL_TRUE if the window is a window that can be shaped, SDL_FALSE if the window is unshaped or NULL."] + #[doc = ""] + #[doc = " \\sa SDL_CreateShapedWindow"] pub fn SDL_IsShapedWindow(window: *const SDL_Window) -> SDL_bool; } #[repr(u32)] -/// \brief An enum denoting the specific type of contents present in an SDL_WindowShapeParams union. +#[doc = " \\brief An enum denoting the specific type of contents present in an SDL_WindowShapeParams union."] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum WindowShapeMode { - /// \brief The default mode, a binarized alpha cutoff of 1. + #[doc = " \\brief The default mode, a binarized alpha cutoff of 1."] ShapeModeDefault = 0, - /// \brief A binarized alpha cutoff with a given integer value. + #[doc = " \\brief A binarized alpha cutoff with a given integer value."] ShapeModeBinarizeAlpha = 1, - /// \brief A binarized alpha cutoff with a given integer value, but with the opposite comparison. + #[doc = " \\brief A binarized alpha cutoff with a given integer value, but with the opposite comparison."] ShapeModeReverseBinarizeAlpha = 2, - /// \brief A color key is applied. + #[doc = " \\brief A color key is applied."] ShapeModeColorKey = 3, } -/// \brief A union containing parameters for shaped windows. +#[doc = " \\brief A union containing parameters for shaped windows."] #[repr(C)] #[derive(Copy, Clone)] pub union SDL_WindowShapeParams { - /// \brief A cutoff alpha value for binarization of the window shape's alpha channel. + #[doc = " \\brief A cutoff alpha value for binarization of the window shape's alpha channel."] pub binarizationCutoff: Uint8, pub colorKey: SDL_Color, _bindgen_union_align: [u8; 4usize], @@ -16965,13 +17561,13 @@ fn bindgen_test_layout_SDL_WindowShapeParams() { ) ); } -/// \brief A struct that tags the SDL_WindowShapeParams union with an enum describing the type of its contents. +#[doc = " \\brief A struct that tags the SDL_WindowShapeParams union with an enum describing the type of its contents."] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_WindowShapeMode { - /// \brief The mode of these window-shape parameters. + #[doc = " \\brief The mode of these window-shape parameters."] pub mode: WindowShapeMode, - /// \brief Window-shape parameters. + #[doc = " \\brief Window-shape parameters."] pub parameters: SDL_WindowShapeParams, } #[test] @@ -17008,17 +17604,17 @@ fn bindgen_test_layout_SDL_WindowShapeMode() { ); } extern "C" { - /// \brief Set the shape and parameters of a shaped window. - /// - /// \param window The shaped window whose parameters should be set. - /// \param shape A surface encoding the desired shape for the window. - /// \param shape_mode The parameters to set for the shaped window. - /// - /// \return 0 on success, SDL_INVALID_SHAPE_ARGUMENT on an invalid shape argument, or SDL_NONSHAPEABLE_WINDOW - /// if the SDL_Window given does not reference a valid shaped window. - /// - /// \sa SDL_WindowShapeMode - /// \sa SDL_GetShapedWindowMode. + #[doc = " \\brief Set the shape and parameters of a shaped window."] + #[doc = ""] + #[doc = " \\param window The shaped window whose parameters should be set."] + #[doc = " \\param shape A surface encoding the desired shape for the window."] + #[doc = " \\param shape_mode The parameters to set for the shaped window."] + #[doc = ""] + #[doc = " \\return 0 on success, SDL_INVALID_SHAPE_ARGUMENT on an invalid shape argument, or SDL_NONSHAPEABLE_WINDOW"] + #[doc = " if the SDL_Window given does not reference a valid shaped window."] + #[doc = ""] + #[doc = " \\sa SDL_WindowShapeMode"] + #[doc = " \\sa SDL_GetShapedWindowMode."] pub fn SDL_SetWindowShape( window: *mut SDL_Window, shape: *mut SDL_Surface, @@ -17026,65 +17622,65 @@ extern "C" { ) -> libc::c_int; } extern "C" { - /// \brief Get the shape parameters of a shaped window. - /// - /// \param window The shaped window whose parameters should be retrieved. - /// \param shape_mode An empty shape-mode structure to fill, or NULL to check whether the window has a shape. - /// - /// \return 0 if the window has a shape and, provided shape_mode was not NULL, shape_mode has been filled with the mode - /// data, SDL_NONSHAPEABLE_WINDOW if the SDL_Window given is not a shaped window, or SDL_WINDOW_LACKS_SHAPE if - /// the SDL_Window given is a shapeable window currently lacking a shape. - /// - /// \sa SDL_WindowShapeMode - /// \sa SDL_SetWindowShape + #[doc = " \\brief Get the shape parameters of a shaped window."] + #[doc = ""] + #[doc = " \\param window The shaped window whose parameters should be retrieved."] + #[doc = " \\param shape_mode An empty shape-mode structure to fill, or NULL to check whether the window has a shape."] + #[doc = ""] + #[doc = " \\return 0 if the window has a shape and, provided shape_mode was not NULL, shape_mode has been filled with the mode"] + #[doc = " data, SDL_NONSHAPEABLE_WINDOW if the SDL_Window given is not a shaped window, or SDL_WINDOW_LACKS_SHAPE if"] + #[doc = " the SDL_Window given is a shapeable window currently lacking a shape."] + #[doc = ""] + #[doc = " \\sa SDL_WindowShapeMode"] + #[doc = " \\sa SDL_SetWindowShape"] pub fn SDL_GetShapedWindowMode( window: *mut SDL_Window, shape_mode: *mut SDL_WindowShapeMode, ) -> libc::c_int; } extern "C" { - ///\brief Sets the UNIX nice value for a thread, using setpriority() if possible, and RealtimeKit if available. - /// - ///\return 0 on success, or -1 on error. + #[doc = "\\brief Sets the UNIX nice value for a thread, using setpriority() if possible, and RealtimeKit if available."] + #[doc = ""] + #[doc = "\\return 0 on success, or -1 on error."] pub fn SDL_LinuxSetThreadPriority(threadID: Sint64, priority: libc::c_int) -> libc::c_int; } extern "C" { - ///\brief Return true if the current device is a tablet. + #[doc = "\\brief Return true if the current device is a tablet."] pub fn SDL_IsTablet() -> SDL_bool; } extern "C" { - /// \brief Get the number of milliseconds since the SDL library initialization. - /// - /// \note This value wraps if the program runs for more than ~49 days. + #[doc = " \\brief Get the number of milliseconds since the SDL library initialization."] + #[doc = ""] + #[doc = " \\note This value wraps if the program runs for more than ~49 days."] pub fn SDL_GetTicks() -> Uint32; } extern "C" { - /// \brief Get the current value of the high resolution counter + #[doc = " \\brief Get the current value of the high resolution counter"] pub fn SDL_GetPerformanceCounter() -> Uint64; } extern "C" { - /// \brief Get the count per second of the high resolution counter + #[doc = " \\brief Get the count per second of the high resolution counter"] pub fn SDL_GetPerformanceFrequency() -> Uint64; } extern "C" { - /// \brief Wait a specified number of milliseconds before returning. + #[doc = " \\brief Wait a specified number of milliseconds before returning."] pub fn SDL_Delay(ms: Uint32); } -/// Function prototype for the timer callback function. -/// -/// The callback function is passed the current timer interval and returns -/// the next timer interval. If the returned value is the same as the one -/// passed in, the periodic alarm continues, otherwise a new alarm is -/// scheduled. If the callback returns 0, the periodic alarm is cancelled. +#[doc = " Function prototype for the timer callback function."] +#[doc = ""] +#[doc = " The callback function is passed the current timer interval and returns"] +#[doc = " the next timer interval. If the returned value is the same as the one"] +#[doc = " passed in, the periodic alarm continues, otherwise a new alarm is"] +#[doc = " scheduled. If the callback returns 0, the periodic alarm is cancelled."] pub type SDL_TimerCallback = ::core::option::Option< unsafe extern "C" fn(interval: Uint32, param: *mut libc::c_void) -> Uint32, >; -/// Definition of the timer ID type. +#[doc = " Definition of the timer ID type."] pub type SDL_TimerID = libc::c_int; extern "C" { - /// \brief Add a new timer to the pool of timers already running. - /// - /// \return A timer ID, or 0 when an error occurs. + #[doc = " \\brief Add a new timer to the pool of timers already running."] + #[doc = ""] + #[doc = " \\return A timer ID, or 0 when an error occurs."] pub fn SDL_AddTimer( interval: Uint32, callback: SDL_TimerCallback, @@ -17092,31 +17688,31 @@ extern "C" { ) -> SDL_TimerID; } extern "C" { - /// \brief Remove a timer knowing its ID. - /// - /// \return A boolean value indicating success or failure. - /// - /// \warning It is not safe to remove a timer multiple times. + #[doc = " \\brief Remove a timer knowing its ID."] + #[doc = ""] + #[doc = " \\return A boolean value indicating success or failure."] + #[doc = ""] + #[doc = " \\warning It is not safe to remove a timer multiple times."] pub fn SDL_RemoveTimer(id: SDL_TimerID) -> SDL_bool; } -/// \brief Information the version of SDL in use. -/// -/// Represents the library's version as three levels: major revision -/// (increments with massive changes, additions, and enhancements), -/// minor revision (increments with backwards-compatible changes to the -/// major revision), and patchlevel (increments with fixes to the minor -/// revision). -/// -/// \sa SDL_VERSION -/// \sa SDL_GetVersion +#[doc = " \\brief Information the version of SDL in use."] +#[doc = ""] +#[doc = " Represents the library's version as three levels: major revision"] +#[doc = " (increments with massive changes, additions, and enhancements),"] +#[doc = " minor revision (increments with backwards-compatible changes to the"] +#[doc = " major revision), and patchlevel (increments with fixes to the minor"] +#[doc = " revision)."] +#[doc = ""] +#[doc = " \\sa SDL_VERSION"] +#[doc = " \\sa SDL_GetVersion"] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_version { - ///< major version + #[doc = "< major version"] pub major: Uint8, - ///< minor version + #[doc = "< minor version"] pub minor: Uint8, - ///< update version + #[doc = "< update version"] pub patch: Uint8, } #[test] @@ -17163,74 +17759,74 @@ fn bindgen_test_layout_SDL_version() { ); } extern "C" { - /// \brief Get the version of SDL that is linked against your program. - /// - /// If you are linking to SDL dynamically, then it is possible that the - /// current version will be different than the version you compiled against. - /// This function returns the current version, while SDL_VERSION() is a - /// macro that tells you what version you compiled with. - /// - /// \code - /// SDL_version compiled; - /// SDL_version linked; - /// - /// SDL_VERSION(&compiled); - /// SDL_GetVersion(&linked); - /// printf("We compiled against SDL version %d.%d.%d ...\n", - /// compiled.major, compiled.minor, compiled.patch); - /// printf("But we linked against SDL version %d.%d.%d.\n", - /// linked.major, linked.minor, linked.patch); - /// \endcode - /// - /// This function may be called safely at any time, even before SDL_Init(). - /// - /// \sa SDL_VERSION + #[doc = " \\brief Get the version of SDL that is linked against your program."] + #[doc = ""] + #[doc = " If you are linking to SDL dynamically, then it is possible that the"] + #[doc = " current version will be different than the version you compiled against."] + #[doc = " This function returns the current version, while SDL_VERSION() is a"] + #[doc = " macro that tells you what version you compiled with."] + #[doc = ""] + #[doc = " \\code"] + #[doc = " SDL_version compiled;"] + #[doc = " SDL_version linked;"] + #[doc = ""] + #[doc = " SDL_VERSION(&compiled);"] + #[doc = " SDL_GetVersion(&linked);"] + #[doc = " printf(\"We compiled against SDL version %d.%d.%d ...\\n\","] + #[doc = " compiled.major, compiled.minor, compiled.patch);"] + #[doc = " printf(\"But we linked against SDL version %d.%d.%d.\\n\","] + #[doc = " linked.major, linked.minor, linked.patch);"] + #[doc = " \\endcode"] + #[doc = ""] + #[doc = " This function may be called safely at any time, even before SDL_Init()."] + #[doc = ""] + #[doc = " \\sa SDL_VERSION"] pub fn SDL_GetVersion(ver: *mut SDL_version); } extern "C" { - /// \brief Get the code revision of SDL that is linked against your program. - /// - /// Returns an arbitrary string (a hash value) uniquely identifying the - /// exact revision of the SDL library in use, and is only useful in comparing - /// against other revisions. It is NOT an incrementing number. + #[doc = " \\brief Get the code revision of SDL that is linked against your program."] + #[doc = ""] + #[doc = " Returns an arbitrary string (a hash value) uniquely identifying the"] + #[doc = " exact revision of the SDL library in use, and is only useful in comparing"] + #[doc = " against other revisions. It is NOT an incrementing number."] pub fn SDL_GetRevision() -> *const libc::c_char; } extern "C" { - /// \brief Get the revision number of SDL that is linked against your program. - /// - /// Returns a number uniquely identifying the exact revision of the SDL - /// library in use. It is an incrementing number based on commits to - /// hg.libsdl.org. + #[doc = " \\brief Get the revision number of SDL that is linked against your program."] + #[doc = ""] + #[doc = " Returns a number uniquely identifying the exact revision of the SDL"] + #[doc = " library in use. It is an incrementing number based on commits to"] + #[doc = " hg.libsdl.org."] pub fn SDL_GetRevisionNumber() -> libc::c_int; } extern "C" { - /// This function initializes the subsystems specified by \c flags + #[doc = " This function initializes the subsystems specified by \\c flags"] pub fn SDL_Init(flags: Uint32) -> libc::c_int; } extern "C" { - /// This function initializes specific SDL subsystems - /// - /// Subsystem initialization is ref-counted, you must call - /// SDL_QuitSubSystem() for each SDL_InitSubSystem() to correctly - /// shutdown a subsystem manually (or call SDL_Quit() to force shutdown). - /// If a subsystem is already loaded then this call will - /// increase the ref-count and return. + #[doc = " This function initializes specific SDL subsystems"] + #[doc = ""] + #[doc = " Subsystem initialization is ref-counted, you must call"] + #[doc = " SDL_QuitSubSystem() for each SDL_InitSubSystem() to correctly"] + #[doc = " shutdown a subsystem manually (or call SDL_Quit() to force shutdown)."] + #[doc = " If a subsystem is already loaded then this call will"] + #[doc = " increase the ref-count and return."] pub fn SDL_InitSubSystem(flags: Uint32) -> libc::c_int; } extern "C" { - /// This function cleans up specific SDL subsystems + #[doc = " This function cleans up specific SDL subsystems"] pub fn SDL_QuitSubSystem(flags: Uint32); } extern "C" { - /// This function returns a mask of the specified subsystems which have - /// previously been initialized. - /// - /// If \c flags is 0, it returns a mask of all initialized subsystems. + #[doc = " This function returns a mask of the specified subsystems which have"] + #[doc = " previously been initialized."] + #[doc = ""] + #[doc = " If \\c flags is 0, it returns a mask of all initialized subsystems."] pub fn SDL_WasInit(flags: Uint32) -> Uint32; } extern "C" { - /// This function cleans up all initialized subsystems. You should - /// call it upon all exit conditions. + #[doc = " This function cleans up all initialized subsystems. You should"] + #[doc = " call it upon all exit conditions."] pub fn SDL_Quit(); } pub type XID = libc::c_ulong; @@ -19813,7 +20409,7 @@ pub struct _XrmHashBucketRec { } #[repr(C)] #[derive(Copy, Clone)] -pub struct _bindgen_ty_9 { +pub struct _bindgen_ty_8 { pub ext_data: *mut XExtData, pub private1: *mut _XPrivate, pub fd: libc::c_int, @@ -19861,465 +20457,465 @@ pub struct _bindgen_ty_9 { pub xdefaults: *mut libc::c_char, } #[test] -fn bindgen_test_layout__bindgen_ty_9() { +fn bindgen_test_layout__bindgen_ty_8() { assert_eq!( - ::core::mem::size_of::<_bindgen_ty_9>(), + ::core::mem::size_of::<_bindgen_ty_8>(), 296usize, - concat!("Size of: ", stringify!(_bindgen_ty_9)) + concat!("Size of: ", stringify!(_bindgen_ty_8)) ); assert_eq!( - ::core::mem::align_of::<_bindgen_ty_9>(), + ::core::mem::align_of::<_bindgen_ty_8>(), 8usize, - concat!("Alignment of ", stringify!(_bindgen_ty_9)) + concat!("Alignment of ", stringify!(_bindgen_ty_8)) ); assert_eq!( - unsafe { &(*(::core::ptr::null::<_bindgen_ty_9>())).ext_data as *const _ as usize }, + unsafe { &(*(::core::ptr::null::<_bindgen_ty_8>())).ext_data as *const _ as usize }, 0usize, concat!( "Offset of field: ", - stringify!(_bindgen_ty_9), + stringify!(_bindgen_ty_8), "::", stringify!(ext_data) ) ); assert_eq!( - unsafe { &(*(::core::ptr::null::<_bindgen_ty_9>())).private1 as *const _ as usize }, + unsafe { &(*(::core::ptr::null::<_bindgen_ty_8>())).private1 as *const _ as usize }, 8usize, concat!( "Offset of field: ", - stringify!(_bindgen_ty_9), + stringify!(_bindgen_ty_8), "::", stringify!(private1) ) ); assert_eq!( - unsafe { &(*(::core::ptr::null::<_bindgen_ty_9>())).fd as *const _ as usize }, + unsafe { &(*(::core::ptr::null::<_bindgen_ty_8>())).fd as *const _ as usize }, 16usize, concat!( "Offset of field: ", - stringify!(_bindgen_ty_9), + stringify!(_bindgen_ty_8), "::", stringify!(fd) ) ); assert_eq!( - unsafe { &(*(::core::ptr::null::<_bindgen_ty_9>())).private2 as *const _ as usize }, + unsafe { &(*(::core::ptr::null::<_bindgen_ty_8>())).private2 as *const _ as usize }, 20usize, concat!( "Offset of field: ", - stringify!(_bindgen_ty_9), + stringify!(_bindgen_ty_8), "::", stringify!(private2) ) ); assert_eq!( unsafe { - &(*(::core::ptr::null::<_bindgen_ty_9>())).proto_major_version as *const _ as usize + &(*(::core::ptr::null::<_bindgen_ty_8>())).proto_major_version as *const _ as usize }, 24usize, concat!( "Offset of field: ", - stringify!(_bindgen_ty_9), + stringify!(_bindgen_ty_8), "::", stringify!(proto_major_version) ) ); assert_eq!( unsafe { - &(*(::core::ptr::null::<_bindgen_ty_9>())).proto_minor_version as *const _ as usize + &(*(::core::ptr::null::<_bindgen_ty_8>())).proto_minor_version as *const _ as usize }, 28usize, concat!( "Offset of field: ", - stringify!(_bindgen_ty_9), + stringify!(_bindgen_ty_8), "::", stringify!(proto_minor_version) ) ); assert_eq!( - unsafe { &(*(::core::ptr::null::<_bindgen_ty_9>())).vendor as *const _ as usize }, + unsafe { &(*(::core::ptr::null::<_bindgen_ty_8>())).vendor as *const _ as usize }, 32usize, concat!( "Offset of field: ", - stringify!(_bindgen_ty_9), + stringify!(_bindgen_ty_8), "::", stringify!(vendor) ) ); assert_eq!( - unsafe { &(*(::core::ptr::null::<_bindgen_ty_9>())).private3 as *const _ as usize }, + unsafe { &(*(::core::ptr::null::<_bindgen_ty_8>())).private3 as *const _ as usize }, 40usize, concat!( "Offset of field: ", - stringify!(_bindgen_ty_9), + stringify!(_bindgen_ty_8), "::", stringify!(private3) ) ); assert_eq!( - unsafe { &(*(::core::ptr::null::<_bindgen_ty_9>())).private4 as *const _ as usize }, + unsafe { &(*(::core::ptr::null::<_bindgen_ty_8>())).private4 as *const _ as usize }, 48usize, concat!( "Offset of field: ", - stringify!(_bindgen_ty_9), + stringify!(_bindgen_ty_8), "::", stringify!(private4) ) ); assert_eq!( - unsafe { &(*(::core::ptr::null::<_bindgen_ty_9>())).private5 as *const _ as usize }, + unsafe { &(*(::core::ptr::null::<_bindgen_ty_8>())).private5 as *const _ as usize }, 56usize, concat!( "Offset of field: ", - stringify!(_bindgen_ty_9), + stringify!(_bindgen_ty_8), "::", stringify!(private5) ) ); assert_eq!( - unsafe { &(*(::core::ptr::null::<_bindgen_ty_9>())).private6 as *const _ as usize }, + unsafe { &(*(::core::ptr::null::<_bindgen_ty_8>())).private6 as *const _ as usize }, 64usize, concat!( "Offset of field: ", - stringify!(_bindgen_ty_9), + stringify!(_bindgen_ty_8), "::", stringify!(private6) ) ); assert_eq!( - unsafe { &(*(::core::ptr::null::<_bindgen_ty_9>())).resource_alloc as *const _ as usize }, + unsafe { &(*(::core::ptr::null::<_bindgen_ty_8>())).resource_alloc as *const _ as usize }, 72usize, concat!( "Offset of field: ", - stringify!(_bindgen_ty_9), + stringify!(_bindgen_ty_8), "::", stringify!(resource_alloc) ) ); assert_eq!( - unsafe { &(*(::core::ptr::null::<_bindgen_ty_9>())).byte_order as *const _ as usize }, + unsafe { &(*(::core::ptr::null::<_bindgen_ty_8>())).byte_order as *const _ as usize }, 80usize, concat!( "Offset of field: ", - stringify!(_bindgen_ty_9), + stringify!(_bindgen_ty_8), "::", stringify!(byte_order) ) ); assert_eq!( - unsafe { &(*(::core::ptr::null::<_bindgen_ty_9>())).bitmap_unit as *const _ as usize }, + unsafe { &(*(::core::ptr::null::<_bindgen_ty_8>())).bitmap_unit as *const _ as usize }, 84usize, concat!( "Offset of field: ", - stringify!(_bindgen_ty_9), + stringify!(_bindgen_ty_8), "::", stringify!(bitmap_unit) ) ); assert_eq!( - unsafe { &(*(::core::ptr::null::<_bindgen_ty_9>())).bitmap_pad as *const _ as usize }, + unsafe { &(*(::core::ptr::null::<_bindgen_ty_8>())).bitmap_pad as *const _ as usize }, 88usize, concat!( "Offset of field: ", - stringify!(_bindgen_ty_9), + stringify!(_bindgen_ty_8), "::", stringify!(bitmap_pad) ) ); assert_eq!( - unsafe { &(*(::core::ptr::null::<_bindgen_ty_9>())).bitmap_bit_order as *const _ as usize }, + unsafe { &(*(::core::ptr::null::<_bindgen_ty_8>())).bitmap_bit_order as *const _ as usize }, 92usize, concat!( "Offset of field: ", - stringify!(_bindgen_ty_9), + stringify!(_bindgen_ty_8), "::", stringify!(bitmap_bit_order) ) ); assert_eq!( - unsafe { &(*(::core::ptr::null::<_bindgen_ty_9>())).nformats as *const _ as usize }, + unsafe { &(*(::core::ptr::null::<_bindgen_ty_8>())).nformats as *const _ as usize }, 96usize, concat!( "Offset of field: ", - stringify!(_bindgen_ty_9), + stringify!(_bindgen_ty_8), "::", stringify!(nformats) ) ); assert_eq!( - unsafe { &(*(::core::ptr::null::<_bindgen_ty_9>())).pixmap_format as *const _ as usize }, + unsafe { &(*(::core::ptr::null::<_bindgen_ty_8>())).pixmap_format as *const _ as usize }, 104usize, concat!( "Offset of field: ", - stringify!(_bindgen_ty_9), + stringify!(_bindgen_ty_8), "::", stringify!(pixmap_format) ) ); assert_eq!( - unsafe { &(*(::core::ptr::null::<_bindgen_ty_9>())).private8 as *const _ as usize }, + unsafe { &(*(::core::ptr::null::<_bindgen_ty_8>())).private8 as *const _ as usize }, 112usize, concat!( "Offset of field: ", - stringify!(_bindgen_ty_9), + stringify!(_bindgen_ty_8), "::", stringify!(private8) ) ); assert_eq!( - unsafe { &(*(::core::ptr::null::<_bindgen_ty_9>())).release as *const _ as usize }, + unsafe { &(*(::core::ptr::null::<_bindgen_ty_8>())).release as *const _ as usize }, 116usize, concat!( "Offset of field: ", - stringify!(_bindgen_ty_9), + stringify!(_bindgen_ty_8), "::", stringify!(release) ) ); assert_eq!( - unsafe { &(*(::core::ptr::null::<_bindgen_ty_9>())).private9 as *const _ as usize }, + unsafe { &(*(::core::ptr::null::<_bindgen_ty_8>())).private9 as *const _ as usize }, 120usize, concat!( "Offset of field: ", - stringify!(_bindgen_ty_9), + stringify!(_bindgen_ty_8), "::", stringify!(private9) ) ); assert_eq!( - unsafe { &(*(::core::ptr::null::<_bindgen_ty_9>())).private10 as *const _ as usize }, + unsafe { &(*(::core::ptr::null::<_bindgen_ty_8>())).private10 as *const _ as usize }, 128usize, concat!( "Offset of field: ", - stringify!(_bindgen_ty_9), + stringify!(_bindgen_ty_8), "::", stringify!(private10) ) ); assert_eq!( - unsafe { &(*(::core::ptr::null::<_bindgen_ty_9>())).qlen as *const _ as usize }, + unsafe { &(*(::core::ptr::null::<_bindgen_ty_8>())).qlen as *const _ as usize }, 136usize, concat!( "Offset of field: ", - stringify!(_bindgen_ty_9), + stringify!(_bindgen_ty_8), "::", stringify!(qlen) ) ); assert_eq!( unsafe { - &(*(::core::ptr::null::<_bindgen_ty_9>())).last_request_read as *const _ as usize + &(*(::core::ptr::null::<_bindgen_ty_8>())).last_request_read as *const _ as usize }, 144usize, concat!( "Offset of field: ", - stringify!(_bindgen_ty_9), + stringify!(_bindgen_ty_8), "::", stringify!(last_request_read) ) ); assert_eq!( - unsafe { &(*(::core::ptr::null::<_bindgen_ty_9>())).request as *const _ as usize }, + unsafe { &(*(::core::ptr::null::<_bindgen_ty_8>())).request as *const _ as usize }, 152usize, concat!( "Offset of field: ", - stringify!(_bindgen_ty_9), + stringify!(_bindgen_ty_8), "::", stringify!(request) ) ); assert_eq!( - unsafe { &(*(::core::ptr::null::<_bindgen_ty_9>())).private11 as *const _ as usize }, + unsafe { &(*(::core::ptr::null::<_bindgen_ty_8>())).private11 as *const _ as usize }, 160usize, concat!( "Offset of field: ", - stringify!(_bindgen_ty_9), + stringify!(_bindgen_ty_8), "::", stringify!(private11) ) ); assert_eq!( - unsafe { &(*(::core::ptr::null::<_bindgen_ty_9>())).private12 as *const _ as usize }, + unsafe { &(*(::core::ptr::null::<_bindgen_ty_8>())).private12 as *const _ as usize }, 168usize, concat!( "Offset of field: ", - stringify!(_bindgen_ty_9), + stringify!(_bindgen_ty_8), "::", stringify!(private12) ) ); assert_eq!( - unsafe { &(*(::core::ptr::null::<_bindgen_ty_9>())).private13 as *const _ as usize }, + unsafe { &(*(::core::ptr::null::<_bindgen_ty_8>())).private13 as *const _ as usize }, 176usize, concat!( "Offset of field: ", - stringify!(_bindgen_ty_9), + stringify!(_bindgen_ty_8), "::", stringify!(private13) ) ); assert_eq!( - unsafe { &(*(::core::ptr::null::<_bindgen_ty_9>())).private14 as *const _ as usize }, + unsafe { &(*(::core::ptr::null::<_bindgen_ty_8>())).private14 as *const _ as usize }, 184usize, concat!( "Offset of field: ", - stringify!(_bindgen_ty_9), + stringify!(_bindgen_ty_8), "::", stringify!(private14) ) ); assert_eq!( - unsafe { &(*(::core::ptr::null::<_bindgen_ty_9>())).max_request_size as *const _ as usize }, + unsafe { &(*(::core::ptr::null::<_bindgen_ty_8>())).max_request_size as *const _ as usize }, 192usize, concat!( "Offset of field: ", - stringify!(_bindgen_ty_9), + stringify!(_bindgen_ty_8), "::", stringify!(max_request_size) ) ); assert_eq!( - unsafe { &(*(::core::ptr::null::<_bindgen_ty_9>())).db as *const _ as usize }, + unsafe { &(*(::core::ptr::null::<_bindgen_ty_8>())).db as *const _ as usize }, 200usize, concat!( "Offset of field: ", - stringify!(_bindgen_ty_9), + stringify!(_bindgen_ty_8), "::", stringify!(db) ) ); assert_eq!( - unsafe { &(*(::core::ptr::null::<_bindgen_ty_9>())).private15 as *const _ as usize }, + unsafe { &(*(::core::ptr::null::<_bindgen_ty_8>())).private15 as *const _ as usize }, 208usize, concat!( "Offset of field: ", - stringify!(_bindgen_ty_9), + stringify!(_bindgen_ty_8), "::", stringify!(private15) ) ); assert_eq!( - unsafe { &(*(::core::ptr::null::<_bindgen_ty_9>())).display_name as *const _ as usize }, + unsafe { &(*(::core::ptr::null::<_bindgen_ty_8>())).display_name as *const _ as usize }, 216usize, concat!( "Offset of field: ", - stringify!(_bindgen_ty_9), + stringify!(_bindgen_ty_8), "::", stringify!(display_name) ) ); assert_eq!( - unsafe { &(*(::core::ptr::null::<_bindgen_ty_9>())).default_screen as *const _ as usize }, + unsafe { &(*(::core::ptr::null::<_bindgen_ty_8>())).default_screen as *const _ as usize }, 224usize, concat!( "Offset of field: ", - stringify!(_bindgen_ty_9), + stringify!(_bindgen_ty_8), "::", stringify!(default_screen) ) ); assert_eq!( - unsafe { &(*(::core::ptr::null::<_bindgen_ty_9>())).nscreens as *const _ as usize }, + unsafe { &(*(::core::ptr::null::<_bindgen_ty_8>())).nscreens as *const _ as usize }, 228usize, concat!( "Offset of field: ", - stringify!(_bindgen_ty_9), + stringify!(_bindgen_ty_8), "::", stringify!(nscreens) ) ); assert_eq!( - unsafe { &(*(::core::ptr::null::<_bindgen_ty_9>())).screens as *const _ as usize }, + unsafe { &(*(::core::ptr::null::<_bindgen_ty_8>())).screens as *const _ as usize }, 232usize, concat!( "Offset of field: ", - stringify!(_bindgen_ty_9), + stringify!(_bindgen_ty_8), "::", stringify!(screens) ) ); assert_eq!( - unsafe { &(*(::core::ptr::null::<_bindgen_ty_9>())).motion_buffer as *const _ as usize }, + unsafe { &(*(::core::ptr::null::<_bindgen_ty_8>())).motion_buffer as *const _ as usize }, 240usize, concat!( "Offset of field: ", - stringify!(_bindgen_ty_9), + stringify!(_bindgen_ty_8), "::", stringify!(motion_buffer) ) ); assert_eq!( - unsafe { &(*(::core::ptr::null::<_bindgen_ty_9>())).private16 as *const _ as usize }, + unsafe { &(*(::core::ptr::null::<_bindgen_ty_8>())).private16 as *const _ as usize }, 248usize, concat!( "Offset of field: ", - stringify!(_bindgen_ty_9), + stringify!(_bindgen_ty_8), "::", stringify!(private16) ) ); assert_eq!( - unsafe { &(*(::core::ptr::null::<_bindgen_ty_9>())).min_keycode as *const _ as usize }, + unsafe { &(*(::core::ptr::null::<_bindgen_ty_8>())).min_keycode as *const _ as usize }, 256usize, concat!( "Offset of field: ", - stringify!(_bindgen_ty_9), + stringify!(_bindgen_ty_8), "::", stringify!(min_keycode) ) ); assert_eq!( - unsafe { &(*(::core::ptr::null::<_bindgen_ty_9>())).max_keycode as *const _ as usize }, + unsafe { &(*(::core::ptr::null::<_bindgen_ty_8>())).max_keycode as *const _ as usize }, 260usize, concat!( "Offset of field: ", - stringify!(_bindgen_ty_9), + stringify!(_bindgen_ty_8), "::", stringify!(max_keycode) ) ); assert_eq!( - unsafe { &(*(::core::ptr::null::<_bindgen_ty_9>())).private17 as *const _ as usize }, + unsafe { &(*(::core::ptr::null::<_bindgen_ty_8>())).private17 as *const _ as usize }, 264usize, concat!( "Offset of field: ", - stringify!(_bindgen_ty_9), + stringify!(_bindgen_ty_8), "::", stringify!(private17) ) ); assert_eq!( - unsafe { &(*(::core::ptr::null::<_bindgen_ty_9>())).private18 as *const _ as usize }, + unsafe { &(*(::core::ptr::null::<_bindgen_ty_8>())).private18 as *const _ as usize }, 272usize, concat!( "Offset of field: ", - stringify!(_bindgen_ty_9), + stringify!(_bindgen_ty_8), "::", stringify!(private18) ) ); assert_eq!( - unsafe { &(*(::core::ptr::null::<_bindgen_ty_9>())).private19 as *const _ as usize }, + unsafe { &(*(::core::ptr::null::<_bindgen_ty_8>())).private19 as *const _ as usize }, 280usize, concat!( "Offset of field: ", - stringify!(_bindgen_ty_9), + stringify!(_bindgen_ty_8), "::", stringify!(private19) ) ); assert_eq!( - unsafe { &(*(::core::ptr::null::<_bindgen_ty_9>())).xdefaults as *const _ as usize }, + unsafe { &(*(::core::ptr::null::<_bindgen_ty_8>())).xdefaults as *const _ as usize }, 288usize, concat!( "Offset of field: ", - stringify!(_bindgen_ty_9), + stringify!(_bindgen_ty_8), "::", stringify!(xdefaults) ) ); } -pub type _XPrivDisplay = *mut _bindgen_ty_9; +pub type _XPrivDisplay = *mut _bindgen_ty_8; #[repr(C)] #[derive(Copy, Clone)] pub struct XKeyEvent { @@ -26433,7 +27029,6 @@ fn bindgen_test_layout_XIMValuesList() { ); } extern "C" { - #[link_name = "\u{1}_Xdebug"] pub static mut _Xdebug: libc::c_int; } extern "C" { @@ -28890,7 +29485,7 @@ extern "C" { pub fn XFreeEventData(arg1: *mut Display, arg2: *mut XGenericEventCookie); } #[repr(u32)] -/// These are the various supported windowing subsystems +#[doc = " These are the various supported windowing subsystems"] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum SDL_SYSWM_TYPE { SDL_SYSWM_UNKNOWN = 0, @@ -28906,7 +29501,7 @@ pub enum SDL_SYSWM_TYPE { SDL_SYSWM_VIVANTE = 10, SDL_SYSWM_OS2 = 11, } -/// The custom event structure. +#[doc = " The custom event structure."] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_SysWMmsg { @@ -29036,10 +29631,12 @@ fn bindgen_test_layout_SDL_SysWMmsg() { ) ); } -/// The custom window manager information structure. -/// -/// When this structure is returned, it holds information about which -/// low level system it is using, and will be one of SDL_SYSWM_TYPE. +#[doc = " \\brief SDL_syswm.h"] +#[doc = ""] +#[doc = " Your application has access to a special type of event ::SDL_SYSWMEVENT,"] +#[doc = " which contains window-manager specific information and arrives whenever"] +#[doc = " an unhandled window event occurs. This event is ignored by default, but"] +#[doc = " you can enable it with SDL_EventState()."] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_SysWMinfo { @@ -29058,9 +29655,9 @@ pub union SDL_SysWMinfo__bindgen_ty_1 { #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_SysWMinfo__bindgen_ty_1__bindgen_ty_1 { - ///< The X11 display + #[doc = "< The X11 display"] pub display: *mut Display, - ///< The X11 window + #[doc = "< The X11 window"] pub window: Window, } #[test] @@ -29111,11 +29708,11 @@ fn bindgen_test_layout_SDL_SysWMinfo__bindgen_ty_1__bindgen_ty_1() { #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_SysWMinfo__bindgen_ty_1__bindgen_ty_2 { - ///< Wayland display + #[doc = "< Wayland display"] pub display: *mut wl_display, - ///< Wayland surface + #[doc = "< Wayland surface"] pub surface: *mut wl_surface, - ///< Wayland shell_surface (window manager handle) + #[doc = "< Wayland shell_surface (window manager handle)"] pub shell_surface: *mut wl_shell_surface, } #[test] @@ -29267,21 +29864,21 @@ fn bindgen_test_layout_SDL_SysWMinfo() { ); } extern "C" { - /// \brief This function allows access to driver-dependent window information. - /// - /// \param window The window about which information is being requested - /// \param info This structure must be initialized with the SDL version, and is - /// then filled in with information about the given window. - /// - /// \return SDL_TRUE if the function is implemented and the version member of - /// the \c info struct is valid, SDL_FALSE otherwise. - /// - /// You typically use this function like this: - /// \code - /// SDL_SysWMinfo info; - /// SDL_VERSION(&info.version); - /// if ( SDL_GetWindowWMInfo(window, &info) ) { ... } - /// \endcode + #[doc = " \\brief This function allows access to driver-dependent window information."] + #[doc = ""] + #[doc = " \\param window The window about which information is being requested"] + #[doc = " \\param info This structure must be initialized with the SDL version, and is"] + #[doc = " then filled in with information about the given window."] + #[doc = ""] + #[doc = " \\return SDL_TRUE if the function is implemented and the version member of"] + #[doc = " the \\c info struct is valid, SDL_FALSE otherwise."] + #[doc = ""] + #[doc = " You typically use this function like this:"] + #[doc = " \\code"] + #[doc = " SDL_SysWMinfo info;"] + #[doc = " SDL_VERSION(&info.version);"] + #[doc = " if ( SDL_GetWindowWMInfo(window, &info) ) { ... }"] + #[doc = " \\endcode"] pub fn SDL_GetWindowWMInfo(window: *mut SDL_Window, info: *mut SDL_SysWMinfo) -> SDL_bool; } #[repr(C)] @@ -29297,140 +29894,140 @@ pub struct VkSurfaceKHR_T { pub type SDL_vulkanInstance = VkInstance; pub type SDL_vulkanSurface = VkSurfaceKHR; extern "C" { - /// \brief Dynamically load a Vulkan loader library. - /// - /// \param [in] path The platform dependent Vulkan loader library name, or - /// \c NULL. - /// - /// \return \c 0 on success, or \c -1 if the library couldn't be loaded. - /// - /// If \a path is NULL SDL will use the value of the environment variable - /// \c SDL_VULKAN_LIBRARY, if set, otherwise it loads the default Vulkan - /// loader library. - /// - /// This should be called after initializing the video driver, but before - /// creating any Vulkan windows. If no Vulkan loader library is loaded, the - /// default library will be loaded upon creation of the first Vulkan window. - /// - /// \note It is fairly common for Vulkan applications to link with \a libvulkan - /// instead of explicitly loading it at run time. This will work with - /// SDL provided the application links to a dynamic library and both it - /// and SDL use the same search path. - /// - /// \note If you specify a non-NULL \c path, an application should retrieve all - /// of the Vulkan functions it uses from the dynamic library using - /// \c SDL_Vulkan_GetVkGetInstanceProcAddr() unless you can guarantee - /// \c path points to the same vulkan loader library the application - /// linked to. - /// - /// \note On Apple devices, if \a path is NULL, SDL will attempt to find - /// the vkGetInstanceProcAddr address within all the mach-o images of - /// the current process. This is because it is fairly common for Vulkan - /// applications to link with libvulkan (and historically MoltenVK was - /// provided as a static library). If it is not found then, on macOS, SDL - /// will attempt to load \c vulkan.framework/vulkan, \c libvulkan.1.dylib, - /// \c MoltenVK.framework/MoltenVK and \c libMoltenVK.dylib in that order. - /// On iOS SDL will attempt to load \c libMoltenVK.dylib. Applications - /// using a dynamic framework or .dylib must ensure it is included in its - /// application bundle. - /// - /// \note On non-Apple devices, application linking with a static libvulkan is - /// not supported. Either do not link to the Vulkan loader or link to a - /// dynamic library version. - /// - /// \note This function will fail if there are no working Vulkan drivers - /// installed. - /// - /// \sa SDL_Vulkan_GetVkGetInstanceProcAddr() - /// \sa SDL_Vulkan_UnloadLibrary() + #[doc = " \\brief Dynamically load a Vulkan loader library."] + #[doc = ""] + #[doc = " \\param [in] path The platform dependent Vulkan loader library name, or"] + #[doc = " \\c NULL."] + #[doc = ""] + #[doc = " \\return \\c 0 on success, or \\c -1 if the library couldn't be loaded."] + #[doc = ""] + #[doc = " If \\a path is NULL SDL will use the value of the environment variable"] + #[doc = " \\c SDL_VULKAN_LIBRARY, if set, otherwise it loads the default Vulkan"] + #[doc = " loader library."] + #[doc = ""] + #[doc = " This should be called after initializing the video driver, but before"] + #[doc = " creating any Vulkan windows. If no Vulkan loader library is loaded, the"] + #[doc = " default library will be loaded upon creation of the first Vulkan window."] + #[doc = ""] + #[doc = " \\note It is fairly common for Vulkan applications to link with \\a libvulkan"] + #[doc = " instead of explicitly loading it at run time. This will work with"] + #[doc = " SDL provided the application links to a dynamic library and both it"] + #[doc = " and SDL use the same search path."] + #[doc = ""] + #[doc = " \\note If you specify a non-NULL \\c path, an application should retrieve all"] + #[doc = " of the Vulkan functions it uses from the dynamic library using"] + #[doc = " \\c SDL_Vulkan_GetVkGetInstanceProcAddr() unless you can guarantee"] + #[doc = " \\c path points to the same vulkan loader library the application"] + #[doc = " linked to."] + #[doc = ""] + #[doc = " \\note On Apple devices, if \\a path is NULL, SDL will attempt to find"] + #[doc = " the vkGetInstanceProcAddr address within all the mach-o images of"] + #[doc = " the current process. This is because it is fairly common for Vulkan"] + #[doc = " applications to link with libvulkan (and historically MoltenVK was"] + #[doc = " provided as a static library). If it is not found then, on macOS, SDL"] + #[doc = " will attempt to load \\c vulkan.framework/vulkan, \\c libvulkan.1.dylib,"] + #[doc = " followed by \\c libvulkan.dylib, in that order."] + #[doc = " On iOS SDL will attempt to load \\c libvulkan.dylib only. Applications"] + #[doc = " using a dynamic framework or .dylib must ensure it is included in its"] + #[doc = " application bundle."] + #[doc = ""] + #[doc = " \\note On non-Apple devices, application linking with a static libvulkan is"] + #[doc = " not supported. Either do not link to the Vulkan loader or link to a"] + #[doc = " dynamic library version."] + #[doc = ""] + #[doc = " \\note This function will fail if there are no working Vulkan drivers"] + #[doc = " installed."] + #[doc = ""] + #[doc = " \\sa SDL_Vulkan_GetVkGetInstanceProcAddr()"] + #[doc = " \\sa SDL_Vulkan_UnloadLibrary()"] pub fn SDL_Vulkan_LoadLibrary(path: *const libc::c_char) -> libc::c_int; } extern "C" { - /// \brief Get the address of the \c vkGetInstanceProcAddr function. - /// - /// \note This should be called after either calling SDL_Vulkan_LoadLibrary - /// or creating an SDL_Window with the SDL_WINDOW_VULKAN flag. + #[doc = " \\brief Get the address of the \\c vkGetInstanceProcAddr function."] + #[doc = ""] + #[doc = " \\note This should be called after either calling SDL_Vulkan_LoadLibrary"] + #[doc = " or creating an SDL_Window with the SDL_WINDOW_VULKAN flag."] pub fn SDL_Vulkan_GetVkGetInstanceProcAddr() -> *mut libc::c_void; } extern "C" { - /// \brief Unload the Vulkan loader library previously loaded by - /// \c SDL_Vulkan_LoadLibrary(). - /// - /// \sa SDL_Vulkan_LoadLibrary() + #[doc = " \\brief Unload the Vulkan loader library previously loaded by"] + #[doc = " \\c SDL_Vulkan_LoadLibrary()."] + #[doc = ""] + #[doc = " \\sa SDL_Vulkan_LoadLibrary()"] pub fn SDL_Vulkan_UnloadLibrary(); } extern "C" { - /// \brief Get the names of the Vulkan instance extensions needed to create - /// a surface with \c SDL_Vulkan_CreateSurface(). - /// - /// \param [in] \c NULL or window Window for which the required Vulkan instance - /// extensions should be retrieved - /// \param [in,out] pCount pointer to an \c unsigned related to the number of - /// required Vulkan instance extensions - /// \param [out] pNames \c NULL or a pointer to an array to be filled with the - /// required Vulkan instance extensions - /// - /// \return \c SDL_TRUE on success, \c SDL_FALSE on error. - /// - /// If \a pNames is \c NULL, then the number of required Vulkan instance - /// extensions is returned in pCount. Otherwise, \a pCount must point to a - /// variable set to the number of elements in the \a pNames array, and on - /// return the variable is overwritten with the number of names actually - /// written to \a pNames. If \a pCount is less than the number of required - /// extensions, at most \a pCount structures will be written. If \a pCount - /// is smaller than the number of required extensions, \c SDL_FALSE will be - /// returned instead of \c SDL_TRUE, to indicate that not all the required - /// extensions were returned. - /// - /// \note If \c window is not NULL, it will be checked against its creation - /// flags to ensure that the Vulkan flag is present. This parameter - /// will be removed in a future major release. - /// - /// \note The returned list of extensions will contain \c VK_KHR_surface - /// and zero or more platform specific extensions - /// - /// \note The extension names queried here must be enabled when calling - /// VkCreateInstance, otherwise surface creation will fail. - /// - /// \note \c window should have been created with the \c SDL_WINDOW_VULKAN flag - /// or be \c NULL - /// - /// \code - /// unsigned int count; - /// // get count of required extensions - /// if(!SDL_Vulkan_GetInstanceExtensions(NULL, &count, NULL)) - /// handle_error(); - /// - /// static const char *const additionalExtensions[] = - /// { - /// VK_EXT_DEBUG_REPORT_EXTENSION_NAME, // example additional extension - /// }; - /// size_t additionalExtensionsCount = sizeof(additionalExtensions) / sizeof(additionalExtensions[0]); - /// size_t extensionCount = count + additionalExtensionsCount; - /// const char **names = malloc(sizeof(const char *) * extensionCount); - /// if(!names) - /// handle_error(); - /// - /// // get names of required extensions - /// if(!SDL_Vulkan_GetInstanceExtensions(NULL, &count, names)) - /// handle_error(); - /// - /// // copy additional extensions after required extensions - /// for(size_t i = 0; i < additionalExtensionsCount; i++) - /// names[i + count] = additionalExtensions[i]; - /// - /// VkInstanceCreateInfo instanceCreateInfo = {}; - /// instanceCreateInfo.enabledExtensionCount = extensionCount; - /// instanceCreateInfo.ppEnabledExtensionNames = names; - /// // fill in rest of instanceCreateInfo - /// - /// VkInstance instance; - /// // create the Vulkan instance - /// VkResult result = vkCreateInstance(&instanceCreateInfo, NULL, &instance); - /// free(names); - /// \endcode - /// - /// \sa SDL_Vulkan_CreateSurface() + #[doc = " \\brief Get the names of the Vulkan instance extensions needed to create"] + #[doc = " a surface with \\c SDL_Vulkan_CreateSurface()."] + #[doc = ""] + #[doc = " \\param [in] \\c NULL or window Window for which the required Vulkan instance"] + #[doc = " extensions should be retrieved"] + #[doc = " \\param [in,out] pCount pointer to an \\c unsigned related to the number of"] + #[doc = " required Vulkan instance extensions"] + #[doc = " \\param [out] pNames \\c NULL or a pointer to an array to be filled with the"] + #[doc = " required Vulkan instance extensions"] + #[doc = ""] + #[doc = " \\return \\c SDL_TRUE on success, \\c SDL_FALSE on error."] + #[doc = ""] + #[doc = " If \\a pNames is \\c NULL, then the number of required Vulkan instance"] + #[doc = " extensions is returned in pCount. Otherwise, \\a pCount must point to a"] + #[doc = " variable set to the number of elements in the \\a pNames array, and on"] + #[doc = " return the variable is overwritten with the number of names actually"] + #[doc = " written to \\a pNames. If \\a pCount is less than the number of required"] + #[doc = " extensions, at most \\a pCount structures will be written. If \\a pCount"] + #[doc = " is smaller than the number of required extensions, \\c SDL_FALSE will be"] + #[doc = " returned instead of \\c SDL_TRUE, to indicate that not all the required"] + #[doc = " extensions were returned."] + #[doc = ""] + #[doc = " \\note If \\c window is not NULL, it will be checked against its creation"] + #[doc = " flags to ensure that the Vulkan flag is present. This parameter"] + #[doc = " will be removed in a future major release."] + #[doc = ""] + #[doc = " \\note The returned list of extensions will contain \\c VK_KHR_surface"] + #[doc = " and zero or more platform specific extensions"] + #[doc = ""] + #[doc = " \\note The extension names queried here must be enabled when calling"] + #[doc = " VkCreateInstance, otherwise surface creation will fail."] + #[doc = ""] + #[doc = " \\note \\c window should have been created with the \\c SDL_WINDOW_VULKAN flag"] + #[doc = " or be \\c NULL"] + #[doc = ""] + #[doc = " \\code"] + #[doc = " unsigned int count;"] + #[doc = " // get count of required extensions"] + #[doc = " if(!SDL_Vulkan_GetInstanceExtensions(NULL, &count, NULL))"] + #[doc = " handle_error();"] + #[doc = ""] + #[doc = " static const char *const additionalExtensions[] ="] + #[doc = " {"] + #[doc = " VK_EXT_DEBUG_REPORT_EXTENSION_NAME, // example additional extension"] + #[doc = " };"] + #[doc = " size_t additionalExtensionsCount = sizeof(additionalExtensions) / sizeof(additionalExtensions[0]);"] + #[doc = " size_t extensionCount = count + additionalExtensionsCount;"] + #[doc = " const char **names = malloc(sizeof(const char *) * extensionCount);"] + #[doc = " if(!names)"] + #[doc = " handle_error();"] + #[doc = ""] + #[doc = " // get names of required extensions"] + #[doc = " if(!SDL_Vulkan_GetInstanceExtensions(NULL, &count, names))"] + #[doc = " handle_error();"] + #[doc = ""] + #[doc = " // copy additional extensions after required extensions"] + #[doc = " for(size_t i = 0; i < additionalExtensionsCount; i++)"] + #[doc = " names[i + count] = additionalExtensions[i];"] + #[doc = ""] + #[doc = " VkInstanceCreateInfo instanceCreateInfo = {};"] + #[doc = " instanceCreateInfo.enabledExtensionCount = extensionCount;"] + #[doc = " instanceCreateInfo.ppEnabledExtensionNames = names;"] + #[doc = " // fill in rest of instanceCreateInfo"] + #[doc = ""] + #[doc = " VkInstance instance;"] + #[doc = " // create the Vulkan instance"] + #[doc = " VkResult result = vkCreateInstance(&instanceCreateInfo, NULL, &instance);"] + #[doc = " free(names);"] + #[doc = " \\endcode"] + #[doc = ""] + #[doc = " \\sa SDL_Vulkan_CreateSurface()"] pub fn SDL_Vulkan_GetInstanceExtensions( window: *mut SDL_Window, pCount: *mut libc::c_uint, @@ -29438,33 +30035,33 @@ extern "C" { ) -> SDL_bool; } extern "C" { - /// \brief Create a Vulkan rendering surface for a window. - /// - /// \param [in] window SDL_Window to which to attach the rendering surface. - /// \param [in] instance handle to the Vulkan instance to use. - /// \param [out] surface pointer to a VkSurfaceKHR handle to receive the - /// handle of the newly created surface. - /// - /// \return \c SDL_TRUE on success, \c SDL_FALSE on error. - /// - /// \code - /// VkInstance instance; - /// SDL_Window *window; - /// - /// // create instance and window - /// - /// // create the Vulkan surface - /// VkSurfaceKHR surface; - /// if(!SDL_Vulkan_CreateSurface(window, instance, &surface)) - /// handle_error(); - /// \endcode - /// - /// \note \a window should have been created with the \c SDL_WINDOW_VULKAN flag. - /// - /// \note \a instance should have been created with the extensions returned - /// by \c SDL_Vulkan_CreateSurface() enabled. - /// - /// \sa SDL_Vulkan_GetInstanceExtensions() + #[doc = " \\brief Create a Vulkan rendering surface for a window."] + #[doc = ""] + #[doc = " \\param [in] window SDL_Window to which to attach the rendering surface."] + #[doc = " \\param [in] instance handle to the Vulkan instance to use."] + #[doc = " \\param [out] surface pointer to a VkSurfaceKHR handle to receive the"] + #[doc = " handle of the newly created surface."] + #[doc = ""] + #[doc = " \\return \\c SDL_TRUE on success, \\c SDL_FALSE on error."] + #[doc = ""] + #[doc = " \\code"] + #[doc = " VkInstance instance;"] + #[doc = " SDL_Window *window;"] + #[doc = ""] + #[doc = " // create instance and window"] + #[doc = ""] + #[doc = " // create the Vulkan surface"] + #[doc = " VkSurfaceKHR surface;"] + #[doc = " if(!SDL_Vulkan_CreateSurface(window, instance, &surface))"] + #[doc = " handle_error();"] + #[doc = " \\endcode"] + #[doc = ""] + #[doc = " \\note \\a window should have been created with the \\c SDL_WINDOW_VULKAN flag."] + #[doc = ""] + #[doc = " \\note \\a instance should have been created with the extensions returned"] + #[doc = " by \\c SDL_Vulkan_CreateSurface() enabled."] + #[doc = ""] + #[doc = " \\sa SDL_Vulkan_GetInstanceExtensions()"] pub fn SDL_Vulkan_CreateSurface( window: *mut SDL_Window, instance: VkInstance, @@ -29472,34 +30069,34 @@ extern "C" { ) -> SDL_bool; } extern "C" { - /// \brief Get the size of a window's underlying drawable in pixels (for use - /// with setting viewport, scissor & etc). - /// - /// \param window SDL_Window from which the drawable size should be queried - /// \param w Pointer to variable for storing the width in pixels, - /// may be NULL - /// \param h Pointer to variable for storing the height in pixels, - /// may be NULL - /// - /// This may differ from SDL_GetWindowSize() if we're rendering to a high-DPI - /// drawable, i.e. the window was created with SDL_WINDOW_ALLOW_HIGHDPI on a - /// platform with high-DPI support (Apple calls this "Retina"), and not disabled - /// by the \c SDL_HINT_VIDEO_HIGHDPI_DISABLED hint. - /// - /// \note On macOS high-DPI support must be enabled for an application by - /// setting NSHighResolutionCapable to true in its Info.plist. - /// - /// \sa SDL_GetWindowSize() - /// \sa SDL_CreateWindow() + #[doc = " \\brief Get the size of a window's underlying drawable in pixels (for use"] + #[doc = " with setting viewport, scissor & etc)."] + #[doc = ""] + #[doc = " \\param window SDL_Window from which the drawable size should be queried"] + #[doc = " \\param w Pointer to variable for storing the width in pixels,"] + #[doc = " may be NULL"] + #[doc = " \\param h Pointer to variable for storing the height in pixels,"] + #[doc = " may be NULL"] + #[doc = ""] + #[doc = " This may differ from SDL_GetWindowSize() if we're rendering to a high-DPI"] + #[doc = " drawable, i.e. the window was created with SDL_WINDOW_ALLOW_HIGHDPI on a"] + #[doc = " platform with high-DPI support (Apple calls this \"Retina\"), and not disabled"] + #[doc = " by the \\c SDL_HINT_VIDEO_HIGHDPI_DISABLED hint."] + #[doc = ""] + #[doc = " \\note On macOS high-DPI support must be enabled for an application by"] + #[doc = " setting NSHighResolutionCapable to true in its Info.plist."] + #[doc = ""] + #[doc = " \\sa SDL_GetWindowSize()"] + #[doc = " \\sa SDL_CreateWindow()"] pub fn SDL_Vulkan_GetDrawableSize( window: *mut SDL_Window, w: *mut libc::c_int, h: *mut libc::c_int, ); } -///
+#[doc = "
"] pub type VkInstance = usize; -///
+#[doc = "
"] pub type VkSurfaceKHR = u64; pub type __builtin_va_list = [__va_list_tag; 1usize]; #[repr(C)] @@ -29565,25 +30162,25 @@ fn bindgen_test_layout___va_list_tag() { ) ); } -///< Private +#[doc = "< Private"] #[repr(C)] #[derive(Copy, Clone)] pub struct SDL_BlitMap { pub _address: u8, } -///< Wayland display +#[doc = "< Wayland display"] #[repr(C)] #[derive(Copy, Clone)] pub struct wl_display { pub _address: u8, } -///< Wayland surface +#[doc = "< Wayland surface"] #[repr(C)] #[derive(Copy, Clone)] pub struct wl_surface { pub _address: u8, } -///< Wayland shell_surface (window manager handle) +#[doc = "< Wayland shell_surface (window manager handle)"] #[repr(C)] #[derive(Copy, Clone)] pub struct wl_shell_surface { diff --git a/src/sdl2/pixels.rs b/src/sdl2/pixels.rs index a2b8f625..48c93b70 100644 --- a/src/sdl2/pixels.rs +++ b/src/sdl2/pixels.rs @@ -205,42 +205,42 @@ impl_raw_constructor!((PixelFormat, PixelFormat (raw: *mut sys::SDL_PixelFormat) #[repr(i32)] #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug)] pub enum PixelFormatEnum { - Unknown = sys::SDL_PIXELFORMAT_UNKNOWN as i32, - Index1LSB = sys::SDL_PIXELFORMAT_INDEX1LSB as i32, - Index1MSB = sys::SDL_PIXELFORMAT_INDEX1MSB as i32, - Index4LSB = sys::SDL_PIXELFORMAT_INDEX4LSB as i32, - Index4MSB = sys::SDL_PIXELFORMAT_INDEX4MSB as i32, - Index8 = sys::SDL_PIXELFORMAT_INDEX8 as i32, - RGB332 = sys::SDL_PIXELFORMAT_RGB332 as i32, - RGB444 = sys::SDL_PIXELFORMAT_RGB444 as i32, - RGB555 = sys::SDL_PIXELFORMAT_RGB555 as i32, - BGR555 = sys::SDL_PIXELFORMAT_BGR555 as i32, - ARGB4444 = sys::SDL_PIXELFORMAT_ARGB4444 as i32, - RGBA4444 = sys::SDL_PIXELFORMAT_RGBA4444 as i32, - ABGR4444 = sys::SDL_PIXELFORMAT_ABGR4444 as i32, - BGRA4444 = sys::SDL_PIXELFORMAT_BGRA4444 as i32, - ARGB1555 = sys::SDL_PIXELFORMAT_ARGB1555 as i32, - RGBA5551 = sys::SDL_PIXELFORMAT_RGBA5551 as i32, - ABGR1555 = sys::SDL_PIXELFORMAT_ABGR1555 as i32, - BGRA5551 = sys::SDL_PIXELFORMAT_BGRA5551 as i32, - RGB565 = sys::SDL_PIXELFORMAT_RGB565 as i32, - BGR565 = sys::SDL_PIXELFORMAT_BGR565 as i32, - RGB24 = sys::SDL_PIXELFORMAT_RGB24 as i32, - BGR24 = sys::SDL_PIXELFORMAT_BGR24 as i32, - RGB888 = sys::SDL_PIXELFORMAT_RGB888 as i32, - RGBX8888 = sys::SDL_PIXELFORMAT_RGBX8888 as i32, - BGR888 = sys::SDL_PIXELFORMAT_BGR888 as i32, - BGRX8888 = sys::SDL_PIXELFORMAT_BGRX8888 as i32, - ARGB8888 = sys::SDL_PIXELFORMAT_ARGB8888 as i32, - RGBA8888 = sys::SDL_PIXELFORMAT_RGBA8888 as i32, - ABGR8888 = sys::SDL_PIXELFORMAT_ABGR8888 as i32, - BGRA8888 = sys::SDL_PIXELFORMAT_BGRA8888 as i32, - ARGB2101010 = sys::SDL_PIXELFORMAT_ARGB2101010 as i32, - YV12 = sys::SDL_PIXELFORMAT_YV12 as i32, - IYUV = sys::SDL_PIXELFORMAT_IYUV as i32, - YUY2 = sys::SDL_PIXELFORMAT_YUY2 as i32, - UYVY = sys::SDL_PIXELFORMAT_UYVY as i32, - YVYU = sys::SDL_PIXELFORMAT_YVYU as i32 + Unknown = sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_UNKNOWN as i32, + Index1LSB = sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_INDEX1LSB as i32, + Index1MSB = sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_INDEX1MSB as i32, + Index4LSB = sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_INDEX4LSB as i32, + Index4MSB = sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_INDEX4MSB as i32, + Index8 = sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_INDEX8 as i32, + RGB332 = sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_RGB332 as i32, + RGB444 = sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_RGB444 as i32, + RGB555 = sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_RGB555 as i32, + BGR555 = sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_BGR555 as i32, + ARGB4444 = sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_ARGB4444 as i32, + RGBA4444 = sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_RGBA4444 as i32, + ABGR4444 = sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_ABGR4444 as i32, + BGRA4444 = sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_BGRA4444 as i32, + ARGB1555 = sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_ARGB1555 as i32, + RGBA5551 = sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_RGBA5551 as i32, + ABGR1555 = sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_ABGR1555 as i32, + BGRA5551 = sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_BGRA5551 as i32, + RGB565 = sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_RGB565 as i32, + BGR565 = sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_BGR565 as i32, + RGB24 = sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_RGB24 as i32, + BGR24 = sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_BGR24 as i32, + RGB888 = sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_RGB888 as i32, + RGBX8888 = sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_RGBX8888 as i32, + BGR888 = sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_BGR888 as i32, + BGRX8888 = sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_BGRX8888 as i32, + ARGB8888 = sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_ARGB8888 as i32, + RGBA8888 = sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_RGBA8888 as i32, + ABGR8888 = sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_ABGR8888 as i32, + BGRA8888 = sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_BGRA8888 as i32, + ARGB2101010 = sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_ARGB2101010 as i32, + YV12 = sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_YV12 as i32, + IYUV = sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_IYUV as i32, + YUY2 = sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_YUY2 as i32, + UYVY = sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_UYVY as i32, + YVYU = sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_YVYU as i32 } // Endianness-agnostic aliases for 32-bit formats @@ -413,42 +413,42 @@ impl TryFrom for PixelFormatEnum { use self::PixelFormatEnum::*; Ok( match unsafe { transmute(n) } { - sys::SDL_PIXELFORMAT_UNKNOWN => Unknown, - sys::SDL_PIXELFORMAT_INDEX1LSB => Index1LSB, - sys::SDL_PIXELFORMAT_INDEX1MSB => Index1MSB, - sys::SDL_PIXELFORMAT_INDEX4LSB => Index4LSB, - sys::SDL_PIXELFORMAT_INDEX4MSB => Index4MSB, - sys::SDL_PIXELFORMAT_INDEX8 => Index8, - sys::SDL_PIXELFORMAT_RGB332 => RGB332, - sys::SDL_PIXELFORMAT_RGB444 => RGB444, - sys::SDL_PIXELFORMAT_RGB555 => RGB555, - sys::SDL_PIXELFORMAT_BGR555 => BGR555, - sys::SDL_PIXELFORMAT_ARGB4444 => ARGB4444, - sys::SDL_PIXELFORMAT_RGBA4444 => RGBA4444, - sys::SDL_PIXELFORMAT_ABGR4444 => ABGR4444, - sys::SDL_PIXELFORMAT_BGRA4444 => BGRA4444, - sys::SDL_PIXELFORMAT_ARGB1555 => ARGB1555, - sys::SDL_PIXELFORMAT_RGBA5551 => RGBA5551, - sys::SDL_PIXELFORMAT_ABGR1555 => ABGR1555, - sys::SDL_PIXELFORMAT_BGRA5551 => BGRA5551, - sys::SDL_PIXELFORMAT_RGB565 => RGB565, - sys::SDL_PIXELFORMAT_BGR565 => BGR565, - sys::SDL_PIXELFORMAT_RGB24 => RGB24, - sys::SDL_PIXELFORMAT_BGR24 => BGR24, - sys::SDL_PIXELFORMAT_RGB888 => RGB888, - sys::SDL_PIXELFORMAT_RGBX8888 => RGBX8888, - sys::SDL_PIXELFORMAT_BGR888 => BGR888, - sys::SDL_PIXELFORMAT_BGRX8888 => BGRX8888, - sys::SDL_PIXELFORMAT_ARGB8888 => ARGB8888, - sys::SDL_PIXELFORMAT_RGBA8888 => RGBA8888, - sys::SDL_PIXELFORMAT_ABGR8888 => ABGR8888, - sys::SDL_PIXELFORMAT_BGRA8888 => BGRA8888, - sys::SDL_PIXELFORMAT_ARGB2101010 => ARGB2101010, - sys::SDL_PIXELFORMAT_YV12 => YV12, - sys::SDL_PIXELFORMAT_IYUV => IYUV, - sys::SDL_PIXELFORMAT_YUY2 => YUY2, - sys::SDL_PIXELFORMAT_UYVY => UYVY, - sys::SDL_PIXELFORMAT_YVYU => YVYU, + sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_UNKNOWN => Unknown, + sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_INDEX1LSB => Index1LSB, + sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_INDEX1MSB => Index1MSB, + sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_INDEX4LSB => Index4LSB, + sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_INDEX4MSB => Index4MSB, + sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_INDEX8 => Index8, + sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_RGB332 => RGB332, + sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_RGB444 => RGB444, + sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_RGB555 => RGB555, + sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_BGR555 => BGR555, + sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_ARGB4444 => ARGB4444, + sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_RGBA4444 => RGBA4444, + sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_ABGR4444 => ABGR4444, + sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_BGRA4444 => BGRA4444, + sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_ARGB1555 => ARGB1555, + sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_RGBA5551 => RGBA5551, + sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_ABGR1555 => ABGR1555, + sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_BGRA5551 => BGRA5551, + sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_RGB565 => RGB565, + sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_BGR565 => BGR565, + sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_RGB24 => RGB24, + sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_BGR24 => BGR24, + sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_RGB888 => RGB888, + sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_RGBX8888 => RGBX8888, + sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_BGR888 => BGR888, + sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_BGRX8888 => BGRX8888, + sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_ARGB8888 => ARGB8888, + sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_RGBA8888 => RGBA8888, + sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_ABGR8888 => ABGR8888, + sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_BGRA8888 => BGRA8888, + sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_ARGB2101010 => ARGB2101010, + sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_YV12 => YV12, + sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_IYUV => IYUV, + sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_YUY2 => YUY2, + sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_UYVY => UYVY, + sys::SDL_PixelFormatEnum::SDL_PIXELFORMAT_YVYU => YVYU, _ => return Err(()), }) } diff --git a/src/sdl2/rwops.rs b/src/sdl2/rwops.rs index 8d595d12..01b676c5 100644 --- a/src/sdl2/rwops.rs +++ b/src/sdl2/rwops.rs @@ -131,7 +131,7 @@ impl<'a> io::Read for RWops<'a> { // FIXME: it's better to use as_mut_ptr(). // number of objects read, or 0 at error or end of file. let ret = unsafe { - ((*self.raw).read.unwrap())(self.raw, buf.as_ptr() as *mut c_void, 1, out_len) + ((*self.raw).read.unwrap())(self.raw, buf.as_ptr() as *mut c_void, 1, out_len as u64) }; Ok(ret as usize) } @@ -141,7 +141,7 @@ impl<'a> io::Write for RWops<'a> { fn write(&mut self, buf: &[u8]) -> io::Result { let in_len = buf.len() as size_t; let ret = unsafe { - ((*self.raw).write.unwrap())(self.raw, buf.as_ptr() as *const c_void, 1, in_len) + ((*self.raw).write.unwrap())(self.raw, buf.as_ptr() as *const c_void, 1, in_len as u64) }; Ok(ret as usize) }