diff --git a/.gitignore b/.gitignore index 803b70e..e629e17 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ Cargo.lock examples/demo/target/ lvgl-sys/target/ lvgl/target/ +lvgl-sys/src/bindings.rs diff --git a/lvgl-sys/build.rs b/lvgl-sys/build.rs index 7e76995..d2c7824 100644 --- a/lvgl-sys/build.rs +++ b/lvgl-sys/build.rs @@ -72,6 +72,8 @@ fn main() { "-I", vendor.to_str().unwrap(), ]; + + let out_path = PathBuf::from(env::var("OUT_DIR").unwrap()); bindgen::Builder::default() .header(shims_dir.join("lvgl_sys.h").to_str().unwrap()) .layout_tests(false) @@ -82,7 +84,7 @@ fn main() { .clang_args(&cc_args) .generate() .expect("Unable to generate bindings") - .write_to_file(project_dir.join("src").join("bindings.rs")) + .write_to_file(out_path.join("bindings.rs")) .expect("Can't write bindings!"); } diff --git a/lvgl-sys/src/bindings.rs b/lvgl-sys/src/bindings.rs deleted file mode 100644 index f1f58ca..0000000 --- a/lvgl-sys/src/bindings.rs +++ /dev/null @@ -1,11273 +0,0 @@ -/* automatically generated by rust-bindgen */ - -use cty; - -#[repr(C)] -#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)] -pub struct __BindgenBitfieldUnit { - storage: Storage, - align: [Align; 0], -} -impl __BindgenBitfieldUnit { - #[inline] - pub const fn new(storage: Storage) -> Self { - Self { storage, align: [] } - } -} -impl __BindgenBitfieldUnit -where - Storage: AsRef<[u8]> + AsMut<[u8]>, -{ - #[inline] - pub fn get_bit(&self, index: usize) -> bool { - debug_assert!(index / 8 < self.storage.as_ref().len()); - let byte_index = index / 8; - let byte = self.storage.as_ref()[byte_index]; - let bit_index = if cfg!(target_endian = "big") { - 7 - (index % 8) - } else { - index % 8 - }; - let mask = 1 << bit_index; - byte & mask == mask - } - #[inline] - pub fn set_bit(&mut self, index: usize, val: bool) { - debug_assert!(index / 8 < self.storage.as_ref().len()); - let byte_index = index / 8; - let byte = &mut self.storage.as_mut()[byte_index]; - let bit_index = if cfg!(target_endian = "big") { - 7 - (index % 8) - } else { - index % 8 - }; - let mask = 1 << bit_index; - if val { - *byte |= mask; - } else { - *byte &= !mask; - } - } - #[inline] - pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 { - debug_assert!(bit_width <= 64); - debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); - debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); - let mut val = 0; - for i in 0..(bit_width as usize) { - if self.get_bit(i + bit_offset) { - let index = if cfg!(target_endian = "big") { - bit_width as usize - 1 - i - } else { - i - }; - val |= 1 << index; - } - } - val - } - #[inline] - pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) { - debug_assert!(bit_width <= 64); - debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); - debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); - for i in 0..(bit_width as usize) { - let mask = 1 << i; - let val_bit_is_set = val & mask == mask; - let index = if cfg!(target_endian = "big") { - bit_width as usize - 1 - i - } else { - i - }; - self.set_bit(index + bit_offset, val_bit_is_set); - } - } -} -pub const LVGL_VERSION_MAJOR: u32 = 6; -pub const LVGL_VERSION_MINOR: u32 = 1; -pub const LVGL_VERSION_PATCH: u32 = 2; -pub const LVGL_VERSION_INFO: &'static [u8; 1usize] = b"\0"; -pub const _STDINT_H: u32 = 1; -pub const _FEATURES_H: u32 = 1; -pub const _DEFAULT_SOURCE: u32 = 1; -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: u32 = 200809; -pub const __USE_POSIX: u32 = 1; -pub const __USE_POSIX2: u32 = 1; -pub const __USE_POSIX199309: u32 = 1; -pub const __USE_POSIX199506: u32 = 1; -pub const __USE_XOPEN2K: u32 = 1; -pub const __USE_XOPEN2K8: u32 = 1; -pub const _ATFILE_SOURCE: u32 = 1; -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 _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__: u32 = 201706; -pub const __STDC_NO_THREADS__: u32 = 1; -pub const __GNU_LIBRARY__: u32 = 6; -pub const __GLIBC__: u32 = 2; -pub const __GLIBC_MINOR__: u32 = 27; -pub const _SYS_CDEFS_H: u32 = 1; -pub const __glibc_c99_flexarr_available: u32 = 1; -pub const __WORDSIZE: u32 = 32; -pub const __WORDSIZE32_SIZE_ULONG: u32 = 0; -pub const __WORDSIZE32_PTRDIFF_LONG: u32 = 0; -pub const __WORDSIZE_TIME64_COMPAT32: 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_FUNCS_EXT: u32 = 0; -pub const __GLIBC_USE_IEC_60559_TYPES_EXT: u32 = 0; -pub const _BITS_TYPES_H: u32 = 1; -pub const _BITS_TYPESIZES_H: u32 = 1; -pub const __RLIM_T_MATCHES_RLIM64_T: u32 = 0; -pub const __FD_SETSIZE: u32 = 1024; -pub const _BITS_WCHAR_H: u32 = 1; -pub const _BITS_STDINT_INTN_H: u32 = 1; -pub const _BITS_STDINT_UINTN_H: u32 = 1; -pub const INT8_MIN: i32 = -128; -pub const INT16_MIN: i32 = -32768; -pub const INT32_MIN: i32 = -2147483648; -pub const INT8_MAX: u32 = 127; -pub const INT16_MAX: u32 = 32767; -pub const INT32_MAX: u32 = 2147483647; -pub const UINT8_MAX: u32 = 255; -pub const UINT16_MAX: u32 = 65535; -pub const UINT32_MAX: u32 = 4294967295; -pub const INT_LEAST8_MIN: i32 = -128; -pub const INT_LEAST16_MIN: i32 = -32768; -pub const INT_LEAST32_MIN: i32 = -2147483648; -pub const INT_LEAST8_MAX: u32 = 127; -pub const INT_LEAST16_MAX: u32 = 32767; -pub const INT_LEAST32_MAX: u32 = 2147483647; -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: i32 = -2147483648; -pub const INT_FAST32_MIN: i32 = -2147483648; -pub const INT_FAST8_MAX: u32 = 127; -pub const INT_FAST16_MAX: u32 = 2147483647; -pub const INT_FAST32_MAX: u32 = 2147483647; -pub const UINT_FAST8_MAX: u32 = 255; -pub const UINT_FAST16_MAX: u32 = 4294967295; -pub const UINT_FAST32_MAX: u32 = 4294967295; -pub const INTPTR_MIN: i32 = -2147483648; -pub const INTPTR_MAX: u32 = 2147483647; -pub const UINTPTR_MAX: u32 = 4294967295; -pub const PTRDIFF_MIN: i32 = -2147483648; -pub const PTRDIFF_MAX: u32 = 2147483647; -pub const SIG_ATOMIC_MIN: i32 = -2147483648; -pub const SIG_ATOMIC_MAX: u32 = 2147483647; -pub const SIZE_MAX: u32 = 4294967295; -pub const WINT_MIN: u32 = 0; -pub const WINT_MAX: u32 = 4294967295; -pub const LV_HOR_RES_MAX: u32 = 240; -pub const LV_VER_RES_MAX: u32 = 240; -pub const LV_COLOR_DEPTH: u32 = 16; -pub const LV_COLOR_16_SWAP: u32 = 0; -pub const LV_COLOR_SCREEN_TRANSP: u32 = 0; -pub const LV_INDEXED_CHROMA: u32 = 1; -pub const LV_ANTIALIAS: u32 = 1; -pub const LV_DISP_DEF_REFR_PERIOD: u32 = 30; -pub const LV_DPI: u32 = 298; -pub const LV_MEM_CUSTOM: u32 = 0; -pub const LV_MEM_SIZE: u32 = 4096; -pub const LV_MEM_ADR: u32 = 0; -pub const LV_MEM_AUTO_DEFRAG: u32 = 1; -pub const LV_ENABLE_GC: u32 = 0; -pub const LV_INDEV_DEF_READ_PERIOD: u32 = 30; -pub const LV_INDEV_DEF_DRAG_LIMIT: u32 = 10; -pub const LV_INDEV_DEF_DRAG_THROW: u32 = 20; -pub const LV_INDEV_DEF_LONG_PRESS_TIME: u32 = 400; -pub const LV_INDEV_DEF_LONG_PRESS_REP_TIME: u32 = 100; -pub const LV_USE_ANIMATION: u32 = 1; -pub const LV_USE_SHADOW: u32 = 1; -pub const LV_USE_GROUP: u32 = 1; -pub const LV_USE_GPU: u32 = 0; -pub const LV_USE_FILESYSTEM: u32 = 0; -pub const LV_USE_USER_DATA: u32 = 1; -pub const LV_IMG_CF_INDEXED: u32 = 1; -pub const LV_IMG_CF_ALPHA: u32 = 1; -pub const LV_IMG_CACHE_DEF_SIZE: u32 = 1; -pub const LV_TICK_CUSTOM: u32 = 0; -pub const LV_USE_LOG: u32 = 0; -pub const LV_USE_DEBUG: u32 = 0; -pub const LV_THEME_LIVE_UPDATE: u32 = 0; -pub const LV_USE_THEME_TEMPL: u32 = 0; -pub const LV_USE_THEME_DEFAULT: u32 = 0; -pub const LV_USE_THEME_ALIEN: u32 = 0; -pub const LV_USE_THEME_NIGHT: u32 = 0; -pub const LV_USE_THEME_MONO: u32 = 0; -pub const LV_USE_THEME_MATERIAL: u32 = 0; -pub const LV_USE_THEME_ZEN: u32 = 0; -pub const LV_USE_THEME_NEMO: u32 = 0; -pub const LV_FONT_ROBOTO_12: u32 = 0; -pub const LV_FONT_ROBOTO_16: u32 = 0; -pub const LV_FONT_ROBOTO_22: u32 = 0; -pub const LV_FONT_ROBOTO_28: u32 = 1; -pub const LV_FONT_ROBOTO_12_SUBPX: u32 = 1; -pub const LV_FONT_ROBOTO_28_COMPRESSED: u32 = 1; -pub const LV_FONT_UNSCII_8: u32 = 0; -pub const LV_FONT_FMT_TXT_LARGE: u32 = 0; -pub const LV_FONT_SUBPX_BGR: u32 = 0; -pub const LV_TXT_BREAK_CHARS: &'static [u8; 8usize] = b" ,.;:-_\0"; -pub const LV_TXT_LINE_BREAK_LONG_LEN: u32 = 12; -pub const LV_TXT_LINE_BREAK_LONG_PRE_MIN_LEN: u32 = 3; -pub const LV_TXT_LINE_BREAK_LONG_POST_MIN_LEN: u32 = 3; -pub const LV_TXT_COLOR_CMD: &'static [u8; 2usize] = b"#\0"; -pub const LV_USE_BIDI: u32 = 0; -pub const LV_SPRINTF_CUSTOM: u32 = 0; -pub const LV_USE_OBJ_REALIGN: u32 = 1; -pub const LV_USE_ARC: u32 = 1; -pub const LV_USE_BAR: u32 = 1; -pub const LV_USE_BTN: u32 = 1; -pub const LV_BTN_INK_EFFECT: u32 = 0; -pub const LV_USE_BTNM: u32 = 1; -pub const LV_USE_CALENDAR: u32 = 1; -pub const LV_USE_CANVAS: u32 = 1; -pub const LV_USE_CB: u32 = 1; -pub const LV_USE_CHART: u32 = 1; -pub const LV_CHART_AXIS_TICK_LABEL_MAX_LEN: u32 = 20; -pub const LV_USE_CONT: u32 = 1; -pub const LV_USE_CPICKER: u32 = 1; -pub const LV_USE_DDLIST: u32 = 1; -pub const LV_DDLIST_DEF_ANIM_TIME: u32 = 200; -pub const LV_USE_GAUGE: u32 = 1; -pub const LV_USE_IMG: u32 = 1; -pub const LV_USE_IMGBTN: u32 = 1; -pub const LV_IMGBTN_TILED: u32 = 0; -pub const LV_USE_KB: u32 = 1; -pub const LV_USE_LABEL: u32 = 1; -pub const LV_LABEL_DEF_SCROLL_SPEED: u32 = 25; -pub const LV_LABEL_WAIT_CHAR_COUNT: u32 = 3; -pub const LV_LABEL_TEXT_SEL: u32 = 0; -pub const LV_LABEL_LONG_TXT_HINT: u32 = 0; -pub const LV_USE_LED: u32 = 1; -pub const LV_USE_LINE: u32 = 1; -pub const LV_USE_LIST: u32 = 1; -pub const LV_LIST_DEF_ANIM_TIME: u32 = 100; -pub const LV_USE_LMETER: u32 = 1; -pub const LV_USE_MBOX: u32 = 1; -pub const LV_USE_PAGE: u32 = 1; -pub const LV_PAGE_DEF_ANIM_TIME: u32 = 400; -pub const LV_USE_PRELOAD: u32 = 1; -pub const LV_PRELOAD_DEF_ARC_LENGTH: u32 = 60; -pub const LV_PRELOAD_DEF_SPIN_TIME: u32 = 1000; -pub const LV_USE_ROLLER: u32 = 1; -pub const LV_ROLLER_DEF_ANIM_TIME: u32 = 200; -pub const LV_ROLLER_INF_PAGES: u32 = 7; -pub const LV_USE_SLIDER: u32 = 1; -pub const LV_USE_SPINBOX: u32 = 1; -pub const LV_USE_SW: u32 = 1; -pub const LV_USE_TA: u32 = 1; -pub const LV_TA_DEF_CURSOR_BLINK_TIME: u32 = 400; -pub const LV_TA_DEF_PWD_SHOW_TIME: u32 = 1500; -pub const LV_USE_TABLE: u32 = 1; -pub const LV_TABLE_COL_MAX: u32 = 12; -pub const LV_USE_TABVIEW: u32 = 1; -pub const LV_TABVIEW_DEF_ANIM_TIME: u32 = 300; -pub const LV_USE_TILEVIEW: u32 = 1; -pub const LV_TILEVIEW_DEF_ANIM_TIME: u32 = 300; -pub const LV_USE_WIN: u32 = 1; -pub const LV_LOG_LEVEL_TRACE: u32 = 0; -pub const LV_LOG_LEVEL_INFO: u32 = 1; -pub const LV_LOG_LEVEL_WARN: u32 = 2; -pub const LV_LOG_LEVEL_ERROR: u32 = 3; -pub const LV_LOG_LEVEL_NONE: u32 = 4; -pub const _LV_LOG_LEVEL_NUM: u32 = 5; -pub const true_: u32 = 1; -pub const false_: u32 = 0; -pub const __bool_true_false_are_defined: u32 = 1; -pub const LV_TRIGO_SIN_MAX: u32 = 32767; -pub const LV_TRIGO_SHIFT: u32 = 15; -pub const LV_BEZIER_VAL_MAX: u32 = 1024; -pub const LV_BEZIER_VAL_SHIFT: u32 = 10; -pub const LV_OPA_MIN: u32 = 16; -pub const LV_OPA_MAX: u32 = 251; -pub const LV_COLOR_SIZE: u32 = 16; -pub const _STRING_H: u32 = 1; -pub const _BITS_TYPES_LOCALE_T_H: u32 = 1; -pub const _BITS_TYPES___LOCALE_T_H: u32 = 1; -pub const _STRINGS_H: u32 = 1; -pub const LV_INV_BUF_SIZE: u32 = 32; -pub const LV_SYMBOL_AUDIO: &'static [u8; 4usize] = b"\xEF\x80\x81\0"; -pub const LV_SYMBOL_VIDEO: &'static [u8; 4usize] = b"\xEF\x80\x88\0"; -pub const LV_SYMBOL_LIST: &'static [u8; 4usize] = b"\xEF\x80\x8B\0"; -pub const LV_SYMBOL_OK: &'static [u8; 4usize] = b"\xEF\x80\x8C\0"; -pub const LV_SYMBOL_CLOSE: &'static [u8; 4usize] = b"\xEF\x80\x8D\0"; -pub const LV_SYMBOL_POWER: &'static [u8; 4usize] = b"\xEF\x80\x91\0"; -pub const LV_SYMBOL_SETTINGS: &'static [u8; 4usize] = b"\xEF\x80\x93\0"; -pub const LV_SYMBOL_HOME: &'static [u8; 4usize] = b"\xEF\x80\x95\0"; -pub const LV_SYMBOL_DOWNLOAD: &'static [u8; 4usize] = b"\xEF\x80\x99\0"; -pub const LV_SYMBOL_DRIVE: &'static [u8; 4usize] = b"\xEF\x80\x9C\0"; -pub const LV_SYMBOL_REFRESH: &'static [u8; 4usize] = b"\xEF\x80\xA1\0"; -pub const LV_SYMBOL_MUTE: &'static [u8; 4usize] = b"\xEF\x80\xA6\0"; -pub const LV_SYMBOL_VOLUME_MID: &'static [u8; 4usize] = b"\xEF\x80\xA7\0"; -pub const LV_SYMBOL_VOLUME_MAX: &'static [u8; 4usize] = b"\xEF\x80\xA8\0"; -pub const LV_SYMBOL_IMAGE: &'static [u8; 4usize] = b"\xEF\x80\xBE\0"; -pub const LV_SYMBOL_EDIT: &'static [u8; 4usize] = b"\xEF\x8C\x84\0"; -pub const LV_SYMBOL_PREV: &'static [u8; 4usize] = b"\xEF\x81\x88\0"; -pub const LV_SYMBOL_PLAY: &'static [u8; 4usize] = b"\xEF\x81\x8B\0"; -pub const LV_SYMBOL_PAUSE: &'static [u8; 4usize] = b"\xEF\x81\x8C\0"; -pub const LV_SYMBOL_STOP: &'static [u8; 4usize] = b"\xEF\x81\x8D\0"; -pub const LV_SYMBOL_NEXT: &'static [u8; 4usize] = b"\xEF\x81\x91\0"; -pub const LV_SYMBOL_EJECT: &'static [u8; 4usize] = b"\xEF\x81\x92\0"; -pub const LV_SYMBOL_LEFT: &'static [u8; 4usize] = b"\xEF\x81\x93\0"; -pub const LV_SYMBOL_RIGHT: &'static [u8; 4usize] = b"\xEF\x81\x94\0"; -pub const LV_SYMBOL_PLUS: &'static [u8; 4usize] = b"\xEF\x81\xA7\0"; -pub const LV_SYMBOL_MINUS: &'static [u8; 4usize] = b"\xEF\x81\xA8\0"; -pub const LV_SYMBOL_EYE_OPEN: &'static [u8; 4usize] = b"\xEF\x81\xAE\0"; -pub const LV_SYMBOL_EYE_CLOSE: &'static [u8; 4usize] = b"\xEF\x81\xB0\0"; -pub const LV_SYMBOL_WARNING: &'static [u8; 4usize] = b"\xEF\x81\xB1\0"; -pub const LV_SYMBOL_SHUFFLE: &'static [u8; 4usize] = b"\xEF\x81\xB4\0"; -pub const LV_SYMBOL_UP: &'static [u8; 4usize] = b"\xEF\x81\xB7\0"; -pub const LV_SYMBOL_DOWN: &'static [u8; 4usize] = b"\xEF\x81\xB8\0"; -pub const LV_SYMBOL_LOOP: &'static [u8; 4usize] = b"\xEF\x81\xB9\0"; -pub const LV_SYMBOL_DIRECTORY: &'static [u8; 4usize] = b"\xEF\x81\xBB\0"; -pub const LV_SYMBOL_UPLOAD: &'static [u8; 4usize] = b"\xEF\x82\x93\0"; -pub const LV_SYMBOL_CALL: &'static [u8; 4usize] = b"\xEF\x82\x95\0"; -pub const LV_SYMBOL_CUT: &'static [u8; 4usize] = b"\xEF\x83\x84\0"; -pub const LV_SYMBOL_COPY: &'static [u8; 4usize] = b"\xEF\x83\x85\0"; -pub const LV_SYMBOL_SAVE: &'static [u8; 4usize] = b"\xEF\x83\x87\0"; -pub const LV_SYMBOL_CHARGE: &'static [u8; 4usize] = b"\xEF\x83\xA7\0"; -pub const LV_SYMBOL_PASTE: &'static [u8; 4usize] = b"\xEF\x83\xAA\0"; -pub const LV_SYMBOL_BELL: &'static [u8; 4usize] = b"\xEF\x83\xB3\0"; -pub const LV_SYMBOL_KEYBOARD: &'static [u8; 4usize] = b"\xEF\x84\x9C\0"; -pub const LV_SYMBOL_GPS: &'static [u8; 4usize] = b"\xEF\x84\xA4\0"; -pub const LV_SYMBOL_FILE: &'static [u8; 4usize] = b"\xEF\x85\x9B\0"; -pub const LV_SYMBOL_WIFI: &'static [u8; 4usize] = b"\xEF\x87\xAB\0"; -pub const LV_SYMBOL_BATTERY_FULL: &'static [u8; 4usize] = b"\xEF\x89\x80\0"; -pub const LV_SYMBOL_BATTERY_3: &'static [u8; 4usize] = b"\xEF\x89\x81\0"; -pub const LV_SYMBOL_BATTERY_2: &'static [u8; 4usize] = b"\xEF\x89\x82\0"; -pub const LV_SYMBOL_BATTERY_1: &'static [u8; 4usize] = b"\xEF\x89\x83\0"; -pub const LV_SYMBOL_BATTERY_EMPTY: &'static [u8; 4usize] = b"\xEF\x89\x84\0"; -pub const LV_SYMBOL_USB: &'static [u8; 4usize] = b"\xEF\x8A\x87\0"; -pub const LV_SYMBOL_BLUETOOTH: &'static [u8; 4usize] = b"\xEF\x8A\x93\0"; -pub const LV_SYMBOL_TRASH: &'static [u8; 4usize] = b"\xEF\x8B\xAD\0"; -pub const LV_SYMBOL_BACKSPACE: &'static [u8; 4usize] = b"\xEF\x95\x9A\0"; -pub const LV_SYMBOL_SD_CARD: &'static [u8; 4usize] = b"\xEF\x9F\x82\0"; -pub const LV_SYMBOL_NEW_LINE: &'static [u8; 4usize] = b"\xEF\xA2\xA2\0"; -pub const LV_SYMBOL_DUMMY: &'static [u8; 4usize] = b"\xEF\xA3\xBF\0"; -pub const LV_FONT_WIDTH_FRACT_DIGIT: u32 = 4; -pub const LV_FONT_KERN_POSITIVE: u32 = 0; -pub const LV_FONT_KERN_NEGATIVE: u32 = 1; -pub const LV_STYLE_DEGUG_SENTINEL_VALUE: u32 = 305419896; -pub const LV_BIDI_LRO: &'static [u8; 4usize] = b"\xE2\x80\xAD\0"; -pub const LV_BIDI_RLO: &'static [u8; 4usize] = b"\xE2\x80\xAE\0"; -pub const LV_MAX_ANCESTOR_NUM: u32 = 8; -pub const LV_EXT_CLICK_AREA_OFF: u32 = 0; -pub const LV_EXT_CLICK_AREA_TINY: u32 = 1; -pub const LV_EXT_CLICK_AREA_FULL: u32 = 2; -pub const __GNUC_VA_LIST: u32 = 1; -pub const LV_TXT_ENC_UTF8: u32 = 1; -pub const LV_TXT_ENC_ASCII: u32 = 2; -pub const LV_IMG_PX_SIZE_ALPHA_BYTE: u32 = 3; -pub const LV_DRAW_LABEL_NO_TXT_SEL: u32 = 65535; -pub const LV_LABEL_DOT_NUM: u32 = 3; -pub const LV_LABEL_POS_LAST: u32 = 65535; -pub const LV_LABEL_TEXT_SEL_OFF: u32 = 65535; -pub const LV_CHART_TICK_LENGTH_AUTO: u32 = 255; -pub const LV_TABLE_CELL_STYLE_CNT: u32 = 4; -pub const LV_BAR_ANIM_STATE_START: u32 = 0; -pub const LV_BAR_ANIM_STATE_END: u32 = 256; -pub const LV_BAR_ANIM_STATE_INV: i32 = -1; -pub const LV_BAR_ANIM_STATE_NORM: u32 = 8; -pub const LV_BTNM_WIDTH_MASK: u32 = 7; -pub const LV_BTNM_BTN_NONE: u32 = 65535; -pub const LV_TA_CURSOR_LAST: u32 = 32767; -pub const LV_SW_MAX_VALUE: u32 = 100; -pub const LV_SPINBOX_MAX_DIGIT_COUNT: u32 = 16; -pub type __u_char = cty::c_uchar; -pub type __u_short = cty::c_ushort; -pub type __u_int = cty::c_uint; -pub type __u_long = cty::c_ulong; -pub type __int8_t = cty::c_schar; -pub type __uint8_t = cty::c_uchar; -pub type __int16_t = cty::c_short; -pub type __uint16_t = cty::c_ushort; -pub type __int32_t = cty::c_int; -pub type __uint32_t = cty::c_uint; -pub type __int64_t = cty::c_longlong; -pub type __uint64_t = cty::c_ulonglong; -pub type __quad_t = cty::c_longlong; -pub type __u_quad_t = cty::c_ulonglong; -pub type __intmax_t = cty::c_longlong; -pub type __uintmax_t = cty::c_ulonglong; -pub type __dev_t = __u_quad_t; -pub type __uid_t = cty::c_uint; -pub type __gid_t = cty::c_uint; -pub type __ino_t = cty::c_ulong; -pub type __ino64_t = __u_quad_t; -pub type __mode_t = cty::c_uint; -pub type __nlink_t = cty::c_uint; -pub type __off_t = cty::c_long; -pub type __off64_t = __quad_t; -pub type __pid_t = cty::c_int; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct __fsid_t { - pub __val: [cty::c_int; 2usize], -} -pub type __clock_t = cty::c_long; -pub type __rlim_t = cty::c_ulong; -pub type __rlim64_t = __u_quad_t; -pub type __id_t = cty::c_uint; -pub type __time_t = cty::c_long; -pub type __useconds_t = cty::c_uint; -pub type __suseconds_t = cty::c_long; -pub type __daddr_t = cty::c_int; -pub type __key_t = cty::c_int; -pub type __clockid_t = cty::c_int; -pub type __timer_t = *mut cty::c_void; -pub type __blksize_t = cty::c_long; -pub type __blkcnt_t = cty::c_long; -pub type __blkcnt64_t = __quad_t; -pub type __fsblkcnt_t = cty::c_ulong; -pub type __fsblkcnt64_t = __u_quad_t; -pub type __fsfilcnt_t = cty::c_ulong; -pub type __fsfilcnt64_t = __u_quad_t; -pub type __fsword_t = cty::c_int; -pub type __ssize_t = cty::c_int; -pub type __syscall_slong_t = cty::c_long; -pub type __syscall_ulong_t = cty::c_ulong; -pub type __loff_t = __off64_t; -pub type __caddr_t = *mut cty::c_char; -pub type __intptr_t = cty::c_int; -pub type __socklen_t = cty::c_uint; -pub type __sig_atomic_t = cty::c_int; -pub type int_least8_t = cty::c_schar; -pub type int_least16_t = cty::c_short; -pub type int_least32_t = cty::c_int; -pub type int_least64_t = cty::c_longlong; -pub type uint_least8_t = cty::c_uchar; -pub type uint_least16_t = cty::c_ushort; -pub type uint_least32_t = cty::c_uint; -pub type uint_least64_t = cty::c_ulonglong; -pub type int_fast8_t = cty::c_schar; -pub type int_fast16_t = cty::c_int; -pub type int_fast32_t = cty::c_int; -pub type int_fast64_t = cty::c_longlong; -pub type uint_fast8_t = cty::c_uchar; -pub type uint_fast16_t = cty::c_uint; -pub type uint_fast32_t = cty::c_uint; -pub type uint_fast64_t = cty::c_ulonglong; -pub type intmax_t = __intmax_t; -pub type uintmax_t = __uintmax_t; -pub type lv_coord_t = i16; -pub type lv_anim_user_data_t = *mut cty::c_void; -pub type lv_group_user_data_t = *mut cty::c_void; -pub type lv_img_decoder_user_data_t = *mut cty::c_void; -pub type lv_disp_drv_user_data_t = *mut cty::c_void; -pub type lv_indev_drv_user_data_t = *mut cty::c_void; -pub type lv_font_user_data_t = *mut cty::c_void; -pub type lv_obj_user_data_t = *mut cty::c_void; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct _silence_gcc_warning { - _unused: [u8; 0], -} -pub type lv_log_level_t = i8; -pub type size_t = cty::c_uint; -pub type wchar_t = cty::c_uint; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct max_align_t { - pub __clang_max_align_nonce1: cty::c_longlong, - pub __clang_max_align_nonce2: f64, -} -pub const LV_RES_INV: _bindgen_ty_1 = 0; -pub const LV_RES_OK: _bindgen_ty_1 = 1; -#[doc = " LittlevGL error codes."] -pub type _bindgen_ty_1 = u32; -pub type lv_res_t = u8; -pub type lv_uintptr_t = u32; -#[doc = " Heap information structure."] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_mem_monitor_t { - #[doc = "< Total heap size"] - pub total_size: u32, - pub free_cnt: u32, - #[doc = "< Size of available memory"] - pub free_size: u32, - pub free_biggest_size: u32, - pub used_cnt: u32, - #[doc = "< Percentage used"] - pub used_pct: u8, - #[doc = "< Amount of fragmentation"] - pub frag_pct: u8, -} -extern "C" { - #[doc = " Initiaize the dyn_mem module (work memory and other variables)"] - pub fn lv_mem_init(); -} -extern "C" { - #[doc = " Clean up the memory buffer which frees all the allocated memories."] - #[doc = " @note It work only if `LV_MEM_CUSTOM == 0`"] - pub fn lv_mem_deinit(); -} -extern "C" { - #[doc = " Allocate a memory dynamically"] - #[doc = " @param size size of the memory to allocate in bytes"] - #[doc = " @return pointer to the allocated memory"] - pub fn lv_mem_alloc(size: size_t) -> *mut cty::c_void; -} -extern "C" { - #[doc = " Free an allocated data"] - #[doc = " @param data pointer to an allocated memory"] - pub fn lv_mem_free(data: *const cty::c_void); -} -extern "C" { - #[doc = " Reallocate a memory with a new size. The old content will be kept."] - #[doc = " @param data pointer to an allocated memory."] - #[doc = " Its content will be copied to the new memory block and freed"] - #[doc = " @param new_size the desired new size in byte"] - #[doc = " @return pointer to the new memory"] - pub fn lv_mem_realloc(data_p: *mut cty::c_void, new_size: size_t) -> *mut cty::c_void; -} -extern "C" { - #[doc = " Join the adjacent free memory blocks"] - pub fn lv_mem_defrag(); -} -extern "C" { - #[doc = " Give information about the work memory of dynamic allocation"] - #[doc = " @param mon_p pointer to a dm_mon_p variable,"] - #[doc = " the result of the analysis will be stored here"] - pub fn lv_mem_monitor(mon_p: *mut lv_mem_monitor_t); -} -extern "C" { - #[doc = " Give the size of an allocated memory"] - #[doc = " @param data pointer to an allocated memory"] - #[doc = " @return the size of data memory in bytes"] - pub fn lv_mem_get_size(data: *const cty::c_void) -> u32; -} -#[doc = " Dummy type to make handling easier"] -pub type lv_ll_node_t = u8; -#[doc = " Description of a linked list"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_ll_t { - pub n_size: u32, - pub head: *mut lv_ll_node_t, - pub tail: *mut lv_ll_node_t, -} -extern "C" { - #[doc = " Initialize linked list"] - #[doc = " @param ll_dsc pointer to ll_dsc variable"] - #[doc = " @param node_size the size of 1 node in bytes"] - pub fn lv_ll_init(ll_p: *mut lv_ll_t, node_size: u32); -} -extern "C" { - #[doc = " Add a new head to a linked list"] - #[doc = " @param ll_p pointer to linked list"] - #[doc = " @return pointer to the new head"] - pub fn lv_ll_ins_head(ll_p: *mut lv_ll_t) -> *mut cty::c_void; -} -extern "C" { - #[doc = " Insert a new node in front of the n_act node"] - #[doc = " @param ll_p pointer to linked list"] - #[doc = " @param n_act pointer a node"] - #[doc = " @return pointer to the new head"] - pub fn lv_ll_ins_prev(ll_p: *mut lv_ll_t, n_act: *mut cty::c_void) -> *mut cty::c_void; -} -extern "C" { - #[doc = " Add a new tail to a linked list"] - #[doc = " @param ll_p pointer to linked list"] - #[doc = " @return pointer to the new tail"] - pub fn lv_ll_ins_tail(ll_p: *mut lv_ll_t) -> *mut cty::c_void; -} -extern "C" { - #[doc = " Remove the node 'node_p' from 'll_p' linked list."] - #[doc = " It does not free the the memory of node."] - #[doc = " @param ll_p pointer to the linked list of 'node_p'"] - #[doc = " @param node_p pointer to node in 'll_p' linked list"] - pub fn lv_ll_rem(ll_p: *mut lv_ll_t, node_p: *mut cty::c_void); -} -extern "C" { - #[doc = " Remove and free all elements from a linked list. The list remain valid but become empty."] - #[doc = " @param ll_p pointer to linked list"] - pub fn lv_ll_clear(ll_p: *mut lv_ll_t); -} -extern "C" { - #[doc = " Move a node to a new linked list"] - #[doc = " @param ll_ori_p pointer to the original (old) linked list"] - #[doc = " @param ll_new_p pointer to the new linked list"] - #[doc = " @param node pointer to a node"] - #[doc = " @param head true: be the head in the new list"] - #[doc = " false be the head in the new list"] - pub fn lv_ll_chg_list( - ll_ori_p: *mut lv_ll_t, - ll_new_p: *mut lv_ll_t, - node: *mut cty::c_void, - head: bool, - ); -} -extern "C" { - #[doc = " Return with head node of the linked list"] - #[doc = " @param ll_p pointer to linked list"] - #[doc = " @return pointer to the head of 'll_p'"] - pub fn lv_ll_get_head(ll_p: *const lv_ll_t) -> *mut cty::c_void; -} -extern "C" { - #[doc = " Return with tail node of the linked list"] - #[doc = " @param ll_p pointer to linked list"] - #[doc = " @return pointer to the head of 'll_p'"] - pub fn lv_ll_get_tail(ll_p: *const lv_ll_t) -> *mut cty::c_void; -} -extern "C" { - #[doc = " Return with the pointer of the next node after 'n_act'"] - #[doc = " @param ll_p pointer to linked list"] - #[doc = " @param n_act pointer a node"] - #[doc = " @return pointer to the next node"] - pub fn lv_ll_get_next(ll_p: *const lv_ll_t, n_act: *const cty::c_void) -> *mut cty::c_void; -} -extern "C" { - #[doc = " Return with the pointer of the previous node after 'n_act'"] - #[doc = " @param ll_p pointer to linked list"] - #[doc = " @param n_act pointer a node"] - #[doc = " @return pointer to the previous node"] - pub fn lv_ll_get_prev(ll_p: *const lv_ll_t, n_act: *const cty::c_void) -> *mut cty::c_void; -} -extern "C" { - #[doc = " Return the length of the linked list."] - #[doc = " @param ll_p pointer to linked list"] - #[doc = " @return length of the linked list"] - pub fn lv_ll_get_len(ll_p: *const lv_ll_t) -> u32; -} -extern "C" { - #[doc = " Move a nodw before an other node in the same linked list"] - #[doc = " @param ll_p pointer to a linked list"] - #[doc = " @param n_act pointer to node to move"] - #[doc = " @param n_after pointer to a node which should be after `n_act`"] - pub fn lv_ll_move_before( - ll_p: *mut lv_ll_t, - n_act: *mut cty::c_void, - n_after: *mut cty::c_void, - ); -} -extern "C" { - #[doc = " Check if a linked list is empty"] - #[doc = " @param ll_p pointer to a linked list"] - #[doc = " @return true: the linked list is empty; false: not empty"] - pub fn lv_ll_is_empty(ll_p: *mut lv_ll_t) -> bool; -} -#[doc = " Tasks execute this type type of functions."] -pub type lv_task_cb_t = ::core::option::Option; -pub const LV_TASK_PRIO_OFF: _bindgen_ty_2 = 0; -pub const LV_TASK_PRIO_LOWEST: _bindgen_ty_2 = 1; -pub const LV_TASK_PRIO_LOW: _bindgen_ty_2 = 2; -pub const LV_TASK_PRIO_MID: _bindgen_ty_2 = 3; -pub const LV_TASK_PRIO_HIGH: _bindgen_ty_2 = 4; -pub const LV_TASK_PRIO_HIGHEST: _bindgen_ty_2 = 5; -pub const _LV_TASK_PRIO_NUM: _bindgen_ty_2 = 6; -#[doc = " Possible priorities for lv_tasks"] -pub type _bindgen_ty_2 = u32; -pub type lv_task_prio_t = u8; -#[doc = " TYPEDEFS"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct _lv_task_t { - #[doc = "< How often the task should run"] - pub period: u32, - #[doc = "< Last time the task ran"] - pub last_run: u32, - #[doc = "< Task function"] - pub task_cb: lv_task_cb_t, - #[doc = "< Custom user data"] - pub user_data: *mut cty::c_void, - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, - pub __bindgen_padding_0: [u8; 3usize], -} -impl _lv_task_t { - #[inline] - pub fn prio(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 3u8) as u8) } - } - #[inline] - pub fn set_prio(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 3u8, val as u64) - } - } - #[inline] - pub fn once(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u8) } - } - #[inline] - pub fn set_once(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(3usize, 1u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1(prio: u8, once: u8) -> __BindgenBitfieldUnit<[u8; 1usize], u8> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 3u8, { - let prio: u8 = unsafe { ::core::mem::transmute(prio) }; - prio as u64 - }); - __bindgen_bitfield_unit.set(3usize, 1u8, { - let once: u8 = unsafe { ::core::mem::transmute(once) }; - once as u64 - }); - __bindgen_bitfield_unit - } -} -pub type lv_task_t = _lv_task_t; -extern "C" { - #[doc = " Init the lv_task module"] - pub fn lv_task_core_init(); -} -extern "C" { - #[doc = " Call it periodically to handle lv_tasks."] - pub fn lv_task_handler(); -} -extern "C" { - #[doc = " Create an \"empty\" task. It needs to initialzed with at least"] - #[doc = " `lv_task_set_cb` and `lv_task_set_period`"] - #[doc = " @return pointer to the craeted task"] - pub fn lv_task_create_basic() -> *mut lv_task_t; -} -extern "C" { - #[doc = " Create a new lv_task"] - #[doc = " @param task_xcb a callback which is the task itself. It will be called periodically."] - #[doc = " (the 'x' in the argument name indicates that its not a fully generic function because it not follows"] - #[doc = " the `func_name(object, callback, ...)` convention)"] - #[doc = " @param period call period in ms unit"] - #[doc = " @param prio priority of the task (LV_TASK_PRIO_OFF means the task is stopped)"] - #[doc = " @param user_data custom parameter"] - #[doc = " @return pointer to the new task"] - pub fn lv_task_create( - task_xcb: lv_task_cb_t, - period: u32, - prio: lv_task_prio_t, - user_data: *mut cty::c_void, - ) -> *mut lv_task_t; -} -extern "C" { - #[doc = " Delete a lv_task"] - #[doc = " @param task pointer to task_cb created by task"] - pub fn lv_task_del(task: *mut lv_task_t); -} -extern "C" { - #[doc = " Set the callback the task (the function to call periodically)"] - #[doc = " @param task pointer to a task"] - #[doc = " @param task_cb the function to call periodically"] - pub fn lv_task_set_cb(task: *mut lv_task_t, task_cb: lv_task_cb_t); -} -extern "C" { - #[doc = " Set new priority for a lv_task"] - #[doc = " @param task pointer to a lv_task"] - #[doc = " @param prio the new priority"] - pub fn lv_task_set_prio(task: *mut lv_task_t, prio: lv_task_prio_t); -} -extern "C" { - #[doc = " Set new period for a lv_task"] - #[doc = " @param task pointer to a lv_task"] - #[doc = " @param period the new period"] - pub fn lv_task_set_period(task: *mut lv_task_t, period: u32); -} -extern "C" { - #[doc = " Make a lv_task ready. It will not wait its period."] - #[doc = " @param task pointer to a lv_task."] - pub fn lv_task_ready(task: *mut lv_task_t); -} -extern "C" { - #[doc = " Delete the lv_task after one call"] - #[doc = " @param task pointer to a lv_task."] - pub fn lv_task_once(task: *mut lv_task_t); -} -extern "C" { - #[doc = " Reset a lv_task."] - #[doc = " It will be called the previously set period milliseconds later."] - #[doc = " @param task pointer to a lv_task."] - pub fn lv_task_reset(task: *mut lv_task_t); -} -extern "C" { - #[doc = " Enable or disable the whole lv_task handling"] - #[doc = " @param en: true: lv_task handling is running, false: lv_task handling is suspended"] - pub fn lv_task_enable(en: bool); -} -extern "C" { - #[doc = " Get idle percentage"] - #[doc = " @return the lv_task idle in percentage"] - pub fn lv_task_get_idle() -> u8; -} -extern "C" { - #[doc = " Return with sinus of an angle"] - #[doc = " @param angle"] - #[doc = " @return sinus of 'angle'. sin(-90) = -32767, sin(90) = 32767"] - pub fn lv_trigo_sin(angle: i16) -> i16; -} -extern "C" { - #[doc = " Calculate a value of a Cubic Bezier function."] - #[doc = " @param t time in range of [0..LV_BEZIER_VAL_MAX]"] - #[doc = " @param u0 start values in range of [0..LV_BEZIER_VAL_MAX]"] - #[doc = " @param u1 control value 1 values in range of [0..LV_BEZIER_VAL_MAX]"] - #[doc = " @param u2 control value 2 in range of [0..LV_BEZIER_VAL_MAX]"] - #[doc = " @param u3 end values in range of [0..LV_BEZIER_VAL_MAX]"] - #[doc = " @return the value calculated from the given parameters in range of [0..LV_BEZIER_VAL_MAX]"] - pub fn lv_bezier3(t: u32, u0: i32, u1: i32, u2: i32, u3: i32) -> i32; -} -extern "C" { - #[doc = " Calculate the atan2 of a vector."] - #[doc = " @param x"] - #[doc = " @param y"] - #[doc = " @return the angle in degree calculated from the given parameters in range of [0..360]"] - pub fn lv_atan2(x: cty::c_int, y: cty::c_int) -> u16; -} -extern "C" { - #[doc = " Calculate the integer square root of a number."] - #[doc = " @param num"] - #[doc = " @return square root of 'num'"] - pub fn lv_sqrt(num: u32) -> u32; -} -#[doc = " Type for async callback."] -pub type lv_async_cb_t = ::core::option::Option; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct _lv_async_info_t { - pub cb: lv_async_cb_t, - pub user_data: *mut cty::c_void, -} -pub type lv_async_info_t = _lv_async_info_t; -extern "C" { - #[doc = " Call an asynchronous function the next time lv_task_handler() is run. This function is likely to return"] - #[doc = " **before** the call actually happens!"] - #[doc = " @param task_xcb a callback which is the task itself."] - #[doc = " (the 'x' in the argument name indicates that its not a fully generic function because it not follows"] - #[doc = " the `func_name(object, callback, ...)` convention)"] - #[doc = " @param user_data custom parameter"] - pub fn lv_async_call(async_xcb: lv_async_cb_t, user_data: *mut cty::c_void) -> lv_res_t; -} -pub const LV_OPA_TRANSP: _bindgen_ty_3 = 0; -pub const LV_OPA_0: _bindgen_ty_3 = 0; -pub const LV_OPA_10: _bindgen_ty_3 = 25; -pub const LV_OPA_20: _bindgen_ty_3 = 51; -pub const LV_OPA_30: _bindgen_ty_3 = 76; -pub const LV_OPA_40: _bindgen_ty_3 = 102; -pub const LV_OPA_50: _bindgen_ty_3 = 127; -pub const LV_OPA_60: _bindgen_ty_3 = 153; -pub const LV_OPA_70: _bindgen_ty_3 = 178; -pub const LV_OPA_80: _bindgen_ty_3 = 204; -pub const LV_OPA_90: _bindgen_ty_3 = 229; -pub const LV_OPA_100: _bindgen_ty_3 = 255; -pub const LV_OPA_COVER: _bindgen_ty_3 = 255; -#[doc = " Opacity percentages."] -pub type _bindgen_ty_3 = u32; -#[doc = " TYPEDEFS"] -#[repr(C)] -#[derive(Copy, Clone)] -pub union lv_color1_t { - pub ch: lv_color1_t__bindgen_ty_1, - pub full: u8, - _bindgen_union_align: u8, -} -#[repr(C, packed)] -#[derive(Debug, Copy, Clone)] -pub struct lv_color1_t__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, -} -impl lv_color1_t__bindgen_ty_1 { - #[inline] - pub fn blue(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } - } - #[inline] - pub fn set_blue(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 1u8, val as u64) - } - } - #[inline] - pub fn green(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } - } - #[inline] - pub fn set_green(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(1usize, 1u8, val as u64) - } - } - #[inline] - pub fn red(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u8) } - } - #[inline] - pub fn set_red(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(2usize, 1u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1(blue: u8, green: u8, red: u8) -> __BindgenBitfieldUnit<[u8; 1usize], u8> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 1u8, { - let blue: u8 = unsafe { ::core::mem::transmute(blue) }; - blue as u64 - }); - __bindgen_bitfield_unit.set(1usize, 1u8, { - let green: u8 = unsafe { ::core::mem::transmute(green) }; - green as u64 - }); - __bindgen_bitfield_unit.set(2usize, 1u8, { - let red: u8 = unsafe { ::core::mem::transmute(red) }; - red as u64 - }); - __bindgen_bitfield_unit - } -} -#[repr(C)] -#[derive(Copy, Clone)] -pub union lv_color8_t { - pub ch: lv_color8_t__bindgen_ty_1, - pub full: u8, - _bindgen_union_align: u8, -} -#[repr(C, packed)] -#[derive(Debug, Copy, Clone)] -pub struct lv_color8_t__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, -} -impl lv_color8_t__bindgen_ty_1 { - #[inline] - pub fn blue(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 2u8) as u8) } - } - #[inline] - pub fn set_blue(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 2u8, val as u64) - } - } - #[inline] - pub fn green(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 3u8) as u8) } - } - #[inline] - pub fn set_green(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(2usize, 3u8, val as u64) - } - } - #[inline] - pub fn red(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 3u8) as u8) } - } - #[inline] - pub fn set_red(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(5usize, 3u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1(blue: u8, green: u8, red: u8) -> __BindgenBitfieldUnit<[u8; 1usize], u8> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 2u8, { - let blue: u8 = unsafe { ::core::mem::transmute(blue) }; - blue as u64 - }); - __bindgen_bitfield_unit.set(2usize, 3u8, { - let green: u8 = unsafe { ::core::mem::transmute(green) }; - green as u64 - }); - __bindgen_bitfield_unit.set(5usize, 3u8, { - let red: u8 = unsafe { ::core::mem::transmute(red) }; - red as u64 - }); - __bindgen_bitfield_unit - } -} -#[repr(C)] -#[derive(Copy, Clone)] -pub union lv_color16_t { - pub ch: lv_color16_t__bindgen_ty_1, - pub full: u16, - _bindgen_union_align: u16, -} -#[repr(C)] -#[repr(align(2))] -#[derive(Debug, Copy, Clone)] -pub struct lv_color16_t__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize], u8>, -} -impl lv_color16_t__bindgen_ty_1 { - #[inline] - pub fn blue(&self) -> u16 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 5u8) as u16) } - } - #[inline] - pub fn set_blue(&mut self, val: u16) { - unsafe { - let val: u16 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 5u8, val as u64) - } - } - #[inline] - pub fn green(&self) -> u16 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 6u8) as u16) } - } - #[inline] - pub fn set_green(&mut self, val: u16) { - unsafe { - let val: u16 = ::core::mem::transmute(val); - self._bitfield_1.set(5usize, 6u8, val as u64) - } - } - #[inline] - pub fn red(&self) -> u16 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(11usize, 5u8) as u16) } - } - #[inline] - pub fn set_red(&mut self, val: u16) { - unsafe { - let val: u16 = ::core::mem::transmute(val); - self._bitfield_1.set(11usize, 5u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1( - blue: u16, - green: u16, - red: u16, - ) -> __BindgenBitfieldUnit<[u8; 2usize], u8> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize], u8> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 5u8, { - let blue: u16 = unsafe { ::core::mem::transmute(blue) }; - blue as u64 - }); - __bindgen_bitfield_unit.set(5usize, 6u8, { - let green: u16 = unsafe { ::core::mem::transmute(green) }; - green as u64 - }); - __bindgen_bitfield_unit.set(11usize, 5u8, { - let red: u16 = unsafe { ::core::mem::transmute(red) }; - red as u64 - }); - __bindgen_bitfield_unit - } -} -#[repr(C)] -#[derive(Copy, Clone)] -pub union lv_color32_t { - pub ch: lv_color32_t__bindgen_ty_1, - pub full: u32, - _bindgen_union_align: u32, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_color32_t__bindgen_ty_1 { - pub blue: u8, - pub green: u8, - pub red: u8, - pub alpha: u8, -} -pub type lv_color_int_t = u16; -pub type lv_color_t = lv_color16_t; -pub type lv_opa_t = u8; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_color_hsv_t { - pub h: u16, - pub s: u8, - pub v: u8, -} -extern "C" { - #[doc = " Convert a HSV color to RGB"] - #[doc = " @param h hue [0..359]"] - #[doc = " @param s saturation [0..100]"] - #[doc = " @param v value [0..100]"] - #[doc = " @return the given RGB color in RGB (with LV_COLOR_DEPTH depth)"] - pub fn lv_color_hsv_to_rgb(h: u16, s: u8, v: u8) -> lv_color_t; -} -extern "C" { - #[doc = " Convert a 32-bit RGB color to HSV"] - #[doc = " @param r8 8-bit red"] - #[doc = " @param g8 8-bit green"] - #[doc = " @param b8 8-bit blue"] - #[doc = " @return the given RGB color in HSV"] - pub fn lv_color_rgb_to_hsv(r8: u8, g8: u8, b8: u8) -> lv_color_hsv_t; -} -extern "C" { - #[doc = " Convert a color to HSV"] - #[doc = " @param color color"] - #[doc = " @return the given color in HSV"] - pub fn lv_color_to_hsv(color: lv_color_t) -> lv_color_hsv_t; -} -extern "C" { - pub fn memcpy( - __dest: *mut cty::c_void, - __src: *const cty::c_void, - __n: cty::c_uint, - ) -> *mut cty::c_void; -} -extern "C" { - pub fn memmove( - __dest: *mut cty::c_void, - __src: *const cty::c_void, - __n: cty::c_uint, - ) -> *mut cty::c_void; -} -extern "C" { - pub fn memccpy( - __dest: *mut cty::c_void, - __src: *const cty::c_void, - __c: cty::c_int, - __n: size_t, - ) -> *mut cty::c_void; -} -extern "C" { - pub fn memset(__s: *mut cty::c_void, __c: cty::c_int, __n: cty::c_uint) -> *mut cty::c_void; -} -extern "C" { - pub fn memcmp( - __s1: *const cty::c_void, - __s2: *const cty::c_void, - __n: cty::c_uint, - ) -> cty::c_int; -} -extern "C" { - pub fn memchr(__s: *const cty::c_void, __c: cty::c_int, __n: cty::c_uint) -> *mut cty::c_void; -} -extern "C" { - pub fn strcpy(__dest: *mut cty::c_char, __src: *const cty::c_char) -> *mut cty::c_char; -} -extern "C" { - pub fn strncpy( - __dest: *mut cty::c_char, - __src: *const cty::c_char, - __n: cty::c_uint, - ) -> *mut cty::c_char; -} -extern "C" { - pub fn strcat(__dest: *mut cty::c_char, __src: *const cty::c_char) -> *mut cty::c_char; -} -extern "C" { - pub fn strncat( - __dest: *mut cty::c_char, - __src: *const cty::c_char, - __n: cty::c_uint, - ) -> *mut cty::c_char; -} -extern "C" { - pub fn strcmp(__s1: *const cty::c_char, __s2: *const cty::c_char) -> cty::c_int; -} -extern "C" { - pub fn strncmp( - __s1: *const cty::c_char, - __s2: *const cty::c_char, - __n: cty::c_uint, - ) -> cty::c_int; -} -extern "C" { - pub fn strcoll(__s1: *const cty::c_char, __s2: *const cty::c_char) -> cty::c_int; -} -extern "C" { - pub fn strxfrm( - __dest: *mut cty::c_char, - __src: *const cty::c_char, - __n: cty::c_uint, - ) -> cty::c_uint; -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct __locale_struct { - pub __locales: [*mut __locale_data; 13usize], - pub __ctype_b: *const cty::c_ushort, - pub __ctype_tolower: *const cty::c_int, - pub __ctype_toupper: *const cty::c_int, - pub __names: [*const cty::c_char; 13usize], -} -pub type __locale_t = *mut __locale_struct; -pub type locale_t = __locale_t; -extern "C" { - pub fn strcoll_l( - __s1: *const cty::c_char, - __s2: *const cty::c_char, - __l: locale_t, - ) -> cty::c_int; -} -extern "C" { - pub fn strxfrm_l( - __dest: *mut cty::c_char, - __src: *const cty::c_char, - __n: size_t, - __l: locale_t, - ) -> size_t; -} -extern "C" { - pub fn strdup(__s: *const cty::c_char) -> *mut cty::c_char; -} -extern "C" { - pub fn strndup(__string: *const cty::c_char, __n: cty::c_uint) -> *mut cty::c_char; -} -extern "C" { - pub fn strchr(__s: *const cty::c_char, __c: cty::c_int) -> *mut cty::c_char; -} -extern "C" { - pub fn strrchr(__s: *const cty::c_char, __c: cty::c_int) -> *mut cty::c_char; -} -extern "C" { - pub fn strcspn(__s: *const cty::c_char, __reject: *const cty::c_char) -> cty::c_uint; -} -extern "C" { - pub fn strspn(__s: *const cty::c_char, __accept: *const cty::c_char) -> cty::c_uint; -} -extern "C" { - pub fn strpbrk(__s: *const cty::c_char, __accept: *const cty::c_char) -> *mut cty::c_char; -} -extern "C" { - pub fn strstr(__haystack: *const cty::c_char, __needle: *const cty::c_char) - -> *mut cty::c_char; -} -extern "C" { - pub fn strtok(__s: *mut cty::c_char, __delim: *const cty::c_char) -> *mut cty::c_char; -} -extern "C" { - pub fn __strtok_r( - __s: *mut cty::c_char, - __delim: *const cty::c_char, - __save_ptr: *mut *mut cty::c_char, - ) -> *mut cty::c_char; -} -extern "C" { - pub fn strtok_r( - __s: *mut cty::c_char, - __delim: *const cty::c_char, - __save_ptr: *mut *mut cty::c_char, - ) -> *mut cty::c_char; -} -extern "C" { - pub fn strlen(__s: *const cty::c_char) -> cty::c_uint; -} -extern "C" { - pub fn strnlen(__string: *const cty::c_char, __maxlen: size_t) -> size_t; -} -extern "C" { - pub fn strerror(__errnum: cty::c_int) -> *mut cty::c_char; -} -extern "C" { - #[link_name = "\u{1}__xpg_strerror_r"] - pub fn strerror_r( - __errnum: cty::c_int, - __buf: *mut cty::c_char, - __buflen: size_t, - ) -> cty::c_int; -} -extern "C" { - pub fn strerror_l(__errnum: cty::c_int, __l: locale_t) -> *mut cty::c_char; -} -extern "C" { - pub fn bcmp(__s1: *const cty::c_void, __s2: *const cty::c_void, __n: cty::c_uint) - -> cty::c_int; -} -extern "C" { - pub fn bcopy(__src: *const cty::c_void, __dest: *mut cty::c_void, __n: size_t); -} -extern "C" { - pub fn bzero(__s: *mut cty::c_void, __n: cty::c_uint); -} -extern "C" { - pub fn index(__s: *const cty::c_char, __c: cty::c_int) -> *mut cty::c_char; -} -extern "C" { - pub fn rindex(__s: *const cty::c_char, __c: cty::c_int) -> *mut cty::c_char; -} -extern "C" { - pub fn ffs(__i: cty::c_int) -> cty::c_int; -} -extern "C" { - pub fn ffsl(__l: cty::c_long) -> cty::c_int; -} -extern "C" { - pub fn ffsll(__ll: cty::c_longlong) -> cty::c_int; -} -extern "C" { - pub fn strcasecmp(__s1: *const cty::c_char, __s2: *const cty::c_char) -> cty::c_int; -} -extern "C" { - pub fn strncasecmp( - __s1: *const cty::c_char, - __s2: *const cty::c_char, - __n: cty::c_uint, - ) -> cty::c_int; -} -extern "C" { - pub fn strcasecmp_l( - __s1: *const cty::c_char, - __s2: *const cty::c_char, - __loc: locale_t, - ) -> cty::c_int; -} -extern "C" { - pub fn strncasecmp_l( - __s1: *const cty::c_char, - __s2: *const cty::c_char, - __n: size_t, - __loc: locale_t, - ) -> cty::c_int; -} -extern "C" { - pub fn explicit_bzero(__s: *mut cty::c_void, __n: size_t); -} -extern "C" { - pub fn strsep( - __stringp: *mut *mut cty::c_char, - __delim: *const cty::c_char, - ) -> *mut cty::c_char; -} -extern "C" { - pub fn strsignal(__sig: cty::c_int) -> *mut cty::c_char; -} -extern "C" { - pub fn __stpcpy(__dest: *mut cty::c_char, __src: *const cty::c_char) -> *mut cty::c_char; -} -extern "C" { - pub fn stpcpy(__dest: *mut cty::c_char, __src: *const cty::c_char) -> *mut cty::c_char; -} -extern "C" { - pub fn __stpncpy( - __dest: *mut cty::c_char, - __src: *const cty::c_char, - __n: size_t, - ) -> *mut cty::c_char; -} -extern "C" { - pub fn stpncpy( - __dest: *mut cty::c_char, - __src: *const cty::c_char, - __n: cty::c_uint, - ) -> *mut cty::c_char; -} -#[doc = " Represents a point on the screen."] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_point_t { - pub x: lv_coord_t, - pub y: lv_coord_t, -} -#[doc = " Represents an area of the screen."] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_area_t { - pub x1: lv_coord_t, - pub y1: lv_coord_t, - pub x2: lv_coord_t, - pub y2: lv_coord_t, -} -extern "C" { - #[doc = " Initialize an area"] - #[doc = " @param area_p pointer to an area"] - #[doc = " @param x1 left coordinate of the area"] - #[doc = " @param y1 top coordinate of the area"] - #[doc = " @param x2 right coordinate of the area"] - #[doc = " @param y2 bottom coordinate of the area"] - pub fn lv_area_set( - area_p: *mut lv_area_t, - x1: lv_coord_t, - y1: lv_coord_t, - x2: lv_coord_t, - y2: lv_coord_t, - ); -} -extern "C" { - #[doc = " Set the width of an area"] - #[doc = " @param area_p pointer to an area"] - #[doc = " @param w the new width of the area (w == 1 makes x1 == x2)"] - pub fn lv_area_set_width(area_p: *mut lv_area_t, w: lv_coord_t); -} -extern "C" { - #[doc = " Set the height of an area"] - #[doc = " @param area_p pointer to an area"] - #[doc = " @param h the new height of the area (h == 1 makes y1 == y2)"] - pub fn lv_area_set_height(area_p: *mut lv_area_t, h: lv_coord_t); -} -extern "C" { - #[doc = " Set the position of an area (width and height will be kept)"] - #[doc = " @param area_p pointer to an area"] - #[doc = " @param x the new x coordinate of the area"] - #[doc = " @param y the new y coordinate of the area"] - pub fn lv_area_set_pos(area_p: *mut lv_area_t, x: lv_coord_t, y: lv_coord_t); -} -extern "C" { - #[doc = " Return with area of an area (x * y)"] - #[doc = " @param area_p pointer to an area"] - #[doc = " @return size of area"] - pub fn lv_area_get_size(area_p: *const lv_area_t) -> u32; -} -extern "C" { - #[doc = " Get the common parts of two areas"] - #[doc = " @param res_p pointer to an area, the result will be stored her"] - #[doc = " @param a1_p pointer to the first area"] - #[doc = " @param a2_p pointer to the second area"] - #[doc = " @return false: the two area has NO common parts, res_p is invalid"] - pub fn lv_area_intersect( - res_p: *mut lv_area_t, - a1_p: *const lv_area_t, - a2_p: *const lv_area_t, - ) -> bool; -} -extern "C" { - #[doc = " Join two areas into a third which involves the other two"] - #[doc = " @param res_p pointer to an area, the result will be stored here"] - #[doc = " @param a1_p pointer to the first area"] - #[doc = " @param a2_p pointer to the second area"] - pub fn lv_area_join(a_res_p: *mut lv_area_t, a1_p: *const lv_area_t, a2_p: *const lv_area_t); -} -extern "C" { - #[doc = " Check if a point is on an area"] - #[doc = " @param a_p pointer to an area"] - #[doc = " @param p_p pointer to a point"] - #[doc = " @return false:the point is out of the area"] - pub fn lv_area_is_point_on(a_p: *const lv_area_t, p_p: *const lv_point_t) -> bool; -} -extern "C" { - #[doc = " Check if two area has common parts"] - #[doc = " @param a1_p pointer to an area."] - #[doc = " @param a2_p pointer to an other area"] - #[doc = " @return false: a1_p and a2_p has no common parts"] - pub fn lv_area_is_on(a1_p: *const lv_area_t, a2_p: *const lv_area_t) -> bool; -} -extern "C" { - #[doc = " Check if an area is fully on an other"] - #[doc = " @param ain_p pointer to an area which could be on aholder_p"] - #[doc = " @param aholder pointer to an area which could involve ain_p"] - #[doc = " @return"] - pub fn lv_area_is_in(ain_p: *const lv_area_t, aholder_p: *const lv_area_t) -> bool; -} -extern "C" { - #[doc = " Increment or decrement an area's size by a single amount"] - #[doc = " @param a_p pointer to an area to grow"] - #[doc = " @param amount amount to increment the area, or negative to decrement"] - pub fn lv_area_increment(a_p: *mut lv_area_t, amount: lv_coord_t); -} -#[doc = " Structure for holding display buffer information."] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_disp_buf_t { - #[doc = "< First display buffer."] - pub buf1: *mut cty::c_void, - #[doc = "< Second display buffer."] - pub buf2: *mut cty::c_void, - pub buf_act: *mut cty::c_void, - pub size: u32, - pub area: lv_area_t, - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, - pub __bindgen_padding_0: [u8; 3usize], -} -impl lv_disp_buf_t { - #[inline] - pub fn flushing(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } - } - #[inline] - pub fn set_flushing(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 1u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1(flushing: u32) -> __BindgenBitfieldUnit<[u8; 1usize], u8> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 1u8, { - let flushing: u32 = unsafe { ::core::mem::transmute(flushing) }; - flushing as u64 - }); - __bindgen_bitfield_unit - } -} -#[doc = " Display Driver structure to be registered by HAL"] -#[repr(C)] -#[derive(Copy, Clone)] -pub struct _disp_drv_t { - #[doc = "< Horizontal resolution."] - pub hor_res: lv_coord_t, - #[doc = "< Vertical resolution."] - pub ver_res: lv_coord_t, - #[doc = " Pointer to a buffer initialized with `lv_disp_buf_init()`."] - #[doc = " LittlevGL will use this buffer(s) to draw the screens contents"] - pub buffer: *mut lv_disp_buf_t, - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, - #[doc = " MANDATORY: Write the internal buffer (VDB) to the display. 'lv_disp_flush_ready()' has to be"] - #[doc = " called when finished"] - pub flush_cb: ::core::option::Option< - unsafe extern "C" fn( - disp_drv: *mut _disp_drv_t, - area: *const lv_area_t, - color_p: *mut lv_color_t, - ), - >, - #[doc = " OPTIONAL: Extend the invalidated areas to match with the display drivers requirements"] - #[doc = " E.g. round `y` to, 8, 16 ..) on a monochrome display"] - pub rounder_cb: ::core::option::Option< - unsafe extern "C" fn(disp_drv: *mut _disp_drv_t, area: *mut lv_area_t), - >, - #[doc = " OPTIONAL: Set a pixel in a buffer according to the special requirements of the display"] - #[doc = " Can be used for color format not supported in LittelvGL. E.g. 2 bit -> 4 gray scales"] - #[doc = " @note Much slower then drawing with supported color formats."] - pub set_px_cb: ::core::option::Option< - unsafe extern "C" fn( - disp_drv: *mut _disp_drv_t, - buf: *mut u8, - buf_w: lv_coord_t, - x: lv_coord_t, - y: lv_coord_t, - color: lv_color_t, - opa: lv_opa_t, - ), - >, - #[doc = " OPTIONAL: Called after every refresh cycle to tell the rendering and flushing time + the"] - #[doc = " number of flushed pixels"] - pub monitor_cb: ::core::option::Option< - unsafe extern "C" fn(disp_drv: *mut _disp_drv_t, time: u32, px: u32), - >, - #[doc = " On CHROMA_KEYED images this color will be transparent."] - #[doc = " `LV_COLOR_TRANSP` by default. (lv_conf.h)"] - pub color_chroma_key: lv_color_t, - #[doc = "< Custom display driver user data"] - pub user_data: lv_disp_drv_user_data_t, -} -impl _disp_drv_t { - #[inline] - pub fn antialiasing(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } - } - #[inline] - pub fn set_antialiasing(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 1u8, val as u64) - } - } - #[inline] - pub fn rotated(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } - } - #[inline] - pub fn set_rotated(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(1usize, 1u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1( - antialiasing: u32, - rotated: u32, - ) -> __BindgenBitfieldUnit<[u8; 1usize], u8> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 1u8, { - let antialiasing: u32 = unsafe { ::core::mem::transmute(antialiasing) }; - antialiasing as u64 - }); - __bindgen_bitfield_unit.set(1usize, 1u8, { - let rotated: u32 = unsafe { ::core::mem::transmute(rotated) }; - rotated as u64 - }); - __bindgen_bitfield_unit - } -} -pub type lv_disp_drv_t = _disp_drv_t; -#[doc = " TYPEDEFS"] -#[repr(C)] -#[derive(Copy, Clone)] -pub struct _disp_t { - pub driver: lv_disp_drv_t, - pub refr_task: *mut lv_task_t, - #[doc = " Screens of the display"] - pub scr_ll: lv_ll_t, - #[doc = "< Currently active screen on this display"] - pub act_scr: *mut _lv_obj_t, - #[doc = "< @see lv_disp_get_layer_top"] - pub top_layer: *mut _lv_obj_t, - #[doc = "< @see lv_disp_get_layer_sys"] - pub sys_layer: *mut _lv_obj_t, - #[doc = " Invalidated (marked to redraw) areas"] - pub inv_areas: [lv_area_t; 32usize], - pub inv_area_joined: [u8; 32usize], - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize], u16>, - #[doc = "< Last time there was activity on this display"] - pub last_activity_time: u32, -} -impl _disp_t { - #[inline] - pub fn inv_p(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 10u8) as u32) } - } - #[inline] - pub fn set_inv_p(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 10u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1(inv_p: u32) -> __BindgenBitfieldUnit<[u8; 2usize], u16> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize], u16> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 10u8, { - let inv_p: u32 = unsafe { ::core::mem::transmute(inv_p) }; - inv_p as u64 - }); - __bindgen_bitfield_unit - } -} -pub type lv_disp_t = _disp_t; -extern "C" { - #[doc = " Initialize a display driver with default values."] - #[doc = " It is used to have known values in the fields and not junk in memory."] - #[doc = " After it you can safely set only the fields you need."] - #[doc = " @param driver pointer to driver variable to initialize"] - pub fn lv_disp_drv_init(driver: *mut lv_disp_drv_t); -} -extern "C" { - #[doc = " Initialize a display buffer"] - #[doc = " @param disp_buf pointer `lv_disp_buf_t` variable to initialize"] - #[doc = " @param buf1 A buffer to be used by LittlevGL to draw the image."] - #[doc = " Always has to specified and can't be NULL."] - #[doc = " Can be an array allocated by the user. E.g. `static lv_color_t disp_buf1[1024 * 10]`"] - #[doc = " Or a memory address e.g. in external SRAM"] - #[doc = " @param buf2 Optionally specify a second buffer to make image rendering and image flushing"] - #[doc = " (sending to the display) parallel."] - #[doc = " In the `disp_drv->flush` you should use DMA or similar hardware to send"] - #[doc = " the image to the display in the background."] - #[doc = " It lets LittlevGL to render next frame into the other buffer while previous is being"] - #[doc = " sent. Set to `NULL` if unused."] - #[doc = " @param size_in_px_cnt size of the `buf1` and `buf2` in pixel count."] - pub fn lv_disp_buf_init( - disp_buf: *mut lv_disp_buf_t, - buf1: *mut cty::c_void, - buf2: *mut cty::c_void, - size_in_px_cnt: u32, - ); -} -extern "C" { - #[doc = " Register an initialized display driver."] - #[doc = " Automatically set the first display as active."] - #[doc = " @param driver pointer to an initialized 'lv_disp_drv_t' variable (can be local variable)"] - #[doc = " @return pointer to the new display or NULL on error"] - pub fn lv_disp_drv_register(driver: *mut lv_disp_drv_t) -> *mut lv_disp_t; -} -extern "C" { - #[doc = " Update the driver in run time."] - #[doc = " @param disp pointer to a display. (return value of `lv_disp_drv_register`)"] - #[doc = " @param new_drv pointer to the new driver"] - pub fn lv_disp_drv_update(disp: *mut lv_disp_t, new_drv: *mut lv_disp_drv_t); -} -extern "C" { - #[doc = " Remove a display"] - #[doc = " @param disp pointer to display"] - pub fn lv_disp_remove(disp: *mut lv_disp_t); -} -extern "C" { - #[doc = " Set a default screen. The new screens will be created on it by default."] - #[doc = " @param disp pointer to a display"] - pub fn lv_disp_set_default(disp: *mut lv_disp_t); -} -extern "C" { - #[doc = " Get the default display"] - #[doc = " @return pointer to the default display"] - pub fn lv_disp_get_default() -> *mut lv_disp_t; -} -extern "C" { - #[doc = " Get the horizontal resolution of a display"] - #[doc = " @param disp pointer to a display (NULL to use the default display)"] - #[doc = " @return the horizontal resolution of the display"] - pub fn lv_disp_get_hor_res(disp: *mut lv_disp_t) -> lv_coord_t; -} -extern "C" { - #[doc = " Get the vertical resolution of a display"] - #[doc = " @param disp pointer to a display (NULL to use the default display)"] - #[doc = " @return the vertical resolution of the display"] - pub fn lv_disp_get_ver_res(disp: *mut lv_disp_t) -> lv_coord_t; -} -extern "C" { - #[doc = " Get if anti-aliasing is enabled for a display or not"] - #[doc = " @param disp pointer to a display (NULL to use the default display)"] - #[doc = " @return true: anti-aliasing is enabled; false: disabled"] - pub fn lv_disp_get_antialiasing(disp: *mut lv_disp_t) -> bool; -} -extern "C" { - #[doc = " Call in the display driver's `flush_cb` function when the flushing is finished"] - #[doc = " @param disp_drv pointer to display driver in `flush_cb` where this function is called"] - pub fn lv_disp_flush_ready(disp_drv: *mut lv_disp_drv_t); -} -extern "C" { - #[doc = " Get the next display."] - #[doc = " @param disp pointer to the current display. NULL to initialize."] - #[doc = " @return the next display or NULL if no more. Give the first display when the parameter is NULL"] - pub fn lv_disp_get_next(disp: *mut lv_disp_t) -> *mut lv_disp_t; -} -extern "C" { - #[doc = " Get the internal buffer of a display"] - #[doc = " @param disp pointer to a display"] - #[doc = " @return pointer to the internal buffers"] - pub fn lv_disp_get_buf(disp: *mut lv_disp_t) -> *mut lv_disp_buf_t; -} -extern "C" { - #[doc = " Get the number of areas in the buffer"] - #[doc = " @return number of invalid areas"] - pub fn lv_disp_get_inv_buf_size(disp: *mut lv_disp_t) -> u16; -} -extern "C" { - #[doc = " Pop (delete) the last 'num' invalidated areas from the buffer"] - #[doc = " @param num number of areas to delete"] - pub fn lv_disp_pop_from_inv_buf(disp: *mut lv_disp_t, num: u16); -} -extern "C" { - #[doc = " Check the driver configuration if it's double buffered (both `buf1` and `buf2` are set)"] - #[doc = " @param disp pointer to to display to check"] - #[doc = " @return true: double buffered; false: not double buffered"] - pub fn lv_disp_is_double_buf(disp: *mut lv_disp_t) -> bool; -} -extern "C" { - #[doc = " Check the driver configuration if it's TRUE double buffered (both `buf1` and `buf2` are set and"] - #[doc = " `size` is screen sized)"] - #[doc = " @param disp pointer to to display to check"] - #[doc = " @return true: double buffered; false: not double buffered"] - pub fn lv_disp_is_true_double_buf(disp: *mut lv_disp_t) -> bool; -} -#[doc = "< Uninitialized state"] -pub const LV_INDEV_TYPE_NONE: _bindgen_ty_4 = 0; -#[doc = "< Touch pad, mouse, external button"] -pub const LV_INDEV_TYPE_POINTER: _bindgen_ty_4 = 1; -#[doc = "< Keypad or keyboard"] -pub const LV_INDEV_TYPE_KEYPAD: _bindgen_ty_4 = 2; -#[doc = "< External (hardware button) which is assigned to a specific point of the"] -#[doc = "screen"] -pub const LV_INDEV_TYPE_BUTTON: _bindgen_ty_4 = 3; -#[doc = "< Encoder with only Left, Right turn and a Button"] -pub const LV_INDEV_TYPE_ENCODER: _bindgen_ty_4 = 4; -#[doc = " Possible input device types"] -pub type _bindgen_ty_4 = u32; -pub type lv_indev_type_t = u8; -pub const LV_INDEV_STATE_REL: _bindgen_ty_5 = 0; -pub const LV_INDEV_STATE_PR: _bindgen_ty_5 = 1; -#[doc = " States for input devices"] -pub type _bindgen_ty_5 = u32; -pub type lv_indev_state_t = u8; -#[doc = " Data structure passed to an input driver to fill"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_indev_data_t { - #[doc = "< For LV_INDEV_TYPE_POINTER the currently pressed point"] - pub point: lv_point_t, - #[doc = "< For LV_INDEV_TYPE_KEYPAD the currently pressed key"] - pub key: u32, - #[doc = "< For LV_INDEV_TYPE_BUTTON the currently pressed button"] - pub btn_id: u32, - #[doc = "< For LV_INDEV_TYPE_ENCODER number of steps since the previous read"] - pub enc_diff: i16, - #[doc = "< LV_INDEV_STATE_REL or LV_INDEV_STATE_PR"] - pub state: lv_indev_state_t, -} -#[doc = " Initialized by the user and registered by 'lv_indev_add()'"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct _lv_indev_drv_t { - pub type_: lv_indev_type_t, - pub read_cb: ::core::option::Option< - unsafe extern "C" fn(indev_drv: *mut _lv_indev_drv_t, data: *mut lv_indev_data_t) -> bool, - >, - #[doc = " Called when an action happened on the input device."] - #[doc = " The second parameter is the event from `lv_event_t`"] - pub feedback_cb: - ::core::option::Option, - pub user_data: lv_indev_drv_user_data_t, - pub disp: *mut _disp_t, - pub read_task: *mut lv_task_t, - pub drag_limit: u8, - pub drag_throw: u8, - pub long_press_time: u16, - pub long_press_rep_time: u16, -} -pub type lv_indev_drv_t = _lv_indev_drv_t; -#[doc = " Run time data of input devices"] -#[doc = " Internally used by the library, you should not need to touch it."] -#[repr(C)] -#[derive(Copy, Clone)] -pub struct _lv_indev_proc_t { - #[doc = "< Current state of the input device."] - pub state: lv_indev_state_t, - pub types: _lv_indev_proc_t__bindgen_ty_1, - #[doc = "< Pressed time stamp"] - pub pr_timestamp: u32, - #[doc = "< Long press repeat time stamp"] - pub longpr_rep_timestamp: u32, - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, - pub __bindgen_padding_0: [u8; 3usize], -} -#[repr(C)] -#[derive(Copy, Clone)] -pub union _lv_indev_proc_t__bindgen_ty_1 { - pub pointer: _lv_indev_proc_t__bindgen_ty_1__bindgen_ty_1, - pub keypad: _lv_indev_proc_t__bindgen_ty_1__bindgen_ty_2, - _bindgen_union_align: [u32; 9usize], -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct _lv_indev_proc_t__bindgen_ty_1__bindgen_ty_1 { - #[doc = "< Current point of input device."] - pub act_point: lv_point_t, - #[doc = "< Last point of input device."] - pub last_point: lv_point_t, - #[doc = "< Difference between `act_point` and `last_point`."] - pub vect: lv_point_t, - pub drag_sum: lv_point_t, - pub drag_throw_vect: lv_point_t, - pub act_obj: *mut _lv_obj_t, - pub last_obj: *mut _lv_obj_t, - pub last_pressed: *mut _lv_obj_t, - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, - pub __bindgen_padding_0: [u8; 3usize], -} -impl _lv_indev_proc_t__bindgen_ty_1__bindgen_ty_1 { - #[inline] - pub fn drag_limit_out(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } - } - #[inline] - pub fn set_drag_limit_out(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 1u8, val as u64) - } - } - #[inline] - pub fn drag_in_prog(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } - } - #[inline] - pub fn set_drag_in_prog(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(1usize, 1u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1( - drag_limit_out: u8, - drag_in_prog: u8, - ) -> __BindgenBitfieldUnit<[u8; 1usize], u8> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 1u8, { - let drag_limit_out: u8 = unsafe { ::core::mem::transmute(drag_limit_out) }; - drag_limit_out as u64 - }); - __bindgen_bitfield_unit.set(1usize, 1u8, { - let drag_in_prog: u8 = unsafe { ::core::mem::transmute(drag_in_prog) }; - drag_in_prog as u64 - }); - __bindgen_bitfield_unit - } -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct _lv_indev_proc_t__bindgen_ty_1__bindgen_ty_2 { - pub last_state: lv_indev_state_t, - pub last_key: u32, -} -impl _lv_indev_proc_t { - #[inline] - pub fn long_pr_sent(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } - } - #[inline] - pub fn set_long_pr_sent(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 1u8, val as u64) - } - } - #[inline] - pub fn reset_query(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } - } - #[inline] - pub fn set_reset_query(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(1usize, 1u8, val as u64) - } - } - #[inline] - pub fn disabled(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u8) } - } - #[inline] - pub fn set_disabled(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(2usize, 1u8, val as u64) - } - } - #[inline] - pub fn wait_until_release(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u8) } - } - #[inline] - pub fn set_wait_until_release(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(3usize, 1u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1( - long_pr_sent: u8, - reset_query: u8, - disabled: u8, - wait_until_release: u8, - ) -> __BindgenBitfieldUnit<[u8; 1usize], u8> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 1u8, { - let long_pr_sent: u8 = unsafe { ::core::mem::transmute(long_pr_sent) }; - long_pr_sent as u64 - }); - __bindgen_bitfield_unit.set(1usize, 1u8, { - let reset_query: u8 = unsafe { ::core::mem::transmute(reset_query) }; - reset_query as u64 - }); - __bindgen_bitfield_unit.set(2usize, 1u8, { - let disabled: u8 = unsafe { ::core::mem::transmute(disabled) }; - disabled as u64 - }); - __bindgen_bitfield_unit.set(3usize, 1u8, { - let wait_until_release: u8 = unsafe { ::core::mem::transmute(wait_until_release) }; - wait_until_release as u64 - }); - __bindgen_bitfield_unit - } -} -pub type lv_indev_proc_t = _lv_indev_proc_t; -#[doc = " The main input device descriptor with driver, runtime data ('proc') and some additional"] -#[doc = " information"] -#[repr(C)] -#[derive(Copy, Clone)] -pub struct _lv_indev_t { - pub driver: lv_indev_drv_t, - pub proc_: lv_indev_proc_t, - #[doc = "< Cursor for LV_INPUT_TYPE_POINTER"] - pub cursor: *mut _lv_obj_t, - #[doc = "< Keypad destination group"] - pub group: *mut _lv_group_t, - #[doc = "< Array points assigned to the button ()screen will be pressed"] - #[doc = "here by the buttons"] - pub btn_points: *const lv_point_t, -} -pub type lv_indev_t = _lv_indev_t; -extern "C" { - #[doc = " Initialize an input device driver with default values."] - #[doc = " It is used to surly have known values in the fields ant not memory junk."] - #[doc = " After it you can set the fields."] - #[doc = " @param driver pointer to driver variable to initialize"] - pub fn lv_indev_drv_init(driver: *mut lv_indev_drv_t); -} -extern "C" { - #[doc = " Register an initialized input device driver."] - #[doc = " @param driver pointer to an initialized 'lv_indev_drv_t' variable (can be local variable)"] - #[doc = " @return pointer to the new input device or NULL on error"] - pub fn lv_indev_drv_register(driver: *mut lv_indev_drv_t) -> *mut lv_indev_t; -} -extern "C" { - #[doc = " Update the driver in run time."] - #[doc = " @param indev pointer to a input device. (return value of `lv_indev_drv_register`)"] - #[doc = " @param new_drv pointer to the new driver"] - pub fn lv_indev_drv_update(indev: *mut lv_indev_t, new_drv: *mut lv_indev_drv_t); -} -extern "C" { - #[doc = " Get the next input device."] - #[doc = " @param indev pointer to the current input device. NULL to initialize."] - #[doc = " @return the next input devise or NULL if no more. Give the first input device when the parameter"] - #[doc = " is NULL"] - pub fn lv_indev_get_next(indev: *mut lv_indev_t) -> *mut lv_indev_t; -} -extern "C" { - #[doc = " Read data from an input device."] - #[doc = " @param indev pointer to an input device"] - #[doc = " @param data input device will write its data here"] - #[doc = " @return false: no more data; true: there more data to read (buffered)"] - pub fn lv_indev_read(indev: *mut lv_indev_t, data: *mut lv_indev_data_t) -> bool; -} -extern "C" { - #[doc = " You have to call this function periodically"] - #[doc = " @param tick_period the call period of this function in milliseconds"] - pub fn lv_tick_inc(tick_period: u32); -} -extern "C" { - #[doc = " Get the elapsed milliseconds since start up"] - #[doc = " @return the elapsed milliseconds"] - pub fn lv_tick_get() -> u32; -} -extern "C" { - #[doc = " Get the elapsed milliseconds since a previous time stamp"] - #[doc = " @param prev_tick a previous time stamp (return value of systick_get() )"] - #[doc = " @return the elapsed milliseconds since 'prev_tick'"] - pub fn lv_tick_elaps(prev_tick: u32) -> u32; -} -pub const _LV_STR_SYMBOL_AUDIO: _bindgen_ty_6 = 0; -pub const _LV_STR_SYMBOL_VIDEO: _bindgen_ty_6 = 1; -pub const _LV_STR_SYMBOL_LIST: _bindgen_ty_6 = 2; -pub const _LV_STR_SYMBOL_OK: _bindgen_ty_6 = 3; -pub const _LV_STR_SYMBOL_CLOSE: _bindgen_ty_6 = 4; -pub const _LV_STR_SYMBOL_POWER: _bindgen_ty_6 = 5; -pub const _LV_STR_SYMBOL_SETTINGS: _bindgen_ty_6 = 6; -pub const _LV_STR_SYMBOL_HOME: _bindgen_ty_6 = 7; -pub const _LV_STR_SYMBOL_DOWNLOAD: _bindgen_ty_6 = 8; -pub const _LV_STR_SYMBOL_DRIVE: _bindgen_ty_6 = 9; -pub const _LV_STR_SYMBOL_REFRESH: _bindgen_ty_6 = 10; -pub const _LV_STR_SYMBOL_MUTE: _bindgen_ty_6 = 11; -pub const _LV_STR_SYMBOL_VOLUME_MID: _bindgen_ty_6 = 12; -pub const _LV_STR_SYMBOL_VOLUME_MAX: _bindgen_ty_6 = 13; -pub const _LV_STR_SYMBOL_IMAGE: _bindgen_ty_6 = 14; -pub const _LV_STR_SYMBOL_EDIT: _bindgen_ty_6 = 15; -pub const _LV_STR_SYMBOL_PREV: _bindgen_ty_6 = 16; -pub const _LV_STR_SYMBOL_PLAY: _bindgen_ty_6 = 17; -pub const _LV_STR_SYMBOL_PAUSE: _bindgen_ty_6 = 18; -pub const _LV_STR_SYMBOL_STOP: _bindgen_ty_6 = 19; -pub const _LV_STR_SYMBOL_NEXT: _bindgen_ty_6 = 20; -pub const _LV_STR_SYMBOL_EJECT: _bindgen_ty_6 = 21; -pub const _LV_STR_SYMBOL_LEFT: _bindgen_ty_6 = 22; -pub const _LV_STR_SYMBOL_RIGHT: _bindgen_ty_6 = 23; -pub const _LV_STR_SYMBOL_PLUS: _bindgen_ty_6 = 24; -pub const _LV_STR_SYMBOL_MINUS: _bindgen_ty_6 = 25; -pub const _LV_STR_SYMBOL_EYE_OPEN: _bindgen_ty_6 = 26; -pub const _LV_STR_SYMBOL_EYE_CLOSE: _bindgen_ty_6 = 27; -pub const _LV_STR_SYMBOL_WARNING: _bindgen_ty_6 = 28; -pub const _LV_STR_SYMBOL_SHUFFLE: _bindgen_ty_6 = 29; -pub const _LV_STR_SYMBOL_UP: _bindgen_ty_6 = 30; -pub const _LV_STR_SYMBOL_DOWN: _bindgen_ty_6 = 31; -pub const _LV_STR_SYMBOL_LOOP: _bindgen_ty_6 = 32; -pub const _LV_STR_SYMBOL_DIRECTORY: _bindgen_ty_6 = 33; -pub const _LV_STR_SYMBOL_UPLOAD: _bindgen_ty_6 = 34; -pub const _LV_STR_SYMBOL_CALL: _bindgen_ty_6 = 35; -pub const _LV_STR_SYMBOL_CUT: _bindgen_ty_6 = 36; -pub const _LV_STR_SYMBOL_COPY: _bindgen_ty_6 = 37; -pub const _LV_STR_SYMBOL_SAVE: _bindgen_ty_6 = 38; -pub const _LV_STR_SYMBOL_CHARGE: _bindgen_ty_6 = 39; -pub const _LV_STR_SYMBOL_PASTE: _bindgen_ty_6 = 40; -pub const _LV_STR_SYMBOL_BELL: _bindgen_ty_6 = 41; -pub const _LV_STR_SYMBOL_KEYBOARD: _bindgen_ty_6 = 42; -pub const _LV_STR_SYMBOL_GPS: _bindgen_ty_6 = 43; -pub const _LV_STR_SYMBOL_FILE: _bindgen_ty_6 = 44; -pub const _LV_STR_SYMBOL_WIFI: _bindgen_ty_6 = 45; -pub const _LV_STR_SYMBOL_BATTERY_FULL: _bindgen_ty_6 = 46; -pub const _LV_STR_SYMBOL_BATTERY_3: _bindgen_ty_6 = 47; -pub const _LV_STR_SYMBOL_BATTERY_2: _bindgen_ty_6 = 48; -pub const _LV_STR_SYMBOL_BATTERY_1: _bindgen_ty_6 = 49; -pub const _LV_STR_SYMBOL_BATTERY_EMPTY: _bindgen_ty_6 = 50; -pub const _LV_STR_SYMBOL_USB: _bindgen_ty_6 = 51; -pub const _LV_STR_SYMBOL_BLUETOOTH: _bindgen_ty_6 = 52; -pub const _LV_STR_SYMBOL_TRASH: _bindgen_ty_6 = 53; -pub const _LV_STR_SYMBOL_BACKSPACE: _bindgen_ty_6 = 54; -pub const _LV_STR_SYMBOL_SD_CARD: _bindgen_ty_6 = 55; -pub const _LV_STR_SYMBOL_NEW_LINE: _bindgen_ty_6 = 56; -pub const _LV_STR_SYMBOL_DUMMY: _bindgen_ty_6 = 57; -pub type _bindgen_ty_6 = u32; -#[doc = " Describes the properties of a glyph."] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_font_glyph_dsc_t { - #[doc = "< The glyph needs this space. Draw the next glyph after this width. 8 bit integer, 4 bit fractional"] - pub adv_w: u16, - #[doc = "< Width of the glyph's bounding box"] - pub box_w: u8, - #[doc = "< Height of the glyph's bounding box"] - pub box_h: u8, - #[doc = "< x offset of the bounding box"] - pub ofs_x: i8, - #[doc = "< y offset of the bounding box"] - pub ofs_y: i8, - #[doc = "< Bit-per-pixel: 1, 2, 4, 8"] - pub bpp: u8, -} -pub const LV_FONT_SUBPX_NONE: _bindgen_ty_7 = 0; -pub const LV_FONT_SUBPX_HOR: _bindgen_ty_7 = 1; -pub const LV_FONT_SUBPX_VER: _bindgen_ty_7 = 2; -pub const LV_FONT_SUBPX_BOTH: _bindgen_ty_7 = 3; -#[doc = " The bitmaps might be upscaled by 3 to achieve subpixel rendering."] -pub type _bindgen_ty_7 = u32; -pub type lv_font_subpx_t = u8; -#[doc = " Describe the properties of a font"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct _lv_font_struct { - #[doc = " Get a glyph's descriptor from a font"] - pub get_glyph_dsc: ::core::option::Option< - unsafe extern "C" fn( - arg1: *const _lv_font_struct, - arg2: *mut lv_font_glyph_dsc_t, - letter: u32, - letter_next: u32, - ) -> bool, - >, - #[doc = " Get a glyph's bitmap from a font"] - pub get_glyph_bitmap: ::core::option::Option< - unsafe extern "C" fn(arg1: *const _lv_font_struct, arg2: u32) -> *const u8, - >, - #[doc = "< The real line height where any text fits"] - pub line_height: u8, - #[doc = "< Base line measured from the top of the line_height"] - pub base_line: i8, - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, - #[doc = "< Store implementation specific or run_time data or caching here"] - pub dsc: *mut cty::c_void, - #[doc = "< Custom user data for font."] - pub user_data: lv_font_user_data_t, -} -impl _lv_font_struct { - #[inline] - pub fn subpx(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 2u8) as u8) } - } - #[inline] - pub fn set_subpx(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 2u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1(subpx: u8) -> __BindgenBitfieldUnit<[u8; 1usize], u8> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 2u8, { - let subpx: u8 = unsafe { ::core::mem::transmute(subpx) }; - subpx as u64 - }); - __bindgen_bitfield_unit - } -} -pub type lv_font_t = _lv_font_struct; -extern "C" { - #[doc = " Return with the bitmap of a font."] - #[doc = " @param font_p pointer to a font"] - #[doc = " @param letter an UNICODE character code"] - #[doc = " @return pointer to the bitmap of the letter"] - pub fn lv_font_get_glyph_bitmap(font_p: *const lv_font_t, letter: u32) -> *const u8; -} -extern "C" { - #[doc = " Get the descriptor of a glyph"] - #[doc = " @param font_p pointer to font"] - #[doc = " @param dsc_out store the result descriptor here"] - #[doc = " @param letter an UNICODE letter code"] - #[doc = " @return true: descriptor is successfully loaded into `dsc_out`."] - #[doc = " false: the letter was not found, no data is loaded to `dsc_out`"] - pub fn lv_font_get_glyph_dsc( - font_p: *const lv_font_t, - dsc_out: *mut lv_font_glyph_dsc_t, - letter: u32, - letter_next: u32, - ) -> bool; -} -extern "C" { - #[doc = " Get the width of a glyph with kerning"] - #[doc = " @param font pointer to a font"] - #[doc = " @param letter an UNICODE letter"] - #[doc = " @param letter_next the next letter after `letter`. Used for kerning"] - #[doc = " @return the width of the glyph"] - pub fn lv_font_get_glyph_width(font: *const lv_font_t, letter: u32, letter_next: u32) -> u16; -} -extern "C" { - pub static mut lv_font_roboto_28: lv_font_t; -} -pub const LV_ANIM_OFF: _bindgen_ty_8 = 0; -pub const LV_ANIM_ON: _bindgen_ty_8 = 1; -#[doc = " Can be used to indicate if animations are enabled or disabled in a case"] -pub type _bindgen_ty_8 = u32; -pub type lv_anim_enable_t = u8; -#[doc = " Type of the animated value"] -pub type lv_anim_value_t = lv_coord_t; -#[doc = " Generic prototype of \"animator\" functions."] -#[doc = " First parameter is the variable to animate."] -#[doc = " Second parameter is the value to set."] -#[doc = " Compatible with `lv_xxx_set_yyy(obj, value)` functions"] -#[doc = " The `x` in `_xcb_t` means its not a fully generic prototype because"] -#[doc = " it doesn't receive `lv_anim_t *` as its first argument"] -pub type lv_anim_exec_xcb_t = - ::core::option::Option; -#[doc = " Same as `lv_anim_exec_xcb_t` but receives `lv_anim_t *` as the first parameter."] -#[doc = " It's more consistent but less convenient. Might be used by binding generator functions."] -pub type lv_anim_custom_exec_cb_t = - ::core::option::Option; -#[doc = " Get the current value during an animation"] -pub type lv_anim_path_cb_t = - ::core::option::Option lv_anim_value_t>; -#[doc = " Callback to call when the animation is ready"] -pub type lv_anim_ready_cb_t = ::core::option::Option; -#[doc = " Describes an animation"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct _lv_anim_t { - #[doc = ", - pub __bindgen_padding_0: [u8; 3usize], -} -impl _lv_anim_t { - #[inline] - pub fn playback(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } - } - #[inline] - pub fn set_playback(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 1u8, val as u64) - } - } - #[inline] - pub fn repeat(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } - } - #[inline] - pub fn set_repeat(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(1usize, 1u8, val as u64) - } - } - #[inline] - pub fn playback_now(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u8) } - } - #[inline] - pub fn set_playback_now(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(2usize, 1u8, val as u64) - } - } - #[inline] - pub fn has_run(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } - } - #[inline] - pub fn set_has_run(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(3usize, 1u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1( - playback: u8, - repeat: u8, - playback_now: u8, - has_run: u32, - ) -> __BindgenBitfieldUnit<[u8; 1usize], u8> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 1u8, { - let playback: u8 = unsafe { ::core::mem::transmute(playback) }; - playback as u64 - }); - __bindgen_bitfield_unit.set(1usize, 1u8, { - let repeat: u8 = unsafe { ::core::mem::transmute(repeat) }; - repeat as u64 - }); - __bindgen_bitfield_unit.set(2usize, 1u8, { - let playback_now: u8 = unsafe { ::core::mem::transmute(playback_now) }; - playback_now as u64 - }); - __bindgen_bitfield_unit.set(3usize, 1u8, { - let has_run: u32 = unsafe { ::core::mem::transmute(has_run) }; - has_run as u64 - }); - __bindgen_bitfield_unit - } -} -pub type lv_anim_t = _lv_anim_t; -extern "C" { - #[doc = " Init. the animation module"] - pub fn lv_anim_core_init(); -} -extern "C" { - #[doc = " Initialize an animation variable."] - #[doc = " E.g.:"] - #[doc = " lv_anim_t a;"] - #[doc = " lv_anim_init(&a);"] - #[doc = " lv_anim_set_...(&a);"] - #[doc = " lv_anim_create(&a);"] - #[doc = " @param a pointer to an `lv_anim_t` variable to initialize"] - pub fn lv_anim_init(a: *mut lv_anim_t); -} -extern "C" { - #[doc = " Create an animation"] - #[doc = " @param a an initialized 'anim_t' variable. Not required after call."] - pub fn lv_anim_create(a: *mut lv_anim_t); -} -extern "C" { - #[doc = " Delete an animation of a variable with a given animator function"] - #[doc = " @param var pointer to variable"] - #[doc = " @param exec_cb a function pointer which is animating 'var',"] - #[doc = " or NULL to ignore it and delete all the animations of 'var"] - #[doc = " @return true: at least 1 animation is deleted, false: no animation is deleted"] - pub fn lv_anim_del(var: *mut cty::c_void, exec_cb: lv_anim_exec_xcb_t) -> bool; -} -extern "C" { - #[doc = " Get the number of currently running animations"] - #[doc = " @return the number of running animations"] - pub fn lv_anim_count_running() -> u16; -} -extern "C" { - #[doc = " Calculate the time of an animation with a given speed and the start and end values"] - #[doc = " @param speed speed of animation in unit/sec"] - #[doc = " @param start start value of the animation"] - #[doc = " @param end end value of the animation"] - #[doc = " @return the required time [ms] for the animation with the given parameters"] - pub fn lv_anim_speed_to_time(speed: u16, start: lv_anim_value_t, end: lv_anim_value_t) -> u16; -} -extern "C" { - #[doc = " Calculate the current value of an animation applying linear characteristic"] - #[doc = " @param a pointer to an animation"] - #[doc = " @return the current value to set"] - pub fn lv_anim_path_linear(a: *const lv_anim_t) -> lv_anim_value_t; -} -extern "C" { - #[doc = " Calculate the current value of an animation slowing down the start phase"] - #[doc = " @param a pointer to an animation"] - #[doc = " @return the current value to set"] - pub fn lv_anim_path_ease_in(a: *const lv_anim_t) -> lv_anim_value_t; -} -extern "C" { - #[doc = " Calculate the current value of an animation slowing down the end phase"] - #[doc = " @param a pointer to an animation"] - #[doc = " @return the current value to set"] - pub fn lv_anim_path_ease_out(a: *const lv_anim_t) -> lv_anim_value_t; -} -extern "C" { - #[doc = " Calculate the current value of an animation applying an \"S\" characteristic (cosine)"] - #[doc = " @param a pointer to an animation"] - #[doc = " @return the current value to set"] - pub fn lv_anim_path_ease_in_out(a: *const lv_anim_t) -> lv_anim_value_t; -} -extern "C" { - #[doc = " Calculate the current value of an animation with overshoot at the end"] - #[doc = " @param a pointer to an animation"] - #[doc = " @return the current value to set"] - pub fn lv_anim_path_overshoot(a: *const lv_anim_t) -> lv_anim_value_t; -} -extern "C" { - #[doc = " Calculate the current value of an animation with 3 bounces"] - #[doc = " @param a pointer to an animation"] - #[doc = " @return the current value to set"] - pub fn lv_anim_path_bounce(a: *const lv_anim_t) -> lv_anim_value_t; -} -extern "C" { - #[doc = " Calculate the current value of an animation applying step characteristic."] - #[doc = " (Set end value on the end of the animation)"] - #[doc = " @param a pointer to an animation"] - #[doc = " @return the current value to set"] - pub fn lv_anim_path_step(a: *const lv_anim_t) -> lv_anim_value_t; -} -pub const LV_BORDER_NONE: _bindgen_ty_9 = 0; -pub const LV_BORDER_BOTTOM: _bindgen_ty_9 = 1; -pub const LV_BORDER_TOP: _bindgen_ty_9 = 2; -pub const LV_BORDER_LEFT: _bindgen_ty_9 = 4; -pub const LV_BORDER_RIGHT: _bindgen_ty_9 = 8; -pub const LV_BORDER_FULL: _bindgen_ty_9 = 15; -#[doc = "< FOR matrix-like objects (e.g. Button matrix)"] -pub const LV_BORDER_INTERNAL: _bindgen_ty_9 = 16; -#[doc = " TYPEDEFS"] -pub type _bindgen_ty_9 = u32; -pub type lv_border_part_t = u8; -#[doc = "< Only draw bottom shadow"] -pub const LV_SHADOW_BOTTOM: _bindgen_ty_10 = 0; -#[doc = "< Draw shadow on all sides"] -pub const LV_SHADOW_FULL: _bindgen_ty_10 = 1; -pub type _bindgen_ty_10 = u32; -pub type lv_shadow_type_t = u8; -#[doc = " Objects in LittlevGL can be assigned a style - which holds information about"] -#[doc = " how the object should be drawn."] -#[doc = ""] -#[doc = " This allows for easy customization without having to modify the object's design"] -#[doc = " function."] -#[repr(C)] -#[derive(Copy, Clone)] -pub struct lv_style_t { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, - pub body: lv_style_t__bindgen_ty_1, - pub text: lv_style_t__bindgen_ty_2, - pub image: lv_style_t__bindgen_ty_3, - pub line: lv_style_t__bindgen_ty_4, -} -#[doc = " Object background."] -#[repr(C)] -#[derive(Copy, Clone)] -pub struct lv_style_t__bindgen_ty_1 { - #[doc = "< Object's main background color."] - pub main_color: lv_color_t, - #[doc = "< Second color. If not equal to `main_color` a gradient will be drawn for the background."] - pub grad_color: lv_color_t, - #[doc = "< Object's corner radius. You can use #LV_RADIUS_CIRCLE if you want to draw a circle."] - pub radius: lv_coord_t, - #[doc = "< Object's opacity (0-255)."] - pub opa: lv_opa_t, - pub border: lv_style_t__bindgen_ty_1__bindgen_ty_1, - pub shadow: lv_style_t__bindgen_ty_1__bindgen_ty_2, - pub padding: lv_style_t__bindgen_ty_1__bindgen_ty_3, -} -#[repr(C)] -#[derive(Copy, Clone)] -pub struct lv_style_t__bindgen_ty_1__bindgen_ty_1 { - #[doc = "< Border color"] - pub color: lv_color_t, - #[doc = "< Border width"] - pub width: lv_coord_t, - #[doc = "< Which borders to draw"] - pub part: lv_border_part_t, - #[doc = "< Border opacity."] - pub opa: lv_opa_t, -} -#[repr(C)] -#[derive(Copy, Clone)] -pub struct lv_style_t__bindgen_ty_1__bindgen_ty_2 { - pub color: lv_color_t, - pub width: lv_coord_t, - #[doc = "< Which parts of the shadow to draw"] - pub type_: lv_shadow_type_t, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_style_t__bindgen_ty_1__bindgen_ty_3 { - pub top: lv_coord_t, - pub bottom: lv_coord_t, - pub left: lv_coord_t, - pub right: lv_coord_t, - pub inner: lv_coord_t, -} -#[doc = " Style for text drawn by this object."] -#[repr(C)] -#[derive(Copy, Clone)] -pub struct lv_style_t__bindgen_ty_2 { - #[doc = "< Text color"] - pub color: lv_color_t, - #[doc = "< Text selection background color."] - pub sel_color: lv_color_t, - pub font: *const lv_font_t, - #[doc = "< Space between letters"] - pub letter_space: lv_coord_t, - #[doc = "< Space between lines (vertical)"] - pub line_space: lv_coord_t, - #[doc = "< Text opacity"] - pub opa: lv_opa_t, -} -#[repr(C)] -#[derive(Copy, Clone)] -pub struct lv_style_t__bindgen_ty_3 { - #[doc = "< Color to recolor the image with"] - pub color: lv_color_t, - #[doc = "< Opacity of recoloring (0 means no recoloring)"] - pub intense: lv_opa_t, - #[doc = "< Opacity of whole image"] - pub opa: lv_opa_t, -} -#[repr(C)] -#[derive(Copy, Clone)] -pub struct lv_style_t__bindgen_ty_4 { - pub color: lv_color_t, - pub width: lv_coord_t, - pub opa: lv_opa_t, - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, -} -impl lv_style_t__bindgen_ty_4 { - #[inline] - pub fn rounded(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } - } - #[inline] - pub fn set_rounded(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 1u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1(rounded: u8) -> __BindgenBitfieldUnit<[u8; 1usize], u8> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 1u8, { - let rounded: u8 = unsafe { ::core::mem::transmute(rounded) }; - rounded as u64 - }); - __bindgen_bitfield_unit - } -} -impl lv_style_t { - #[inline] - pub fn glass(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } - } - #[inline] - pub fn set_glass(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 1u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1(glass: u8) -> __BindgenBitfieldUnit<[u8; 1usize], u8> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 1u8, { - let glass: u8 = unsafe { ::core::mem::transmute(glass) }; - glass as u64 - }); - __bindgen_bitfield_unit - } -} -#[doc = " Data structure for style animations."] -#[repr(C)] -#[derive(Copy, Clone)] -pub struct lv_style_anim_dsc_t { - pub style_start: lv_style_t, - pub style_end: lv_style_t, - pub style_anim: *mut lv_style_t, - pub ready_cb: lv_anim_ready_cb_t, -} -extern "C" { - #[doc = " Init the basic styles"] - pub fn lv_style_init(); -} -extern "C" { - #[doc = " Copy a style to an other"] - #[doc = " @param dest pointer to the destination style"] - #[doc = " @param src pointer to the source style"] - pub fn lv_style_copy(dest: *mut lv_style_t, src: *const lv_style_t); -} -extern "C" { - #[doc = " Mix two styles according to a given ratio"] - #[doc = " @param start start style"] - #[doc = " @param end end style"] - #[doc = " @param res store the result style here"] - #[doc = " @param ratio the ratio of mix [0..256]; 0: `start` style; 256: `end` style"] - pub fn lv_style_mix( - start: *const lv_style_t, - end: *const lv_style_t, - res: *mut lv_style_t, - ratio: u16, - ); -} -extern "C" { - #[doc = " Initialize an animation variable."] - #[doc = " E.g.:"] - #[doc = " lv_anim_t a;"] - #[doc = " lv_style_anim__init(&a);"] - #[doc = " lv_style_anim_set_...(&a);"] - #[doc = " lv_style_anim_create(&a);"] - #[doc = " @param a pointer to an `lv_anim_t` variable to initialize"] - pub fn lv_style_anim_init(a: *mut lv_anim_t); -} -extern "C" { - #[doc = " @param a pointer to an initialized `lv_anim_t` variable"] - #[doc = " @param to_anim pointer to the style to animate"] - #[doc = " @param start pointer to a style to animate from (start value)"] - #[doc = " @param end pointer to a style to animate to (end value)"] - pub fn lv_style_anim_set_styles( - a: *mut lv_anim_t, - to_anim: *mut lv_style_t, - start: *const lv_style_t, - end: *const lv_style_t, - ); -} -extern "C" { - pub static mut lv_style_scr: lv_style_t; -} -extern "C" { - pub static mut lv_style_transp: lv_style_t; -} -extern "C" { - pub static mut lv_style_transp_fit: lv_style_t; -} -extern "C" { - pub static mut lv_style_transp_tight: lv_style_t; -} -extern "C" { - pub static mut lv_style_plain: lv_style_t; -} -extern "C" { - pub static mut lv_style_plain_color: lv_style_t; -} -extern "C" { - pub static mut lv_style_pretty: lv_style_t; -} -extern "C" { - pub static mut lv_style_pretty_color: lv_style_t; -} -extern "C" { - pub static mut lv_style_btn_rel: lv_style_t; -} -extern "C" { - pub static mut lv_style_btn_pr: lv_style_t; -} -extern "C" { - pub static mut lv_style_btn_tgl_rel: lv_style_t; -} -extern "C" { - pub static mut lv_style_btn_tgl_pr: lv_style_t; -} -extern "C" { - pub static mut lv_style_btn_ina: lv_style_t; -} -pub const LV_BIDI_DIR_LTR: _bindgen_ty_11 = 0; -pub const LV_BIDI_DIR_RTL: _bindgen_ty_11 = 1; -pub const LV_BIDI_DIR_AUTO: _bindgen_ty_11 = 2; -pub const LV_BIDI_DIR_INHERIT: _bindgen_ty_11 = 3; -pub const LV_BIDI_DIR_NEUTRAL: _bindgen_ty_11 = 32; -pub const LV_BIDI_DIR_WEAK: _bindgen_ty_11 = 33; -#[doc = " TYPEDEFS"] -pub type _bindgen_ty_11 = u32; -pub type lv_bidi_dir_t = u8; -#[doc = "< Draw the main portion of the object"] -pub const LV_DESIGN_DRAW_MAIN: _bindgen_ty_12 = 0; -#[doc = "< Draw extras on the object"] -pub const LV_DESIGN_DRAW_POST: _bindgen_ty_12 = 1; -#[doc = "< Check if the object fully covers the 'mask_p' area"] -pub const LV_DESIGN_COVER_CHK: _bindgen_ty_12 = 2; -#[doc = " Design modes"] -pub type _bindgen_ty_12 = u32; -pub type lv_design_mode_t = u8; -#[doc = " The design callback is used to draw the object on the screen."] -#[doc = " It accepts the object, a mask area, and the mode in which to draw the object."] -pub type lv_design_cb_t = ::core::option::Option< - unsafe extern "C" fn( - obj: *mut _lv_obj_t, - mask_p: *const lv_area_t, - mode: lv_design_mode_t, - ) -> bool, ->; -#[doc = "< The object has been pressed"] -pub const LV_EVENT_PRESSED: _bindgen_ty_13 = 0; -#[doc = "< The object is being pressed (called continuously while pressing)"] -pub const LV_EVENT_PRESSING: _bindgen_ty_13 = 1; -#[doc = "< User is still pressing but slid cursor/finger off of the object"] -pub const LV_EVENT_PRESS_LOST: _bindgen_ty_13 = 2; -#[doc = "< User pressed object for a short period of time, then released it. Not called if dragged."] -pub const LV_EVENT_SHORT_CLICKED: _bindgen_ty_13 = 3; -#[doc = "< Object has been pressed for at least `LV_INDEV_LONG_PRESS_TIME`. Not called if dragged."] -pub const LV_EVENT_LONG_PRESSED: _bindgen_ty_13 = 4; -#[doc = "< Called after `LV_INDEV_LONG_PRESS_TIME` in every"] -#[doc = "`LV_INDEV_LONG_PRESS_REP_TIME` ms. Not called if dragged."] -pub const LV_EVENT_LONG_PRESSED_REPEAT: _bindgen_ty_13 = 5; -#[doc = "< Called on release if not dragged (regardless to long press)"] -pub const LV_EVENT_CLICKED: _bindgen_ty_13 = 6; -#[doc = "< Called in every cases when the object has been released"] -pub const LV_EVENT_RELEASED: _bindgen_ty_13 = 7; -pub const LV_EVENT_DRAG_BEGIN: _bindgen_ty_13 = 8; -pub const LV_EVENT_DRAG_END: _bindgen_ty_13 = 9; -pub const LV_EVENT_DRAG_THROW_BEGIN: _bindgen_ty_13 = 10; -pub const LV_EVENT_KEY: _bindgen_ty_13 = 11; -pub const LV_EVENT_FOCUSED: _bindgen_ty_13 = 12; -pub const LV_EVENT_DEFOCUSED: _bindgen_ty_13 = 13; -#[doc = "< The object's value has changed (i.e. slider moved)"] -pub const LV_EVENT_VALUE_CHANGED: _bindgen_ty_13 = 14; -pub const LV_EVENT_INSERT: _bindgen_ty_13 = 15; -pub const LV_EVENT_REFRESH: _bindgen_ty_13 = 16; -#[doc = "< \"Ok\", \"Apply\" or similar specific button has clicked"] -pub const LV_EVENT_APPLY: _bindgen_ty_13 = 17; -#[doc = "< \"Close\", \"Cancel\" or similar specific button has clicked"] -pub const LV_EVENT_CANCEL: _bindgen_ty_13 = 18; -#[doc = "< Object is being deleted"] -pub const LV_EVENT_DELETE: _bindgen_ty_13 = 19; -pub type _bindgen_ty_13 = u32; -pub type lv_event_t = u8; -#[doc = " @brief Event callback."] -#[doc = " Events are used to notify the user of some action being taken on the object."] -#[doc = " For details, see ::lv_event_t."] -pub type lv_event_cb_t = - ::core::option::Option; -#[doc = "< Object is being deleted"] -pub const LV_SIGNAL_CLEANUP: _bindgen_ty_14 = 0; -#[doc = "< Child was removed/added"] -pub const LV_SIGNAL_CHILD_CHG: _bindgen_ty_14 = 1; -#[doc = "< Object coordinates/size have changed"] -pub const LV_SIGNAL_CORD_CHG: _bindgen_ty_14 = 2; -#[doc = "< Parent's size has changed"] -pub const LV_SIGNAL_PARENT_SIZE_CHG: _bindgen_ty_14 = 3; -#[doc = "< Object's style has changed"] -pub const LV_SIGNAL_STYLE_CHG: _bindgen_ty_14 = 4; -#[doc = " lv_res_t, ->; -pub const LV_ALIGN_CENTER: _bindgen_ty_15 = 0; -pub const LV_ALIGN_IN_TOP_LEFT: _bindgen_ty_15 = 1; -pub const LV_ALIGN_IN_TOP_MID: _bindgen_ty_15 = 2; -pub const LV_ALIGN_IN_TOP_RIGHT: _bindgen_ty_15 = 3; -pub const LV_ALIGN_IN_BOTTOM_LEFT: _bindgen_ty_15 = 4; -pub const LV_ALIGN_IN_BOTTOM_MID: _bindgen_ty_15 = 5; -pub const LV_ALIGN_IN_BOTTOM_RIGHT: _bindgen_ty_15 = 6; -pub const LV_ALIGN_IN_LEFT_MID: _bindgen_ty_15 = 7; -pub const LV_ALIGN_IN_RIGHT_MID: _bindgen_ty_15 = 8; -pub const LV_ALIGN_OUT_TOP_LEFT: _bindgen_ty_15 = 9; -pub const LV_ALIGN_OUT_TOP_MID: _bindgen_ty_15 = 10; -pub const LV_ALIGN_OUT_TOP_RIGHT: _bindgen_ty_15 = 11; -pub const LV_ALIGN_OUT_BOTTOM_LEFT: _bindgen_ty_15 = 12; -pub const LV_ALIGN_OUT_BOTTOM_MID: _bindgen_ty_15 = 13; -pub const LV_ALIGN_OUT_BOTTOM_RIGHT: _bindgen_ty_15 = 14; -pub const LV_ALIGN_OUT_LEFT_TOP: _bindgen_ty_15 = 15; -pub const LV_ALIGN_OUT_LEFT_MID: _bindgen_ty_15 = 16; -pub const LV_ALIGN_OUT_LEFT_BOTTOM: _bindgen_ty_15 = 17; -pub const LV_ALIGN_OUT_RIGHT_TOP: _bindgen_ty_15 = 18; -pub const LV_ALIGN_OUT_RIGHT_MID: _bindgen_ty_15 = 19; -pub const LV_ALIGN_OUT_RIGHT_BOTTOM: _bindgen_ty_15 = 20; -#[doc = " Object alignment."] -pub type _bindgen_ty_15 = u32; -pub type lv_align_t = u8; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_reailgn_t { - pub base: *const _lv_obj_t, - pub xofs: lv_coord_t, - pub yofs: lv_coord_t, - pub align: lv_align_t, - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, - pub __bindgen_padding_0: u16, -} -impl lv_reailgn_t { - #[inline] - pub fn auto_realign(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } - } - #[inline] - pub fn set_auto_realign(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 1u8, val as u64) - } - } - #[inline] - pub fn origo_align(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } - } - #[inline] - pub fn set_origo_align(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(1usize, 1u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1( - auto_realign: u8, - origo_align: u8, - ) -> __BindgenBitfieldUnit<[u8; 1usize], u8> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 1u8, { - let auto_realign: u8 = unsafe { ::core::mem::transmute(auto_realign) }; - auto_realign as u64 - }); - __bindgen_bitfield_unit.set(1usize, 1u8, { - let origo_align: u8 = unsafe { ::core::mem::transmute(origo_align) }; - origo_align as u64 - }); - __bindgen_bitfield_unit - } -} -#[doc = "< Object can be dragged horizontally."] -pub const LV_DRAG_DIR_HOR: _bindgen_ty_16 = 1; -#[doc = "< Object can be dragged vertically."] -pub const LV_DRAG_DIR_VER: _bindgen_ty_16 = 2; -#[doc = "< Object can be dragged in all directions."] -pub const LV_DRAG_DIR_ALL: _bindgen_ty_16 = 3; -pub type _bindgen_ty_16 = u32; -pub type lv_drag_dir_t = u8; -#[doc = " TYPEDEFS"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct _lv_obj_t { - #[doc = "< Pointer to the parent object"] - pub par: *mut _lv_obj_t, - #[doc = "< Linked list to store the children objects"] - pub child_ll: lv_ll_t, - #[doc = "< Coordinates of the object (x1, y1, x2, y2)"] - pub coords: lv_area_t, - #[doc = "< Event callback function"] - pub event_cb: lv_event_cb_t, - #[doc = "< Object type specific signal function"] - pub signal_cb: lv_signal_cb_t, - #[doc = "< Object type specific design function"] - pub design_cb: lv_design_cb_t, - #[doc = "< Object type specific extended data"] - pub ext_attr: *mut cty::c_void, - #[doc = "< Pointer to the object's style"] - pub style_p: *const lv_style_t, - #[doc = "< Pointer to the group of the object"] - pub group_p: *mut cty::c_void, - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize], u8>, - #[doc = "< Automatically happening actions can be prevented. 'OR'ed values from"] - #[doc = "`lv_protect_t`"] - pub protect: u8, - #[doc = "< Scale down the opacity by this factor. Effects all children as well"] - pub opa_scale: lv_opa_t, - #[doc = "< EXTtend the size in every direction for drawing."] - pub ext_draw_pad: lv_coord_t, - #[doc = "< Information about the last call to ::lv_obj_align."] - pub realign: lv_reailgn_t, - #[doc = "< Custom user data for object."] - pub user_data: lv_obj_user_data_t, -} -impl _lv_obj_t { - #[inline] - pub fn click(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } - } - #[inline] - pub fn set_click(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 1u8, val as u64) - } - } - #[inline] - pub fn drag(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } - } - #[inline] - pub fn set_drag(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(1usize, 1u8, val as u64) - } - } - #[inline] - pub fn drag_throw(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u8) } - } - #[inline] - pub fn set_drag_throw(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(2usize, 1u8, val as u64) - } - } - #[inline] - pub fn drag_parent(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u8) } - } - #[inline] - pub fn set_drag_parent(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(3usize, 1u8, val as u64) - } - } - #[inline] - pub fn hidden(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u8) } - } - #[inline] - pub fn set_hidden(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(4usize, 1u8, val as u64) - } - } - #[inline] - pub fn top(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u8) } - } - #[inline] - pub fn set_top(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(5usize, 1u8, val as u64) - } - } - #[inline] - pub fn opa_scale_en(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u8) } - } - #[inline] - pub fn set_opa_scale_en(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(6usize, 1u8, val as u64) - } - } - #[inline] - pub fn parent_event(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u8) } - } - #[inline] - pub fn set_parent_event(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(7usize, 1u8, val as u64) - } - } - #[inline] - pub fn drag_dir(&self) -> lv_drag_dir_t { - unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 2u8) as u8) } - } - #[inline] - pub fn set_drag_dir(&mut self, val: lv_drag_dir_t) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(8usize, 2u8, val as u64) - } - } - #[inline] - pub fn base_dir(&self) -> lv_bidi_dir_t { - unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 2u8) as u8) } - } - #[inline] - pub fn set_base_dir(&mut self, val: lv_bidi_dir_t) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(10usize, 2u8, val as u64) - } - } - #[inline] - pub fn reserved(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 3u8) as u8) } - } - #[inline] - pub fn set_reserved(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(12usize, 3u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1( - click: u8, - drag: u8, - drag_throw: u8, - drag_parent: u8, - hidden: u8, - top: u8, - opa_scale_en: u8, - parent_event: u8, - drag_dir: lv_drag_dir_t, - base_dir: lv_bidi_dir_t, - reserved: u8, - ) -> __BindgenBitfieldUnit<[u8; 2usize], u8> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize], u8> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 1u8, { - let click: u8 = unsafe { ::core::mem::transmute(click) }; - click as u64 - }); - __bindgen_bitfield_unit.set(1usize, 1u8, { - let drag: u8 = unsafe { ::core::mem::transmute(drag) }; - drag as u64 - }); - __bindgen_bitfield_unit.set(2usize, 1u8, { - let drag_throw: u8 = unsafe { ::core::mem::transmute(drag_throw) }; - drag_throw as u64 - }); - __bindgen_bitfield_unit.set(3usize, 1u8, { - let drag_parent: u8 = unsafe { ::core::mem::transmute(drag_parent) }; - drag_parent as u64 - }); - __bindgen_bitfield_unit.set(4usize, 1u8, { - let hidden: u8 = unsafe { ::core::mem::transmute(hidden) }; - hidden as u64 - }); - __bindgen_bitfield_unit.set(5usize, 1u8, { - let top: u8 = unsafe { ::core::mem::transmute(top) }; - top as u64 - }); - __bindgen_bitfield_unit.set(6usize, 1u8, { - let opa_scale_en: u8 = unsafe { ::core::mem::transmute(opa_scale_en) }; - opa_scale_en as u64 - }); - __bindgen_bitfield_unit.set(7usize, 1u8, { - let parent_event: u8 = unsafe { ::core::mem::transmute(parent_event) }; - parent_event as u64 - }); - __bindgen_bitfield_unit.set(8usize, 2u8, { - let drag_dir: u8 = unsafe { ::core::mem::transmute(drag_dir) }; - drag_dir as u64 - }); - __bindgen_bitfield_unit.set(10usize, 2u8, { - let base_dir: u8 = unsafe { ::core::mem::transmute(base_dir) }; - base_dir as u64 - }); - __bindgen_bitfield_unit.set(12usize, 3u8, { - let reserved: u8 = unsafe { ::core::mem::transmute(reserved) }; - reserved as u64 - }); - __bindgen_bitfield_unit - } -} -pub type lv_obj_t = _lv_obj_t; -pub const LV_PROTECT_NONE: _bindgen_ty_17 = 0; -#[doc = "< Disable the child change signal. Used by the library"] -pub const LV_PROTECT_CHILD_CHG: _bindgen_ty_17 = 1; -#[doc = "< Prevent automatic parent change (e.g. in lv_page)"] -pub const LV_PROTECT_PARENT: _bindgen_ty_17 = 2; -#[doc = "< Prevent automatic positioning (e.g. in lv_cont layout)"] -pub const LV_PROTECT_POS: _bindgen_ty_17 = 4; -#[doc = "< Prevent the object be followed in automatic ordering (e.g. in"] -#[doc = "lv_cont PRETTY layout)"] -pub const LV_PROTECT_FOLLOW: _bindgen_ty_17 = 8; -#[doc = "< If the `indev` was pressing this object but swiped out while"] -#[doc = "pressing do not search other object."] -pub const LV_PROTECT_PRESS_LOST: _bindgen_ty_17 = 16; -#[doc = "< Prevent focusing the object by clicking on it"] -pub const LV_PROTECT_CLICK_FOCUS: _bindgen_ty_17 = 32; -pub type _bindgen_ty_17 = u32; -pub type lv_protect_t = u8; -#[doc = " Used by `lv_obj_get_type()`. The object's and its ancestor types are stored here"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_obj_type_t { - #[doc = "< [0]: the actual type, [1]: ancestor, [2] #1's ancestor"] - #[doc = "... [x]: \"lv_obj\""] - pub type_: [*const cty::c_char; 8usize], -} -extern "C" { - #[doc = " Init. the 'lv' library."] - pub fn lv_init(); -} -extern "C" { - pub fn lv_deinit(); -} -extern "C" { - #[doc = " Create a basic object"] - #[doc = " @param parent pointer to a parent object."] - #[doc = " If NULL then a screen will be created"] - #[doc = " @param copy pointer to a base object, if not NULL then the new object will be copied from it"] - #[doc = " @return pointer to the new object"] - pub fn lv_obj_create(parent: *mut lv_obj_t, copy: *const lv_obj_t) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Delete 'obj' and all of its children"] - #[doc = " @param obj pointer to an object to delete"] - #[doc = " @return LV_RES_INV because the object is deleted"] - pub fn lv_obj_del(obj: *mut lv_obj_t) -> lv_res_t; -} -extern "C" { - #[doc = " Helper function for asynchronously deleting objects."] - #[doc = " Useful for cases where you can't delete an object directly in an `LV_EVENT_DELETE` handler (i.e. parent)."] - #[doc = " @param obj object to delete"] - #[doc = " @see lv_async_call"] - pub fn lv_obj_del_async(obj: *mut _lv_obj_t); -} -extern "C" { - #[doc = " Delete all children of an object"] - #[doc = " @param obj pointer to an object"] - pub fn lv_obj_clean(obj: *mut lv_obj_t); -} -extern "C" { - #[doc = " Mark an area of an object as invalid."] - #[doc = " This area will be redrawn by 'lv_refr_task'"] - #[doc = " @param obj pointer to an object"] - #[doc = " @param area the area to redraw"] - pub fn lv_obj_invalidate_area(obj: *const lv_obj_t, area: *const lv_area_t); -} -extern "C" { - #[doc = " Mark the object as invalid therefore its current position will be redrawn by 'lv_refr_task'"] - #[doc = " @param obj pointer to an object"] - pub fn lv_obj_invalidate(obj: *const lv_obj_t); -} -extern "C" { - #[doc = " Set a new parent for an object. Its relative position will be the same."] - #[doc = " @param obj pointer to an object. Can't be a screen."] - #[doc = " @param parent pointer to the new parent object. (Can't be NULL)"] - pub fn lv_obj_set_parent(obj: *mut lv_obj_t, parent: *mut lv_obj_t); -} -extern "C" { - #[doc = " Move and object to the foreground"] - #[doc = " @param obj pointer to an object"] - pub fn lv_obj_move_foreground(obj: *mut lv_obj_t); -} -extern "C" { - #[doc = " Move and object to the background"] - #[doc = " @param obj pointer to an object"] - pub fn lv_obj_move_background(obj: *mut lv_obj_t); -} -extern "C" { - #[doc = " Set relative the position of an object (relative to the parent)"] - #[doc = " @param obj pointer to an object"] - #[doc = " @param x new distance from the left side of the parent"] - #[doc = " @param y new distance from the top of the parent"] - pub fn lv_obj_set_pos(obj: *mut lv_obj_t, x: lv_coord_t, y: lv_coord_t); -} -extern "C" { - #[doc = " Set the x coordinate of a object"] - #[doc = " @param obj pointer to an object"] - #[doc = " @param x new distance from the left side from the parent"] - pub fn lv_obj_set_x(obj: *mut lv_obj_t, x: lv_coord_t); -} -extern "C" { - #[doc = " Set the y coordinate of a object"] - #[doc = " @param obj pointer to an object"] - #[doc = " @param y new distance from the top of the parent"] - pub fn lv_obj_set_y(obj: *mut lv_obj_t, y: lv_coord_t); -} -extern "C" { - #[doc = " Set the size of an object"] - #[doc = " @param obj pointer to an object"] - #[doc = " @param w new width"] - #[doc = " @param h new height"] - pub fn lv_obj_set_size(obj: *mut lv_obj_t, w: lv_coord_t, h: lv_coord_t); -} -extern "C" { - #[doc = " Set the width of an object"] - #[doc = " @param obj pointer to an object"] - #[doc = " @param w new width"] - pub fn lv_obj_set_width(obj: *mut lv_obj_t, w: lv_coord_t); -} -extern "C" { - #[doc = " Set the height of an object"] - #[doc = " @param obj pointer to an object"] - #[doc = " @param h new height"] - pub fn lv_obj_set_height(obj: *mut lv_obj_t, h: lv_coord_t); -} -extern "C" { - #[doc = " Align an object to an other object."] - #[doc = " @param obj pointer to an object to align"] - #[doc = " @param base pointer to an object (if NULL the parent is used). 'obj' will be aligned to it."] - #[doc = " @param align type of alignment (see 'lv_align_t' enum)"] - #[doc = " @param x_mod x coordinate shift after alignment"] - #[doc = " @param y_mod y coordinate shift after alignment"] - pub fn lv_obj_align( - obj: *mut lv_obj_t, - base: *const lv_obj_t, - align: lv_align_t, - x_mod: lv_coord_t, - y_mod: lv_coord_t, - ); -} -extern "C" { - #[doc = " Align an object to an other object."] - #[doc = " @param obj pointer to an object to align"] - #[doc = " @param base pointer to an object (if NULL the parent is used). 'obj' will be aligned to it."] - #[doc = " @param align type of alignment (see 'lv_align_t' enum)"] - #[doc = " @param x_mod x coordinate shift after alignment"] - #[doc = " @param y_mod y coordinate shift after alignment"] - pub fn lv_obj_align_origo( - obj: *mut lv_obj_t, - base: *const lv_obj_t, - align: lv_align_t, - x_mod: lv_coord_t, - y_mod: lv_coord_t, - ); -} -extern "C" { - #[doc = " Realign the object based on the last `lv_obj_align` parameters."] - #[doc = " @param obj pointer to an object"] - pub fn lv_obj_realign(obj: *mut lv_obj_t); -} -extern "C" { - #[doc = " Enable the automatic realign of the object when its size has changed based on the last"] - #[doc = " `lv_obj_align` parameters."] - #[doc = " @param obj pointer to an object"] - #[doc = " @param en true: enable auto realign; false: disable auto realign"] - pub fn lv_obj_set_auto_realign(obj: *mut lv_obj_t, en: bool); -} -extern "C" { - #[doc = " Set the size of an extended clickable area"] - #[doc = " @param obj pointer to an object"] - #[doc = " @param left extended clickable are on the left [px]"] - #[doc = " @param right extended clickable are on the right [px]"] - #[doc = " @param top extended clickable are on the top [px]"] - #[doc = " @param bottom extended clickable are on the bottom [px]"] - pub fn lv_obj_set_ext_click_area( - obj: *mut lv_obj_t, - left: lv_coord_t, - right: lv_coord_t, - top: lv_coord_t, - bottom: lv_coord_t, - ); -} -extern "C" { - #[doc = " Set a new style for an object"] - #[doc = " @param obj pointer to an object"] - #[doc = " @param style_p pointer to the new style"] - pub fn lv_obj_set_style(obj: *mut lv_obj_t, style: *const lv_style_t); -} -extern "C" { - #[doc = " Notify an object about its style is modified"] - #[doc = " @param obj pointer to an object"] - pub fn lv_obj_refresh_style(obj: *mut lv_obj_t); -} -extern "C" { - #[doc = " Notify all object if a style is modified"] - #[doc = " @param style pointer to a style. Only the objects with this style will be notified"] - #[doc = " (NULL to notify all objects)"] - pub fn lv_obj_report_style_mod(style: *mut lv_style_t); -} -extern "C" { - #[doc = " Hide an object. It won't be visible and clickable."] - #[doc = " @param obj pointer to an object"] - #[doc = " @param en true: hide the object"] - pub fn lv_obj_set_hidden(obj: *mut lv_obj_t, en: bool); -} -extern "C" { - #[doc = " Enable or disable the clicking of an object"] - #[doc = " @param obj pointer to an object"] - #[doc = " @param en true: make the object clickable"] - pub fn lv_obj_set_click(obj: *mut lv_obj_t, en: bool); -} -extern "C" { - #[doc = " Enable to bring this object to the foreground if it"] - #[doc = " or any of its children is clicked"] - #[doc = " @param obj pointer to an object"] - #[doc = " @param en true: enable the auto top feature"] - pub fn lv_obj_set_top(obj: *mut lv_obj_t, en: bool); -} -extern "C" { - #[doc = " Enable the dragging of an object"] - #[doc = " @param obj pointer to an object"] - #[doc = " @param en true: make the object dragable"] - pub fn lv_obj_set_drag(obj: *mut lv_obj_t, en: bool); -} -extern "C" { - #[doc = " Set the directions an object can be dragged in"] - #[doc = " @param obj pointer to an object"] - #[doc = " @param drag_dir bitwise OR of allowed drag directions"] - pub fn lv_obj_set_drag_dir(obj: *mut lv_obj_t, drag_dir: lv_drag_dir_t); -} -extern "C" { - #[doc = " Enable the throwing of an object after is is dragged"] - #[doc = " @param obj pointer to an object"] - #[doc = " @param en true: enable the drag throw"] - pub fn lv_obj_set_drag_throw(obj: *mut lv_obj_t, en: bool); -} -extern "C" { - #[doc = " Enable to use parent for drag related operations."] - #[doc = " If trying to drag the object the parent will be moved instead"] - #[doc = " @param obj pointer to an object"] - #[doc = " @param en true: enable the 'drag parent' for the object"] - pub fn lv_obj_set_drag_parent(obj: *mut lv_obj_t, en: bool); -} -extern "C" { - #[doc = " Propagate the events to the parent too"] - #[doc = " @param obj pointer to an object"] - #[doc = " @param en true: enable the event propagation"] - pub fn lv_obj_set_parent_event(obj: *mut lv_obj_t, en: bool); -} -extern "C" { - pub fn lv_obj_set_base_dir(obj: *mut lv_obj_t, dir: lv_bidi_dir_t); -} -extern "C" { - #[doc = " Set the opa scale enable parameter (required to set opa_scale with `lv_obj_set_opa_scale()`)"] - #[doc = " @param obj pointer to an object"] - #[doc = " @param en true: opa scaling is enabled for this object and all children; false: no opa scaling"] - pub fn lv_obj_set_opa_scale_enable(obj: *mut lv_obj_t, en: bool); -} -extern "C" { - #[doc = " Set the opa scale of an object."] - #[doc = " The opacity of this object and all it's children will be scaled down with this factor."] - #[doc = " `lv_obj_set_opa_scale_enable(obj, true)` needs to be called to enable it."] - #[doc = " (not for all children just for the parent where to start the opa scaling)"] - #[doc = " @param obj pointer to an object"] - #[doc = " @param opa_scale a factor to scale down opacity [0..255]"] - pub fn lv_obj_set_opa_scale(obj: *mut lv_obj_t, opa_scale: lv_opa_t); -} -extern "C" { - #[doc = " Set a bit or bits in the protect filed"] - #[doc = " @param obj pointer to an object"] - #[doc = " @param prot 'OR'-ed values from `lv_protect_t`"] - pub fn lv_obj_set_protect(obj: *mut lv_obj_t, prot: u8); -} -extern "C" { - #[doc = " Clear a bit or bits in the protect filed"] - #[doc = " @param obj pointer to an object"] - #[doc = " @param prot 'OR'-ed values from `lv_protect_t`"] - pub fn lv_obj_clear_protect(obj: *mut lv_obj_t, prot: u8); -} -extern "C" { - #[doc = " Set a an event handler function for an object."] - #[doc = " Used by the user to react on event which happens with the object."] - #[doc = " @param obj pointer to an object"] - #[doc = " @param event_cb the new event function"] - pub fn lv_obj_set_event_cb(obj: *mut lv_obj_t, event_cb: lv_event_cb_t); -} -extern "C" { - #[doc = " Send an event to the object"] - #[doc = " @param obj pointer to an object"] - #[doc = " @param event the type of the event from `lv_event_t`."] - #[doc = " @param data arbitrary data depending on the object type and the event. (Usually `NULL`)"] - #[doc = " @return LV_RES_OK: `obj` was not deleted in the event; LV_RES_INV: `obj` was deleted in the event"] - pub fn lv_event_send( - obj: *mut lv_obj_t, - event: lv_event_t, - data: *const cty::c_void, - ) -> lv_res_t; -} -extern "C" { - #[doc = " Call an event function with an object, event, and data."] - #[doc = " @param event_xcb an event callback function. If `NULL` `LV_RES_OK` will return without any actions."] - #[doc = " (the 'x' in the argument name indicates that its not a fully generic function because it not follows"] - #[doc = " the `func_name(object, callback, ...)` convention)"] - #[doc = " @param obj pointer to an object to associate with the event (can be `NULL` to simply call the `event_cb`)"] - #[doc = " @param event an event"] - #[doc = " @param data pointer to a custom data"] - #[doc = " @return LV_RES_OK: `obj` was not deleted in the event; LV_RES_INV: `obj` was deleted in the event"] - pub fn lv_event_send_func( - event_xcb: lv_event_cb_t, - obj: *mut lv_obj_t, - event: lv_event_t, - data: *const cty::c_void, - ) -> lv_res_t; -} -extern "C" { - #[doc = " Get the `data` parameter of the current event"] - #[doc = " @return the `data` parameter"] - pub fn lv_event_get_data() -> *const cty::c_void; -} -extern "C" { - #[doc = " Set the a signal function of an object. Used internally by the library."] - #[doc = " Always call the previous signal function in the new."] - #[doc = " @param obj pointer to an object"] - #[doc = " @param signal_cb the new signal function"] - pub fn lv_obj_set_signal_cb(obj: *mut lv_obj_t, signal_cb: lv_signal_cb_t); -} -extern "C" { - #[doc = " Send an event to the object"] - #[doc = " @param obj pointer to an object"] - #[doc = " @param event the type of the event from `lv_event_t`."] - pub fn lv_signal_send(obj: *mut lv_obj_t, signal: lv_signal_t, param: *mut cty::c_void); -} -extern "C" { - #[doc = " Set a new design function for an object"] - #[doc = " @param obj pointer to an object"] - #[doc = " @param design_cb the new design function"] - pub fn lv_obj_set_design_cb(obj: *mut lv_obj_t, design_cb: lv_design_cb_t); -} -extern "C" { - #[doc = " Allocate a new ext. data for an object"] - #[doc = " @param obj pointer to an object"] - #[doc = " @param ext_size the size of the new ext. data"] - #[doc = " @return pointer to the allocated ext"] - pub fn lv_obj_allocate_ext_attr(obj: *mut lv_obj_t, ext_size: u16) -> *mut cty::c_void; -} -extern "C" { - #[doc = " Send a 'LV_SIGNAL_REFR_EXT_SIZE' signal to the object"] - #[doc = " @param obj pointer to an object"] - pub fn lv_obj_refresh_ext_draw_pad(obj: *mut lv_obj_t); -} -extern "C" { - #[doc = " Return with the screen of an object"] - #[doc = " @param obj pointer to an object"] - #[doc = " @return pointer to a screen"] - pub fn lv_obj_get_screen(obj: *const lv_obj_t) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Get the display of an object"] - #[doc = " @param scr pointer to an object"] - #[doc = " @return pointer the object's display"] - pub fn lv_obj_get_disp(obj: *const lv_obj_t) -> *mut lv_disp_t; -} -extern "C" { - #[doc = " Returns with the parent of an object"] - #[doc = " @param obj pointer to an object"] - #[doc = " @return pointer to the parent of 'obj'"] - pub fn lv_obj_get_parent(obj: *const lv_obj_t) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Iterate through the children of an object (start from the \"youngest, lastly created\")"] - #[doc = " @param obj pointer to an object"] - #[doc = " @param child NULL at first call to get the next children"] - #[doc = " and the previous return value later"] - #[doc = " @return the child after 'act_child' or NULL if no more child"] - pub fn lv_obj_get_child(obj: *const lv_obj_t, child: *const lv_obj_t) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Iterate through the children of an object (start from the \"oldest\", firstly created)"] - #[doc = " @param obj pointer to an object"] - #[doc = " @param child NULL at first call to get the next children"] - #[doc = " and the previous return value later"] - #[doc = " @return the child after 'act_child' or NULL if no more child"] - pub fn lv_obj_get_child_back(obj: *const lv_obj_t, child: *const lv_obj_t) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Count the children of an object (only children directly on 'obj')"] - #[doc = " @param obj pointer to an object"] - #[doc = " @return children number of 'obj'"] - pub fn lv_obj_count_children(obj: *const lv_obj_t) -> u16; -} -extern "C" { - #[doc = " Recursively count the children of an object"] - #[doc = " @param obj pointer to an object"] - #[doc = " @return children number of 'obj'"] - pub fn lv_obj_count_children_recursive(obj: *const lv_obj_t) -> u16; -} -extern "C" { - #[doc = " Copy the coordinates of an object to an area"] - #[doc = " @param obj pointer to an object"] - #[doc = " @param cords_p pointer to an area to store the coordinates"] - pub fn lv_obj_get_coords(obj: *const lv_obj_t, cords_p: *mut lv_area_t); -} -extern "C" { - #[doc = " Reduce area retried by `lv_obj_get_coords()` the get graphically usable area of an object."] - #[doc = " (Without the size of the border or other extra graphical elements)"] - #[doc = " @param coords_p store the result area here"] - pub fn lv_obj_get_inner_coords(obj: *const lv_obj_t, coords_p: *mut lv_area_t); -} -extern "C" { - #[doc = " Get the x coordinate of object"] - #[doc = " @param obj pointer to an object"] - #[doc = " @return distance of 'obj' from the left side of its parent"] - pub fn lv_obj_get_x(obj: *const lv_obj_t) -> lv_coord_t; -} -extern "C" { - #[doc = " Get the y coordinate of object"] - #[doc = " @param obj pointer to an object"] - #[doc = " @return distance of 'obj' from the top of its parent"] - pub fn lv_obj_get_y(obj: *const lv_obj_t) -> lv_coord_t; -} -extern "C" { - #[doc = " Get the width of an object"] - #[doc = " @param obj pointer to an object"] - #[doc = " @return the width"] - pub fn lv_obj_get_width(obj: *const lv_obj_t) -> lv_coord_t; -} -extern "C" { - #[doc = " Get the height of an object"] - #[doc = " @param obj pointer to an object"] - #[doc = " @return the height"] - pub fn lv_obj_get_height(obj: *const lv_obj_t) -> lv_coord_t; -} -extern "C" { - #[doc = " Get that width reduced by the left and right padding."] - #[doc = " @param obj pointer to an object"] - #[doc = " @return the width which still fits into the container"] - pub fn lv_obj_get_width_fit(obj: *const lv_obj_t) -> lv_coord_t; -} -extern "C" { - #[doc = " Get that height reduced by the top an bottom padding."] - #[doc = " @param obj pointer to an object"] - #[doc = " @return the height which still fits into the container"] - pub fn lv_obj_get_height_fit(obj: *const lv_obj_t) -> lv_coord_t; -} -extern "C" { - #[doc = " Get the automatic realign property of the object."] - #[doc = " @param obj pointer to an object"] - #[doc = " @return true: auto realign is enabled; false: auto realign is disabled"] - pub fn lv_obj_get_auto_realign(obj: *const lv_obj_t) -> bool; -} -extern "C" { - #[doc = " Get the left padding of extended clickable area"] - #[doc = " @param obj pointer to an object"] - #[doc = " @return the extended left padding"] - pub fn lv_obj_get_ext_click_pad_left(obj: *const lv_obj_t) -> lv_coord_t; -} -extern "C" { - #[doc = " Get the right padding of extended clickable area"] - #[doc = " @param obj pointer to an object"] - #[doc = " @return the extended right padding"] - pub fn lv_obj_get_ext_click_pad_right(obj: *const lv_obj_t) -> lv_coord_t; -} -extern "C" { - #[doc = " Get the top padding of extended clickable area"] - #[doc = " @param obj pointer to an object"] - #[doc = " @return the extended top padding"] - pub fn lv_obj_get_ext_click_pad_top(obj: *const lv_obj_t) -> lv_coord_t; -} -extern "C" { - #[doc = " Get the bottom padding of extended clickable area"] - #[doc = " @param obj pointer to an object"] - #[doc = " @return the extended bottom padding"] - pub fn lv_obj_get_ext_click_pad_bottom(obj: *const lv_obj_t) -> lv_coord_t; -} -extern "C" { - #[doc = " Get the extended size attribute of an object"] - #[doc = " @param obj pointer to an object"] - #[doc = " @return the extended size attribute"] - pub fn lv_obj_get_ext_draw_pad(obj: *const lv_obj_t) -> lv_coord_t; -} -extern "C" { - #[doc = " Get the style pointer of an object (if NULL get style of the parent)"] - #[doc = " @param obj pointer to an object"] - #[doc = " @return pointer to a style"] - pub fn lv_obj_get_style(obj: *const lv_obj_t) -> *const lv_style_t; -} -extern "C" { - #[doc = " Get the hidden attribute of an object"] - #[doc = " @param obj pointer to an object"] - #[doc = " @return true: the object is hidden"] - pub fn lv_obj_get_hidden(obj: *const lv_obj_t) -> bool; -} -extern "C" { - #[doc = " Get the click enable attribute of an object"] - #[doc = " @param obj pointer to an object"] - #[doc = " @return true: the object is clickable"] - pub fn lv_obj_get_click(obj: *const lv_obj_t) -> bool; -} -extern "C" { - #[doc = " Get the top enable attribute of an object"] - #[doc = " @param obj pointer to an object"] - #[doc = " @return true: the auto top feature is enabled"] - pub fn lv_obj_get_top(obj: *const lv_obj_t) -> bool; -} -extern "C" { - #[doc = " Get the drag enable attribute of an object"] - #[doc = " @param obj pointer to an object"] - #[doc = " @return true: the object is dragable"] - pub fn lv_obj_get_drag(obj: *const lv_obj_t) -> bool; -} -extern "C" { - #[doc = " Get the directions an object can be dragged"] - #[doc = " @param obj pointer to an object"] - #[doc = " @return bitwise OR of allowed directions an object can be dragged in"] - pub fn lv_obj_get_drag_dir(obj: *const lv_obj_t) -> lv_drag_dir_t; -} -extern "C" { - #[doc = " Get the drag throw enable attribute of an object"] - #[doc = " @param obj pointer to an object"] - #[doc = " @return true: drag throw is enabled"] - pub fn lv_obj_get_drag_throw(obj: *const lv_obj_t) -> bool; -} -extern "C" { - #[doc = " Get the drag parent attribute of an object"] - #[doc = " @param obj pointer to an object"] - #[doc = " @return true: drag parent is enabled"] - pub fn lv_obj_get_drag_parent(obj: *const lv_obj_t) -> bool; -} -extern "C" { - #[doc = " Get the drag parent attribute of an object"] - #[doc = " @param obj pointer to an object"] - #[doc = " @return true: drag parent is enabled"] - pub fn lv_obj_get_parent_event(obj: *const lv_obj_t) -> bool; -} -extern "C" { - pub fn lv_obj_get_base_dir(obj: *const lv_obj_t) -> lv_bidi_dir_t; -} -extern "C" { - #[doc = " Get the opa scale enable parameter"] - #[doc = " @param obj pointer to an object"] - #[doc = " @return true: opa scaling is enabled for this object and all children; false: no opa scaling"] - pub fn lv_obj_get_opa_scale_enable(obj: *const lv_obj_t) -> lv_opa_t; -} -extern "C" { - #[doc = " Get the opa scale parameter of an object"] - #[doc = " @param obj pointer to an object"] - #[doc = " @return opa scale [0..255]"] - pub fn lv_obj_get_opa_scale(obj: *const lv_obj_t) -> lv_opa_t; -} -extern "C" { - #[doc = " Get the protect field of an object"] - #[doc = " @param obj pointer to an object"] - #[doc = " @return protect field ('OR'ed values of `lv_protect_t`)"] - pub fn lv_obj_get_protect(obj: *const lv_obj_t) -> u8; -} -extern "C" { - #[doc = " Check at least one bit of a given protect bitfield is set"] - #[doc = " @param obj pointer to an object"] - #[doc = " @param prot protect bits to test ('OR'ed values of `lv_protect_t`)"] - #[doc = " @return false: none of the given bits are set, true: at least one bit is set"] - pub fn lv_obj_is_protected(obj: *const lv_obj_t, prot: u8) -> bool; -} -extern "C" { - #[doc = " Get the signal function of an object"] - #[doc = " @param obj pointer to an object"] - #[doc = " @return the signal function"] - pub fn lv_obj_get_signal_cb(obj: *const lv_obj_t) -> lv_signal_cb_t; -} -extern "C" { - #[doc = " Get the design function of an object"] - #[doc = " @param obj pointer to an object"] - #[doc = " @return the design function"] - pub fn lv_obj_get_design_cb(obj: *const lv_obj_t) -> lv_design_cb_t; -} -extern "C" { - #[doc = " Get the event function of an object"] - #[doc = " @param obj pointer to an object"] - #[doc = " @return the event function"] - pub fn lv_obj_get_event_cb(obj: *const lv_obj_t) -> lv_event_cb_t; -} -extern "C" { - #[doc = " Get the ext pointer"] - #[doc = " @param obj pointer to an object"] - #[doc = " @return the ext pointer but not the dynamic version"] - #[doc = " Use it as ext->data1, and NOT da(ext)->data1"] - pub fn lv_obj_get_ext_attr(obj: *const lv_obj_t) -> *mut cty::c_void; -} -extern "C" { - #[doc = " Get object's and its ancestors type. Put their name in `type_buf` starting with the current type."] - #[doc = " E.g. buf.type[0]=\"lv_btn\", buf.type[1]=\"lv_cont\", buf.type[2]=\"lv_obj\""] - #[doc = " @param obj pointer to an object which type should be get"] - #[doc = " @param buf pointer to an `lv_obj_type_t` buffer to store the types"] - pub fn lv_obj_get_type(obj: *const lv_obj_t, buf: *mut lv_obj_type_t); -} -extern "C" { - #[doc = " Get the object's user data"] - #[doc = " @param obj pointer to an object"] - #[doc = " @return user data"] - pub fn lv_obj_get_user_data(obj: *const lv_obj_t) -> lv_obj_user_data_t; -} -extern "C" { - #[doc = " Get a pointer to the object's user data"] - #[doc = " @param obj pointer to an object"] - #[doc = " @return pointer to the user data"] - pub fn lv_obj_get_user_data_ptr(obj: *const lv_obj_t) -> *mut lv_obj_user_data_t; -} -extern "C" { - #[doc = " Set the object's user data. The data will be copied."] - #[doc = " @param obj pointer to an object"] - #[doc = " @param data user data"] - pub fn lv_obj_set_user_data(obj: *mut lv_obj_t, data: lv_obj_user_data_t); -} -extern "C" { - #[doc = " Get the group of the object"] - #[doc = " @param obj pointer to an object"] - #[doc = " @return the pointer to group of the object"] - pub fn lv_obj_get_group(obj: *const lv_obj_t) -> *mut cty::c_void; -} -extern "C" { - #[doc = " Tell whether the object is the focused object of a group or not."] - #[doc = " @param obj pointer to an object"] - #[doc = " @return true: the object is focused, false: the object is not focused or not in a group"] - pub fn lv_obj_is_focused(obj: *const lv_obj_t) -> bool; -} -extern "C" { - #[doc = " Used in the signal callback to handle `LV_SIGNAL_GET_TYPE` signal"] - #[doc = " @param buf pointer to `lv_obj_type_t`. (`param` in the signal callback)"] - #[doc = " @param name name of the object. E.g. \"lv_btn\". (Only the pointer is saved)"] - #[doc = " @return LV_RES_OK"] - pub fn lv_obj_handle_get_type_signal( - buf: *mut lv_obj_type_t, - name: *const cty::c_char, - ) -> lv_res_t; -} -pub const LV_KEY_UP: _bindgen_ty_18 = 17; -pub const LV_KEY_DOWN: _bindgen_ty_18 = 18; -pub const LV_KEY_RIGHT: _bindgen_ty_18 = 19; -pub const LV_KEY_LEFT: _bindgen_ty_18 = 20; -pub const LV_KEY_ESC: _bindgen_ty_18 = 27; -pub const LV_KEY_DEL: _bindgen_ty_18 = 127; -pub const LV_KEY_BACKSPACE: _bindgen_ty_18 = 8; -pub const LV_KEY_ENTER: _bindgen_ty_18 = 10; -pub const LV_KEY_NEXT: _bindgen_ty_18 = 9; -pub const LV_KEY_PREV: _bindgen_ty_18 = 11; -pub const LV_KEY_HOME: _bindgen_ty_18 = 2; -pub const LV_KEY_END: _bindgen_ty_18 = 3; -#[doc = " DEFINES"] -pub type _bindgen_ty_18 = u32; -pub type lv_key_t = u8; -pub type lv_group_style_mod_cb_t = - ::core::option::Option; -pub type lv_group_focus_cb_t = ::core::option::Option; -#[doc = " Groups can be used to logically hold objects so that they can be individually focused."] -#[doc = " They are NOT for laying out objects on a screen (try `lv_cont` for that)."] -#[repr(C)] -#[derive(Copy, Clone)] -pub struct _lv_group_t { - #[doc = "< Linked list to store the objects in the group"] - pub obj_ll: lv_ll_t, - #[doc = "< The object in focus"] - pub obj_focus: *mut *mut lv_obj_t, - #[doc = "< A function to modifies the style of the focused object"] - pub style_mod_cb: lv_group_style_mod_cb_t, - #[doc = "< A function which modifies the style of the edited object"] - pub style_mod_edit_cb: lv_group_style_mod_cb_t, - #[doc = "< A function to call when a new object is focused (optional)"] - pub focus_cb: lv_group_focus_cb_t, - #[doc = "< Stores the modified style of the focused object"] - pub style_tmp: lv_style_t, - pub user_data: lv_group_user_data_t, - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, - pub __bindgen_padding_0: [u8; 3usize], -} -impl _lv_group_t { - #[inline] - pub fn frozen(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } - } - #[inline] - pub fn set_frozen(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 1u8, val as u64) - } - } - #[inline] - pub fn editing(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } - } - #[inline] - pub fn set_editing(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(1usize, 1u8, val as u64) - } - } - #[inline] - pub fn click_focus(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u8) } - } - #[inline] - pub fn set_click_focus(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(2usize, 1u8, val as u64) - } - } - #[inline] - pub fn refocus_policy(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u8) } - } - #[inline] - pub fn set_refocus_policy(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(3usize, 1u8, val as u64) - } - } - #[inline] - pub fn wrap(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u8) } - } - #[inline] - pub fn set_wrap(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(4usize, 1u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1( - frozen: u8, - editing: u8, - click_focus: u8, - refocus_policy: u8, - wrap: u8, - ) -> __BindgenBitfieldUnit<[u8; 1usize], u8> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 1u8, { - let frozen: u8 = unsafe { ::core::mem::transmute(frozen) }; - frozen as u64 - }); - __bindgen_bitfield_unit.set(1usize, 1u8, { - let editing: u8 = unsafe { ::core::mem::transmute(editing) }; - editing as u64 - }); - __bindgen_bitfield_unit.set(2usize, 1u8, { - let click_focus: u8 = unsafe { ::core::mem::transmute(click_focus) }; - click_focus as u64 - }); - __bindgen_bitfield_unit.set(3usize, 1u8, { - let refocus_policy: u8 = unsafe { ::core::mem::transmute(refocus_policy) }; - refocus_policy as u64 - }); - __bindgen_bitfield_unit.set(4usize, 1u8, { - let wrap: u8 = unsafe { ::core::mem::transmute(wrap) }; - wrap as u64 - }); - __bindgen_bitfield_unit - } -} -pub type lv_group_t = _lv_group_t; -pub const LV_GROUP_REFOCUS_POLICY_NEXT: _bindgen_ty_19 = 0; -pub const LV_GROUP_REFOCUS_POLICY_PREV: _bindgen_ty_19 = 1; -pub type _bindgen_ty_19 = u32; -pub type lv_group_refocus_policy_t = u8; -extern "C" { - #[doc = " Init. the group module"] - #[doc = " @remarks Internal function, do not call directly."] - pub fn lv_group_init(); -} -extern "C" { - #[doc = " Create a new object group"] - #[doc = " @return pointer to the new object group"] - pub fn lv_group_create() -> *mut lv_group_t; -} -extern "C" { - #[doc = " Delete a group object"] - #[doc = " @param group pointer to a group"] - pub fn lv_group_del(group: *mut lv_group_t); -} -extern "C" { - #[doc = " Add an object to a group"] - #[doc = " @param group pointer to a group"] - #[doc = " @param obj pointer to an object to add"] - pub fn lv_group_add_obj(group: *mut lv_group_t, obj: *mut lv_obj_t); -} -extern "C" { - #[doc = " Remove an object from its group"] - #[doc = " @param obj pointer to an object to remove"] - pub fn lv_group_remove_obj(obj: *mut lv_obj_t); -} -extern "C" { - #[doc = " Remove all objects from a group"] - #[doc = " @param group pointer to a group"] - pub fn lv_group_remove_all_objs(group: *mut lv_group_t); -} -extern "C" { - #[doc = " Focus on an object (defocus the current)"] - #[doc = " @param obj pointer to an object to focus on"] - pub fn lv_group_focus_obj(obj: *mut lv_obj_t); -} -extern "C" { - #[doc = " Focus the next object in a group (defocus the current)"] - #[doc = " @param group pointer to a group"] - pub fn lv_group_focus_next(group: *mut lv_group_t); -} -extern "C" { - #[doc = " Focus the previous object in a group (defocus the current)"] - #[doc = " @param group pointer to a group"] - pub fn lv_group_focus_prev(group: *mut lv_group_t); -} -extern "C" { - #[doc = " Do not let to change the focus from the current object"] - #[doc = " @param group pointer to a group"] - #[doc = " @param en true: freeze, false: release freezing (normal mode)"] - pub fn lv_group_focus_freeze(group: *mut lv_group_t, en: bool); -} -extern "C" { - #[doc = " Send a control character to the focuses object of a group"] - #[doc = " @param group pointer to a group"] - #[doc = " @param c a character (use LV_KEY_.. to navigate)"] - #[doc = " @return result of focused object in group."] - pub fn lv_group_send_data(group: *mut lv_group_t, c: u32) -> lv_res_t; -} -extern "C" { - #[doc = " Set a function for a group which will modify the object's style if it is in focus"] - #[doc = " @param group pointer to a group"] - #[doc = " @param style_mod_cb the style modifier function pointer"] - pub fn lv_group_set_style_mod_cb(group: *mut lv_group_t, style_mod_cb: lv_group_style_mod_cb_t); -} -extern "C" { - #[doc = " Set a function for a group which will modify the object's style if it is in focus in edit mode"] - #[doc = " @param group pointer to a group"] - #[doc = " @param style_mod_edit_cb the style modifier function pointer"] - pub fn lv_group_set_style_mod_edit_cb( - group: *mut lv_group_t, - style_mod_edit_cb: lv_group_style_mod_cb_t, - ); -} -extern "C" { - #[doc = " Set a function for a group which will be called when a new object is focused"] - #[doc = " @param group pointer to a group"] - #[doc = " @param focus_cb the call back function or NULL if unused"] - pub fn lv_group_set_focus_cb(group: *mut lv_group_t, focus_cb: lv_group_focus_cb_t); -} -extern "C" { - #[doc = " Set whether the next or previous item in a group is focused if the currently focussed obj is"] - #[doc = " deleted."] - #[doc = " @param group pointer to a group"] - #[doc = " @param new refocus policy enum"] - pub fn lv_group_set_refocus_policy(group: *mut lv_group_t, policy: lv_group_refocus_policy_t); -} -extern "C" { - #[doc = " Manually set the current mode (edit or navigate)."] - #[doc = " @param group pointer to group"] - #[doc = " @param edit: true: edit mode; false: navigate mode"] - pub fn lv_group_set_editing(group: *mut lv_group_t, edit: bool); -} -extern "C" { - #[doc = " Set the `click_focus` attribute. If enabled then the object will be focused then it is clicked."] - #[doc = " @param group pointer to group"] - #[doc = " @param en: true: enable `click_focus`"] - pub fn lv_group_set_click_focus(group: *mut lv_group_t, en: bool); -} -extern "C" { - #[doc = " Set whether focus next/prev will allow wrapping from first->last or last->first object."] - #[doc = " @param group pointer to group"] - #[doc = " @param en: true: wrapping enabled; false: wrapping disabled"] - pub fn lv_group_set_wrap(group: *mut lv_group_t, en: bool); -} -extern "C" { - #[doc = " Modify a style with the set 'style_mod' function. The input style remains unchanged."] - #[doc = " @param group pointer to group"] - #[doc = " @param style pointer to a style to modify"] - #[doc = " @return a copy of the input style but modified with the 'style_mod' function"] - pub fn lv_group_mod_style(group: *mut lv_group_t, style: *const lv_style_t) -> *mut lv_style_t; -} -extern "C" { - #[doc = " Get the focused object or NULL if there isn't one"] - #[doc = " @param group pointer to a group"] - #[doc = " @return pointer to the focused object"] - pub fn lv_group_get_focused(group: *const lv_group_t) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Get a pointer to the group's user data"] - #[doc = " @param group pointer to an group"] - #[doc = " @return pointer to the user data"] - pub fn lv_group_get_user_data(group: *mut lv_group_t) -> *mut lv_group_user_data_t; -} -extern "C" { - #[doc = " Get a the style modifier function of a group"] - #[doc = " @param group pointer to a group"] - #[doc = " @return pointer to the style modifier function"] - pub fn lv_group_get_style_mod_cb(group: *const lv_group_t) -> lv_group_style_mod_cb_t; -} -extern "C" { - #[doc = " Get a the style modifier function of a group in edit mode"] - #[doc = " @param group pointer to a group"] - #[doc = " @return pointer to the style modifier function"] - pub fn lv_group_get_style_mod_edit_cb(group: *const lv_group_t) -> lv_group_style_mod_cb_t; -} -extern "C" { - #[doc = " Get the focus callback function of a group"] - #[doc = " @param group pointer to a group"] - #[doc = " @return the call back function or NULL if not set"] - pub fn lv_group_get_focus_cb(group: *const lv_group_t) -> lv_group_focus_cb_t; -} -extern "C" { - #[doc = " Get the current mode (edit or navigate)."] - #[doc = " @param group pointer to group"] - #[doc = " @return true: edit mode; false: navigate mode"] - pub fn lv_group_get_editing(group: *const lv_group_t) -> bool; -} -extern "C" { - #[doc = " Get the `click_focus` attribute."] - #[doc = " @param group pointer to group"] - #[doc = " @return true: `click_focus` is enabled; false: disabled"] - pub fn lv_group_get_click_focus(group: *const lv_group_t) -> bool; -} -extern "C" { - #[doc = " Get whether focus next/prev will allow wrapping from first->last or last->first object."] - #[doc = " @param group pointer to group"] - #[doc = " @param en: true: wrapping enabled; false: wrapping disabled"] - pub fn lv_group_get_wrap(group: *mut lv_group_t) -> bool; -} -extern "C" { - #[doc = " Notify the group that current theme changed and style modification callbacks need to be"] - #[doc = " refreshed."] - #[doc = " @param group pointer to group. If NULL then all groups are notified."] - pub fn lv_group_report_style_mod(group: *mut lv_group_t); -} -extern "C" { - #[doc = " Initialize the display input device subsystem"] - pub fn lv_indev_init(); -} -extern "C" { - #[doc = " Called periodically to read the input devices"] - #[doc = " @param task pointer to the task itself"] - pub fn lv_indev_read_task(task: *mut lv_task_t); -} -extern "C" { - #[doc = " Get the currently processed input device. Can be used in action functions too."] - #[doc = " @return pointer to the currently processed input device or NULL if no input device processing"] - #[doc = " right now"] - pub fn lv_indev_get_act() -> *mut lv_indev_t; -} -extern "C" { - #[doc = " Get the type of an input device"] - #[doc = " @param indev pointer to an input device"] - #[doc = " @return the type of the input device from `lv_hal_indev_type_t` (`LV_INDEV_TYPE_...`)"] - pub fn lv_indev_get_type(indev: *const lv_indev_t) -> lv_indev_type_t; -} -extern "C" { - #[doc = " Reset one or all input devices"] - #[doc = " @param indev pointer to an input device to reset or NULL to reset all of them"] - pub fn lv_indev_reset(indev: *mut lv_indev_t); -} -extern "C" { - #[doc = " Reset the long press state of an input device"] - #[doc = " @param indev_proc pointer to an input device"] - pub fn lv_indev_reset_long_press(indev: *mut lv_indev_t); -} -extern "C" { - #[doc = " Enable or disable an input devices"] - #[doc = " @param indev pointer to an input device"] - #[doc = " @param en true: enable; false: disable"] - pub fn lv_indev_enable(indev: *mut lv_indev_t, en: bool); -} -extern "C" { - #[doc = " Set a cursor for a pointer input device (for LV_INPUT_TYPE_POINTER and LV_INPUT_TYPE_BUTTON)"] - #[doc = " @param indev pointer to an input device"] - #[doc = " @param cur_obj pointer to an object to be used as cursor"] - pub fn lv_indev_set_cursor(indev: *mut lv_indev_t, cur_obj: *mut lv_obj_t); -} -extern "C" { - #[doc = " Set a destination group for a keypad input device (for LV_INDEV_TYPE_KEYPAD)"] - #[doc = " @param indev pointer to an input device"] - #[doc = " @param group point to a group"] - pub fn lv_indev_set_group(indev: *mut lv_indev_t, group: *mut lv_group_t); -} -extern "C" { - #[doc = " Set the an array of points for LV_INDEV_TYPE_BUTTON."] - #[doc = " These points will be assigned to the buttons to press a specific point on the screen"] - #[doc = " @param indev pointer to an input device"] - #[doc = " @param group point to a group"] - pub fn lv_indev_set_button_points(indev: *mut lv_indev_t, points: *const lv_point_t); -} -extern "C" { - #[doc = " Get the last point of an input device (for LV_INDEV_TYPE_POINTER and LV_INDEV_TYPE_BUTTON)"] - #[doc = " @param indev pointer to an input device"] - #[doc = " @param point pointer to a point to store the result"] - pub fn lv_indev_get_point(indev: *const lv_indev_t, point: *mut lv_point_t); -} -extern "C" { - #[doc = " Get the last pressed key of an input device (for LV_INDEV_TYPE_KEYPAD)"] - #[doc = " @param indev pointer to an input device"] - #[doc = " @return the last pressed key (0 on error)"] - pub fn lv_indev_get_key(indev: *const lv_indev_t) -> u32; -} -extern "C" { - #[doc = " Check if there is dragging with an input device or not (for LV_INDEV_TYPE_POINTER and"] - #[doc = " LV_INDEV_TYPE_BUTTON)"] - #[doc = " @param indev pointer to an input device"] - #[doc = " @return true: drag is in progress"] - pub fn lv_indev_is_dragging(indev: *const lv_indev_t) -> bool; -} -extern "C" { - #[doc = " Get the vector of dragging of an input device (for LV_INDEV_TYPE_POINTER and"] - #[doc = " LV_INDEV_TYPE_BUTTON)"] - #[doc = " @param indev pointer to an input device"] - #[doc = " @param point pointer to a point to store the vector"] - pub fn lv_indev_get_vect(indev: *const lv_indev_t, point: *mut lv_point_t); -} -extern "C" { - #[doc = " Do nothing until the next release"] - #[doc = " @param indev pointer to an input device"] - pub fn lv_indev_wait_release(indev: *mut lv_indev_t); -} -extern "C" { - #[doc = " Get a pointer to the indev read task to"] - #[doc = " modify its parameters with `lv_task_...` functions."] - #[doc = " @param indev pointer to an inout device"] - #[doc = " @return pointer to the indev read refresher task. (NULL on error)"] - pub fn lv_indev_get_read_task(indev: *mut lv_disp_t) -> *mut lv_task_t; -} -extern "C" { - #[doc = " Gets a pointer to the currently active object in indev proc functions."] - #[doc = " NULL if no object is currently being handled or if groups aren't used."] - #[doc = " @return pointer to currently active object"] - pub fn lv_indev_get_obj_act() -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Initialize the screen refresh subsystem"] - pub fn lv_refr_init(); -} -extern "C" { - #[doc = " Redraw the invalidated areas now."] - #[doc = " Normally the redrawing is periodically executed in `lv_task_handler` but a long blocking process"] - #[doc = " can prevent the call of `lv_task_handler`. In this case if the the GUI is updated in the process"] - #[doc = " (e.g. progress bar) this function can be called when the screen should be updated."] - #[doc = " @param disp pointer to display to refresh. NULL to refresh all displays."] - pub fn lv_refr_now(disp: *mut lv_disp_t); -} -extern "C" { - #[doc = " Invalidate an area on display to redraw it"] - #[doc = " @param area_p pointer to area which should be invalidated (NULL: delete the invalidated areas)"] - #[doc = " @param disp pointer to display where the area should be invalidated (NULL can be used if there is"] - #[doc = " only one display)"] - pub fn lv_inv_area(disp: *mut lv_disp_t, area_p: *const lv_area_t); -} -extern "C" { - #[doc = " Get the display which is being refreshed"] - #[doc = " @return the display being refreshed"] - pub fn lv_refr_get_disp_refreshing() -> *mut lv_disp_t; -} -extern "C" { - #[doc = " Set the display which is being refreshed."] - #[doc = " It shouldn1t be used directly by the user."] - #[doc = " It can be used to trick the drawing functions about there is an active display."] - #[doc = " @param the display being refreshed"] - pub fn lv_refr_set_disp_refreshing(disp: *mut lv_disp_t); -} -extern "C" { - #[doc = " Called periodically to handle the refreshing"] - #[doc = " @param task pointer to the task itself"] - pub fn lv_disp_refr_task(task: *mut lv_task_t); -} -extern "C" { - #[doc = " Return with a pointer to the active screen"] - #[doc = " @param disp pointer to display which active screen should be get. (NULL to use the default"] - #[doc = " screen)"] - #[doc = " @return pointer to the active screen object (loaded by 'lv_scr_load()')"] - pub fn lv_disp_get_scr_act(disp: *mut lv_disp_t) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Make a screen active"] - #[doc = " @param scr pointer to a screen"] - pub fn lv_disp_load_scr(scr: *mut lv_obj_t); -} -extern "C" { - #[doc = " Return with the top layer. (Same on every screen and it is above the normal screen layer)"] - #[doc = " @param disp pointer to display which top layer should be get. (NULL to use the default screen)"] - #[doc = " @return pointer to the top layer object (transparent screen sized lv_obj)"] - pub fn lv_disp_get_layer_top(disp: *mut lv_disp_t) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Return with the sys. layer. (Same on every screen and it is above the normal screen and the top"] - #[doc = " layer)"] - #[doc = " @param disp pointer to display which sys. layer should be get. (NULL to use the default screen)"] - #[doc = " @return pointer to the sys layer object (transparent screen sized lv_obj)"] - pub fn lv_disp_get_layer_sys(disp: *mut lv_disp_t) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Assign a screen to a display."] - #[doc = " @param disp pointer to a display where to assign the screen"] - #[doc = " @param scr pointer to a screen object to assign"] - pub fn lv_disp_assign_screen(disp: *mut lv_disp_t, scr: *mut lv_obj_t); -} -extern "C" { - #[doc = " Get a pointer to the screen refresher task to"] - #[doc = " modify its parameters with `lv_task_...` functions."] - #[doc = " @param disp pointer to a display"] - #[doc = " @return pointer to the display refresher task. (NULL on error)"] - pub fn lv_disp_get_refr_task(disp: *mut lv_disp_t) -> *mut lv_task_t; -} -extern "C" { - #[doc = " Get elapsed time since last user activity on a display (e.g. click)"] - #[doc = " @param disp pointer to an display (NULL to get the overall smallest inactivity)"] - #[doc = " @return elapsed ticks (milliseconds) since the last activity"] - pub fn lv_disp_get_inactive_time(disp: *const lv_disp_t) -> u32; -} -extern "C" { - #[doc = " Manually trigger an activity on a display"] - #[doc = " @param disp pointer to an display (NULL to use the default display)"] - pub fn lv_disp_trig_activity(disp: *mut lv_disp_t); -} -#[doc = " A theme in LittlevGL consists of many styles bound together."] -#[doc = ""] -#[doc = " There is a style for each object type, as well as a generic style for"] -#[doc = " backgrounds and panels."] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_theme_t { - pub style: lv_theme_t__bindgen_ty_1, - pub group: lv_theme_t__bindgen_ty_2, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_theme_t__bindgen_ty_1 { - pub scr: *mut lv_style_t, - pub bg: *mut lv_style_t, - pub panel: *mut lv_style_t, - pub cont: *mut lv_style_t, - pub btn: lv_theme_t__bindgen_ty_1__bindgen_ty_1, - pub imgbtn: lv_theme_t__bindgen_ty_1__bindgen_ty_2, - pub label: lv_theme_t__bindgen_ty_1__bindgen_ty_3, - pub img: lv_theme_t__bindgen_ty_1__bindgen_ty_4, - pub line: lv_theme_t__bindgen_ty_1__bindgen_ty_5, - pub led: *mut lv_style_t, - pub bar: lv_theme_t__bindgen_ty_1__bindgen_ty_6, - pub slider: lv_theme_t__bindgen_ty_1__bindgen_ty_7, - pub lmeter: *mut lv_style_t, - pub gauge: *mut lv_style_t, - pub arc: *mut lv_style_t, - pub preload: *mut lv_style_t, - pub sw: lv_theme_t__bindgen_ty_1__bindgen_ty_8, - pub chart: *mut lv_style_t, - pub calendar: lv_theme_t__bindgen_ty_1__bindgen_ty_9, - pub cb: lv_theme_t__bindgen_ty_1__bindgen_ty_10, - pub btnm: lv_theme_t__bindgen_ty_1__bindgen_ty_11, - pub kb: lv_theme_t__bindgen_ty_1__bindgen_ty_12, - pub mbox: lv_theme_t__bindgen_ty_1__bindgen_ty_13, - pub page: lv_theme_t__bindgen_ty_1__bindgen_ty_14, - pub ta: lv_theme_t__bindgen_ty_1__bindgen_ty_15, - pub spinbox: lv_theme_t__bindgen_ty_1__bindgen_ty_16, - pub list: lv_theme_t__bindgen_ty_1__bindgen_ty_17, - pub ddlist: lv_theme_t__bindgen_ty_1__bindgen_ty_18, - pub roller: lv_theme_t__bindgen_ty_1__bindgen_ty_19, - pub tabview: lv_theme_t__bindgen_ty_1__bindgen_ty_20, - pub tileview: lv_theme_t__bindgen_ty_1__bindgen_ty_21, - pub table: lv_theme_t__bindgen_ty_1__bindgen_ty_22, - pub win: lv_theme_t__bindgen_ty_1__bindgen_ty_23, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_theme_t__bindgen_ty_1__bindgen_ty_1 { - pub rel: *mut lv_style_t, - pub pr: *mut lv_style_t, - pub tgl_rel: *mut lv_style_t, - pub tgl_pr: *mut lv_style_t, - pub ina: *mut lv_style_t, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_theme_t__bindgen_ty_1__bindgen_ty_2 { - pub rel: *mut lv_style_t, - pub pr: *mut lv_style_t, - pub tgl_rel: *mut lv_style_t, - pub tgl_pr: *mut lv_style_t, - pub ina: *mut lv_style_t, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_theme_t__bindgen_ty_1__bindgen_ty_3 { - pub prim: *mut lv_style_t, - pub sec: *mut lv_style_t, - pub hint: *mut lv_style_t, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_theme_t__bindgen_ty_1__bindgen_ty_4 { - pub light: *mut lv_style_t, - pub dark: *mut lv_style_t, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_theme_t__bindgen_ty_1__bindgen_ty_5 { - pub decor: *mut lv_style_t, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_theme_t__bindgen_ty_1__bindgen_ty_6 { - pub bg: *mut lv_style_t, - pub indic: *mut lv_style_t, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_theme_t__bindgen_ty_1__bindgen_ty_7 { - pub bg: *mut lv_style_t, - pub indic: *mut lv_style_t, - pub knob: *mut lv_style_t, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_theme_t__bindgen_ty_1__bindgen_ty_8 { - pub bg: *mut lv_style_t, - pub indic: *mut lv_style_t, - pub knob_off: *mut lv_style_t, - pub knob_on: *mut lv_style_t, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_theme_t__bindgen_ty_1__bindgen_ty_9 { - pub bg: *mut lv_style_t, - pub header: *mut lv_style_t, - pub header_pr: *mut lv_style_t, - pub day_names: *mut lv_style_t, - pub highlighted_days: *mut lv_style_t, - pub inactive_days: *mut lv_style_t, - pub week_box: *mut lv_style_t, - pub today_box: *mut lv_style_t, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_theme_t__bindgen_ty_1__bindgen_ty_10 { - pub bg: *mut lv_style_t, - pub box_: lv_theme_t__bindgen_ty_1__bindgen_ty_10__bindgen_ty_1, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_theme_t__bindgen_ty_1__bindgen_ty_10__bindgen_ty_1 { - pub rel: *mut lv_style_t, - pub pr: *mut lv_style_t, - pub tgl_rel: *mut lv_style_t, - pub tgl_pr: *mut lv_style_t, - pub ina: *mut lv_style_t, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_theme_t__bindgen_ty_1__bindgen_ty_11 { - pub bg: *mut lv_style_t, - pub btn: lv_theme_t__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_theme_t__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1 { - pub rel: *mut lv_style_t, - pub pr: *mut lv_style_t, - pub tgl_rel: *mut lv_style_t, - pub tgl_pr: *mut lv_style_t, - pub ina: *mut lv_style_t, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_theme_t__bindgen_ty_1__bindgen_ty_12 { - pub bg: *mut lv_style_t, - pub btn: lv_theme_t__bindgen_ty_1__bindgen_ty_12__bindgen_ty_1, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_theme_t__bindgen_ty_1__bindgen_ty_12__bindgen_ty_1 { - pub rel: *mut lv_style_t, - pub pr: *mut lv_style_t, - pub tgl_rel: *mut lv_style_t, - pub tgl_pr: *mut lv_style_t, - pub ina: *mut lv_style_t, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_theme_t__bindgen_ty_1__bindgen_ty_13 { - pub bg: *mut lv_style_t, - pub btn: lv_theme_t__bindgen_ty_1__bindgen_ty_13__bindgen_ty_1, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_theme_t__bindgen_ty_1__bindgen_ty_13__bindgen_ty_1 { - pub bg: *mut lv_style_t, - pub rel: *mut lv_style_t, - pub pr: *mut lv_style_t, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_theme_t__bindgen_ty_1__bindgen_ty_14 { - pub bg: *mut lv_style_t, - pub scrl: *mut lv_style_t, - pub sb: *mut lv_style_t, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_theme_t__bindgen_ty_1__bindgen_ty_15 { - pub area: *mut lv_style_t, - pub oneline: *mut lv_style_t, - pub cursor: *mut lv_style_t, - pub sb: *mut lv_style_t, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_theme_t__bindgen_ty_1__bindgen_ty_16 { - pub bg: *mut lv_style_t, - pub cursor: *mut lv_style_t, - pub sb: *mut lv_style_t, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_theme_t__bindgen_ty_1__bindgen_ty_17 { - pub bg: *mut lv_style_t, - pub scrl: *mut lv_style_t, - pub sb: *mut lv_style_t, - pub btn: lv_theme_t__bindgen_ty_1__bindgen_ty_17__bindgen_ty_1, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_theme_t__bindgen_ty_1__bindgen_ty_17__bindgen_ty_1 { - pub rel: *mut lv_style_t, - pub pr: *mut lv_style_t, - pub tgl_rel: *mut lv_style_t, - pub tgl_pr: *mut lv_style_t, - pub ina: *mut lv_style_t, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_theme_t__bindgen_ty_1__bindgen_ty_18 { - pub bg: *mut lv_style_t, - pub sel: *mut lv_style_t, - pub sb: *mut lv_style_t, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_theme_t__bindgen_ty_1__bindgen_ty_19 { - pub bg: *mut lv_style_t, - pub sel: *mut lv_style_t, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_theme_t__bindgen_ty_1__bindgen_ty_20 { - pub bg: *mut lv_style_t, - pub indic: *mut lv_style_t, - pub btn: lv_theme_t__bindgen_ty_1__bindgen_ty_20__bindgen_ty_1, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_theme_t__bindgen_ty_1__bindgen_ty_20__bindgen_ty_1 { - pub bg: *mut lv_style_t, - pub rel: *mut lv_style_t, - pub pr: *mut lv_style_t, - pub tgl_rel: *mut lv_style_t, - pub tgl_pr: *mut lv_style_t, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_theme_t__bindgen_ty_1__bindgen_ty_21 { - pub bg: *mut lv_style_t, - pub scrl: *mut lv_style_t, - pub sb: *mut lv_style_t, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_theme_t__bindgen_ty_1__bindgen_ty_22 { - pub bg: *mut lv_style_t, - pub cell: *mut lv_style_t, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_theme_t__bindgen_ty_1__bindgen_ty_23 { - pub bg: *mut lv_style_t, - pub sb: *mut lv_style_t, - pub header: *mut lv_style_t, - pub content: *mut lv_style_t, - pub btn: lv_theme_t__bindgen_ty_1__bindgen_ty_23__bindgen_ty_1, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_theme_t__bindgen_ty_1__bindgen_ty_23__bindgen_ty_1 { - pub rel: *mut lv_style_t, - pub pr: *mut lv_style_t, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_theme_t__bindgen_ty_2 { - pub style_mod_xcb: lv_group_style_mod_cb_t, - pub style_mod_edit_xcb: lv_group_style_mod_cb_t, -} -extern "C" { - #[doc = " Set a theme for the system."] - #[doc = " From now, all the created objects will use styles from this theme by default"] - #[doc = " @param th pointer to theme (return value of: 'lv_theme_init_xxx()')"] - pub fn lv_theme_set_current(th: *mut lv_theme_t); -} -extern "C" { - #[doc = " Get the current system theme."] - #[doc = " @return pointer to the current system theme. NULL if not set."] - pub fn lv_theme_get_current() -> *mut lv_theme_t; -} -#[doc = " This describes a glyph."] -#[repr(C)] -#[repr(align(4))] -#[derive(Debug, Copy, Clone)] -pub struct lv_font_fmt_txt_glyph_dsc_t { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, - #[doc = "< Width of the glyph's bounding box"] - pub box_w: u8, - #[doc = "< Height of the glyph's bounding box"] - pub box_h: u8, - #[doc = "< x offset of the bounding box"] - pub ofs_x: i8, - #[doc = "< y offset of the bounding box. Measured from the top of the line"] - pub ofs_y: i8, -} -impl lv_font_fmt_txt_glyph_dsc_t { - #[inline] - pub fn bitmap_index(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 20u8) as u32) } - } - #[inline] - pub fn set_bitmap_index(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 20u8, val as u64) - } - } - #[inline] - pub fn adv_w(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(20usize, 12u8) as u32) } - } - #[inline] - pub fn set_adv_w(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(20usize, 12u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1( - bitmap_index: u32, - adv_w: u32, - ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 20u8, { - let bitmap_index: u32 = unsafe { ::core::mem::transmute(bitmap_index) }; - bitmap_index as u64 - }); - __bindgen_bitfield_unit.set(20usize, 12u8, { - let adv_w: u32 = unsafe { ::core::mem::transmute(adv_w) }; - adv_w as u64 - }); - __bindgen_bitfield_unit - } -} -pub const LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY: _bindgen_ty_20 = 0; -pub const LV_FONT_FMT_TXT_CMAP_FORMAT0_FULL: _bindgen_ty_20 = 1; -pub const LV_FONT_FMT_TXT_CMAP_SPARSE_TINY: _bindgen_ty_20 = 2; -pub const LV_FONT_FMT_TXT_CMAP_SPARSE_FULL: _bindgen_ty_20 = 3; -#[doc = " Format of font character map."] -pub type _bindgen_ty_20 = u32; -pub type lv_font_fmt_txt_cmap_type_t = u8; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_font_fmt_txt_cmap_t { - #[doc = " First Unicode character for this range"] - pub range_start: u32, - #[doc = " Number of Unicode characters related to this range."] - #[doc = " Last Unicode character = range_start + range_length - 1"] - pub range_length: u16, - #[doc = " First glyph ID (array index of `glyph_dsc`) for this range"] - pub glyph_id_start: u16, - pub unicode_list: *const u16, - #[doc = " if(type == LV_FONT_FMT_TXT_CMAP_FORMAT0_...) it's `uint8_t *`"] - #[doc = " if(type == LV_FONT_FMT_TXT_CMAP_SPARSE_...) it's `uint16_t *`"] - pub glyph_id_ofs_list: *const cty::c_void, - #[doc = " Length of `unicode_list` and/or `glyph_id_ofs_list`"] - pub list_length: u16, - #[doc = " Type of this character map"] - pub type_: lv_font_fmt_txt_cmap_type_t, -} -#[doc = " A simple mapping of kern values from pairs"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_font_fmt_txt_kern_pair_t { - pub glyph_ids: *const cty::c_void, - pub values: *const i8, - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, -} -impl lv_font_fmt_txt_kern_pair_t { - #[inline] - pub fn pair_cnt(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 24u8) as u32) } - } - #[inline] - pub fn set_pair_cnt(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 24u8, val as u64) - } - } - #[inline] - pub fn glyph_ids_size(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 2u8) as u32) } - } - #[inline] - pub fn set_glyph_ids_size(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(24usize, 2u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1( - pair_cnt: u32, - glyph_ids_size: u32, - ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 24u8, { - let pair_cnt: u32 = unsafe { ::core::mem::transmute(pair_cnt) }; - pair_cnt as u64 - }); - __bindgen_bitfield_unit.set(24usize, 2u8, { - let glyph_ids_size: u32 = unsafe { ::core::mem::transmute(glyph_ids_size) }; - glyph_ids_size as u64 - }); - __bindgen_bitfield_unit - } -} -#[doc = " More complex but more optimal class based kern value storage"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_font_fmt_txt_kern_classes_t { - pub class_pair_values: *const i8, - pub left_class_mapping: *const u8, - pub right_class_mapping: *const u8, - pub left_class_cnt: u8, - pub right_class_cnt: u8, -} -pub const lv_font_fmt_txt_bitmap_format_t_LV_FONT_FMT_TXT_PLAIN: lv_font_fmt_txt_bitmap_format_t = - 0; -pub const lv_font_fmt_txt_bitmap_format_t_LV_FONT_FMT_TXT_COMPRESSED: - lv_font_fmt_txt_bitmap_format_t = 1; -#[doc = " Bitmap formats"] -pub type lv_font_fmt_txt_bitmap_format_t = u32; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_font_fmt_txt_dsc_t { - pub glyph_bitmap: *const u8, - pub glyph_dsc: *const lv_font_fmt_txt_glyph_dsc_t, - pub cmaps: *const lv_font_fmt_txt_cmap_t, - pub kern_dsc: *const cty::c_void, - pub kern_scale: u16, - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize], u16>, - pub last_letter: u32, - pub last_glyph_id: u32, -} -impl lv_font_fmt_txt_dsc_t { - #[inline] - pub fn cmap_num(&self) -> u16 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 10u8) as u16) } - } - #[inline] - pub fn set_cmap_num(&mut self, val: u16) { - unsafe { - let val: u16 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 10u8, val as u64) - } - } - #[inline] - pub fn bpp(&self) -> u16 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 3u8) as u16) } - } - #[inline] - pub fn set_bpp(&mut self, val: u16) { - unsafe { - let val: u16 = ::core::mem::transmute(val); - self._bitfield_1.set(10usize, 3u8, val as u64) - } - } - #[inline] - pub fn kern_classes(&self) -> u16 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u16) } - } - #[inline] - pub fn set_kern_classes(&mut self, val: u16) { - unsafe { - let val: u16 = ::core::mem::transmute(val); - self._bitfield_1.set(13usize, 1u8, val as u64) - } - } - #[inline] - pub fn bitmap_format(&self) -> u16 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(14usize, 2u8) as u16) } - } - #[inline] - pub fn set_bitmap_format(&mut self, val: u16) { - unsafe { - let val: u16 = ::core::mem::transmute(val); - self._bitfield_1.set(14usize, 2u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1( - cmap_num: u16, - bpp: u16, - kern_classes: u16, - bitmap_format: u16, - ) -> __BindgenBitfieldUnit<[u8; 2usize], u16> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize], u16> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 10u8, { - let cmap_num: u16 = unsafe { ::core::mem::transmute(cmap_num) }; - cmap_num as u64 - }); - __bindgen_bitfield_unit.set(10usize, 3u8, { - let bpp: u16 = unsafe { ::core::mem::transmute(bpp) }; - bpp as u64 - }); - __bindgen_bitfield_unit.set(13usize, 1u8, { - let kern_classes: u16 = unsafe { ::core::mem::transmute(kern_classes) }; - kern_classes as u64 - }); - __bindgen_bitfield_unit.set(14usize, 2u8, { - let bitmap_format: u16 = unsafe { ::core::mem::transmute(bitmap_format) }; - bitmap_format as u64 - }); - __bindgen_bitfield_unit - } -} -extern "C" { - #[doc = " Used as `get_glyph_bitmap` callback in LittelvGL's native font format if the font is uncompressed."] - #[doc = " @param font pointer to font"] - #[doc = " @param unicode_letter an unicode letter which bitmap should be get"] - #[doc = " @return pointer to the bitmap or NULL if not found"] - pub fn lv_font_get_bitmap_fmt_txt(font: *const lv_font_t, letter: u32) -> *const u8; -} -extern "C" { - #[doc = " Used as `get_glyph_dsc` callback in LittelvGL's native font format if the font is uncompressed."] - #[doc = " @param font_p pointer to font"] - #[doc = " @param dsc_out store the result descriptor here"] - #[doc = " @param letter an UNICODE letter code"] - #[doc = " @return true: descriptor is successfully loaded into `dsc_out`."] - #[doc = " false: the letter was not found, no data is loaded to `dsc_out`"] - pub fn lv_font_get_glyph_dsc_fmt_txt( - font: *const lv_font_t, - dsc_out: *mut lv_font_glyph_dsc_t, - unicode_letter: u32, - unicode_letter_next: u32, - ) -> bool; -} -pub type va_list = __builtin_va_list; -pub type __gnuc_va_list = __builtin_va_list; -extern "C" { - #[doc = " Tiny snprintf/vsnprintf implementation"] - #[doc = " \\param buffer A pointer to the buffer where to store the formatted string"] - #[doc = " \\param count The maximum number of characters to store in the buffer, including a terminating null character"] - #[doc = " \\param format A string that specifies the format of the output"] - #[doc = " \\param va A value identifying a variable arguments list"] - #[doc = " \\return The number of characters that COULD have been written into the buffer, not counting the terminating"] - #[doc = " null character. A value equal or larger than count indicates truncation. Only when the returned value"] - #[doc = " is non-negative and less than count, the string has been completely written."] - pub fn lv_snprintf( - buffer: *mut cty::c_char, - count: size_t, - format: *const cty::c_char, - ... - ) -> cty::c_int; -} -extern "C" { - pub fn lv_vsnprintf( - buffer: *mut cty::c_char, - count: size_t, - format: *const cty::c_char, - va: va_list, - ) -> cty::c_int; -} -#[doc = "< No layout"] -pub const LV_LAYOUT_OFF: _bindgen_ty_21 = 0; -#[doc = "< Center objects"] -pub const LV_LAYOUT_CENTER: _bindgen_ty_21 = 1; -#[doc = "< Column left align"] -pub const LV_LAYOUT_COL_L: _bindgen_ty_21 = 2; -#[doc = "< Column middle align"] -pub const LV_LAYOUT_COL_M: _bindgen_ty_21 = 3; -#[doc = "< Column right align"] -pub const LV_LAYOUT_COL_R: _bindgen_ty_21 = 4; -#[doc = "< Row top align"] -pub const LV_LAYOUT_ROW_T: _bindgen_ty_21 = 5; -#[doc = "< Row middle align"] -pub const LV_LAYOUT_ROW_M: _bindgen_ty_21 = 6; -#[doc = "< Row bottom align"] -pub const LV_LAYOUT_ROW_B: _bindgen_ty_21 = 7; -#[doc = "< Put as many object as possible in row and begin a new row"] -pub const LV_LAYOUT_PRETTY: _bindgen_ty_21 = 8; -#[doc = "< Align same-sized object into a grid"] -pub const LV_LAYOUT_GRID: _bindgen_ty_21 = 9; -pub const _LV_LAYOUT_NUM: _bindgen_ty_21 = 10; -#[doc = " Container layout options"] -pub type _bindgen_ty_21 = u32; -pub type lv_layout_t = u8; -#[doc = "< Do not change the size automatically"] -pub const LV_FIT_NONE: _bindgen_ty_22 = 0; -#[doc = "< Shrink wrap around the children"] -pub const LV_FIT_TIGHT: _bindgen_ty_22 = 1; -#[doc = "< Align the size to the parent's edge"] -pub const LV_FIT_FLOOD: _bindgen_ty_22 = 2; -#[doc = "< Align the size to the parent's edge first but if there is an object out of it"] -#[doc = "then get larger"] -pub const LV_FIT_FILL: _bindgen_ty_22 = 3; -pub const _LV_FIT_NUM: _bindgen_ty_22 = 4; -#[doc = " How to resize the container around the children."] -pub type _bindgen_ty_22 = u32; -pub type lv_fit_t = u8; -#[repr(C, packed)] -#[derive(Debug, Copy, Clone)] -pub struct lv_cont_ext_t { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize], u8>, -} -impl lv_cont_ext_t { - #[inline] - pub fn layout(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u8) } - } - #[inline] - pub fn set_layout(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 4u8, val as u64) - } - } - #[inline] - pub fn fit_left(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 2u8) as u8) } - } - #[inline] - pub fn set_fit_left(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(4usize, 2u8, val as u64) - } - } - #[inline] - pub fn fit_right(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 2u8) as u8) } - } - #[inline] - pub fn set_fit_right(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(6usize, 2u8, val as u64) - } - } - #[inline] - pub fn fit_top(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 2u8) as u8) } - } - #[inline] - pub fn set_fit_top(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(8usize, 2u8, val as u64) - } - } - #[inline] - pub fn fit_bottom(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 2u8) as u8) } - } - #[inline] - pub fn set_fit_bottom(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(10usize, 2u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1( - layout: u8, - fit_left: u8, - fit_right: u8, - fit_top: u8, - fit_bottom: u8, - ) -> __BindgenBitfieldUnit<[u8; 2usize], u8> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize], u8> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 4u8, { - let layout: u8 = unsafe { ::core::mem::transmute(layout) }; - layout as u64 - }); - __bindgen_bitfield_unit.set(4usize, 2u8, { - let fit_left: u8 = unsafe { ::core::mem::transmute(fit_left) }; - fit_left as u64 - }); - __bindgen_bitfield_unit.set(6usize, 2u8, { - let fit_right: u8 = unsafe { ::core::mem::transmute(fit_right) }; - fit_right as u64 - }); - __bindgen_bitfield_unit.set(8usize, 2u8, { - let fit_top: u8 = unsafe { ::core::mem::transmute(fit_top) }; - fit_top as u64 - }); - __bindgen_bitfield_unit.set(10usize, 2u8, { - let fit_bottom: u8 = unsafe { ::core::mem::transmute(fit_bottom) }; - fit_bottom as u64 - }); - __bindgen_bitfield_unit - } -} -pub const LV_CONT_STYLE_MAIN: _bindgen_ty_23 = 0; -pub type _bindgen_ty_23 = u32; -pub type lv_cont_style_t = u8; -extern "C" { - #[doc = " Create a container objects"] - #[doc = " @param par pointer to an object, it will be the parent of the new container"] - #[doc = " @param copy pointer to a container object, if not NULL then the new object will be copied from it"] - #[doc = " @return pointer to the created container"] - pub fn lv_cont_create(par: *mut lv_obj_t, copy: *const lv_obj_t) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Set a layout on a container"] - #[doc = " @param cont pointer to a container object"] - #[doc = " @param layout a layout from 'lv_cont_layout_t'"] - pub fn lv_cont_set_layout(cont: *mut lv_obj_t, layout: lv_layout_t); -} -extern "C" { - #[doc = " Set the fit policy in all 4 directions separately."] - #[doc = " It tell how to change the container's size automatically."] - #[doc = " @param cont pointer to a container object"] - #[doc = " @param left left fit policy from `lv_fit_t`"] - #[doc = " @param right right fit policy from `lv_fit_t`"] - #[doc = " @param top top fit policy from `lv_fit_t`"] - #[doc = " @param bottom bottom fit policy from `lv_fit_t`"] - pub fn lv_cont_set_fit4( - cont: *mut lv_obj_t, - left: lv_fit_t, - right: lv_fit_t, - top: lv_fit_t, - bottom: lv_fit_t, - ); -} -extern "C" { - #[doc = " Get the layout of a container"] - #[doc = " @param cont pointer to container object"] - #[doc = " @return the layout from 'lv_cont_layout_t'"] - pub fn lv_cont_get_layout(cont: *const lv_obj_t) -> lv_layout_t; -} -extern "C" { - #[doc = " Get left fit mode of a container"] - #[doc = " @param cont pointer to a container object"] - #[doc = " @return an element of `lv_fit_t`"] - pub fn lv_cont_get_fit_left(cont: *const lv_obj_t) -> lv_fit_t; -} -extern "C" { - #[doc = " Get right fit mode of a container"] - #[doc = " @param cont pointer to a container object"] - #[doc = " @return an element of `lv_fit_t`"] - pub fn lv_cont_get_fit_right(cont: *const lv_obj_t) -> lv_fit_t; -} -extern "C" { - #[doc = " Get top fit mode of a container"] - #[doc = " @param cont pointer to a container object"] - #[doc = " @return an element of `lv_fit_t`"] - pub fn lv_cont_get_fit_top(cont: *const lv_obj_t) -> lv_fit_t; -} -extern "C" { - #[doc = " Get bottom fit mode of a container"] - #[doc = " @param cont pointer to a container object"] - #[doc = " @return an element of `lv_fit_t`"] - pub fn lv_cont_get_fit_bottom(cont: *const lv_obj_t) -> lv_fit_t; -} -#[doc = "Released"] -pub const LV_BTN_STATE_REL: _bindgen_ty_24 = 0; -#[doc = "Pressed"] -pub const LV_BTN_STATE_PR: _bindgen_ty_24 = 1; -#[doc = "Toggled released"] -pub const LV_BTN_STATE_TGL_REL: _bindgen_ty_24 = 2; -#[doc = "Toggled pressed"] -pub const LV_BTN_STATE_TGL_PR: _bindgen_ty_24 = 3; -#[doc = "Inactive"] -pub const LV_BTN_STATE_INA: _bindgen_ty_24 = 4; -#[doc = "Number of states"] -pub const _LV_BTN_STATE_NUM: _bindgen_ty_24 = 5; -#[doc = " Possible states of a button."] -#[doc = " It can be used not only by buttons but other button-like objects too"] -pub type _bindgen_ty_24 = u32; -pub type lv_btn_state_t = u8; -#[doc = " Extended data of button"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_btn_ext_t { - #[doc = " Ext. of ancestor"] - pub cont: lv_cont_ext_t, - #[doc = "Styles in each state"] - pub styles: [*const lv_style_t; 5usize], - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, - pub __bindgen_padding_0: [u8; 3usize], -} -impl lv_btn_ext_t { - #[inline] - pub fn state(&self) -> lv_btn_state_t { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 3u8) as u8) } - } - #[inline] - pub fn set_state(&mut self, val: lv_btn_state_t) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 3u8, val as u64) - } - } - #[inline] - pub fn toggle(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u8) } - } - #[inline] - pub fn set_toggle(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(3usize, 1u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1( - state: lv_btn_state_t, - toggle: u8, - ) -> __BindgenBitfieldUnit<[u8; 1usize], u8> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 3u8, { - let state: u8 = unsafe { ::core::mem::transmute(state) }; - state as u64 - }); - __bindgen_bitfield_unit.set(3usize, 1u8, { - let toggle: u8 = unsafe { ::core::mem::transmute(toggle) }; - toggle as u64 - }); - __bindgen_bitfield_unit - } -} -#[doc = " Release style"] -pub const LV_BTN_STYLE_REL: _bindgen_ty_25 = 0; -#[doc = "Pressed style"] -pub const LV_BTN_STYLE_PR: _bindgen_ty_25 = 1; -#[doc = " Toggle released style"] -pub const LV_BTN_STYLE_TGL_REL: _bindgen_ty_25 = 2; -#[doc = " Toggle pressed style"] -pub const LV_BTN_STYLE_TGL_PR: _bindgen_ty_25 = 3; -#[doc = " Inactive style"] -pub const LV_BTN_STYLE_INA: _bindgen_ty_25 = 4; -#[doc = "Styles"] -pub type _bindgen_ty_25 = u32; -pub type lv_btn_style_t = u8; -extern "C" { - #[doc = " Create a button object"] - #[doc = " @param par pointer to an object, it will be the parent of the new button"] - #[doc = " @param copy pointer to a button object, if not NULL then the new object will be copied from it"] - #[doc = " @return pointer to the created button"] - pub fn lv_btn_create(par: *mut lv_obj_t, copy: *const lv_obj_t) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Enable the toggled states. On release the button will change from/to toggled state."] - #[doc = " @param btn pointer to a button object"] - #[doc = " @param tgl true: enable toggled states, false: disable"] - pub fn lv_btn_set_toggle(btn: *mut lv_obj_t, tgl: bool); -} -extern "C" { - #[doc = " Set the state of the button"] - #[doc = " @param btn pointer to a button object"] - #[doc = " @param state the new state of the button (from lv_btn_state_t enum)"] - pub fn lv_btn_set_state(btn: *mut lv_obj_t, state: lv_btn_state_t); -} -extern "C" { - #[doc = " Toggle the state of the button (ON->OFF, OFF->ON)"] - #[doc = " @param btn pointer to a button object"] - pub fn lv_btn_toggle(btn: *mut lv_obj_t); -} -extern "C" { - #[doc = " Set time of the ink effect (draw a circle on click to animate in the new state)"] - #[doc = " @param btn pointer to a button object"] - #[doc = " @param time the time of the ink animation"] - pub fn lv_btn_set_ink_in_time(btn: *mut lv_obj_t, time: u16); -} -extern "C" { - #[doc = " Set the wait time before the ink disappears"] - #[doc = " @param btn pointer to a button object"] - #[doc = " @param time the time of the ink animation"] - pub fn lv_btn_set_ink_wait_time(btn: *mut lv_obj_t, time: u16); -} -extern "C" { - #[doc = " Set time of the ink out effect (animate to the released state)"] - #[doc = " @param btn pointer to a button object"] - #[doc = " @param time the time of the ink animation"] - pub fn lv_btn_set_ink_out_time(btn: *mut lv_obj_t, time: u16); -} -extern "C" { - #[doc = " Set a style of a button."] - #[doc = " @param btn pointer to button object"] - #[doc = " @param type which style should be set"] - #[doc = " @param style pointer to a style"] - pub fn lv_btn_set_style(btn: *mut lv_obj_t, type_: lv_btn_style_t, style: *const lv_style_t); -} -extern "C" { - #[doc = " Get the current state of the button"] - #[doc = " @param btn pointer to a button object"] - #[doc = " @return the state of the button (from lv_btn_state_t enum)"] - pub fn lv_btn_get_state(btn: *const lv_obj_t) -> lv_btn_state_t; -} -extern "C" { - #[doc = " Get the toggle enable attribute of the button"] - #[doc = " @param btn pointer to a button object"] - #[doc = " @return true: toggle enabled, false: disabled"] - pub fn lv_btn_get_toggle(btn: *const lv_obj_t) -> bool; -} -extern "C" { - #[doc = " Get time of the ink in effect (draw a circle on click to animate in the new state)"] - #[doc = " @param btn pointer to a button object"] - #[doc = " @return the time of the ink animation"] - pub fn lv_btn_get_ink_in_time(btn: *const lv_obj_t) -> u16; -} -extern "C" { - #[doc = " Get the wait time before the ink disappears"] - #[doc = " @param btn pointer to a button object"] - #[doc = " @return the time of the ink animation"] - pub fn lv_btn_get_ink_wait_time(btn: *const lv_obj_t) -> u16; -} -extern "C" { - #[doc = " Get time of the ink out effect (animate to the releases state)"] - #[doc = " @param btn pointer to a button object"] - #[doc = " @return the time of the ink animation"] - pub fn lv_btn_get_ink_out_time(btn: *const lv_obj_t) -> u16; -} -extern "C" { - #[doc = " Get style of a button."] - #[doc = " @param btn pointer to button object"] - #[doc = " @param type which style should be get"] - #[doc = " @return style pointer to the style"] - pub fn lv_btn_get_style(btn: *const lv_obj_t, type_: lv_btn_style_t) -> *const lv_style_t; -} -pub const LV_TXT_FLAG_NONE: _bindgen_ty_26 = 0; -#[doc = "< Enable parsing of recolor command"] -pub const LV_TXT_FLAG_RECOLOR: _bindgen_ty_26 = 1; -#[doc = "< Ignore width to avoid automatic word wrapping"] -pub const LV_TXT_FLAG_EXPAND: _bindgen_ty_26 = 2; -#[doc = "< Align the text to the middle"] -pub const LV_TXT_FLAG_CENTER: _bindgen_ty_26 = 4; -#[doc = "< Align the text to the right"] -pub const LV_TXT_FLAG_RIGHT: _bindgen_ty_26 = 8; -#[doc = " TYPEDEFS"] -#[doc = " Options for text rendering."] -pub type _bindgen_ty_26 = u32; -pub type lv_txt_flag_t = u8; -#[doc = "< Waiting for command"] -pub const LV_TXT_CMD_STATE_WAIT: _bindgen_ty_27 = 0; -#[doc = "< Processing the parameter"] -pub const LV_TXT_CMD_STATE_PAR: _bindgen_ty_27 = 1; -#[doc = "< Processing the command"] -pub const LV_TXT_CMD_STATE_IN: _bindgen_ty_27 = 2; -#[doc = " State machine for text renderer."] -pub type _bindgen_ty_27 = u32; -pub type lv_txt_cmd_state_t = u8; -extern "C" { - #[doc = " Get size of a text"] - #[doc = " @param size_res pointer to a 'point_t' variable to store the result"] - #[doc = " @param text pointer to a text"] - #[doc = " @param font pinter to font of the text"] - #[doc = " @param letter_space letter space of the text"] - #[doc = " @param line_space line space of the text"] - #[doc = " @param flags settings for the text from 'txt_flag_t' enum"] - #[doc = " @param max_width max with of the text (break the lines to fit this size) Set CORD_MAX to avoid"] - #[doc = " line breaks"] - pub fn lv_txt_get_size( - size_res: *mut lv_point_t, - text: *const cty::c_char, - font: *const lv_font_t, - letter_space: lv_coord_t, - line_space: lv_coord_t, - max_width: lv_coord_t, - flag: lv_txt_flag_t, - ); -} -extern "C" { - #[doc = " Get the next line of text. Check line length and break chars too."] - #[doc = " @param txt a '\\0' terminated string"] - #[doc = " @param font pointer to a font"] - #[doc = " @param letter_space letter space"] - #[doc = " @param max_width max with of the text (break the lines to fit this size) Set CORD_MAX to avoid"] - #[doc = " line breaks"] - #[doc = " @param flags settings for the text from 'txt_flag_type' enum"] - #[doc = " @return the index of the first char of the new line (in byte index not letter index. With UTF-8"] - #[doc = " they are different)"] - pub fn lv_txt_get_next_line( - txt: *const cty::c_char, - font: *const lv_font_t, - letter_space: lv_coord_t, - max_width: lv_coord_t, - flag: lv_txt_flag_t, - ) -> u16; -} -extern "C" { - #[doc = " Give the length of a text with a given font"] - #[doc = " @param txt a '\\0' terminate string"] - #[doc = " @param length length of 'txt' in byte count and not characters (Á is 1 character but 2 bytes in"] - #[doc = " UTF-8)"] - #[doc = " @param font pointer to a font"] - #[doc = " @param letter_space letter space"] - #[doc = " @param flags settings for the text from 'txt_flag_t' enum"] - #[doc = " @return length of a char_num long text"] - pub fn lv_txt_get_width( - txt: *const cty::c_char, - length: u16, - font: *const lv_font_t, - letter_space: lv_coord_t, - flag: lv_txt_flag_t, - ) -> lv_coord_t; -} -extern "C" { - #[doc = " Check next character in a string and decide if te character is part of the command or not"] - #[doc = " @param state pointer to a txt_cmd_state_t variable which stores the current state of command"] - #[doc = " processing"] - #[doc = " @param c the current character"] - #[doc = " @return true: the character is part of a command and should not be written,"] - #[doc = " false: the character should be written"] - pub fn lv_txt_is_cmd(state: *mut lv_txt_cmd_state_t, c: u32) -> bool; -} -extern "C" { - #[doc = " Insert a string into an other"] - #[doc = " @param txt_buf the original text (must be big enough for the result text)"] - #[doc = " @param pos position to insert (0: before the original text, 1: after the first char etc.)"] - #[doc = " @param ins_txt text to insert"] - pub fn lv_txt_ins(txt_buf: *mut cty::c_char, pos: u32, ins_txt: *const cty::c_char); -} -extern "C" { - #[doc = " Delete a part of a string"] - #[doc = " @param txt string to modify"] - #[doc = " @param pos position where to start the deleting (0: before the first char, 1: after the first"] - #[doc = " char etc.)"] - #[doc = " @param len number of characters to delete"] - pub fn lv_txt_cut(txt: *mut cty::c_char, pos: u32, len: u32); -} -extern "C" { - pub static mut lv_txt_encoded_size: - ::core::option::Option u8>; -} -extern "C" { - pub static mut lv_txt_unicode_to_encoded: - ::core::option::Option u32>; -} -extern "C" { - pub static mut lv_txt_encoded_conv_wc: - ::core::option::Option u32>; -} -extern "C" { - pub static mut lv_txt_encoded_next: ::core::option::Option< - unsafe extern "C" fn(arg1: *const cty::c_char, arg2: *mut u32) -> u32, - >; -} -extern "C" { - pub static mut lv_txt_encoded_prev: ::core::option::Option< - unsafe extern "C" fn(arg1: *const cty::c_char, arg2: *mut u32) -> u32, - >; -} -extern "C" { - pub static mut lv_txt_encoded_get_byte_id: - ::core::option::Option u32>; -} -extern "C" { - pub static mut lv_txt_encoded_get_char_id: - ::core::option::Option u32>; -} -extern "C" { - pub static mut lv_txt_get_encoded_length: - ::core::option::Option u32>; -} -pub const LV_IMG_SRC_VARIABLE: _bindgen_ty_28 = 0; -#[doc = " Binary/C variable"] -pub const LV_IMG_SRC_FILE: _bindgen_ty_28 = 1; -#[doc = " File in filesystem"] -pub const LV_IMG_SRC_SYMBOL: _bindgen_ty_28 = 2; -#[doc = " Symbol (@ref lv_symbol_def.h)"] -pub const LV_IMG_SRC_UNKNOWN: _bindgen_ty_28 = 3; -#[doc = " Source of image."] -pub type _bindgen_ty_28 = u32; -pub type lv_img_src_t = u8; -#[doc = " LittlevGL image header"] -#[repr(C)] -#[repr(align(4))] -#[derive(Debug, Copy, Clone)] -pub struct lv_img_header_t { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u16>, -} -impl lv_img_header_t { - #[inline] - pub fn cf(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 5u8) as u32) } - } - #[inline] - pub fn set_cf(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 5u8, val as u64) - } - } - #[inline] - pub fn always_zero(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 3u8) as u32) } - } - #[inline] - pub fn set_always_zero(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(5usize, 3u8, val as u64) - } - } - #[inline] - pub fn reserved(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 2u8) as u32) } - } - #[inline] - pub fn set_reserved(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(8usize, 2u8, val as u64) - } - } - #[inline] - pub fn w(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 11u8) as u32) } - } - #[inline] - pub fn set_w(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(10usize, 11u8, val as u64) - } - } - #[inline] - pub fn h(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(21usize, 11u8) as u32) } - } - #[inline] - pub fn set_h(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(21usize, 11u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1( - cf: u32, - always_zero: u32, - reserved: u32, - w: u32, - h: u32, - ) -> __BindgenBitfieldUnit<[u8; 4usize], u16> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u16> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 5u8, { - let cf: u32 = unsafe { ::core::mem::transmute(cf) }; - cf as u64 - }); - __bindgen_bitfield_unit.set(5usize, 3u8, { - let always_zero: u32 = unsafe { ::core::mem::transmute(always_zero) }; - always_zero as u64 - }); - __bindgen_bitfield_unit.set(8usize, 2u8, { - let reserved: u32 = unsafe { ::core::mem::transmute(reserved) }; - reserved as u64 - }); - __bindgen_bitfield_unit.set(10usize, 11u8, { - let w: u32 = unsafe { ::core::mem::transmute(w) }; - w as u64 - }); - __bindgen_bitfield_unit.set(21usize, 11u8, { - let h: u32 = unsafe { ::core::mem::transmute(h) }; - h as u64 - }); - __bindgen_bitfield_unit - } -} -pub const LV_IMG_CF_UNKNOWN: _bindgen_ty_29 = 0; -#[doc = "< Contains the file as it is. Needs custom decoder function"] -pub const LV_IMG_CF_RAW: _bindgen_ty_29 = 1; -#[doc = "< Contains the file as it is. The image has alpha. Needs custom decoder"] -#[doc = "function"] -pub const LV_IMG_CF_RAW_ALPHA: _bindgen_ty_29 = 2; -#[doc = "< Contains the file as it is. The image is chroma keyed. Needs"] -#[doc = "custom decoder function"] -pub const LV_IMG_CF_RAW_CHROMA_KEYED: _bindgen_ty_29 = 3; -#[doc = "< Color format and depth should match with LV_COLOR settings"] -pub const LV_IMG_CF_TRUE_COLOR: _bindgen_ty_29 = 4; -#[doc = "< Same as `LV_IMG_CF_TRUE_COLOR` but every pixel has an alpha byte"] -pub const LV_IMG_CF_TRUE_COLOR_ALPHA: _bindgen_ty_29 = 5; -#[doc = "< Same as `LV_IMG_CF_TRUE_COLOR` but LV_COLOR_TRANSP pixels"] -#[doc = "will be transparent"] -pub const LV_IMG_CF_TRUE_COLOR_CHROMA_KEYED: _bindgen_ty_29 = 6; -#[doc = "< Can have 2 different colors in a palette (always chroma keyed)"] -pub const LV_IMG_CF_INDEXED_1BIT: _bindgen_ty_29 = 7; -#[doc = "< Can have 4 different colors in a palette (always chroma keyed)"] -pub const LV_IMG_CF_INDEXED_2BIT: _bindgen_ty_29 = 8; -#[doc = "< Can have 16 different colors in a palette (always chroma keyed)"] -pub const LV_IMG_CF_INDEXED_4BIT: _bindgen_ty_29 = 9; -#[doc = "< Can have 256 different colors in a palette (always chroma keyed)"] -pub const LV_IMG_CF_INDEXED_8BIT: _bindgen_ty_29 = 10; -#[doc = "< Can have one color and it can be drawn or not"] -pub const LV_IMG_CF_ALPHA_1BIT: _bindgen_ty_29 = 11; -#[doc = "< Can have one color but 4 different alpha value"] -pub const LV_IMG_CF_ALPHA_2BIT: _bindgen_ty_29 = 12; -#[doc = "< Can have one color but 16 different alpha value"] -pub const LV_IMG_CF_ALPHA_4BIT: _bindgen_ty_29 = 13; -#[doc = "< Can have one color but 256 different alpha value"] -pub const LV_IMG_CF_ALPHA_8BIT: _bindgen_ty_29 = 14; -#[doc = "< Reserved for further use."] -pub const LV_IMG_CF_RESERVED_15: _bindgen_ty_29 = 15; -#[doc = "< Reserved for further use."] -pub const LV_IMG_CF_RESERVED_16: _bindgen_ty_29 = 16; -#[doc = "< Reserved for further use."] -pub const LV_IMG_CF_RESERVED_17: _bindgen_ty_29 = 17; -#[doc = "< Reserved for further use."] -pub const LV_IMG_CF_RESERVED_18: _bindgen_ty_29 = 18; -#[doc = "< Reserved for further use."] -pub const LV_IMG_CF_RESERVED_19: _bindgen_ty_29 = 19; -#[doc = "< Reserved for further use."] -pub const LV_IMG_CF_RESERVED_20: _bindgen_ty_29 = 20; -#[doc = "< Reserved for further use."] -pub const LV_IMG_CF_RESERVED_21: _bindgen_ty_29 = 21; -#[doc = "< Reserved for further use."] -pub const LV_IMG_CF_RESERVED_22: _bindgen_ty_29 = 22; -#[doc = "< Reserved for further use."] -pub const LV_IMG_CF_RESERVED_23: _bindgen_ty_29 = 23; -#[doc = "< User holder encoding format."] -pub const LV_IMG_CF_USER_ENCODED_0: _bindgen_ty_29 = 24; -#[doc = "< User holder encoding format."] -pub const LV_IMG_CF_USER_ENCODED_1: _bindgen_ty_29 = 25; -#[doc = "< User holder encoding format."] -pub const LV_IMG_CF_USER_ENCODED_2: _bindgen_ty_29 = 26; -#[doc = "< User holder encoding format."] -pub const LV_IMG_CF_USER_ENCODED_3: _bindgen_ty_29 = 27; -#[doc = "< User holder encoding format."] -pub const LV_IMG_CF_USER_ENCODED_4: _bindgen_ty_29 = 28; -#[doc = "< User holder encoding format."] -pub const LV_IMG_CF_USER_ENCODED_5: _bindgen_ty_29 = 29; -#[doc = "< User holder encoding format."] -pub const LV_IMG_CF_USER_ENCODED_6: _bindgen_ty_29 = 30; -#[doc = "< User holder encoding format."] -pub const LV_IMG_CF_USER_ENCODED_7: _bindgen_ty_29 = 31; -pub type _bindgen_ty_29 = u32; -pub type lv_img_cf_t = u8; -#[doc = " Image header it is compatible with"] -#[doc = " the result from image converter utility"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_img_dsc_t { - pub header: lv_img_header_t, - pub data_size: u32, - pub data: *const u8, -} -#[doc = " Get info from an image and store in the `header`"] -#[doc = " @param src the image source. Can be a pointer to a C array or a file name (Use"] -#[doc = " `lv_img_src_get_type` to determine the type)"] -#[doc = " @param header store the info here"] -#[doc = " @return LV_RES_OK: info written correctly; LV_RES_INV: failed"] -pub type lv_img_decoder_info_f_t = ::core::option::Option< - unsafe extern "C" fn( - decoder: *mut _lv_img_decoder, - src: *const cty::c_void, - header: *mut lv_img_header_t, - ) -> lv_res_t, ->; -#[doc = " Open an image for decoding. Prepare it as it is required to read it later"] -#[doc = " @param decoder pointer to the decoder the function associated with"] -#[doc = " @param dsc pointer to decoder descriptor. `src`, `style` are already initialized in it."] -pub type lv_img_decoder_open_f_t = ::core::option::Option< - unsafe extern "C" fn(decoder: *mut _lv_img_decoder, dsc: *mut _lv_img_decoder_dsc) -> lv_res_t, ->; -#[doc = " Decode `len` pixels starting from the given `x`, `y` coordinates and store them in `buf`."] -#[doc = " Required only if the \"open\" function can't return with the whole decoded pixel array."] -#[doc = " @param decoder pointer to the decoder the function associated with"] -#[doc = " @param dsc pointer to decoder descriptor"] -#[doc = " @param x start x coordinate"] -#[doc = " @param y start y coordinate"] -#[doc = " @param len number of pixels to decode"] -#[doc = " @param buf a buffer to store the decoded pixels"] -#[doc = " @return LV_RES_OK: ok; LV_RES_INV: failed"] -pub type lv_img_decoder_read_line_f_t = ::core::option::Option< - unsafe extern "C" fn( - decoder: *mut _lv_img_decoder, - dsc: *mut _lv_img_decoder_dsc, - x: lv_coord_t, - y: lv_coord_t, - len: lv_coord_t, - buf: *mut u8, - ) -> lv_res_t, ->; -#[doc = " Close the pending decoding. Free resources etc."] -#[doc = " @param decoder pointer to the decoder the function associated with"] -#[doc = " @param dsc pointer to decoder descriptor"] -pub type lv_img_decoder_close_f_t = ::core::option::Option< - unsafe extern "C" fn(decoder: *mut _lv_img_decoder, dsc: *mut _lv_img_decoder_dsc), ->; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct _lv_img_decoder { - pub info_cb: lv_img_decoder_info_f_t, - pub open_cb: lv_img_decoder_open_f_t, - pub read_line_cb: lv_img_decoder_read_line_f_t, - pub close_cb: lv_img_decoder_close_f_t, - pub user_data: lv_img_decoder_user_data_t, -} -pub type lv_img_decoder_t = _lv_img_decoder; -#[doc = "Describe an image decoding session. Stores data about the decoding"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct _lv_img_decoder_dsc { - #[doc = "The decoder which was able to open the image source"] - pub decoder: *mut lv_img_decoder_t, - #[doc = "The image source. A file path like \"S:my_img.png\" or pointer to an `lv_img_dsc_t` variable"] - pub src: *const cty::c_void, - #[doc = "Style to draw the image."] - pub style: *const lv_style_t, - #[doc = "Type of the source: file or variable. Can be set in `open` function if required"] - pub src_type: lv_img_src_t, - #[doc = "Info about the opened image: color format, size, etc. MUST be set in `open` function"] - pub header: lv_img_header_t, - #[doc = " Pointer to a buffer where the image's data (pixels) are stored in a decoded, plain format."] - #[doc = " MUST be set in `open` function"] - pub img_data: *const u8, - #[doc = " How much time did it take to open the image. [ms]"] - #[doc = " If not set `lv_img_cache` will measure and set the time to open"] - pub time_to_open: u32, - #[doc = "A text to display instead of the image when the image can't be opened."] - #[doc = " Can be set in `open` function or set NULL."] - pub error_msg: *const cty::c_char, - #[doc = "Store any custom data here is required"] - pub user_data: *mut cty::c_void, -} -pub type lv_img_decoder_dsc_t = _lv_img_decoder_dsc; -extern "C" { - #[doc = " Initialize the image decoder module"] - pub fn lv_img_decoder_init(); -} -extern "C" { - #[doc = " Get information about an image."] - #[doc = " Try the created image decoder one by one. Once one is able to get info that info will be used."] - #[doc = " @param src the image source. Can be"] - #[doc = " 1) File name: E.g. \"S:folder/img1.png\" (The drivers needs to registered via `lv_fs_add_drv()`)"] - #[doc = " 2) Variable: Pointer to an `lv_img_dsc_t` variable"] - #[doc = " 3) Symbol: E.g. `LV_SYMBOL_OK`"] - #[doc = " @param header the image info will be stored here"] - #[doc = " @return LV_RES_OK: success; LV_RES_INV: wasn't able to get info about the image"] - pub fn lv_img_decoder_get_info( - src: *const cty::c_char, - header: *mut lv_img_header_t, - ) -> lv_res_t; -} -extern "C" { - #[doc = " Open an image."] - #[doc = " Try the created image decoder one by one. Once one is able to open the image that decoder is save in `dsc`"] - #[doc = " @param dsc describe a decoding session. Simply a pointer to an `lv_img_decoder_dsc_t` variable."] - #[doc = " @param src the image source. Can be"] - #[doc = " 1) File name: E.g. \"S:folder/img1.png\" (The drivers needs to registered via `lv_fs_add_drv()`)"] - #[doc = " 2) Variable: Pointer to an `lv_img_dsc_t` variable"] - #[doc = " 3) Symbol: E.g. `LV_SYMBOL_OK`"] - #[doc = " @param style the style of the image"] - #[doc = " @return LV_RES_OK: opened the image. `dsc->img_data` and `dsc->header` are set."] - #[doc = " LV_RES_INV: none of the registered image decoders were able to open the image."] - pub fn lv_img_decoder_open( - dsc: *mut lv_img_decoder_dsc_t, - src: *const cty::c_void, - style: *const lv_style_t, - ) -> lv_res_t; -} -extern "C" { - #[doc = " Read a line from an opened image"] - #[doc = " @param dsc pointer to `lv_img_decoder_dsc_t` used in `lv_img_decoder_open`"] - #[doc = " @param x start X coordinate (from left)"] - #[doc = " @param y start Y coordinate (from top)"] - #[doc = " @param len number of pixels to read"] - #[doc = " @param buf store the data here"] - #[doc = " @return LV_RES_OK: success; LV_RES_INV: an error occurred"] - pub fn lv_img_decoder_read_line( - dsc: *mut lv_img_decoder_dsc_t, - x: lv_coord_t, - y: lv_coord_t, - len: lv_coord_t, - buf: *mut u8, - ) -> lv_res_t; -} -extern "C" { - #[doc = " Close a decoding session"] - #[doc = " @param dsc pointer to `lv_img_decoder_dsc_t` used in `lv_img_decoder_open`"] - pub fn lv_img_decoder_close(dsc: *mut lv_img_decoder_dsc_t); -} -extern "C" { - #[doc = " Create a new image decoder"] - #[doc = " @return pointer to the new image decoder"] - pub fn lv_img_decoder_create() -> *mut lv_img_decoder_t; -} -extern "C" { - #[doc = " Delete an image decoder"] - #[doc = " @param decoder pointer to an image decoder"] - pub fn lv_img_decoder_delete(decoder: *mut lv_img_decoder_t); -} -extern "C" { - #[doc = " Set a callback to get information about the image"] - #[doc = " @param decoder pointer to an image decoder"] - #[doc = " @param info_cb a function to collect info about an image (fill an `lv_img_header_t` struct)"] - pub fn lv_img_decoder_set_info_cb( - decoder: *mut lv_img_decoder_t, - info_cb: lv_img_decoder_info_f_t, - ); -} -extern "C" { - #[doc = " Set a callback to open an image"] - #[doc = " @param decoder pointer to an image decoder"] - #[doc = " @param open_cb a function to open an image"] - pub fn lv_img_decoder_set_open_cb( - decoder: *mut lv_img_decoder_t, - open_cb: lv_img_decoder_open_f_t, - ); -} -extern "C" { - #[doc = " Set a callback to a decoded line of an image"] - #[doc = " @param decoder pointer to an image decoder"] - #[doc = " @param read_line_cb a function to read a line of an image"] - pub fn lv_img_decoder_set_read_line_cb( - decoder: *mut lv_img_decoder_t, - read_line_cb: lv_img_decoder_read_line_f_t, - ); -} -extern "C" { - #[doc = " Set a callback to close a decoding session. E.g. close files and free other resources."] - #[doc = " @param decoder pointer to an image decoder"] - #[doc = " @param close_cb a function to close a decoding session"] - pub fn lv_img_decoder_set_close_cb( - decoder: *mut lv_img_decoder_t, - close_cb: lv_img_decoder_close_f_t, - ); -} -extern "C" { - #[doc = " Get info about a built-in image"] - #[doc = " @param decoder the decoder where this function belongs"] - #[doc = " @param src the image source: pointer to an `lv_img_dsc_t` variable, a file path or a symbol"] - #[doc = " @param header store the image data here"] - #[doc = " @return LV_RES_OK: the info is successfully stored in `header`; LV_RES_INV: unknown format or other error."] - pub fn lv_img_decoder_built_in_info( - decoder: *mut lv_img_decoder_t, - src: *const cty::c_void, - header: *mut lv_img_header_t, - ) -> lv_res_t; -} -extern "C" { - #[doc = " Open a built in image"] - #[doc = " @param decoder the decoder where this function belongs"] - #[doc = " @param dsc pointer to decoder descriptor. `src`, `style` are already initialized in it."] - #[doc = " @return LV_RES_OK: the info is successfully stored in `header`; LV_RES_INV: unknown format or other error."] - pub fn lv_img_decoder_built_in_open( - decoder: *mut lv_img_decoder_t, - dsc: *mut lv_img_decoder_dsc_t, - ) -> lv_res_t; -} -extern "C" { - #[doc = " Decode `len` pixels starting from the given `x`, `y` coordinates and store them in `buf`."] - #[doc = " Required only if the \"open\" function can't return with the whole decoded pixel array."] - #[doc = " @param decoder pointer to the decoder the function associated with"] - #[doc = " @param dsc pointer to decoder descriptor"] - #[doc = " @param x start x coordinate"] - #[doc = " @param y start y coordinate"] - #[doc = " @param len number of pixels to decode"] - #[doc = " @param buf a buffer to store the decoded pixels"] - #[doc = " @return LV_RES_OK: ok; LV_RES_INV: failed"] - pub fn lv_img_decoder_built_in_read_line( - decoder: *mut lv_img_decoder_t, - dsc: *mut lv_img_decoder_dsc_t, - x: lv_coord_t, - y: lv_coord_t, - len: lv_coord_t, - buf: *mut u8, - ) -> lv_res_t; -} -extern "C" { - #[doc = " Close the pending decoding. Free resources etc."] - #[doc = " @param decoder pointer to the decoder the function associated with"] - #[doc = " @param dsc pointer to decoder descriptor"] - pub fn lv_img_decoder_built_in_close( - decoder: *mut lv_img_decoder_t, - dsc: *mut lv_img_decoder_dsc_t, - ); -} -extern "C" { - #[doc = " Give a buffer with the given to use during drawing."] - #[doc = " Be careful to not use the buffer while other processes are using it."] - #[doc = " @param size the required size"] - pub fn lv_draw_get_buf(size: u32) -> *mut cty::c_void; -} -extern "C" { - #[doc = " Free the draw buffer"] - pub fn lv_draw_free_buf(); -} -extern "C" { - #[doc = " Get the opacity of a pixel based it's position in a line segment"] - #[doc = " @param seg segment length"] - #[doc = " @param px_id position of of a pixel which opacity should be get [0..seg-1]"] - #[doc = " @param base_opa the base opacity"] - #[doc = " @return the opacity of the given pixel"] - pub fn lv_draw_aa_get_opa(seg: lv_coord_t, px_id: lv_coord_t, base_opa: lv_opa_t) -> lv_opa_t; -} -extern "C" { - #[doc = " Add a vertical anti-aliasing segment (pixels with decreasing opacity)"] - #[doc = " @param x start point x coordinate"] - #[doc = " @param y start point y coordinate"] - #[doc = " @param length length of segment (negative value to start from 0 opacity)"] - #[doc = " @param mask draw only in this area"] - #[doc = " @param color color of pixels"] - #[doc = " @param opa maximum opacity"] - pub fn lv_draw_aa_ver_seg( - x: lv_coord_t, - y: lv_coord_t, - length: lv_coord_t, - mask: *const lv_area_t, - color: lv_color_t, - opa: lv_opa_t, - ); -} -extern "C" { - #[doc = " Add a horizontal anti-aliasing segment (pixels with decreasing opacity)"] - #[doc = " @param x start point x coordinate"] - #[doc = " @param y start point y coordinate"] - #[doc = " @param length length of segment (negative value to start from 0 opacity)"] - #[doc = " @param mask draw only in this area"] - #[doc = " @param color color of pixels"] - #[doc = " @param opa maximum opacity"] - pub fn lv_draw_aa_hor_seg( - x: lv_coord_t, - y: lv_coord_t, - length: lv_coord_t, - mask: *const lv_area_t, - color: lv_color_t, - opa: lv_opa_t, - ); -} -extern "C" { - #[doc = " GLOBAL PROTOTYPES"] - pub fn lv_draw_px( - x: lv_coord_t, - y: lv_coord_t, - mask_p: *const lv_area_t, - color: lv_color_t, - opa: lv_opa_t, - ); -} -extern "C" { - #[doc = " Fill an area in the Virtual Display Buffer"] - #[doc = " @param cords_p coordinates of the area to fill"] - #[doc = " @param mask_p fill only o this mask"] - #[doc = " @param color fill color"] - #[doc = " @param opa opacity of the area (0..255)"] - pub fn lv_draw_fill( - cords_p: *const lv_area_t, - mask_p: *const lv_area_t, - color: lv_color_t, - opa: lv_opa_t, - ); -} -extern "C" { - #[doc = " Draw a letter in the Virtual Display Buffer"] - #[doc = " @param pos_p left-top coordinate of the latter"] - #[doc = " @param mask_p the letter will be drawn only on this area"] - #[doc = " @param font_p pointer to font"] - #[doc = " @param letter a letter to draw"] - #[doc = " @param color color of letter"] - #[doc = " @param opa opacity of letter (0..255)"] - pub fn lv_draw_letter( - pos_p: *const lv_point_t, - mask_p: *const lv_area_t, - font_p: *const lv_font_t, - letter: u32, - color: lv_color_t, - opa: lv_opa_t, - ); -} -extern "C" { - #[doc = " Draw a color map to the display (image)"] - #[doc = " @param cords_p coordinates the color map"] - #[doc = " @param mask_p the map will drawn only on this area (truncated to VDB area)"] - #[doc = " @param map_p pointer to a lv_color_t array"] - #[doc = " @param opa opacity of the map"] - #[doc = " @param chroma_keyed true: enable transparency of LV_IMG_LV_COLOR_TRANSP color pixels"] - #[doc = " @param alpha_byte true: extra alpha byte is inserted for every pixel"] - #[doc = " @param recolor mix the pixels with this color"] - #[doc = " @param recolor_opa the intense of recoloring"] - pub fn lv_draw_map( - cords_p: *const lv_area_t, - mask_p: *const lv_area_t, - map_p: *const u8, - opa: lv_opa_t, - chroma_key: bool, - alpha_byte: bool, - recolor: lv_color_t, - recolor_opa: lv_opa_t, - ); -} -extern "C" { - #[doc = " Draw a rectangle"] - #[doc = " @param coords the coordinates of the rectangle"] - #[doc = " @param mask the rectangle will be drawn only in this mask"] - #[doc = " @param style pointer to a style"] - #[doc = " @param opa_scale scale down all opacities by the factor"] - pub fn lv_draw_rect( - coords: *const lv_area_t, - mask: *const lv_area_t, - style: *const lv_style_t, - opa_scale: lv_opa_t, - ); -} -#[doc = " TYPEDEFS"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_draw_label_txt_sel_t { - pub start: u16, - pub end: u16, -} -#[doc = " Store some info to speed up drawing of very large texts"] -#[doc = " It takes a lot of time to get the first visible character because"] -#[doc = " all the previous characters needs to be checked to calculate the positions."] -#[doc = " This structure stores an earlier (e.g. at -1000 px) coordinate and the index of that line."] -#[doc = " Therefore the calculations can start from here."] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_draw_label_hint_t { - #[doc = " Index of the line at `y` coordinate"] - pub line_start: i32, - #[doc = " Give the `y` coordinate of the first letter at `line start` index. Relative to the label's coordinates"] - pub y: i32, - #[doc = " The 'y1' coordinate of the label when the hint was saved."] - #[doc = " Used to invalidate the hint if the label has moved too much."] - pub coord_y: i32, -} -extern "C" { - #[doc = " Write a text"] - #[doc = " @param coords coordinates of the label"] - #[doc = " @param mask the label will be drawn only in this area"] - #[doc = " @param style pointer to a style"] - #[doc = " @param opa_scale scale down all opacities by the factor"] - #[doc = " @param txt 0 terminated text to write"] - #[doc = " @param flag settings for the text from 'txt_flag_t' enum"] - #[doc = " @param offset text offset in x and y direction (NULL if unused)"] - #[doc = " @param sel_start start index of selected area (`LV_LABEL_TXT_SEL_OFF` if none)"] - #[doc = " @param bidi_dir base direction of the text"] - pub fn lv_draw_label( - coords: *const lv_area_t, - mask: *const lv_area_t, - style: *const lv_style_t, - opa_scale: lv_opa_t, - txt: *const cty::c_char, - flag: lv_txt_flag_t, - offset: *mut lv_point_t, - sel: *mut lv_draw_label_txt_sel_t, - hint: *mut lv_draw_label_hint_t, - bidi_dir: lv_bidi_dir_t, - ); -} -extern "C" { - #[doc = " Draw a line"] - #[doc = " @param point1 first point of the line"] - #[doc = " @param point2 second point of the line"] - #[doc = " @param mask the line will be drawn only on this area"] - #[doc = " @param style pointer to a line's style"] - #[doc = " @param opa_scale scale down all opacities by the factor"] - pub fn lv_draw_line( - point1: *const lv_point_t, - point2: *const lv_point_t, - mask: *const lv_area_t, - style: *const lv_style_t, - opa_scale: lv_opa_t, - ); -} -extern "C" { - #[doc = " @param points pointer to an array with 3 points"] - #[doc = " @param mask the triangle will be drawn only in this mask"] - #[doc = " @param style style for of the triangle"] - #[doc = " @param opa_scale scale down all opacities by the factor (0..255)"] - pub fn lv_draw_triangle( - points: *const lv_point_t, - mask: *const lv_area_t, - style: *const lv_style_t, - opa_scale: lv_opa_t, - ); -} -extern "C" { - #[doc = " Draw a polygon from triangles. Only convex polygons are supported"] - #[doc = " @param points an array of points"] - #[doc = " @param point_cnt number of points"] - #[doc = " @param mask polygon will be drawn only in this mask"] - #[doc = " @param style style of the polygon"] - #[doc = " @param opa_scale scale down all opacities by the factor (0..255)"] - pub fn lv_draw_polygon( - points: *const lv_point_t, - point_cnt: u32, - mask: *const lv_area_t, - style: *const lv_style_t, - opa_scale: lv_opa_t, - ); -} -extern "C" { - #[doc = " Draw an arc. (Can draw pie too with great thickness.)"] - #[doc = " @param center_x the x coordinate of the center of the arc"] - #[doc = " @param center_y the y coordinate of the center of the arc"] - #[doc = " @param radius the radius of the arc"] - #[doc = " @param mask the arc will be drawn only in this mask"] - #[doc = " @param start_angle the start angle of the arc (0 deg on the bottom, 90 deg on the right)"] - #[doc = " @param end_angle the end angle of the arc"] - #[doc = " @param style style of the arc (`body.thickness`, `body.main_color`, `body.opa` is used)"] - #[doc = " @param opa_scale scale down all opacities by the factor"] - pub fn lv_draw_arc( - center_x: lv_coord_t, - center_y: lv_coord_t, - radius: u16, - mask: *const lv_area_t, - start_angle: u16, - end_angle: u16, - style: *const lv_style_t, - opa_scale: lv_opa_t, - ); -} -extern "C" { - #[doc = " Draw an image"] - #[doc = " @param coords the coordinates of the image"] - #[doc = " @param mask the image will be drawn only in this area"] - #[doc = " @param src pointer to a lv_color_t array which contains the pixels of the image"] - #[doc = " @param style style of the image"] - #[doc = " @param opa_scale scale down all opacities by the factor"] - pub fn lv_draw_img( - coords: *const lv_area_t, - mask: *const lv_area_t, - src: *const cty::c_void, - style: *const lv_style_t, - opa_scale: lv_opa_t, - ); -} -extern "C" { - #[doc = " Get the type of an image source"] - #[doc = " @param src pointer to an image source:"] - #[doc = " - pointer to an 'lv_img_t' variable (image stored internally and compiled into the code)"] - #[doc = " - a path to a file (e.g. \"S:/folder/image.bin\")"] - #[doc = " - or a symbol (e.g. LV_SYMBOL_CLOSE)"] - #[doc = " @return type of the image source LV_IMG_SRC_VARIABLE/FILE/SYMBOL/UNKNOWN"] - pub fn lv_img_src_get_type(src: *const cty::c_void) -> lv_img_src_t; -} -extern "C" { - #[doc = " Get the color of an image's pixel"] - #[doc = " @param dsc an image descriptor"] - #[doc = " @param x x coordinate of the point to get"] - #[doc = " @param y x coordinate of the point to get"] - #[doc = " @param style style of the image. In case of `LV_IMG_CF_ALPHA_1/2/4/8` `style->image.color` shows"] - #[doc = " the color. Can be `NULL` but for `ALPHA` images black will be returned. In other cases it is not"] - #[doc = " used."] - #[doc = " @return color of the point"] - pub fn lv_img_buf_get_px_color( - dsc: *mut lv_img_dsc_t, - x: lv_coord_t, - y: lv_coord_t, - style: *const lv_style_t, - ) -> lv_color_t; -} -extern "C" { - #[doc = " Get the alpha value of an image's pixel"] - #[doc = " @param dsc pointer to an image descriptor"] - #[doc = " @param x x coordinate of the point to set"] - #[doc = " @param y x coordinate of the point to set"] - #[doc = " @return alpha value of the point"] - pub fn lv_img_buf_get_px_alpha( - dsc: *mut lv_img_dsc_t, - x: lv_coord_t, - y: lv_coord_t, - ) -> lv_opa_t; -} -extern "C" { - #[doc = " Set the color of a pixel of an image. The alpha channel won't be affected."] - #[doc = " @param dsc pointer to an image descriptor"] - #[doc = " @param x x coordinate of the point to set"] - #[doc = " @param y x coordinate of the point to set"] - #[doc = " @param c color of the point"] - pub fn lv_img_buf_set_px_color( - dsc: *mut lv_img_dsc_t, - x: lv_coord_t, - y: lv_coord_t, - c: lv_color_t, - ); -} -extern "C" { - #[doc = " Set the alpha value of a pixel of an image. The color won't be affected"] - #[doc = " @param dsc pointer to an image descriptor"] - #[doc = " @param x x coordinate of the point to set"] - #[doc = " @param y x coordinate of the point to set"] - #[doc = " @param opa the desired opacity"] - pub fn lv_img_buf_set_px_alpha( - dsc: *mut lv_img_dsc_t, - x: lv_coord_t, - y: lv_coord_t, - opa: lv_opa_t, - ); -} -extern "C" { - #[doc = " Set the palette color of an indexed image. Valid only for `LV_IMG_CF_INDEXED1/2/4/8`"] - #[doc = " @param dsc pointer to an image descriptor"] - #[doc = " @param id the palette color to set:"] - #[doc = " - for `LV_IMG_CF_INDEXED1`: 0..1"] - #[doc = " - for `LV_IMG_CF_INDEXED2`: 0..3"] - #[doc = " - for `LV_IMG_CF_INDEXED4`: 0..15"] - #[doc = " - for `LV_IMG_CF_INDEXED8`: 0..255"] - #[doc = " @param c the color to set"] - pub fn lv_img_buf_set_palette(dsc: *mut lv_img_dsc_t, id: u8, c: lv_color_t); -} -extern "C" { - #[doc = " Get the pixel size of a color format in bits"] - #[doc = " @param cf a color format (`LV_IMG_CF_...`)"] - #[doc = " @return the pixel size in bits"] - pub fn lv_img_color_format_get_px_size(cf: lv_img_cf_t) -> u8; -} -extern "C" { - #[doc = " Check if a color format is chroma keyed or not"] - #[doc = " @param cf a color format (`LV_IMG_CF_...`)"] - #[doc = " @return true: chroma keyed; false: not chroma keyed"] - pub fn lv_img_color_format_is_chroma_keyed(cf: lv_img_cf_t) -> bool; -} -extern "C" { - #[doc = " Check if a color format has alpha channel or not"] - #[doc = " @param cf a color format (`LV_IMG_CF_...`)"] - #[doc = " @return true: has alpha channel; false: doesn't have alpha channel"] - pub fn lv_img_color_format_has_alpha(cf: lv_img_cf_t) -> bool; -} -extern "C" { - #[doc = " Allocate an image buffer in RAM"] - #[doc = " @param w width of image"] - #[doc = " @param h height of image"] - #[doc = " @param cf a color format (`LV_IMG_CF_...`)"] - #[doc = " @return an allocated image, or NULL on failure"] - pub fn lv_img_buf_alloc(w: lv_coord_t, h: lv_coord_t, cf: lv_img_cf_t) -> *mut lv_img_dsc_t; -} -extern "C" { - #[doc = " Free an allocated image buffer"] - #[doc = " @param dsc image buffer to free"] - pub fn lv_img_buf_free(dsc: *mut lv_img_dsc_t); -} -extern "C" { - #[doc = " Get the memory consumption of a raw bitmap, given color format and dimensions."] - #[doc = " @param w width"] - #[doc = " @param h height"] - #[doc = " @param cf color format"] - #[doc = " @return size in bytes"] - pub fn lv_img_buf_get_img_size(w: lv_coord_t, h: lv_coord_t, cf: lv_img_cf_t) -> u32; -} -#[doc = " TYPEDEFS"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_imgbtn_ext_t { - pub btn: lv_btn_ext_t, - pub img_src: [*const cty::c_void; 5usize], - pub act_cf: lv_img_cf_t, -} -#[doc = "< Same meaning as ordinary button styles."] -pub const LV_IMGBTN_STYLE_REL: _bindgen_ty_30 = 0; -pub const LV_IMGBTN_STYLE_PR: _bindgen_ty_30 = 1; -pub const LV_IMGBTN_STYLE_TGL_REL: _bindgen_ty_30 = 2; -pub const LV_IMGBTN_STYLE_TGL_PR: _bindgen_ty_30 = 3; -pub const LV_IMGBTN_STYLE_INA: _bindgen_ty_30 = 4; -pub type _bindgen_ty_30 = u32; -pub type lv_imgbtn_style_t = u8; -extern "C" { - #[doc = " Create a image button objects"] - #[doc = " @param par pointer to an object, it will be the parent of the new image button"] - #[doc = " @param copy pointer to a image button object, if not NULL then the new object will be copied from"] - #[doc = " it"] - #[doc = " @return pointer to the created image button"] - pub fn lv_imgbtn_create(par: *mut lv_obj_t, copy: *const lv_obj_t) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Set images for a state of the image button"] - #[doc = " @param imgbtn pointer to an image button object"] - #[doc = " @param state for which state set the new image (from `lv_btn_state_t`) `"] - #[doc = " @param src pointer to an image source (a C array or path to a file)"] - pub fn lv_imgbtn_set_src(imgbtn: *mut lv_obj_t, state: lv_btn_state_t, src: *const cty::c_void); -} -extern "C" { - #[doc = " Set a style of a image button."] - #[doc = " @param imgbtn pointer to image button object"] - #[doc = " @param type which style should be set"] - #[doc = " @param style pointer to a style"] - pub fn lv_imgbtn_set_style( - imgbtn: *mut lv_obj_t, - type_: lv_imgbtn_style_t, - style: *const lv_style_t, - ); -} -extern "C" { - #[doc = " Get the images in a given state"] - #[doc = " @param imgbtn pointer to an image button object"] - #[doc = " @param state the state where to get the image (from `lv_btn_state_t`) `"] - #[doc = " @return pointer to an image source (a C array or path to a file)"] - pub fn lv_imgbtn_get_src(imgbtn: *mut lv_obj_t, state: lv_btn_state_t) -> *const cty::c_void; -} -extern "C" { - #[doc = " Get style of a image button."] - #[doc = " @param imgbtn pointer to image button object"] - #[doc = " @param type which style should be get"] - #[doc = " @return style pointer to the style"] - pub fn lv_imgbtn_get_style( - imgbtn: *const lv_obj_t, - type_: lv_imgbtn_style_t, - ) -> *const lv_style_t; -} -#[doc = "< Expand the object size to the text size"] -pub const LV_LABEL_LONG_EXPAND: _bindgen_ty_31 = 0; -#[doc = "< Keep the object width, break the too long lines and expand the object"] -#[doc = "height"] -pub const LV_LABEL_LONG_BREAK: _bindgen_ty_31 = 1; -#[doc = "< Keep the size and write dots at the end if the text is too long"] -pub const LV_LABEL_LONG_DOT: _bindgen_ty_31 = 2; -#[doc = "< Keep the size and roll the text back and forth"] -pub const LV_LABEL_LONG_SROLL: _bindgen_ty_31 = 3; -#[doc = "< Keep the size and roll the text circularly"] -pub const LV_LABEL_LONG_SROLL_CIRC: _bindgen_ty_31 = 4; -#[doc = "< Keep the size and crop the text out of it"] -pub const LV_LABEL_LONG_CROP: _bindgen_ty_31 = 5; -#[doc = " Long mode behaviors. Used in 'lv_label_ext_t'"] -pub type _bindgen_ty_31 = u32; -pub type lv_label_long_mode_t = u8; -#[doc = "< Align text to left"] -pub const LV_LABEL_ALIGN_LEFT: _bindgen_ty_32 = 0; -#[doc = "< Align text to center"] -pub const LV_LABEL_ALIGN_CENTER: _bindgen_ty_32 = 1; -#[doc = "< Align text to right"] -pub const LV_LABEL_ALIGN_RIGHT: _bindgen_ty_32 = 2; -#[doc = "< Use LEFT or RIGHT depending on the direction of the text (LTR/RTL)"] -pub const LV_LABEL_ALIGN_AUTO: _bindgen_ty_32 = 3; -#[doc = " Label align policy"] -pub type _bindgen_ty_32 = u32; -pub type lv_label_align_t = u8; -#[doc = " Data of label"] -#[repr(C)] -#[derive(Copy, Clone)] -pub struct lv_label_ext_t { - pub text: *mut cty::c_char, - pub dot: lv_label_ext_t__bindgen_ty_1, - pub dot_end: u16, - pub offset: lv_point_t, - pub anim_speed: u16, - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize], u8>, - pub __bindgen_padding_0: u16, -} -#[repr(C)] -#[derive(Copy, Clone)] -pub union lv_label_ext_t__bindgen_ty_1 { - pub tmp_ptr: *mut cty::c_char, - pub tmp: [cty::c_char; 4usize], - _bindgen_union_align: u32, -} -impl lv_label_ext_t { - #[inline] - pub fn long_mode(&self) -> lv_label_long_mode_t { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 3u8) as u8) } - } - #[inline] - pub fn set_long_mode(&mut self, val: lv_label_long_mode_t) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 3u8, val as u64) - } - } - #[inline] - pub fn static_txt(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u8) } - } - #[inline] - pub fn set_static_txt(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(3usize, 1u8, val as u64) - } - } - #[inline] - pub fn align(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 2u8) as u8) } - } - #[inline] - pub fn set_align(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(4usize, 2u8, val as u64) - } - } - #[inline] - pub fn recolor(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u8) } - } - #[inline] - pub fn set_recolor(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(6usize, 1u8, val as u64) - } - } - #[inline] - pub fn expand(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u8) } - } - #[inline] - pub fn set_expand(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(7usize, 1u8, val as u64) - } - } - #[inline] - pub fn body_draw(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u8) } - } - #[inline] - pub fn set_body_draw(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(8usize, 1u8, val as u64) - } - } - #[inline] - pub fn dot_tmp_alloc(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u8) } - } - #[inline] - pub fn set_dot_tmp_alloc(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(9usize, 1u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1( - long_mode: lv_label_long_mode_t, - static_txt: u8, - align: u8, - recolor: u8, - expand: u8, - body_draw: u8, - dot_tmp_alloc: u8, - ) -> __BindgenBitfieldUnit<[u8; 2usize], u8> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize], u8> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 3u8, { - let long_mode: u8 = unsafe { ::core::mem::transmute(long_mode) }; - long_mode as u64 - }); - __bindgen_bitfield_unit.set(3usize, 1u8, { - let static_txt: u8 = unsafe { ::core::mem::transmute(static_txt) }; - static_txt as u64 - }); - __bindgen_bitfield_unit.set(4usize, 2u8, { - let align: u8 = unsafe { ::core::mem::transmute(align) }; - align as u64 - }); - __bindgen_bitfield_unit.set(6usize, 1u8, { - let recolor: u8 = unsafe { ::core::mem::transmute(recolor) }; - recolor as u64 - }); - __bindgen_bitfield_unit.set(7usize, 1u8, { - let expand: u8 = unsafe { ::core::mem::transmute(expand) }; - expand as u64 - }); - __bindgen_bitfield_unit.set(8usize, 1u8, { - let body_draw: u8 = unsafe { ::core::mem::transmute(body_draw) }; - body_draw as u64 - }); - __bindgen_bitfield_unit.set(9usize, 1u8, { - let dot_tmp_alloc: u8 = unsafe { ::core::mem::transmute(dot_tmp_alloc) }; - dot_tmp_alloc as u64 - }); - __bindgen_bitfield_unit - } -} -pub const LV_LABEL_STYLE_MAIN: _bindgen_ty_33 = 0; -#[doc = " Label styles"] -pub type _bindgen_ty_33 = u32; -pub type lv_label_style_t = u8; -extern "C" { - #[doc = " Create a label objects"] - #[doc = " @param par pointer to an object, it will be the parent of the new label"] - #[doc = " @param copy pointer to a button object, if not NULL then the new object will be copied from it"] - #[doc = " @return pointer to the created button"] - pub fn lv_label_create(par: *mut lv_obj_t, copy: *const lv_obj_t) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Set a new text for a label. Memory will be allocated to store the text by the label."] - #[doc = " @param label pointer to a label object"] - #[doc = " @param text '\\0' terminated character string. NULL to refresh with the current text."] - pub fn lv_label_set_text(label: *mut lv_obj_t, text: *const cty::c_char); -} -extern "C" { - #[doc = " Set a new formatted text for a label. Memory will be allocated to store the text by the label."] - #[doc = " @param label pointer to a label object"] - #[doc = " @param fmt `printf`-like format"] - pub fn lv_label_set_text_fmt(label: *mut lv_obj_t, fmt: *const cty::c_char, ...); -} -extern "C" { - #[doc = " Set a new text for a label from a character array. The array don't has to be '\\0' terminated."] - #[doc = " Memory will be allocated to store the array by the label."] - #[doc = " @param label pointer to a label object"] - #[doc = " @param array array of characters or NULL to refresh the label"] - #[doc = " @param size the size of 'array' in bytes"] - pub fn lv_label_set_array_text(label: *mut lv_obj_t, array: *const cty::c_char, size: u16); -} -extern "C" { - #[doc = " Set a static text. It will not be saved by the label so the 'text' variable"] - #[doc = " has to be 'alive' while the label exist."] - #[doc = " @param label pointer to a label object"] - #[doc = " @param text pointer to a text. NULL to refresh with the current text."] - pub fn lv_label_set_static_text(label: *mut lv_obj_t, text: *const cty::c_char); -} -extern "C" { - #[doc = " Set the behavior of the label with longer text then the object size"] - #[doc = " @param label pointer to a label object"] - #[doc = " @param long_mode the new mode from 'lv_label_long_mode' enum."] - #[doc = " In LV_LONG_BREAK/LONG/ROLL the size of the label should be set AFTER this"] - #[doc = " function"] - pub fn lv_label_set_long_mode(label: *mut lv_obj_t, long_mode: lv_label_long_mode_t); -} -extern "C" { - #[doc = " Set the align of the label (left or center)"] - #[doc = " @param label pointer to a label object"] - #[doc = " @param align 'LV_LABEL_ALIGN_LEFT' or 'LV_LABEL_ALIGN_LEFT'"] - pub fn lv_label_set_align(label: *mut lv_obj_t, align: lv_label_align_t); -} -extern "C" { - #[doc = " Enable the recoloring by in-line commands"] - #[doc = " @param label pointer to a label object"] - #[doc = " @param en true: enable recoloring, false: disable"] - pub fn lv_label_set_recolor(label: *mut lv_obj_t, en: bool); -} -extern "C" { - #[doc = " Set the label to draw (or not draw) background specified in its style's body"] - #[doc = " @param label pointer to a label object"] - #[doc = " @param en true: draw body; false: don't draw body"] - pub fn lv_label_set_body_draw(label: *mut lv_obj_t, en: bool); -} -extern "C" { - #[doc = " Set the label's animation speed in LV_LABEL_LONG_SROLL/SCROLL_CIRC modes"] - #[doc = " @param label pointer to a label object"] - #[doc = " @param anim_speed speed of animation in px/sec unit"] - pub fn lv_label_set_anim_speed(label: *mut lv_obj_t, anim_speed: u16); -} -extern "C" { - #[doc = " @brief Set the selection start index."] - #[doc = " @param label pointer to a label object."] - #[doc = " @param index index to set. `LV_LABEL_TXT_SEL_OFF` to select nothing."] - pub fn lv_label_set_text_sel_start(label: *mut lv_obj_t, index: u16); -} -extern "C" { - #[doc = " @brief Set the selection end index."] - #[doc = " @param label pointer to a label object."] - #[doc = " @param index index to set. `LV_LABEL_TXT_SEL_OFF` to select nothing."] - pub fn lv_label_set_text_sel_end(label: *mut lv_obj_t, index: u16); -} -extern "C" { - #[doc = " Get the text of a label"] - #[doc = " @param label pointer to a label object"] - #[doc = " @return the text of the label"] - pub fn lv_label_get_text(label: *const lv_obj_t) -> *mut cty::c_char; -} -extern "C" { - #[doc = " Get the long mode of a label"] - #[doc = " @param label pointer to a label object"] - #[doc = " @return the long mode"] - pub fn lv_label_get_long_mode(label: *const lv_obj_t) -> lv_label_long_mode_t; -} -extern "C" { - #[doc = " Get the align attribute"] - #[doc = " @param label pointer to a label object"] - #[doc = " @return LV_LABEL_ALIGN_LEFT or LV_LABEL_ALIGN_CENTER"] - pub fn lv_label_get_align(label: *const lv_obj_t) -> lv_label_align_t; -} -extern "C" { - #[doc = " Get the recoloring attribute"] - #[doc = " @param label pointer to a label object"] - #[doc = " @return true: recoloring is enabled, false: disable"] - pub fn lv_label_get_recolor(label: *const lv_obj_t) -> bool; -} -extern "C" { - #[doc = " Get the body draw attribute"] - #[doc = " @param label pointer to a label object"] - #[doc = " @return true: draw body; false: don't draw body"] - pub fn lv_label_get_body_draw(label: *const lv_obj_t) -> bool; -} -extern "C" { - #[doc = " Get the label's animation speed in LV_LABEL_LONG_ROLL and SCROLL modes"] - #[doc = " @param label pointer to a label object"] - #[doc = " @return speed of animation in px/sec unit"] - pub fn lv_label_get_anim_speed(label: *const lv_obj_t) -> u16; -} -extern "C" { - #[doc = " Get the relative x and y coordinates of a letter"] - #[doc = " @param label pointer to a label object"] - #[doc = " @param index index of the letter [0 ... text length]. Expressed in character index, not byte"] - #[doc = " index (different in UTF-8)"] - #[doc = " @param pos store the result here (E.g. index = 0 gives 0;0 coordinates)"] - pub fn lv_label_get_letter_pos(label: *const lv_obj_t, index: u16, pos: *mut lv_point_t); -} -extern "C" { - #[doc = " Get the index of letter on a relative point of a label"] - #[doc = " @param label pointer to label object"] - #[doc = " @param pos pointer to point with coordinates on a the label"] - #[doc = " @return the index of the letter on the 'pos_p' point (E.g. on 0;0 is the 0. letter)"] - #[doc = " Expressed in character index and not byte index (different in UTF-8)"] - pub fn lv_label_get_letter_on(label: *const lv_obj_t, pos: *mut lv_point_t) -> u16; -} -extern "C" { - #[doc = " Check if a character is drawn under a point."] - #[doc = " @param label Label object"] - #[doc = " @param pos Point to check for characte under"] - #[doc = " @return whether a character is drawn under the point"] - pub fn lv_label_is_char_under_pos(label: *const lv_obj_t, pos: *mut lv_point_t) -> bool; -} -extern "C" { - #[doc = " @brief Get the selection start index."] - #[doc = " @param label pointer to a label object."] - #[doc = " @return selection start index. `LV_LABEL_TXT_SEL_OFF` if nothing is selected."] - pub fn lv_label_get_text_sel_start(label: *const lv_obj_t) -> u16; -} -extern "C" { - #[doc = " @brief Get the selection end index."] - #[doc = " @param label pointer to a label object."] - #[doc = " @return selection end index. `LV_LABEL_TXT_SEL_OFF` if nothing is selected."] - pub fn lv_label_get_text_sel_end(label: *const lv_obj_t) -> u16; -} -extern "C" { - #[doc = " Insert a text to the label. The label text can not be static."] - #[doc = " @param label pointer to a label object"] - #[doc = " @param pos character index to insert. Expressed in character index and not byte index (Different"] - #[doc = " in UTF-8) 0: before first char. LV_LABEL_POS_LAST: after last char."] - #[doc = " @param txt pointer to the text to insert"] - pub fn lv_label_ins_text(label: *mut lv_obj_t, pos: u32, txt: *const cty::c_char); -} -extern "C" { - #[doc = " Delete characters from a label. The label text can not be static."] - #[doc = " @param label pointer to a label object"] - #[doc = " @param pos character index to insert. Expressed in character index and not byte index (Different"] - #[doc = " in UTF-8) 0: before first char."] - #[doc = " @param cnt number of characters to cut"] - pub fn lv_label_cut_text(label: *mut lv_obj_t, pos: u32, cnt: u32); -} -#[doc = " TYPEDEFS"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_img_ext_t { - pub src: *const cty::c_void, - pub offset: lv_point_t, - pub w: lv_coord_t, - pub h: lv_coord_t, - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, - pub __bindgen_padding_0: [u8; 3usize], -} -impl lv_img_ext_t { - #[inline] - pub fn src_type(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 2u8) as u8) } - } - #[inline] - pub fn set_src_type(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 2u8, val as u64) - } - } - #[inline] - pub fn auto_size(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u8) } - } - #[inline] - pub fn set_auto_size(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(2usize, 1u8, val as u64) - } - } - #[inline] - pub fn cf(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 5u8) as u8) } - } - #[inline] - pub fn set_cf(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(3usize, 5u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1( - src_type: u8, - auto_size: u8, - cf: u8, - ) -> __BindgenBitfieldUnit<[u8; 1usize], u8> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 2u8, { - let src_type: u8 = unsafe { ::core::mem::transmute(src_type) }; - src_type as u64 - }); - __bindgen_bitfield_unit.set(2usize, 1u8, { - let auto_size: u8 = unsafe { ::core::mem::transmute(auto_size) }; - auto_size as u64 - }); - __bindgen_bitfield_unit.set(3usize, 5u8, { - let cf: u8 = unsafe { ::core::mem::transmute(cf) }; - cf as u64 - }); - __bindgen_bitfield_unit - } -} -pub const LV_IMG_STYLE_MAIN: _bindgen_ty_34 = 0; -pub type _bindgen_ty_34 = u32; -pub type lv_img_style_t = u8; -extern "C" { - #[doc = " Create an image objects"] - #[doc = " @param par pointer to an object, it will be the parent of the new button"] - #[doc = " @param copy pointer to a image object, if not NULL then the new object will be copied from it"] - #[doc = " @return pointer to the created image"] - pub fn lv_img_create(par: *mut lv_obj_t, copy: *const lv_obj_t) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Set the pixel map to display by the image"] - #[doc = " @param img pointer to an image object"] - #[doc = " @param data the image data"] - pub fn lv_img_set_src(img: *mut lv_obj_t, src_img: *const cty::c_void); -} -extern "C" { - #[doc = " Enable the auto size feature."] - #[doc = " If enabled the object size will be same as the picture size."] - #[doc = " @param img pointer to an image"] - #[doc = " @param en true: auto size enable, false: auto size disable"] - pub fn lv_img_set_auto_size(img: *mut lv_obj_t, autosize_en: bool); -} -extern "C" { - #[doc = " Set an offset for the source of an image."] - #[doc = " so the image will be displayed from the new origin."] - #[doc = " @param img pointer to an image"] - #[doc = " @param x: the new offset along x axis."] - pub fn lv_img_set_offset_x(img: *mut lv_obj_t, x: lv_coord_t); -} -extern "C" { - #[doc = " Set an offset for the source of an image."] - #[doc = " so the image will be displayed from the new origin."] - #[doc = " @param img pointer to an image"] - #[doc = " @param y: the new offset along y axis."] - pub fn lv_img_set_offset_y(img: *mut lv_obj_t, y: lv_coord_t); -} -extern "C" { - #[doc = " Get the source of the image"] - #[doc = " @param img pointer to an image object"] - #[doc = " @return the image source (symbol, file name or C array)"] - pub fn lv_img_get_src(img: *mut lv_obj_t) -> *const cty::c_void; -} -extern "C" { - #[doc = " Get the name of the file set for an image"] - #[doc = " @param img pointer to an image"] - #[doc = " @return file name"] - pub fn lv_img_get_file_name(img: *const lv_obj_t) -> *const cty::c_char; -} -extern "C" { - #[doc = " Get the auto size enable attribute"] - #[doc = " @param img pointer to an image"] - #[doc = " @return true: auto size is enabled, false: auto size is disabled"] - pub fn lv_img_get_auto_size(img: *const lv_obj_t) -> bool; -} -extern "C" { - #[doc = " Get the offset.x attribute of the img object."] - #[doc = " @param img pointer to an image"] - #[doc = " @return offset.x value."] - pub fn lv_img_get_offset_x(img: *mut lv_obj_t) -> lv_coord_t; -} -extern "C" { - #[doc = " Get the offset.y attribute of the img object."] - #[doc = " @param img pointer to an image"] - #[doc = " @return offset.y value."] - pub fn lv_img_get_offset_y(img: *mut lv_obj_t) -> lv_coord_t; -} -#[doc = " TYPEDEFS"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_line_ext_t { - pub point_array: *const lv_point_t, - pub point_num: u16, - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, - pub __bindgen_padding_0: u8, -} -impl lv_line_ext_t { - #[inline] - pub fn auto_size(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } - } - #[inline] - pub fn set_auto_size(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 1u8, val as u64) - } - } - #[inline] - pub fn y_inv(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } - } - #[inline] - pub fn set_y_inv(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(1usize, 1u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1(auto_size: u8, y_inv: u8) -> __BindgenBitfieldUnit<[u8; 1usize], u8> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 1u8, { - let auto_size: u8 = unsafe { ::core::mem::transmute(auto_size) }; - auto_size as u64 - }); - __bindgen_bitfield_unit.set(1usize, 1u8, { - let y_inv: u8 = unsafe { ::core::mem::transmute(y_inv) }; - y_inv as u64 - }); - __bindgen_bitfield_unit - } -} -pub const LV_LINE_STYLE_MAIN: _bindgen_ty_35 = 0; -pub type _bindgen_ty_35 = u32; -pub type lv_line_style_t = u8; -extern "C" { - #[doc = " Create a line objects"] - #[doc = " @param par pointer to an object, it will be the parent of the new line"] - #[doc = " @return pointer to the created line"] - pub fn lv_line_create(par: *mut lv_obj_t, copy: *const lv_obj_t) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Set an array of points. The line object will connect these points."] - #[doc = " @param line pointer to a line object"] - #[doc = " @param point_a an array of points. Only the address is saved,"] - #[doc = " so the array can NOT be a local variable which will be destroyed"] - #[doc = " @param point_num number of points in 'point_a'"] - pub fn lv_line_set_points(line: *mut lv_obj_t, point_a: *const lv_point_t, point_num: u16); -} -extern "C" { - #[doc = " Enable (or disable) the auto-size option. The size of the object will fit to its points."] - #[doc = " (set width to x max and height to y max)"] - #[doc = " @param line pointer to a line object"] - #[doc = " @param en true: auto size is enabled, false: auto size is disabled"] - pub fn lv_line_set_auto_size(line: *mut lv_obj_t, en: bool); -} -extern "C" { - #[doc = " Enable (or disable) the y coordinate inversion."] - #[doc = " If enabled then y will be subtracted from the height of the object,"] - #[doc = " therefore the y=0 coordinate will be on the bottom."] - #[doc = " @param line pointer to a line object"] - #[doc = " @param en true: enable the y inversion, false:disable the y inversion"] - pub fn lv_line_set_y_invert(line: *mut lv_obj_t, en: bool); -} -extern "C" { - #[doc = " Get the auto size attribute"] - #[doc = " @param line pointer to a line object"] - #[doc = " @return true: auto size is enabled, false: disabled"] - pub fn lv_line_get_auto_size(line: *const lv_obj_t) -> bool; -} -extern "C" { - #[doc = " Get the y inversion attribute"] - #[doc = " @param line pointer to a line object"] - #[doc = " @return true: y inversion is enabled, false: disabled"] - pub fn lv_line_get_y_invert(line: *const lv_obj_t) -> bool; -} -#[doc = "< Never show scrollbars"] -pub const LV_SB_MODE_OFF: _bindgen_ty_36 = 0; -#[doc = "< Always show scrollbars"] -pub const LV_SB_MODE_ON: _bindgen_ty_36 = 1; -#[doc = "< Show scrollbars when page is being dragged"] -pub const LV_SB_MODE_DRAG: _bindgen_ty_36 = 2; -#[doc = "< Show scrollbars when the scrollable container is large enough to be scrolled"] -pub const LV_SB_MODE_AUTO: _bindgen_ty_36 = 3; -#[doc = "< Hide the scroll bar temporally"] -pub const LV_SB_MODE_HIDE: _bindgen_ty_36 = 4; -#[doc = "< Unhide the previously hidden scrollbar. Recover it's type too"] -pub const LV_SB_MODE_UNHIDE: _bindgen_ty_36 = 5; -#[doc = " Scrollbar modes: shows when should the scrollbars be visible"] -pub type _bindgen_ty_36 = u32; -pub type lv_sb_mode_t = u8; -pub const LV_PAGE_EDGE_LEFT: _bindgen_ty_37 = 1; -pub const LV_PAGE_EDGE_TOP: _bindgen_ty_37 = 2; -pub const LV_PAGE_EDGE_RIGHT: _bindgen_ty_37 = 4; -pub const LV_PAGE_EDGE_BOTTOM: _bindgen_ty_37 = 8; -#[doc = " Edges: describes the four edges of the page"] -pub type _bindgen_ty_37 = u32; -pub type lv_page_edge_t = u8; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_page_ext_t { - pub bg: lv_cont_ext_t, - pub scrl: *mut lv_obj_t, - pub sb: lv_page_ext_t__bindgen_ty_1, - pub edge_flash: lv_page_ext_t__bindgen_ty_2, - pub anim_time: u16, - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, - pub __bindgen_padding_0: u8, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_page_ext_t__bindgen_ty_1 { - pub style: *const lv_style_t, - pub hor_area: lv_area_t, - pub ver_area: lv_area_t, - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, - pub __bindgen_padding_0: [u8; 3usize], -} -impl lv_page_ext_t__bindgen_ty_1 { - #[inline] - pub fn hor_draw(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } - } - #[inline] - pub fn set_hor_draw(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 1u8, val as u64) - } - } - #[inline] - pub fn ver_draw(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } - } - #[inline] - pub fn set_ver_draw(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(1usize, 1u8, val as u64) - } - } - #[inline] - pub fn mode(&self) -> lv_sb_mode_t { - unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 3u8) as u8) } - } - #[inline] - pub fn set_mode(&mut self, val: lv_sb_mode_t) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(2usize, 3u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1( - hor_draw: u8, - ver_draw: u8, - mode: lv_sb_mode_t, - ) -> __BindgenBitfieldUnit<[u8; 1usize], u8> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 1u8, { - let hor_draw: u8 = unsafe { ::core::mem::transmute(hor_draw) }; - hor_draw as u64 - }); - __bindgen_bitfield_unit.set(1usize, 1u8, { - let ver_draw: u8 = unsafe { ::core::mem::transmute(ver_draw) }; - ver_draw as u64 - }); - __bindgen_bitfield_unit.set(2usize, 3u8, { - let mode: u8 = unsafe { ::core::mem::transmute(mode) }; - mode as u64 - }); - __bindgen_bitfield_unit - } -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_page_ext_t__bindgen_ty_2 { - pub state: lv_anim_value_t, - pub style: *const lv_style_t, - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, - pub __bindgen_padding_0: [u8; 3usize], -} -impl lv_page_ext_t__bindgen_ty_2 { - #[inline] - pub fn enabled(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } - } - #[inline] - pub fn set_enabled(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 1u8, val as u64) - } - } - #[inline] - pub fn top_ip(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } - } - #[inline] - pub fn set_top_ip(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(1usize, 1u8, val as u64) - } - } - #[inline] - pub fn bottom_ip(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u8) } - } - #[inline] - pub fn set_bottom_ip(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(2usize, 1u8, val as u64) - } - } - #[inline] - pub fn right_ip(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u8) } - } - #[inline] - pub fn set_right_ip(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(3usize, 1u8, val as u64) - } - } - #[inline] - pub fn left_ip(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u8) } - } - #[inline] - pub fn set_left_ip(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(4usize, 1u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1( - enabled: u8, - top_ip: u8, - bottom_ip: u8, - right_ip: u8, - left_ip: u8, - ) -> __BindgenBitfieldUnit<[u8; 1usize], u8> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 1u8, { - let enabled: u8 = unsafe { ::core::mem::transmute(enabled) }; - enabled as u64 - }); - __bindgen_bitfield_unit.set(1usize, 1u8, { - let top_ip: u8 = unsafe { ::core::mem::transmute(top_ip) }; - top_ip as u64 - }); - __bindgen_bitfield_unit.set(2usize, 1u8, { - let bottom_ip: u8 = unsafe { ::core::mem::transmute(bottom_ip) }; - bottom_ip as u64 - }); - __bindgen_bitfield_unit.set(3usize, 1u8, { - let right_ip: u8 = unsafe { ::core::mem::transmute(right_ip) }; - right_ip as u64 - }); - __bindgen_bitfield_unit.set(4usize, 1u8, { - let left_ip: u8 = unsafe { ::core::mem::transmute(left_ip) }; - left_ip as u64 - }); - __bindgen_bitfield_unit - } -} -impl lv_page_ext_t { - #[inline] - pub fn scroll_prop(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } - } - #[inline] - pub fn set_scroll_prop(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 1u8, val as u64) - } - } - #[inline] - pub fn scroll_prop_ip(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } - } - #[inline] - pub fn set_scroll_prop_ip(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(1usize, 1u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1( - scroll_prop: u8, - scroll_prop_ip: u8, - ) -> __BindgenBitfieldUnit<[u8; 1usize], u8> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 1u8, { - let scroll_prop: u8 = unsafe { ::core::mem::transmute(scroll_prop) }; - scroll_prop as u64 - }); - __bindgen_bitfield_unit.set(1usize, 1u8, { - let scroll_prop_ip: u8 = unsafe { ::core::mem::transmute(scroll_prop_ip) }; - scroll_prop_ip as u64 - }); - __bindgen_bitfield_unit - } -} -pub const LV_PAGE_STYLE_BG: _bindgen_ty_38 = 0; -pub const LV_PAGE_STYLE_SCRL: _bindgen_ty_38 = 1; -pub const LV_PAGE_STYLE_SB: _bindgen_ty_38 = 2; -pub const LV_PAGE_STYLE_EDGE_FLASH: _bindgen_ty_38 = 3; -pub type _bindgen_ty_38 = u32; -pub type lv_page_style_t = u8; -extern "C" { - #[doc = " Create a page objects"] - #[doc = " @param par pointer to an object, it will be the parent of the new page"] - #[doc = " @param copy pointer to a page object, if not NULL then the new object will be copied from it"] - #[doc = " @return pointer to the created page"] - pub fn lv_page_create(par: *mut lv_obj_t, copy: *const lv_obj_t) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Delete all children of the scrl object, without deleting scrl child."] - #[doc = " @param page pointer to an object"] - pub fn lv_page_clean(page: *mut lv_obj_t); -} -extern "C" { - #[doc = " Get the scrollable object of a page"] - #[doc = " @param page pointer to a page object"] - #[doc = " @return pointer to a container which is the scrollable part of the page"] - pub fn lv_page_get_scrl(page: *const lv_obj_t) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Get the animation time"] - #[doc = " @param page pointer to a page object"] - #[doc = " @return the animation time in milliseconds"] - pub fn lv_page_get_anim_time(page: *const lv_obj_t) -> u16; -} -extern "C" { - #[doc = " Set the scroll bar mode on a page"] - #[doc = " @param page pointer to a page object"] - #[doc = " @param sb_mode the new mode from 'lv_page_sb.mode_t' enum"] - pub fn lv_page_set_sb_mode(page: *mut lv_obj_t, sb_mode: lv_sb_mode_t); -} -extern "C" { - #[doc = " Set the animation time for the page"] - #[doc = " @param page pointer to a page object"] - #[doc = " @param anim_time animation time in milliseconds"] - pub fn lv_page_set_anim_time(page: *mut lv_obj_t, anim_time: u16); -} -extern "C" { - #[doc = " Enable the scroll propagation feature. If enabled then the page will move its parent if there is"] - #[doc = " no more space to scroll."] - #[doc = " @param page pointer to a Page"] - #[doc = " @param en true or false to enable/disable scroll propagation"] - pub fn lv_page_set_scroll_propagation(page: *mut lv_obj_t, en: bool); -} -extern "C" { - #[doc = " Enable the edge flash effect. (Show an arc when the an edge is reached)"] - #[doc = " @param page pointer to a Page"] - #[doc = " @param en true or false to enable/disable end flash"] - pub fn lv_page_set_edge_flash(page: *mut lv_obj_t, en: bool); -} -extern "C" { - #[doc = " Set a style of a page"] - #[doc = " @param page pointer to a page object"] - #[doc = " @param type which style should be set"] - #[doc = " @param style pointer to a style"] - pub fn lv_page_set_style(page: *mut lv_obj_t, type_: lv_page_style_t, style: *const lv_style_t); -} -extern "C" { - #[doc = " Set the scroll bar mode on a page"] - #[doc = " @param page pointer to a page object"] - #[doc = " @return the mode from 'lv_page_sb.mode_t' enum"] - pub fn lv_page_get_sb_mode(page: *const lv_obj_t) -> lv_sb_mode_t; -} -extern "C" { - #[doc = " Get the scroll propagation property"] - #[doc = " @param page pointer to a Page"] - #[doc = " @return true or false"] - pub fn lv_page_get_scroll_propagation(page: *mut lv_obj_t) -> bool; -} -extern "C" { - #[doc = " Get the edge flash effect property."] - #[doc = " @param page pointer to a Page"] - #[doc = " return true or false"] - pub fn lv_page_get_edge_flash(page: *mut lv_obj_t) -> bool; -} -extern "C" { - #[doc = " Get that width which can be set to the children to still not cause overflow (show scrollbars)"] - #[doc = " @param page pointer to a page object"] - #[doc = " @return the width which still fits into the page"] - pub fn lv_page_get_fit_width(page: *mut lv_obj_t) -> lv_coord_t; -} -extern "C" { - #[doc = " Get that height which can be set to the children to still not cause overflow (show scrollbars)"] - #[doc = " @param page pointer to a page object"] - #[doc = " @return the height which still fits into the page"] - pub fn lv_page_get_fit_height(page: *mut lv_obj_t) -> lv_coord_t; -} -extern "C" { - #[doc = " Get a style of a page"] - #[doc = " @param page pointer to page object"] - #[doc = " @param type which style should be get"] - #[doc = " @return style pointer to a style"] - pub fn lv_page_get_style(page: *const lv_obj_t, type_: lv_page_style_t) -> *const lv_style_t; -} -extern "C" { - #[doc = " Find whether the page has been scrolled to a certain edge."] - #[doc = " @param page Page object"] - #[doc = " @param edge Edge to check"] - #[doc = " @return true if the page is on the specified edge"] - pub fn lv_page_on_edge(page: *mut lv_obj_t, edge: lv_page_edge_t) -> bool; -} -extern "C" { - #[doc = " Glue the object to the page. After it the page can be moved (dragged) with this object too."] - #[doc = " @param obj pointer to an object on a page"] - #[doc = " @param glue true: enable glue, false: disable glue"] - pub fn lv_page_glue_obj(obj: *mut lv_obj_t, glue: bool); -} -extern "C" { - #[doc = " Focus on an object. It ensures that the object will be visible on the page."] - #[doc = " @param page pointer to a page object"] - #[doc = " @param obj pointer to an object to focus (must be on the page)"] - #[doc = " @param anim_en LV_ANIM_ON to focus with animation; LV_ANIM_OFF to focus without animation"] - pub fn lv_page_focus(page: *mut lv_obj_t, obj: *const lv_obj_t, anim_en: lv_anim_enable_t); -} -extern "C" { - #[doc = " Scroll the page horizontally"] - #[doc = " @param page pointer to a page object"] - #[doc = " @param dist the distance to scroll (< 0: scroll left; > 0 scroll right)"] - pub fn lv_page_scroll_hor(page: *mut lv_obj_t, dist: lv_coord_t); -} -extern "C" { - #[doc = " Scroll the page vertically"] - #[doc = " @param page pointer to a page object"] - #[doc = " @param dist the distance to scroll (< 0: scroll down; > 0 scroll up)"] - pub fn lv_page_scroll_ver(page: *mut lv_obj_t, dist: lv_coord_t); -} -extern "C" { - #[doc = " Not intended to use directly by the user but by other object types internally."] - #[doc = " Start an edge flash animation. Exactly one `ext->edge_flash.xxx_ip` should be set"] - #[doc = " @param page"] - pub fn lv_page_start_edge_flash(page: *mut lv_obj_t); -} -#[doc = " TYPEDEFS"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_list_ext_t { - pub page: lv_page_ext_t, - pub styles_btn: [*const lv_style_t; 5usize], - pub style_img: *const lv_style_t, - pub size: u16, - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, - pub last_sel: *mut lv_obj_t, - pub selected_btn: *mut lv_obj_t, - pub last_clicked_btn: *mut lv_obj_t, -} -impl lv_list_ext_t { - #[inline] - pub fn single_mode(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } - } - #[inline] - pub fn set_single_mode(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 1u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1(single_mode: u8) -> __BindgenBitfieldUnit<[u8; 1usize], u8> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 1u8, { - let single_mode: u8 = unsafe { ::core::mem::transmute(single_mode) }; - single_mode as u64 - }); - __bindgen_bitfield_unit - } -} -#[doc = "< List background style"] -pub const LV_LIST_STYLE_BG: _bindgen_ty_39 = 0; -#[doc = "< List scrollable area style."] -pub const LV_LIST_STYLE_SCRL: _bindgen_ty_39 = 1; -#[doc = "< List scrollbar style."] -pub const LV_LIST_STYLE_SB: _bindgen_ty_39 = 2; -#[doc = "< List edge flash style."] -pub const LV_LIST_STYLE_EDGE_FLASH: _bindgen_ty_39 = 3; -#[doc = "< Same meaning as the ordinary button styles."] -pub const LV_LIST_STYLE_BTN_REL: _bindgen_ty_39 = 4; -pub const LV_LIST_STYLE_BTN_PR: _bindgen_ty_39 = 5; -pub const LV_LIST_STYLE_BTN_TGL_REL: _bindgen_ty_39 = 6; -pub const LV_LIST_STYLE_BTN_TGL_PR: _bindgen_ty_39 = 7; -pub const LV_LIST_STYLE_BTN_INA: _bindgen_ty_39 = 8; -#[doc = " List styles."] -pub type _bindgen_ty_39 = u32; -pub type lv_list_style_t = u8; -extern "C" { - #[doc = " Create a list objects"] - #[doc = " @param par pointer to an object, it will be the parent of the new list"] - #[doc = " @param copy pointer to a list object, if not NULL then the new object will be copied from it"] - #[doc = " @return pointer to the created list"] - pub fn lv_list_create(par: *mut lv_obj_t, copy: *const lv_obj_t) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Delete all children of the scrl object, without deleting scrl child."] - #[doc = " @param list pointer to an object"] - pub fn lv_list_clean(list: *mut lv_obj_t); -} -extern "C" { - #[doc = " Add a list element to the list"] - #[doc = " @param list pointer to list object"] - #[doc = " @param img_fn file name of an image before the text (NULL if unused)"] - #[doc = " @param txt text of the list element (NULL if unused)"] - #[doc = " @return pointer to the new list element which can be customized (a button)"] - pub fn lv_list_add_btn( - list: *mut lv_obj_t, - img_src: *const cty::c_void, - txt: *const cty::c_char, - ) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Remove the index of the button in the list"] - #[doc = " @param list pointer to a list object"] - #[doc = " @param index pointer to a the button's index in the list, index must be 0 <= index <"] - #[doc = " lv_list_ext_t.size"] - #[doc = " @return true: successfully deleted"] - pub fn lv_list_remove(list: *const lv_obj_t, index: u16) -> bool; -} -extern "C" { - #[doc = " Set single button selected mode, only one button will be selected if enabled."] - #[doc = " @param list pointer to the currently pressed list object"] - #[doc = " @param mode enable(true)/disable(false) single selected mode."] - pub fn lv_list_set_single_mode(list: *mut lv_obj_t, mode: bool); -} -extern "C" { - #[doc = " Make a button selected"] - #[doc = " @param list pointer to a list object"] - #[doc = " @param btn pointer to a button to select"] - #[doc = " NULL to not select any buttons"] - pub fn lv_list_set_btn_selected(list: *mut lv_obj_t, btn: *mut lv_obj_t); -} -extern "C" { - #[doc = " Set a style of a list"] - #[doc = " @param list pointer to a list object"] - #[doc = " @param type which style should be set"] - #[doc = " @param style pointer to a style"] - pub fn lv_list_set_style(list: *mut lv_obj_t, type_: lv_list_style_t, style: *const lv_style_t); -} -extern "C" { - #[doc = " Set layout of a list"] - #[doc = " @param list pointer to a list object"] - #[doc = " @param layout which layout should be used"] - pub fn lv_list_set_layout(list: *mut lv_obj_t, layout: lv_layout_t); -} -extern "C" { - #[doc = " Get single button selected mode."] - #[doc = " @param list pointer to the currently pressed list object."] - pub fn lv_list_get_single_mode(list: *mut lv_obj_t) -> bool; -} -extern "C" { - #[doc = " Get the text of a list element"] - #[doc = " @param btn pointer to list element"] - #[doc = " @return pointer to the text"] - pub fn lv_list_get_btn_text(btn: *const lv_obj_t) -> *const cty::c_char; -} -extern "C" { - #[doc = " Get the label object from a list element"] - #[doc = " @param btn pointer to a list element (button)"] - #[doc = " @return pointer to the label from the list element or NULL if not found"] - pub fn lv_list_get_btn_label(btn: *const lv_obj_t) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Get the image object from a list element"] - #[doc = " @param btn pointer to a list element (button)"] - #[doc = " @return pointer to the image from the list element or NULL if not found"] - pub fn lv_list_get_btn_img(btn: *const lv_obj_t) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Get the next button from list. (Starts from the bottom button)"] - #[doc = " @param list pointer to a list object"] - #[doc = " @param prev_btn pointer to button. Search the next after it."] - #[doc = " @return pointer to the next button or NULL when no more buttons"] - pub fn lv_list_get_prev_btn(list: *const lv_obj_t, prev_btn: *mut lv_obj_t) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Get the previous button from list. (Starts from the top button)"] - #[doc = " @param list pointer to a list object"] - #[doc = " @param prev_btn pointer to button. Search the previous before it."] - #[doc = " @return pointer to the previous button or NULL when no more buttons"] - pub fn lv_list_get_next_btn(list: *const lv_obj_t, prev_btn: *mut lv_obj_t) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Get the index of the button in the list"] - #[doc = " @param list pointer to a list object. If NULL, assumes btn is part of a list."] - #[doc = " @param btn pointer to a list element (button)"] - #[doc = " @return the index of the button in the list, or -1 of the button not in this list"] - pub fn lv_list_get_btn_index(list: *const lv_obj_t, btn: *const lv_obj_t) -> i32; -} -extern "C" { - #[doc = " Get the number of buttons in the list"] - #[doc = " @param list pointer to a list object"] - #[doc = " @return the number of buttons in the list"] - pub fn lv_list_get_size(list: *const lv_obj_t) -> u16; -} -extern "C" { - #[doc = " Get the currently selected button. Can be used while navigating in the list with a keypad."] - #[doc = " @param list pointer to a list object"] - #[doc = " @return pointer to the selected button"] - pub fn lv_list_get_btn_selected(list: *const lv_obj_t) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Get layout of a list"] - #[doc = " @param list pointer to a list object"] - #[doc = " @return layout of the list object"] - pub fn lv_list_get_layout(list: *mut lv_obj_t) -> lv_layout_t; -} -extern "C" { - #[doc = " Get a style of a list"] - #[doc = " @param list pointer to a list object"] - #[doc = " @param type which style should be get"] - #[doc = " @return style pointer to a style"] - pub fn lv_list_get_style(list: *const lv_obj_t, type_: lv_list_style_t) -> *const lv_style_t; -} -extern "C" { - #[doc = " Move the list elements up by one"] - #[doc = " @param list pointer a to list object"] - pub fn lv_list_up(list: *const lv_obj_t); -} -extern "C" { - #[doc = " Move the list elements down by one"] - #[doc = " @param list pointer to a list object"] - pub fn lv_list_down(list: *const lv_obj_t); -} -extern "C" { - #[doc = " Focus on a list button. It ensures that the button will be visible on the list."] - #[doc = " @param btn pointer to a list button to focus"] - #[doc = " @param anim LV_ANOM_ON: scroll with animation, LV_ANIM_OFF: without animation"] - pub fn lv_list_focus(btn: *const lv_obj_t, anim: lv_anim_enable_t); -} -#[doc = "< Don't draw the series"] -pub const LV_CHART_TYPE_NONE: _bindgen_ty_40 = 0; -#[doc = "< Connect the points with lines"] -pub const LV_CHART_TYPE_LINE: _bindgen_ty_40 = 1; -#[doc = "< Draw columns"] -pub const LV_CHART_TYPE_COLUMN: _bindgen_ty_40 = 2; -#[doc = "< Draw circles on the points"] -pub const LV_CHART_TYPE_POINT: _bindgen_ty_40 = 4; -#[doc = "< Draw vertical lines on points (useful when chart width == point count)"] -pub const LV_CHART_TYPE_VERTICAL_LINE: _bindgen_ty_40 = 8; -#[doc = "< Draw area chart"] -pub const LV_CHART_TYPE_AREA: _bindgen_ty_40 = 16; -#[doc = " Chart types"] -pub type _bindgen_ty_40 = u32; -pub type lv_chart_type_t = u8; -#[doc = "< Shift old data to the left and add the new one o the right"] -pub const LV_CHART_UPDATE_MODE_SHIFT: _bindgen_ty_41 = 0; -#[doc = "< Add the new data in a circular way"] -pub const LV_CHART_UPDATE_MODE_CIRCULAR: _bindgen_ty_41 = 1; -#[doc = " Chart update mode for `lv_chart_set_next`"] -pub type _bindgen_ty_41 = u32; -pub type lv_chart_update_mode_t = u8; -#[repr(C)] -#[derive(Copy, Clone)] -pub struct lv_chart_series_t { - pub points: *mut lv_coord_t, - pub color: lv_color_t, - pub start_point: u16, -} -#[doc = "< don't draw the last tick"] -pub const LV_CHART_AXIS_SKIP_LAST_TICK: _bindgen_ty_42 = 0; -#[doc = "< draw the last tick"] -pub const LV_CHART_AXIS_DRAW_LAST_TICK: _bindgen_ty_42 = 1; -#[doc = "< draw tick labels in an inversed order"] -pub const LV_CHART_AXIS_INVERSE_LABELS_ORDER: _bindgen_ty_42 = 2; -#[doc = " Data of axis"] -pub type _bindgen_ty_42 = u32; -pub type lv_chart_axis_options_t = u8; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_chart_axis_cfg_t { - pub list_of_values: *const cty::c_char, - pub options: lv_chart_axis_options_t, - pub num_tick_marks: u8, - pub major_tick_len: u8, - pub minor_tick_len: u8, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_chart_ext_t { - pub series_ll: lv_ll_t, - pub ymin: lv_coord_t, - pub ymax: lv_coord_t, - pub hdiv_cnt: u8, - pub vdiv_cnt: u8, - pub point_cnt: u16, - pub type_: lv_chart_type_t, - pub y_axis: lv_chart_axis_cfg_t, - pub x_axis: lv_chart_axis_cfg_t, - pub secondary_y_axis: lv_chart_axis_cfg_t, - pub margin: u16, - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, - pub series: lv_chart_ext_t__bindgen_ty_1, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_chart_ext_t__bindgen_ty_1 { - pub width: lv_coord_t, - pub num: u8, - pub opa: lv_opa_t, - pub dark: lv_opa_t, -} -impl lv_chart_ext_t { - #[inline] - pub fn update_mode(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } - } - #[inline] - pub fn set_update_mode(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 1u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1(update_mode: u8) -> __BindgenBitfieldUnit<[u8; 1usize], u8> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 1u8, { - let update_mode: u8 = unsafe { ::core::mem::transmute(update_mode) }; - update_mode as u64 - }); - __bindgen_bitfield_unit - } -} -pub const LV_CHART_STYLE_MAIN: _bindgen_ty_43 = 0; -pub type _bindgen_ty_43 = u32; -pub type lv_chart_style_t = u8; -extern "C" { - #[doc = " Create a chart background objects"] - #[doc = " @param par pointer to an object, it will be the parent of the new chart background"] - #[doc = " @param copy pointer to a chart background object, if not NULL then the new object will be copied"] - #[doc = " from it"] - #[doc = " @return pointer to the created chart background"] - pub fn lv_chart_create(par: *mut lv_obj_t, copy: *const lv_obj_t) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Allocate and add a data series to the chart"] - #[doc = " @param chart pointer to a chart object"] - #[doc = " @param color color of the data series"] - #[doc = " @return pointer to the allocated data series"] - pub fn lv_chart_add_series(chart: *mut lv_obj_t, color: lv_color_t) -> *mut lv_chart_series_t; -} -extern "C" { - #[doc = " Clear the point of a serie"] - #[doc = " @param chart pointer to a chart object"] - #[doc = " @param serie pointer to the chart's serie to clear"] - pub fn lv_chart_clear_serie(chart: *mut lv_obj_t, serie: *mut lv_chart_series_t); -} -extern "C" { - #[doc = " Set the number of horizontal and vertical division lines"] - #[doc = " @param chart pointer to a graph background object"] - #[doc = " @param hdiv number of horizontal division lines"] - #[doc = " @param vdiv number of vertical division lines"] - pub fn lv_chart_set_div_line_count(chart: *mut lv_obj_t, hdiv: u8, vdiv: u8); -} -extern "C" { - #[doc = " Set the minimal and maximal y values"] - #[doc = " @param chart pointer to a graph background object"] - #[doc = " @param ymin y minimum value"] - #[doc = " @param ymax y maximum value"] - pub fn lv_chart_set_range(chart: *mut lv_obj_t, ymin: lv_coord_t, ymax: lv_coord_t); -} -extern "C" { - #[doc = " Set a new type for a chart"] - #[doc = " @param chart pointer to a chart object"] - #[doc = " @param type new type of the chart (from 'lv_chart_type_t' enum)"] - pub fn lv_chart_set_type(chart: *mut lv_obj_t, type_: lv_chart_type_t); -} -extern "C" { - #[doc = " Set the number of points on a data line on a chart"] - #[doc = " @param chart pointer r to chart object"] - #[doc = " @param point_cnt new number of points on the data lines"] - pub fn lv_chart_set_point_count(chart: *mut lv_obj_t, point_cnt: u16); -} -extern "C" { - #[doc = " Set the opacity of the data series"] - #[doc = " @param chart pointer to a chart object"] - #[doc = " @param opa opacity of the data series"] - pub fn lv_chart_set_series_opa(chart: *mut lv_obj_t, opa: lv_opa_t); -} -extern "C" { - #[doc = " Set the line width or point radius of the data series"] - #[doc = " @param chart pointer to a chart object"] - #[doc = " @param width the new width"] - pub fn lv_chart_set_series_width(chart: *mut lv_obj_t, width: lv_coord_t); -} -extern "C" { - #[doc = " Set the dark effect on the bottom of the points or columns"] - #[doc = " @param chart pointer to a chart object"] - #[doc = " @param dark_eff dark effect level (LV_OPA_TRANSP to turn off)"] - pub fn lv_chart_set_series_darking(chart: *mut lv_obj_t, dark_eff: lv_opa_t); -} -extern "C" { - #[doc = " Initialize all data points with a value"] - #[doc = " @param chart pointer to chart object"] - #[doc = " @param ser pointer to a data series on 'chart'"] - #[doc = " @param y the new value for all points"] - pub fn lv_chart_init_points(chart: *mut lv_obj_t, ser: *mut lv_chart_series_t, y: lv_coord_t); -} -extern "C" { - #[doc = " Set the value of points from an array"] - #[doc = " @param chart pointer to chart object"] - #[doc = " @param ser pointer to a data series on 'chart'"] - #[doc = " @param y_array array of 'lv_coord_t' points (with 'points count' elements )"] - pub fn lv_chart_set_points( - chart: *mut lv_obj_t, - ser: *mut lv_chart_series_t, - y_array: *mut lv_coord_t, - ); -} -extern "C" { - #[doc = " Shift all data right and set the most right data on a data line"] - #[doc = " @param chart pointer to chart object"] - #[doc = " @param ser pointer to a data series on 'chart'"] - #[doc = " @param y the new value of the most right data"] - pub fn lv_chart_set_next(chart: *mut lv_obj_t, ser: *mut lv_chart_series_t, y: lv_coord_t); -} -extern "C" { - #[doc = " Set update mode of the chart object."] - #[doc = " @param chart pointer to a chart object"] - #[doc = " @param update mode"] - pub fn lv_chart_set_update_mode(chart: *mut lv_obj_t, update_mode: lv_chart_update_mode_t); -} -extern "C" { - #[doc = " Set the length of the tick marks on the x axis"] - #[doc = " @param chart pointer to the chart"] - #[doc = " @param major_tick_len the length of the major tick or `LV_CHART_TICK_LENGTH_AUTO` to set automatically"] - #[doc = " (where labels are added)"] - #[doc = " @param minor_tick_len the length of the minor tick, `LV_CHART_TICK_LENGTH_AUTO` to set automatically"] - #[doc = " (where no labels are added)"] - pub fn lv_chart_set_x_tick_length(chart: *mut lv_obj_t, major_tick_len: u8, minor_tick_len: u8); -} -extern "C" { - #[doc = " Set the length of the tick marks on the y axis"] - #[doc = " @param chart pointer to the chart"] - #[doc = " @param major_tick_len the length of the major tick or `LV_CHART_TICK_LENGTH_AUTO` to set automatically"] - #[doc = " (where labels are added)"] - #[doc = " @param minor_tick_len the length of the minor tick, `LV_CHART_TICK_LENGTH_AUTO` to set automatically"] - #[doc = " (where no labels are added)"] - pub fn lv_chart_set_y_tick_length(chart: *mut lv_obj_t, major_tick_len: u8, minor_tick_len: u8); -} -extern "C" { - #[doc = " Set the length of the tick marks on the secondary y axis"] - #[doc = " @param chart pointer to the chart"] - #[doc = " @param major_tick_len the length of the major tick or `LV_CHART_TICK_LENGTH_AUTO` to set automatically"] - #[doc = " (where labels are added)"] - #[doc = " @param minor_tick_len the length of the minor tick, `LV_CHART_TICK_LENGTH_AUTO` to set automatically"] - #[doc = " (where no labels are added)"] - pub fn lv_chart_set_secondary_y_tick_length( - chart: *mut lv_obj_t, - major_tick_len: u8, - minor_tick_len: u8, - ); -} -extern "C" { - #[doc = " Set the x-axis tick count and labels of a chart"] - #[doc = " @param chart pointer to a chart object"] - #[doc = " @param list_of_values list of string values, terminated with \\n, except the last"] - #[doc = " @param num_tick_marks if list_of_values is NULL: total number of ticks per axis"] - #[doc = " else number of ticks between two value labels"] - #[doc = " @param options extra options"] - pub fn lv_chart_set_x_tick_texts( - chart: *mut lv_obj_t, - list_of_values: *const cty::c_char, - num_tick_marks: u8, - options: lv_chart_axis_options_t, - ); -} -extern "C" { - #[doc = " Set the secondary y-axis tick count and labels of a chart"] - #[doc = " @param chart pointer to a chart object"] - #[doc = " @param list_of_values list of string values, terminated with \\n, except the last"] - #[doc = " @param num_tick_marks if list_of_values is NULL: total number of ticks per axis"] - #[doc = " else number of ticks between two value labels"] - #[doc = " @param options extra options"] - pub fn lv_chart_set_secondary_y_tick_texts( - chart: *mut lv_obj_t, - list_of_values: *const cty::c_char, - num_tick_marks: u8, - options: lv_chart_axis_options_t, - ); -} -extern "C" { - #[doc = " Set the y-axis tick count and labels of a chart"] - #[doc = " @param chart pointer to a chart object"] - #[doc = " @param list_of_values list of string values, terminated with \\n, except the last"] - #[doc = " @param num_tick_marks if list_of_values is NULL: total number of ticks per axis"] - #[doc = " else number of ticks between two value labels"] - #[doc = " @param options extra options"] - pub fn lv_chart_set_y_tick_texts( - chart: *mut lv_obj_t, - list_of_values: *const cty::c_char, - num_tick_marks: u8, - options: lv_chart_axis_options_t, - ); -} -extern "C" { - #[doc = " Set the margin around the chart, used for axes value and ticks"] - #[doc = " @param chart pointer to an chart object"] - #[doc = " @param margin value of the margin [px]"] - pub fn lv_chart_set_margin(chart: *mut lv_obj_t, margin: u16); -} -extern "C" { - #[doc = " Get the type of a chart"] - #[doc = " @param chart pointer to chart object"] - #[doc = " @return type of the chart (from 'lv_chart_t' enum)"] - pub fn lv_chart_get_type(chart: *const lv_obj_t) -> lv_chart_type_t; -} -extern "C" { - #[doc = " Get the data point number per data line on chart"] - #[doc = " @param chart pointer to chart object"] - #[doc = " @return point number on each data line"] - pub fn lv_chart_get_point_cnt(chart: *const lv_obj_t) -> u16; -} -extern "C" { - #[doc = " Get the opacity of the data series"] - #[doc = " @param chart pointer to chart object"] - #[doc = " @return the opacity of the data series"] - pub fn lv_chart_get_series_opa(chart: *const lv_obj_t) -> lv_opa_t; -} -extern "C" { - #[doc = " Get the data series width"] - #[doc = " @param chart pointer to chart object"] - #[doc = " @return the width the data series (lines or points)"] - pub fn lv_chart_get_series_width(chart: *const lv_obj_t) -> lv_coord_t; -} -extern "C" { - #[doc = " Get the dark effect level on the bottom of the points or columns"] - #[doc = " @param chart pointer to chart object"] - #[doc = " @return dark effect level (LV_OPA_TRANSP to turn off)"] - pub fn lv_chart_get_series_darking(chart: *const lv_obj_t) -> lv_opa_t; -} -extern "C" { - #[doc = " Get the margin around the chart, used for axes value and labels"] - #[doc = " @param chart pointer to an chart object"] - #[doc = " @param return value of the margin"] - pub fn lv_chart_get_margin(chart: *mut lv_obj_t) -> u16; -} -extern "C" { - #[doc = " Refresh a chart if its data line has changed"] - #[doc = " @param chart pointer to chart object"] - pub fn lv_chart_refresh(chart: *mut lv_obj_t); -} -#[doc = " Internal table cell format structure."] -#[doc = ""] -#[doc = " Use the `lv_table` APIs instead."] -#[repr(C)] -#[derive(Copy, Clone)] -pub union lv_table_cell_format_t { - pub s: lv_table_cell_format_t__bindgen_ty_1, - pub format_byte: u8, - _bindgen_union_align: u8, -} -#[repr(C, packed)] -#[derive(Debug, Copy, Clone)] -pub struct lv_table_cell_format_t__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, -} -impl lv_table_cell_format_t__bindgen_ty_1 { - #[inline] - pub fn align(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 2u8) as u8) } - } - #[inline] - pub fn set_align(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 2u8, val as u64) - } - } - #[inline] - pub fn right_merge(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u8) } - } - #[inline] - pub fn set_right_merge(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(2usize, 1u8, val as u64) - } - } - #[inline] - pub fn type_(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 2u8) as u8) } - } - #[inline] - pub fn set_type(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(3usize, 2u8, val as u64) - } - } - #[inline] - pub fn crop(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u8) } - } - #[inline] - pub fn set_crop(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(5usize, 1u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1( - align: u8, - right_merge: u8, - type_: u8, - crop: u8, - ) -> __BindgenBitfieldUnit<[u8; 1usize], u8> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 2u8, { - let align: u8 = unsafe { ::core::mem::transmute(align) }; - align as u64 - }); - __bindgen_bitfield_unit.set(2usize, 1u8, { - let right_merge: u8 = unsafe { ::core::mem::transmute(right_merge) }; - right_merge as u64 - }); - __bindgen_bitfield_unit.set(3usize, 2u8, { - let type_: u8 = unsafe { ::core::mem::transmute(type_) }; - type_ as u64 - }); - __bindgen_bitfield_unit.set(5usize, 1u8, { - let crop: u8 = unsafe { ::core::mem::transmute(crop) }; - crop as u64 - }); - __bindgen_bitfield_unit - } -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_table_ext_t { - pub col_cnt: u16, - pub row_cnt: u16, - pub cell_data: *mut *mut cty::c_char, - pub cell_style: [*const lv_style_t; 4usize], - pub col_w: [lv_coord_t; 12usize], -} -pub const LV_TABLE_STYLE_BG: _bindgen_ty_44 = 0; -pub const LV_TABLE_STYLE_CELL1: _bindgen_ty_44 = 1; -pub const LV_TABLE_STYLE_CELL2: _bindgen_ty_44 = 2; -pub const LV_TABLE_STYLE_CELL3: _bindgen_ty_44 = 3; -pub const LV_TABLE_STYLE_CELL4: _bindgen_ty_44 = 4; -pub type _bindgen_ty_44 = u32; -pub type lv_table_style_t = u8; -extern "C" { - #[doc = " Create a table object"] - #[doc = " @param par pointer to an object, it will be the parent of the new table"] - #[doc = " @param copy pointer to a table object, if not NULL then the new object will be copied from it"] - #[doc = " @return pointer to the created table"] - pub fn lv_table_create(par: *mut lv_obj_t, copy: *const lv_obj_t) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Set the value of a cell."] - #[doc = " @param table pointer to a Table object"] - #[doc = " @param row id of the row [0 .. row_cnt -1]"] - #[doc = " @param col id of the column [0 .. col_cnt -1]"] - #[doc = " @param txt text to display in the cell. It will be copied and saved so this variable is not"] - #[doc = " required after this function call."] - pub fn lv_table_set_cell_value( - table: *mut lv_obj_t, - row: u16, - col: u16, - txt: *const cty::c_char, - ); -} -extern "C" { - #[doc = " Set the number of rows"] - #[doc = " @param table table pointer to a Table object"] - #[doc = " @param row_cnt number of rows"] - pub fn lv_table_set_row_cnt(table: *mut lv_obj_t, row_cnt: u16); -} -extern "C" { - #[doc = " Set the number of columns"] - #[doc = " @param table table pointer to a Table object"] - #[doc = " @param col_cnt number of columns. Must be < LV_TABLE_COL_MAX"] - pub fn lv_table_set_col_cnt(table: *mut lv_obj_t, col_cnt: u16); -} -extern "C" { - #[doc = " Set the width of a column"] - #[doc = " @param table table pointer to a Table object"] - #[doc = " @param col_id id of the column [0 .. LV_TABLE_COL_MAX -1]"] - #[doc = " @param w width of the column"] - pub fn lv_table_set_col_width(table: *mut lv_obj_t, col_id: u16, w: lv_coord_t); -} -extern "C" { - #[doc = " Set the text align in a cell"] - #[doc = " @param table pointer to a Table object"] - #[doc = " @param row id of the row [0 .. row_cnt -1]"] - #[doc = " @param col id of the column [0 .. col_cnt -1]"] - #[doc = " @param align LV_LABEL_ALIGN_LEFT or LV_LABEL_ALIGN_CENTER or LV_LABEL_ALIGN_RIGHT"] - pub fn lv_table_set_cell_align( - table: *mut lv_obj_t, - row: u16, - col: u16, - align: lv_label_align_t, - ); -} -extern "C" { - #[doc = " Set the type of a cell."] - #[doc = " @param table pointer to a Table object"] - #[doc = " @param row id of the row [0 .. row_cnt -1]"] - #[doc = " @param col id of the column [0 .. col_cnt -1]"] - #[doc = " @param type 1,2,3 or 4. The cell style will be chosen accordingly."] - pub fn lv_table_set_cell_type(table: *mut lv_obj_t, row: u16, col: u16, type_: u8); -} -extern "C" { - #[doc = " Set the cell crop. (Don't adjust the height of the cell according to its content)"] - #[doc = " @param table pointer to a Table object"] - #[doc = " @param row id of the row [0 .. row_cnt -1]"] - #[doc = " @param col id of the column [0 .. col_cnt -1]"] - #[doc = " @param crop true: crop the cell content; false: set the cell height to the content."] - pub fn lv_table_set_cell_crop(table: *mut lv_obj_t, row: u16, col: u16, crop: bool); -} -extern "C" { - #[doc = " Merge a cell with the right neighbor. The value of the cell to the right won't be displayed."] - #[doc = " @param table table pointer to a Table object"] - #[doc = " @param row id of the row [0 .. row_cnt -1]"] - #[doc = " @param col id of the column [0 .. col_cnt -1]"] - #[doc = " @param en true: merge right; false: don't merge right"] - pub fn lv_table_set_cell_merge_right(table: *mut lv_obj_t, row: u16, col: u16, en: bool); -} -extern "C" { - #[doc = " Set a style of a table."] - #[doc = " @param table pointer to table object"] - #[doc = " @param type which style should be set"] - #[doc = " @param style pointer to a style"] - pub fn lv_table_set_style( - table: *mut lv_obj_t, - type_: lv_table_style_t, - style: *const lv_style_t, - ); -} -extern "C" { - #[doc = " Get the value of a cell."] - #[doc = " @param table pointer to a Table object"] - #[doc = " @param row id of the row [0 .. row_cnt -1]"] - #[doc = " @param col id of the column [0 .. col_cnt -1]"] - #[doc = " @return text in the cell"] - pub fn lv_table_get_cell_value(table: *mut lv_obj_t, row: u16, col: u16) -> *const cty::c_char; -} -extern "C" { - #[doc = " Get the number of rows."] - #[doc = " @param table table pointer to a Table object"] - #[doc = " @return number of rows."] - pub fn lv_table_get_row_cnt(table: *mut lv_obj_t) -> u16; -} -extern "C" { - #[doc = " Get the number of columns."] - #[doc = " @param table table pointer to a Table object"] - #[doc = " @return number of columns."] - pub fn lv_table_get_col_cnt(table: *mut lv_obj_t) -> u16; -} -extern "C" { - #[doc = " Get the width of a column"] - #[doc = " @param table table pointer to a Table object"] - #[doc = " @param col_id id of the column [0 .. LV_TABLE_COL_MAX -1]"] - #[doc = " @return width of the column"] - pub fn lv_table_get_col_width(table: *mut lv_obj_t, col_id: u16) -> lv_coord_t; -} -extern "C" { - #[doc = " Get the text align of a cell"] - #[doc = " @param table pointer to a Table object"] - #[doc = " @param row id of the row [0 .. row_cnt -1]"] - #[doc = " @param col id of the column [0 .. col_cnt -1]"] - #[doc = " @return LV_LABEL_ALIGN_LEFT (default in case of error) or LV_LABEL_ALIGN_CENTER or"] - #[doc = " LV_LABEL_ALIGN_RIGHT"] - pub fn lv_table_get_cell_align(table: *mut lv_obj_t, row: u16, col: u16) -> lv_label_align_t; -} -extern "C" { - #[doc = " Get the type of a cell"] - #[doc = " @param table pointer to a Table object"] - #[doc = " @param row id of the row [0 .. row_cnt -1]"] - #[doc = " @param col id of the column [0 .. col_cnt -1]"] - #[doc = " @return 1,2,3 or 4"] - pub fn lv_table_get_cell_type(table: *mut lv_obj_t, row: u16, col: u16) -> lv_label_align_t; -} -extern "C" { - #[doc = " Get the crop property of a cell"] - #[doc = " @param table pointer to a Table object"] - #[doc = " @param row id of the row [0 .. row_cnt -1]"] - #[doc = " @param col id of the column [0 .. col_cnt -1]"] - #[doc = " @return true: text crop enabled; false: disabled"] - pub fn lv_table_get_cell_crop(table: *mut lv_obj_t, row: u16, col: u16) -> lv_label_align_t; -} -extern "C" { - #[doc = " Get the cell merge attribute."] - #[doc = " @param table table pointer to a Table object"] - #[doc = " @param row id of the row [0 .. row_cnt -1]"] - #[doc = " @param col id of the column [0 .. col_cnt -1]"] - #[doc = " @return true: merge right; false: don't merge right"] - pub fn lv_table_get_cell_merge_right(table: *mut lv_obj_t, row: u16, col: u16) -> bool; -} -extern "C" { - #[doc = " Get style of a table."] - #[doc = " @param table pointer to table object"] - #[doc = " @param type which style should be get"] - #[doc = " @return style pointer to the style"] - pub fn lv_table_get_style(table: *const lv_obj_t, type_: lv_table_style_t) - -> *const lv_style_t; -} -#[doc = " TYPEDEFS"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_cb_ext_t { - pub bg_btn: lv_btn_ext_t, - pub bullet: *mut lv_obj_t, - pub label: *mut lv_obj_t, -} -#[doc = "< Style of object background."] -pub const LV_CB_STYLE_BG: _bindgen_ty_45 = 0; -#[doc = "< Style of box (released)."] -pub const LV_CB_STYLE_BOX_REL: _bindgen_ty_45 = 1; -#[doc = "< Style of box (pressed)."] -pub const LV_CB_STYLE_BOX_PR: _bindgen_ty_45 = 2; -#[doc = "< Style of box (released but checked)."] -pub const LV_CB_STYLE_BOX_TGL_REL: _bindgen_ty_45 = 3; -#[doc = "< Style of box (pressed and checked)."] -pub const LV_CB_STYLE_BOX_TGL_PR: _bindgen_ty_45 = 4; -#[doc = "< Style of disabled box"] -pub const LV_CB_STYLE_BOX_INA: _bindgen_ty_45 = 5; -#[doc = " Checkbox styles."] -pub type _bindgen_ty_45 = u32; -pub type lv_cb_style_t = u8; -extern "C" { - #[doc = " Create a check box objects"] - #[doc = " @param par pointer to an object, it will be the parent of the new check box"] - #[doc = " @param copy pointer to a check box object, if not NULL then the new object will be copied from it"] - #[doc = " @return pointer to the created check box"] - pub fn lv_cb_create(par: *mut lv_obj_t, copy: *const lv_obj_t) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Set the text of a check box. `txt` will be copied and may be deallocated"] - #[doc = " after this function returns."] - #[doc = " @param cb pointer to a check box"] - #[doc = " @param txt the text of the check box. NULL to refresh with the current text."] - pub fn lv_cb_set_text(cb: *mut lv_obj_t, txt: *const cty::c_char); -} -extern "C" { - #[doc = " Set the text of a check box. `txt` must not be deallocated during the life"] - #[doc = " of this checkbox."] - #[doc = " @param cb pointer to a check box"] - #[doc = " @param txt the text of the check box. NULL to refresh with the current text."] - pub fn lv_cb_set_static_text(cb: *mut lv_obj_t, txt: *const cty::c_char); -} -extern "C" { - #[doc = " Set a style of a check box"] - #[doc = " @param cb pointer to check box object"] - #[doc = " @param type which style should be set"] - #[doc = " @param style pointer to a style"] - pub fn lv_cb_set_style(cb: *mut lv_obj_t, type_: lv_cb_style_t, style: *const lv_style_t); -} -extern "C" { - #[doc = " Get the text of a check box"] - #[doc = " @param cb pointer to check box object"] - #[doc = " @return pointer to the text of the check box"] - pub fn lv_cb_get_text(cb: *const lv_obj_t) -> *const cty::c_char; -} -extern "C" { - #[doc = " Get a style of a button"] - #[doc = " @param cb pointer to check box object"] - #[doc = " @param type which style should be get"] - #[doc = " @return style pointer to the style"] - pub fn lv_cb_get_style(cb: *const lv_obj_t, type_: lv_cb_style_t) -> *const lv_style_t; -} -pub const LV_CPICKER_TYPE_RECT: _bindgen_ty_46 = 0; -pub const LV_CPICKER_TYPE_DISC: _bindgen_ty_46 = 1; -#[doc = " TYPEDEFS"] -pub type _bindgen_ty_46 = u32; -pub type lv_cpicker_type_t = u8; -pub const LV_CPICKER_COLOR_MODE_HUE: _bindgen_ty_47 = 0; -pub const LV_CPICKER_COLOR_MODE_SATURATION: _bindgen_ty_47 = 1; -pub const LV_CPICKER_COLOR_MODE_VALUE: _bindgen_ty_47 = 2; -pub type _bindgen_ty_47 = u32; -pub type lv_cpicker_color_mode_t = u8; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_cpicker_ext_t { - pub hsv: lv_color_hsv_t, - pub indic: lv_cpicker_ext_t__bindgen_ty_1, - pub last_click_time: u32, - pub last_change_time: u32, - pub last_press_point: lv_point_t, - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, - pub __bindgen_padding_0: [u8; 3usize], -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_cpicker_ext_t__bindgen_ty_1 { - pub style: *mut lv_style_t, - pub pos: lv_point_t, - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, - pub __bindgen_padding_0: [u8; 3usize], -} -impl lv_cpicker_ext_t__bindgen_ty_1 { - #[inline] - pub fn colored(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } - } - #[inline] - pub fn set_colored(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 1u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1(colored: u8) -> __BindgenBitfieldUnit<[u8; 1usize], u8> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 1u8, { - let colored: u8 = unsafe { ::core::mem::transmute(colored) }; - colored as u64 - }); - __bindgen_bitfield_unit - } -} -impl lv_cpicker_ext_t { - #[inline] - pub fn color_mode(&self) -> lv_cpicker_color_mode_t { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 2u8) as u8) } - } - #[inline] - pub fn set_color_mode(&mut self, val: lv_cpicker_color_mode_t) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 2u8, val as u64) - } - } - #[inline] - pub fn color_mode_fixed(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u8) } - } - #[inline] - pub fn set_color_mode_fixed(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(2usize, 1u8, val as u64) - } - } - #[inline] - pub fn type_(&self) -> lv_cpicker_type_t { - unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u8) } - } - #[inline] - pub fn set_type(&mut self, val: lv_cpicker_type_t) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(3usize, 1u8, val as u64) - } - } - #[inline] - pub fn preview(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u8) } - } - #[inline] - pub fn set_preview(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(4usize, 1u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1( - color_mode: lv_cpicker_color_mode_t, - color_mode_fixed: u8, - type_: lv_cpicker_type_t, - preview: u8, - ) -> __BindgenBitfieldUnit<[u8; 1usize], u8> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 2u8, { - let color_mode: u8 = unsafe { ::core::mem::transmute(color_mode) }; - color_mode as u64 - }); - __bindgen_bitfield_unit.set(2usize, 1u8, { - let color_mode_fixed: u8 = unsafe { ::core::mem::transmute(color_mode_fixed) }; - color_mode_fixed as u64 - }); - __bindgen_bitfield_unit.set(3usize, 1u8, { - let type_: u8 = unsafe { ::core::mem::transmute(type_) }; - type_ as u64 - }); - __bindgen_bitfield_unit.set(4usize, 1u8, { - let preview: u8 = unsafe { ::core::mem::transmute(preview) }; - preview as u64 - }); - __bindgen_bitfield_unit - } -} -pub const LV_CPICKER_STYLE_MAIN: _bindgen_ty_48 = 0; -pub const LV_CPICKER_STYLE_INDICATOR: _bindgen_ty_48 = 1; -pub type _bindgen_ty_48 = u32; -pub type lv_cpicker_style_t = u8; -extern "C" { - #[doc = " Create a colorpicker objects"] - #[doc = " @param par pointer to an object, it will be the parent of the new colorpicker"] - #[doc = " @param copy pointer to a colorpicker object, if not NULL then the new object will be copied from it"] - #[doc = " @return pointer to the created colorpicker"] - pub fn lv_cpicker_create(par: *mut lv_obj_t, copy: *const lv_obj_t) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Set a new type for a colorpicker"] - #[doc = " @param cpicker pointer to a colorpicker object"] - #[doc = " @param type new type of the colorpicker (from 'lv_cpicker_type_t' enum)"] - pub fn lv_cpicker_set_type(cpicker: *mut lv_obj_t, type_: lv_cpicker_type_t); -} -extern "C" { - #[doc = " Set a style of a colorpicker."] - #[doc = " @param cpicker pointer to colorpicker object"] - #[doc = " @param type which style should be set"] - #[doc = " @param style pointer to a style"] - pub fn lv_cpicker_set_style( - cpicker: *mut lv_obj_t, - type_: lv_cpicker_style_t, - style: *mut lv_style_t, - ); -} -extern "C" { - #[doc = " Set the current hue of a colorpicker."] - #[doc = " @param cpicker pointer to colorpicker object"] - #[doc = " @param hue current selected hue [0..360]"] - #[doc = " @return true if changed, otherwise false"] - pub fn lv_cpicker_set_hue(cpicker: *mut lv_obj_t, hue: u16) -> bool; -} -extern "C" { - #[doc = " Set the current saturation of a colorpicker."] - #[doc = " @param cpicker pointer to colorpicker object"] - #[doc = " @param saturation current selected saturation [0..100]"] - #[doc = " @return true if changed, otherwise false"] - pub fn lv_cpicker_set_saturation(cpicker: *mut lv_obj_t, saturation: u8) -> bool; -} -extern "C" { - #[doc = " Set the current value of a colorpicker."] - #[doc = " @param cpicker pointer to colorpicker object"] - #[doc = " @param val current selected value [0..100]"] - #[doc = " @return true if changed, otherwise false"] - pub fn lv_cpicker_set_value(cpicker: *mut lv_obj_t, val: u8) -> bool; -} -extern "C" { - #[doc = " Set the current hsv of a colorpicker."] - #[doc = " @param cpicker pointer to colorpicker object"] - #[doc = " @param hsv current selected hsv"] - #[doc = " @return true if changed, otherwise false"] - pub fn lv_cpicker_set_hsv(cpicker: *mut lv_obj_t, hsv: lv_color_hsv_t) -> bool; -} -extern "C" { - #[doc = " Set the current color of a colorpicker."] - #[doc = " @param cpicker pointer to colorpicker object"] - #[doc = " @param color current selected color"] - #[doc = " @return true if changed, otherwise false"] - pub fn lv_cpicker_set_color(cpicker: *mut lv_obj_t, color: lv_color_t) -> bool; -} -extern "C" { - #[doc = " Set the current color mode."] - #[doc = " @param cpicker pointer to colorpicker object"] - #[doc = " @param mode color mode (hue/sat/val)"] - pub fn lv_cpicker_set_color_mode(cpicker: *mut lv_obj_t, mode: lv_cpicker_color_mode_t); -} -extern "C" { - #[doc = " Set if the color mode is changed on long press on center"] - #[doc = " @param cpicker pointer to colorpicker object"] - #[doc = " @param fixed color mode cannot be changed on long press"] - pub fn lv_cpicker_set_color_mode_fixed(cpicker: *mut lv_obj_t, fixed: bool); -} -extern "C" { - #[doc = " Make the indicator to be colored to the current color"] - #[doc = " @param cpicker pointer to colorpicker object"] - #[doc = " @param en true: color the indicator; false: not color the indicator"] - pub fn lv_cpicker_set_indic_colored(cpicker: *mut lv_obj_t, en: bool); -} -extern "C" { - #[doc = " Add a color preview in the middle of the DISC type color picker"] - #[doc = " @param cpicker pointer to colorpicker object"] - #[doc = " @param en true: enable preview; false: disable preview"] - pub fn lv_cpicker_set_preview(cpicker: *mut lv_obj_t, en: bool); -} -extern "C" { - #[doc = " Get the current color mode."] - #[doc = " @param cpicker pointer to colorpicker object"] - #[doc = " @return color mode (hue/sat/val)"] - pub fn lv_cpicker_get_color_mode(cpicker: *mut lv_obj_t) -> lv_cpicker_color_mode_t; -} -extern "C" { - #[doc = " Get if the color mode is changed on long press on center"] - #[doc = " @param cpicker pointer to colorpicker object"] - #[doc = " @return mode cannot be changed on long press"] - pub fn lv_cpicker_get_color_mode_fixed(cpicker: *mut lv_obj_t) -> bool; -} -extern "C" { - #[doc = " Get style of a colorpicker."] - #[doc = " @param cpicker pointer to colorpicker object"] - #[doc = " @param type which style should be get"] - #[doc = " @return pointer to the style"] - pub fn lv_cpicker_get_style( - cpicker: *const lv_obj_t, - type_: lv_cpicker_style_t, - ) -> *const lv_style_t; -} -extern "C" { - #[doc = " Get the current hue of a colorpicker."] - #[doc = " @param cpicker pointer to colorpicker object"] - #[doc = " @return current selected hue"] - pub fn lv_cpicker_get_hue(cpicker: *mut lv_obj_t) -> u16; -} -extern "C" { - #[doc = " Get the current saturation of a colorpicker."] - #[doc = " @param cpicker pointer to colorpicker object"] - #[doc = " @return current selected saturation"] - pub fn lv_cpicker_get_saturation(cpicker: *mut lv_obj_t) -> u8; -} -extern "C" { - #[doc = " Get the current hue of a colorpicker."] - #[doc = " @param cpicker pointer to colorpicker object"] - #[doc = " @return current selected value"] - pub fn lv_cpicker_get_value(cpicker: *mut lv_obj_t) -> u8; -} -extern "C" { - #[doc = " Get the current selected hsv of a colorpicker."] - #[doc = " @param cpicker pointer to colorpicker object"] - #[doc = " @return current selected hsv"] - pub fn lv_cpicker_get_hsv(cpicker: *mut lv_obj_t) -> lv_color_hsv_t; -} -extern "C" { - #[doc = " Get the current selected color of a colorpicker."] - #[doc = " @param cpicker pointer to colorpicker object"] - #[doc = " @return current selected color"] - pub fn lv_cpicker_get_color(cpicker: *mut lv_obj_t) -> lv_color_t; -} -extern "C" { - #[doc = " Whether the indicator is colored to the current color or not"] - #[doc = " @param cpicker pointer to colorpicker object"] - #[doc = " @return true: color the indicator; false: not color the indicator"] - pub fn lv_cpicker_get_indic_colored(cpicker: *mut lv_obj_t) -> bool; -} -extern "C" { - #[doc = " Whether the preview is enabled or not"] - #[doc = " @param cpicker pointer to colorpicker object"] - #[doc = " @return en true: preview is enabled; false: preview is disabled"] - pub fn lv_cpicker_get_preview(cpicker: *mut lv_obj_t) -> bool; -} -#[doc = " Data of bar"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_bar_ext_t { - pub cur_value: i16, - pub min_value: i16, - pub max_value: i16, - pub anim_start: lv_anim_value_t, - pub anim_end: lv_anim_value_t, - pub anim_state: lv_anim_value_t, - pub anim_time: lv_anim_value_t, - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, - pub style_indic: *const lv_style_t, -} -impl lv_bar_ext_t { - #[inline] - pub fn sym(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } - } - #[inline] - pub fn set_sym(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 1u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1(sym: u8) -> __BindgenBitfieldUnit<[u8; 1usize], u8> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 1u8, { - let sym: u8 = unsafe { ::core::mem::transmute(sym) }; - sym as u64 - }); - __bindgen_bitfield_unit - } -} -pub const LV_BAR_STYLE_BG: _bindgen_ty_49 = 0; -#[doc = " Bar background style."] -pub const LV_BAR_STYLE_INDIC: _bindgen_ty_49 = 1; -#[doc = " Bar styles."] -pub type _bindgen_ty_49 = u32; -pub type lv_bar_style_t = u8; -extern "C" { - #[doc = " Create a bar objects"] - #[doc = " @param par pointer to an object, it will be the parent of the new bar"] - #[doc = " @param copy pointer to a bar object, if not NULL then the new object will be copied from it"] - #[doc = " @return pointer to the created bar"] - pub fn lv_bar_create(par: *mut lv_obj_t, copy: *const lv_obj_t) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Set a new value on the bar"] - #[doc = " @param bar pointer to a bar object"] - #[doc = " @param value new value"] - #[doc = " @param anim LV_ANIM_ON: set the value with an animation; LV_ANIM_OFF: change the value immediately"] - pub fn lv_bar_set_value(bar: *mut lv_obj_t, value: i16, anim: lv_anim_enable_t); -} -extern "C" { - #[doc = " Set minimum and the maximum values of a bar"] - #[doc = " @param bar pointer to the bar object"] - #[doc = " @param min minimum value"] - #[doc = " @param max maximum value"] - pub fn lv_bar_set_range(bar: *mut lv_obj_t, min: i16, max: i16); -} -extern "C" { - #[doc = " Make the bar symmetric to zero. The indicator will grow from zero instead of the minimum"] - #[doc = " position."] - #[doc = " @param bar pointer to a bar object"] - #[doc = " @param en true: enable disable symmetric behavior; false: disable"] - pub fn lv_bar_set_sym(bar: *mut lv_obj_t, en: bool); -} -extern "C" { - #[doc = " Set the animation time of the bar"] - #[doc = " @param bar pointer to a bar object"] - #[doc = " @param anim_time the animation time in milliseconds."] - pub fn lv_bar_set_anim_time(bar: *mut lv_obj_t, anim_time: u16); -} -extern "C" { - #[doc = " Set a style of a bar"] - #[doc = " @param bar pointer to a bar object"] - #[doc = " @param type which style should be set"] - #[doc = " @param style pointer to a style"] - pub fn lv_bar_set_style(bar: *mut lv_obj_t, type_: lv_bar_style_t, style: *const lv_style_t); -} -extern "C" { - #[doc = " Get the value of a bar"] - #[doc = " @param bar pointer to a bar object"] - #[doc = " @return the value of the bar"] - pub fn lv_bar_get_value(bar: *const lv_obj_t) -> i16; -} -extern "C" { - #[doc = " Get the minimum value of a bar"] - #[doc = " @param bar pointer to a bar object"] - #[doc = " @return the minimum value of the bar"] - pub fn lv_bar_get_min_value(bar: *const lv_obj_t) -> i16; -} -extern "C" { - #[doc = " Get the maximum value of a bar"] - #[doc = " @param bar pointer to a bar object"] - #[doc = " @return the maximum value of the bar"] - pub fn lv_bar_get_max_value(bar: *const lv_obj_t) -> i16; -} -extern "C" { - #[doc = " Get whether the bar is symmetric or not."] - #[doc = " @param bar pointer to a bar object"] - #[doc = " @return true: symmetric is enabled; false: disable"] - pub fn lv_bar_get_sym(bar: *mut lv_obj_t) -> bool; -} -extern "C" { - #[doc = " Get the animation time of the bar"] - #[doc = " @param bar pointer to a bar object"] - #[doc = " @return the animation time in milliseconds."] - pub fn lv_bar_get_anim_time(bar: *mut lv_obj_t) -> u16; -} -extern "C" { - #[doc = " Get a style of a bar"] - #[doc = " @param bar pointer to a bar object"] - #[doc = " @param type which style should be get"] - #[doc = " @return style pointer to a style"] - pub fn lv_bar_get_style(bar: *const lv_obj_t, type_: lv_bar_style_t) -> *const lv_style_t; -} -#[doc = " TYPEDEFS"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_slider_ext_t { - pub bar: lv_bar_ext_t, - pub style_knob: *const lv_style_t, - pub drag_value: i16, - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, - pub __bindgen_padding_0: u8, -} -impl lv_slider_ext_t { - #[inline] - pub fn knob_in(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } - } - #[inline] - pub fn set_knob_in(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 1u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1(knob_in: u8) -> __BindgenBitfieldUnit<[u8; 1usize], u8> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 1u8, { - let knob_in: u8 = unsafe { ::core::mem::transmute(knob_in) }; - knob_in as u64 - }); - __bindgen_bitfield_unit - } -} -pub const LV_SLIDER_STYLE_BG: _bindgen_ty_50 = 0; -#[doc = " Slider background style."] -pub const LV_SLIDER_STYLE_INDIC: _bindgen_ty_50 = 1; -#[doc = " Slider indicator (filled area) style."] -pub const LV_SLIDER_STYLE_KNOB: _bindgen_ty_50 = 2; -#[doc = " Built-in styles of slider"] -pub type _bindgen_ty_50 = u32; -pub type lv_slider_style_t = u8; -extern "C" { - #[doc = " Create a slider objects"] - #[doc = " @param par pointer to an object, it will be the parent of the new slider"] - #[doc = " @param copy pointer to a slider object, if not NULL then the new object will be copied from it"] - #[doc = " @return pointer to the created slider"] - pub fn lv_slider_create(par: *mut lv_obj_t, copy: *const lv_obj_t) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Set the 'knob in' attribute of a slider"] - #[doc = " @param slider pointer to slider object"] - #[doc = " @param in true: the knob is drawn always in the slider;"] - #[doc = " false: the knob can be out on the edges"] - pub fn lv_slider_set_knob_in(slider: *mut lv_obj_t, in_: bool); -} -extern "C" { - #[doc = " Set a style of a slider"] - #[doc = " @param slider pointer to a slider object"] - #[doc = " @param type which style should be set"] - #[doc = " @param style pointer to a style"] - pub fn lv_slider_set_style( - slider: *mut lv_obj_t, - type_: lv_slider_style_t, - style: *const lv_style_t, - ); -} -extern "C" { - #[doc = " Get the value of a slider"] - #[doc = " @param slider pointer to a slider object"] - #[doc = " @return the value of the slider"] - pub fn lv_slider_get_value(slider: *const lv_obj_t) -> i16; -} -extern "C" { - #[doc = " Give the slider is being dragged or not"] - #[doc = " @param slider pointer to a slider object"] - #[doc = " @return true: drag in progress false: not dragged"] - pub fn lv_slider_is_dragged(slider: *const lv_obj_t) -> bool; -} -extern "C" { - #[doc = " Get the 'knob in' attribute of a slider"] - #[doc = " @param slider pointer to slider object"] - #[doc = " @return true: the knob is drawn always in the slider;"] - #[doc = " false: the knob can be out on the edges"] - pub fn lv_slider_get_knob_in(slider: *const lv_obj_t) -> bool; -} -extern "C" { - #[doc = " Get a style of a slider"] - #[doc = " @param slider pointer to a slider object"] - #[doc = " @param type which style should be get"] - #[doc = " @return style pointer to a style"] - pub fn lv_slider_get_style( - slider: *const lv_obj_t, - type_: lv_slider_style_t, - ) -> *const lv_style_t; -} -#[doc = " TYPEDEFS"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_led_ext_t { - pub bright: u8, -} -pub const LV_LED_STYLE_MAIN: _bindgen_ty_51 = 0; -pub type _bindgen_ty_51 = u32; -pub type lv_led_style_t = u8; -extern "C" { - #[doc = " Create a led objects"] - #[doc = " @param par pointer to an object, it will be the parent of the new led"] - #[doc = " @param copy pointer to a led object, if not NULL then the new object will be copied from it"] - #[doc = " @return pointer to the created led"] - pub fn lv_led_create(par: *mut lv_obj_t, copy: *const lv_obj_t) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Set the brightness of a LED object"] - #[doc = " @param led pointer to a LED object"] - #[doc = " @param bright 0 (max. dark) ... 255 (max. light)"] - pub fn lv_led_set_bright(led: *mut lv_obj_t, bright: u8); -} -extern "C" { - #[doc = " Light on a LED"] - #[doc = " @param led pointer to a LED object"] - pub fn lv_led_on(led: *mut lv_obj_t); -} -extern "C" { - #[doc = " Light off a LED"] - #[doc = " @param led pointer to a LED object"] - pub fn lv_led_off(led: *mut lv_obj_t); -} -extern "C" { - #[doc = " Toggle the state of a LED"] - #[doc = " @param led pointer to a LED object"] - pub fn lv_led_toggle(led: *mut lv_obj_t); -} -extern "C" { - #[doc = " Get the brightness of a LEd object"] - #[doc = " @param led pointer to LED object"] - #[doc = " @return bright 0 (max. dark) ... 255 (max. light)"] - pub fn lv_led_get_bright(led: *const lv_obj_t) -> u8; -} -#[doc = "< Button hidden"] -pub const LV_BTNM_CTRL_HIDDEN: _bindgen_ty_52 = 8; -#[doc = "< Do not repeat press this button."] -pub const LV_BTNM_CTRL_NO_REPEAT: _bindgen_ty_52 = 16; -#[doc = "< Disable this button."] -pub const LV_BTNM_CTRL_INACTIVE: _bindgen_ty_52 = 32; -#[doc = "< Button *can* be toggled."] -pub const LV_BTNM_CTRL_TGL_ENABLE: _bindgen_ty_52 = 64; -#[doc = "< Button is currently toggled (e.g. checked)."] -pub const LV_BTNM_CTRL_TGL_STATE: _bindgen_ty_52 = 128; -#[doc = "< 1: Send LV_EVENT_SELECTED on CLICK, 0: Send LV_EVENT_SELECTED on PRESS"] -pub const LV_BTNM_CTRL_CLICK_TRIG: _bindgen_ty_52 = 256; -#[doc = " Type to store button control bits (disabled, hidden etc.)"] -pub type _bindgen_ty_52 = u32; -pub type lv_btnm_ctrl_t = u16; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_btnm_ext_t { - pub map_p: *mut *const cty::c_char, - pub button_areas: *mut lv_area_t, - pub ctrl_bits: *mut lv_btnm_ctrl_t, - pub styles_btn: [*const lv_style_t; 5usize], - pub btn_cnt: u16, - pub btn_id_pr: u16, - pub btn_id_act: u16, - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, - pub __bindgen_padding_0: u8, -} -impl lv_btnm_ext_t { - #[inline] - pub fn recolor(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } - } - #[inline] - pub fn set_recolor(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 1u8, val as u64) - } - } - #[inline] - pub fn one_toggle(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } - } - #[inline] - pub fn set_one_toggle(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(1usize, 1u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1(recolor: u8, one_toggle: u8) -> __BindgenBitfieldUnit<[u8; 1usize], u8> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 1u8, { - let recolor: u8 = unsafe { ::core::mem::transmute(recolor) }; - recolor as u64 - }); - __bindgen_bitfield_unit.set(1usize, 1u8, { - let one_toggle: u8 = unsafe { ::core::mem::transmute(one_toggle) }; - one_toggle as u64 - }); - __bindgen_bitfield_unit - } -} -pub const LV_BTNM_STYLE_BG: _bindgen_ty_53 = 0; -pub const LV_BTNM_STYLE_BTN_REL: _bindgen_ty_53 = 1; -pub const LV_BTNM_STYLE_BTN_PR: _bindgen_ty_53 = 2; -pub const LV_BTNM_STYLE_BTN_TGL_REL: _bindgen_ty_53 = 3; -pub const LV_BTNM_STYLE_BTN_TGL_PR: _bindgen_ty_53 = 4; -pub const LV_BTNM_STYLE_BTN_INA: _bindgen_ty_53 = 5; -pub type _bindgen_ty_53 = u32; -pub type lv_btnm_style_t = u8; -extern "C" { - #[doc = " Create a button matrix objects"] - #[doc = " @param par pointer to an object, it will be the parent of the new button matrix"] - #[doc = " @param copy pointer to a button matrix object, if not NULL then the new object will be copied"] - #[doc = " from it"] - #[doc = " @return pointer to the created button matrix"] - pub fn lv_btnm_create(par: *mut lv_obj_t, copy: *const lv_obj_t) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Set a new map. Buttons will be created/deleted according to the map. The"] - #[doc = " button matrix keeps a reference to the map and so the string array must not"] - #[doc = " be deallocated during the life of the matrix."] - #[doc = " @param btnm pointer to a button matrix object"] - #[doc = " @param map pointer a string array. The last string has to be: \"\". Use \"\\n\" to make a line break."] - pub fn lv_btnm_set_map(btnm: *const lv_obj_t, map: *mut *const cty::c_char); -} -extern "C" { - #[doc = " Set the button control map (hidden, disabled etc.) for a button matrix. The"] - #[doc = " control map array will be copied and so may be deallocated after this"] - #[doc = " function returns."] - #[doc = " @param btnm pointer to a button matrix object"] - #[doc = " @param ctrl_map pointer to an array of `lv_btn_ctrl_t` control bytes. The"] - #[doc = " length of the array and position of the elements must match"] - #[doc = " the number and order of the individual buttons (i.e. excludes"] - #[doc = " newline entries)."] - #[doc = " An element of the map should look like e.g.:"] - #[doc = " `ctrl_map[0] = width | LV_BTNM_CTRL_NO_REPEAT | LV_BTNM_CTRL_TGL_ENABLE`"] - pub fn lv_btnm_set_ctrl_map(btnm: *const lv_obj_t, ctrl_map: *const lv_btnm_ctrl_t); -} -extern "C" { - #[doc = " Set the pressed button i.e. visually highlight it."] - #[doc = " Mainly used a when the btnm is in a group to show the selected button"] - #[doc = " @param btnm pointer to button matrix object"] - #[doc = " @param id index of the currently pressed button (`LV_BTNM_BTN_NONE` to unpress)"] - pub fn lv_btnm_set_pressed(btnm: *const lv_obj_t, id: u16); -} -extern "C" { - #[doc = " Set a style of a button matrix"] - #[doc = " @param btnm pointer to a button matrix object"] - #[doc = " @param type which style should be set"] - #[doc = " @param style pointer to a style"] - pub fn lv_btnm_set_style(btnm: *mut lv_obj_t, type_: lv_btnm_style_t, style: *const lv_style_t); -} -extern "C" { - #[doc = " Enable recoloring of button's texts"] - #[doc = " @param btnm pointer to button matrix object"] - #[doc = " @param en true: enable recoloring; false: disable"] - pub fn lv_btnm_set_recolor(btnm: *const lv_obj_t, en: bool); -} -extern "C" { - #[doc = " Set the attributes of a button of the button matrix"] - #[doc = " @param btnm pointer to button matrix object"] - #[doc = " @param btn_id 0 based index of the button to modify. (Not counting new lines)"] - pub fn lv_btnm_set_btn_ctrl(btnm: *const lv_obj_t, btn_id: u16, ctrl: lv_btnm_ctrl_t); -} -extern "C" { - #[doc = " Clear the attributes of a button of the button matrix"] - #[doc = " @param btnm pointer to button matrix object"] - #[doc = " @param btn_id 0 based index of the button to modify. (Not counting new lines)"] - pub fn lv_btnm_clear_btn_ctrl(btnm: *const lv_obj_t, btn_id: u16, ctrl: lv_btnm_ctrl_t); -} -extern "C" { - #[doc = " Set the attributes of all buttons of a button matrix"] - #[doc = " @param btnm pointer to a button matrix object"] - #[doc = " @param ctrl attribute(s) to set from `lv_btnm_ctrl_t`. Values can be ORed."] - pub fn lv_btnm_set_btn_ctrl_all(btnm: *mut lv_obj_t, ctrl: lv_btnm_ctrl_t); -} -extern "C" { - #[doc = " Clear the attributes of all buttons of a button matrix"] - #[doc = " @param btnm pointer to a button matrix object"] - #[doc = " @param ctrl attribute(s) to set from `lv_btnm_ctrl_t`. Values can be ORed."] - #[doc = " @param en true: set the attributes; false: clear the attributes"] - pub fn lv_btnm_clear_btn_ctrl_all(btnm: *mut lv_obj_t, ctrl: lv_btnm_ctrl_t); -} -extern "C" { - #[doc = " Set a single buttons relative width."] - #[doc = " This method will cause the matrix be regenerated and is a relatively"] - #[doc = " expensive operation. It is recommended that initial width be specified using"] - #[doc = " `lv_btnm_set_ctrl_map` and this method only be used for dynamic changes."] - #[doc = " @param btnm pointer to button matrix object"] - #[doc = " @param btn_id 0 based index of the button to modify."] - #[doc = " @param width Relative width compared to the buttons in the same row. [1..7]"] - pub fn lv_btnm_set_btn_width(btnm: *const lv_obj_t, btn_id: u16, width: u8); -} -extern "C" { - #[doc = " Make the button matrix like a selector widget (only one button may be toggled at a time)."] - #[doc = ""] - #[doc = " Toggling must be enabled on the buttons you want to be selected with `lv_btnm_set_ctrl` or"] - #[doc = " `lv_btnm_set_btn_ctrl_all`."] - #[doc = ""] - #[doc = " @param btnm Button matrix object"] - #[doc = " @param one_toggle Whether \"one toggle\" mode is enabled"] - pub fn lv_btnm_set_one_toggle(btnm: *mut lv_obj_t, one_toggle: bool); -} -extern "C" { - #[doc = " Get the current map of a button matrix"] - #[doc = " @param btnm pointer to a button matrix object"] - #[doc = " @return the current map"] - pub fn lv_btnm_get_map_array(btnm: *const lv_obj_t) -> *mut *const cty::c_char; -} -extern "C" { - #[doc = " Check whether the button's text can use recolor or not"] - #[doc = " @param btnm pointer to button matrix object"] - #[doc = " @return true: text recolor enable; false: disabled"] - pub fn lv_btnm_get_recolor(btnm: *const lv_obj_t) -> bool; -} -extern "C" { - #[doc = " Get the index of the lastly \"activated\" button by the user (pressed, released etc)"] - #[doc = " Useful in the the `event_cb` to get the text of the button, check if hidden etc."] - #[doc = " @param btnm pointer to button matrix object"] - #[doc = " @return index of the last released button (LV_BTNM_BTN_NONE: if unset)"] - pub fn lv_btnm_get_active_btn(btnm: *const lv_obj_t) -> u16; -} -extern "C" { - #[doc = " Get the text of the lastly \"activated\" button by the user (pressed, released etc)"] - #[doc = " Useful in the the `event_cb`"] - #[doc = " @param btnm pointer to button matrix object"] - #[doc = " @return text of the last released button (NULL: if unset)"] - pub fn lv_btnm_get_active_btn_text(btnm: *const lv_obj_t) -> *const cty::c_char; -} -extern "C" { - #[doc = " Get the pressed button's index."] - #[doc = " The button be really pressed by the user or manually set to pressed with `lv_btnm_set_pressed`"] - #[doc = " @param btnm pointer to button matrix object"] - #[doc = " @return index of the pressed button (LV_BTNM_BTN_NONE: if unset)"] - pub fn lv_btnm_get_pressed_btn(btnm: *const lv_obj_t) -> u16; -} -extern "C" { - #[doc = " Get the button's text"] - #[doc = " @param btnm pointer to button matrix object"] - #[doc = " @param btn_id the index a button not counting new line characters. (The return value of"] - #[doc = " lv_btnm_get_pressed/released)"] - #[doc = " @return text of btn_index` button"] - pub fn lv_btnm_get_btn_text(btnm: *const lv_obj_t, btn_id: u16) -> *const cty::c_char; -} -extern "C" { - #[doc = " Get the whether a control value is enabled or disabled for button of a button matrix"] - #[doc = " @param btnm pointer to a button matrix object"] - #[doc = " @param btn_id the index a button not counting new line characters. (E.g. the return value of"] - #[doc = " lv_btnm_get_pressed/released)"] - #[doc = " @param ctrl control values to check (ORed value can be used)"] - #[doc = " @return true: long press repeat is disabled; false: long press repeat enabled"] - pub fn lv_btnm_get_btn_ctrl(btnm: *mut lv_obj_t, btn_id: u16, ctrl: lv_btnm_ctrl_t) -> bool; -} -extern "C" { - #[doc = " Get a style of a button matrix"] - #[doc = " @param btnm pointer to a button matrix object"] - #[doc = " @param type which style should be get"] - #[doc = " @return style pointer to a style"] - pub fn lv_btnm_get_style(btnm: *const lv_obj_t, type_: lv_btnm_style_t) -> *const lv_style_t; -} -extern "C" { - #[doc = " Find whether \"one toggle\" mode is enabled."] - #[doc = " @param btnm Button matrix object"] - #[doc = " @return whether \"one toggle\" mode is enabled"] - pub fn lv_btnm_get_one_toggle(btnm: *const lv_obj_t) -> bool; -} -pub const LV_KB_MODE_TEXT: _bindgen_ty_54 = 0; -pub const LV_KB_MODE_NUM: _bindgen_ty_54 = 1; -pub const LV_KB_MODE_TEXT_UPPER: _bindgen_ty_54 = 2; -#[doc = " Current keyboard mode."] -pub type _bindgen_ty_54 = u32; -pub type lv_kb_mode_t = u8; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_kb_ext_t { - pub btnm: lv_btnm_ext_t, - pub ta: *mut lv_obj_t, - pub mode: lv_kb_mode_t, - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, - pub __bindgen_padding_0: u16, -} -impl lv_kb_ext_t { - #[inline] - pub fn cursor_mng(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } - } - #[inline] - pub fn set_cursor_mng(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 1u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1(cursor_mng: u8) -> __BindgenBitfieldUnit<[u8; 1usize], u8> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 1u8, { - let cursor_mng: u8 = unsafe { ::core::mem::transmute(cursor_mng) }; - cursor_mng as u64 - }); - __bindgen_bitfield_unit - } -} -pub const LV_KB_STYLE_BG: _bindgen_ty_55 = 0; -pub const LV_KB_STYLE_BTN_REL: _bindgen_ty_55 = 1; -pub const LV_KB_STYLE_BTN_PR: _bindgen_ty_55 = 2; -pub const LV_KB_STYLE_BTN_TGL_REL: _bindgen_ty_55 = 3; -pub const LV_KB_STYLE_BTN_TGL_PR: _bindgen_ty_55 = 4; -pub const LV_KB_STYLE_BTN_INA: _bindgen_ty_55 = 5; -pub type _bindgen_ty_55 = u32; -pub type lv_kb_style_t = u8; -extern "C" { - #[doc = " Create a keyboard objects"] - #[doc = " @param par pointer to an object, it will be the parent of the new keyboard"] - #[doc = " @param copy pointer to a keyboard object, if not NULL then the new object will be copied from it"] - #[doc = " @return pointer to the created keyboard"] - pub fn lv_kb_create(par: *mut lv_obj_t, copy: *const lv_obj_t) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Assign a Text Area to the Keyboard. The pressed characters will be put there."] - #[doc = " @param kb pointer to a Keyboard object"] - #[doc = " @param ta pointer to a Text Area object to write there"] - pub fn lv_kb_set_ta(kb: *mut lv_obj_t, ta: *mut lv_obj_t); -} -extern "C" { - #[doc = " Set a new a mode (text or number map)"] - #[doc = " @param kb pointer to a Keyboard object"] - #[doc = " @param mode the mode from 'lv_kb_mode_t'"] - pub fn lv_kb_set_mode(kb: *mut lv_obj_t, mode: lv_kb_mode_t); -} -extern "C" { - #[doc = " Automatically hide or show the cursor of the current Text Area"] - #[doc = " @param kb pointer to a Keyboard object"] - #[doc = " @param en true: show cursor on the current text area, false: hide cursor"] - pub fn lv_kb_set_cursor_manage(kb: *mut lv_obj_t, en: bool); -} -extern "C" { - #[doc = " Set a style of a keyboard"] - #[doc = " @param kb pointer to a keyboard object"] - #[doc = " @param type which style should be set"] - #[doc = " @param style pointer to a style"] - pub fn lv_kb_set_style(kb: *mut lv_obj_t, type_: lv_kb_style_t, style: *const lv_style_t); -} -extern "C" { - #[doc = " Assign a Text Area to the Keyboard. The pressed characters will be put there."] - #[doc = " @param kb pointer to a Keyboard object"] - #[doc = " @return pointer to the assigned Text Area object"] - pub fn lv_kb_get_ta(kb: *const lv_obj_t) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Set a new a mode (text or number map)"] - #[doc = " @param kb pointer to a Keyboard object"] - #[doc = " @return the current mode from 'lv_kb_mode_t'"] - pub fn lv_kb_get_mode(kb: *const lv_obj_t) -> lv_kb_mode_t; -} -extern "C" { - #[doc = " Get the current cursor manage mode."] - #[doc = " @param kb pointer to a Keyboard object"] - #[doc = " @return true: show cursor on the current text area, false: hide cursor"] - pub fn lv_kb_get_cursor_manage(kb: *const lv_obj_t) -> bool; -} -extern "C" { - #[doc = " Get a style of a keyboard"] - #[doc = " @param kb pointer to a keyboard object"] - #[doc = " @param type which style should be get"] - #[doc = " @return style pointer to a style"] - pub fn lv_kb_get_style(kb: *const lv_obj_t, type_: lv_kb_style_t) -> *const lv_style_t; -} -extern "C" { - #[doc = " Default keyboard event to add characters to the Text area and change the map."] - #[doc = " If a custom `event_cb` is added to the keyboard this function be called from it to handle the"] - #[doc = " button clicks"] - #[doc = " @param kb pointer to a keyboard"] - #[doc = " @param event the triggering event"] - pub fn lv_kb_def_event_cb(kb: *mut lv_obj_t, event: lv_event_t); -} -#[doc = " TYPEDEFS"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_ddlist_ext_t { - pub page: lv_page_ext_t, - pub label: *mut lv_obj_t, - pub sel_style: *const lv_style_t, - pub option_cnt: u16, - pub sel_opt_id: u16, - pub sel_opt_id_ori: u16, - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, - pub fix_height: lv_coord_t, -} -impl lv_ddlist_ext_t { - #[inline] - pub fn opened(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } - } - #[inline] - pub fn set_opened(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 1u8, val as u64) - } - } - #[inline] - pub fn force_sel(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } - } - #[inline] - pub fn set_force_sel(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(1usize, 1u8, val as u64) - } - } - #[inline] - pub fn draw_arrow(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u8) } - } - #[inline] - pub fn set_draw_arrow(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(2usize, 1u8, val as u64) - } - } - #[inline] - pub fn stay_open(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u8) } - } - #[inline] - pub fn set_stay_open(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(3usize, 1u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1( - opened: u8, - force_sel: u8, - draw_arrow: u8, - stay_open: u8, - ) -> __BindgenBitfieldUnit<[u8; 1usize], u8> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 1u8, { - let opened: u8 = unsafe { ::core::mem::transmute(opened) }; - opened as u64 - }); - __bindgen_bitfield_unit.set(1usize, 1u8, { - let force_sel: u8 = unsafe { ::core::mem::transmute(force_sel) }; - force_sel as u64 - }); - __bindgen_bitfield_unit.set(2usize, 1u8, { - let draw_arrow: u8 = unsafe { ::core::mem::transmute(draw_arrow) }; - draw_arrow as u64 - }); - __bindgen_bitfield_unit.set(3usize, 1u8, { - let stay_open: u8 = unsafe { ::core::mem::transmute(stay_open) }; - stay_open as u64 - }); - __bindgen_bitfield_unit - } -} -pub const LV_DDLIST_STYLE_BG: _bindgen_ty_56 = 0; -pub const LV_DDLIST_STYLE_SEL: _bindgen_ty_56 = 1; -pub const LV_DDLIST_STYLE_SB: _bindgen_ty_56 = 2; -pub type _bindgen_ty_56 = u32; -pub type lv_ddlist_style_t = u8; -extern "C" { - #[doc = " GLOBAL PROTOTYPES"] - #[doc = " Create a drop down list objects"] - #[doc = " @param par pointer to an object, it will be the parent of the new drop down list"] - #[doc = " @param copy pointer to a drop down list object, if not NULL then the new object will be copied"] - #[doc = " from it"] - #[doc = " @return pointer to the created drop down list"] - pub fn lv_ddlist_create(par: *mut lv_obj_t, copy: *const lv_obj_t) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Set the options in a drop down list from a string"] - #[doc = " @param ddlist pointer to drop down list object"] - #[doc = " @param options a string with '\\n' separated options. E.g. \"One\\nTwo\\nThree\""] - pub fn lv_ddlist_set_options(ddlist: *mut lv_obj_t, options: *const cty::c_char); -} -extern "C" { - #[doc = " Set the selected option"] - #[doc = " @param ddlist pointer to drop down list object"] - #[doc = " @param sel_opt id of the selected option (0 ... number of option - 1);"] - pub fn lv_ddlist_set_selected(ddlist: *mut lv_obj_t, sel_opt: u16); -} -extern "C" { - #[doc = " Set a fix height for the drop down list"] - #[doc = " If 0 then the opened ddlist will be auto. sized else the set height will be applied."] - #[doc = " @param ddlist pointer to a drop down list"] - #[doc = " @param h the height when the list is opened (0: auto size)"] - pub fn lv_ddlist_set_fix_height(ddlist: *mut lv_obj_t, h: lv_coord_t); -} -extern "C" { - #[doc = " Set a fix width for the drop down list"] - #[doc = " @param ddlist pointer to a drop down list"] - #[doc = " @param w the width when the list is opened (0: auto size)"] - pub fn lv_ddlist_set_fix_width(ddlist: *mut lv_obj_t, w: lv_coord_t); -} -extern "C" { - #[doc = " Set arrow draw in a drop down list"] - #[doc = " @param ddlist pointer to drop down list object"] - #[doc = " @param en enable/disable a arrow draw. E.g. \"true\" for draw."] - pub fn lv_ddlist_set_draw_arrow(ddlist: *mut lv_obj_t, en: bool); -} -extern "C" { - #[doc = " Leave the list opened when a new value is selected"] - #[doc = " @param ddlist pointer to drop down list object"] - #[doc = " @param en enable/disable \"stay open\" feature"] - pub fn lv_ddlist_set_stay_open(ddlist: *mut lv_obj_t, en: bool); -} -extern "C" { - #[doc = " Set a style of a drop down list"] - #[doc = " @param ddlist pointer to a drop down list object"] - #[doc = " @param type which style should be set"] - #[doc = " @param style pointer to a style"] - pub fn lv_ddlist_set_style( - ddlist: *mut lv_obj_t, - type_: lv_ddlist_style_t, - style: *const lv_style_t, - ); -} -extern "C" { - #[doc = " Set the alignment of the labels in a drop down list"] - #[doc = " @param ddlist pointer to a drop down list object"] - #[doc = " @param align alignment of labels"] - pub fn lv_ddlist_set_align(ddlist: *mut lv_obj_t, align: lv_label_align_t); -} -extern "C" { - #[doc = " Get the options of a drop down list"] - #[doc = " @param ddlist pointer to drop down list object"] - #[doc = " @return the options separated by '\\n'-s (E.g. \"Option1\\nOption2\\nOption3\")"] - pub fn lv_ddlist_get_options(ddlist: *const lv_obj_t) -> *const cty::c_char; -} -extern "C" { - #[doc = " Get the selected option"] - #[doc = " @param ddlist pointer to drop down list object"] - #[doc = " @return id of the selected option (0 ... number of option - 1);"] - pub fn lv_ddlist_get_selected(ddlist: *const lv_obj_t) -> u16; -} -extern "C" { - #[doc = " Get the current selected option as a string"] - #[doc = " @param ddlist pointer to ddlist object"] - #[doc = " @param buf pointer to an array to store the string"] - #[doc = " @param buf_size size of `buf` in bytes. 0: to ignore it."] - pub fn lv_ddlist_get_selected_str( - ddlist: *const lv_obj_t, - buf: *mut cty::c_char, - buf_size: u16, - ); -} -extern "C" { - #[doc = " Get the fix height value."] - #[doc = " @param ddlist pointer to a drop down list object"] - #[doc = " @return the height if the ddlist is opened (0: auto size)"] - pub fn lv_ddlist_get_fix_height(ddlist: *const lv_obj_t) -> lv_coord_t; -} -extern "C" { - #[doc = " Get arrow draw in a drop down list"] - #[doc = " @param ddlist pointer to drop down list object"] - pub fn lv_ddlist_get_draw_arrow(ddlist: *mut lv_obj_t) -> bool; -} -extern "C" { - #[doc = " Get whether the drop down list stay open after selecting a value or not"] - #[doc = " @param ddlist pointer to drop down list object"] - pub fn lv_ddlist_get_stay_open(ddlist: *mut lv_obj_t) -> bool; -} -extern "C" { - #[doc = " Get a style of a drop down list"] - #[doc = " @param ddlist pointer to a drop down list object"] - #[doc = " @param type which style should be get"] - #[doc = " @return style pointer to a style"] - pub fn lv_ddlist_get_style( - ddlist: *const lv_obj_t, - type_: lv_ddlist_style_t, - ) -> *const lv_style_t; -} -extern "C" { - #[doc = " Get the alignment of the labels in a drop down list"] - #[doc = " @param ddlist pointer to a drop down list object"] - #[doc = " @return alignment of labels"] - pub fn lv_ddlist_get_align(ddlist: *const lv_obj_t) -> lv_label_align_t; -} -extern "C" { - #[doc = " Open the drop down list with or without animation"] - #[doc = " @param ddlist pointer to drop down list object"] - #[doc = " @param anim_en LV_ANIM_ON: use animation; LV_ANOM_OFF: not use animations"] - pub fn lv_ddlist_open(ddlist: *mut lv_obj_t, anim: lv_anim_enable_t); -} -extern "C" { - #[doc = " Close (Collapse) the drop down list"] - #[doc = " @param ddlist pointer to drop down list object"] - #[doc = " @param anim_en LV_ANIM_ON: use animation; LV_ANOM_OFF: not use animations"] - pub fn lv_ddlist_close(ddlist: *mut lv_obj_t, anim: lv_anim_enable_t); -} -#[doc = "< Normal mode (roller ends at the end of the options)."] -pub const LV_ROLLER_MODE_NORMAL: _bindgen_ty_57 = 0; -#[doc = "< Infinite mode (roller can be scrolled forever)."] -pub const LV_ROLLER_MODE_INIFINITE: _bindgen_ty_57 = 1; -#[doc = " Roller mode."] -pub type _bindgen_ty_57 = u32; -pub type lv_roller_mode_t = u8; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_roller_ext_t { - pub ddlist: lv_ddlist_ext_t, - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, - pub __bindgen_padding_0: [u8; 3usize], -} -impl lv_roller_ext_t { - #[inline] - pub fn mode(&self) -> lv_roller_mode_t { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } - } - #[inline] - pub fn set_mode(&mut self, val: lv_roller_mode_t) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 1u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1(mode: lv_roller_mode_t) -> __BindgenBitfieldUnit<[u8; 1usize], u8> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 1u8, { - let mode: u8 = unsafe { ::core::mem::transmute(mode) }; - mode as u64 - }); - __bindgen_bitfield_unit - } -} -pub const LV_ROLLER_STYLE_BG: _bindgen_ty_58 = 0; -pub const LV_ROLLER_STYLE_SEL: _bindgen_ty_58 = 1; -pub type _bindgen_ty_58 = u32; -pub type lv_roller_style_t = u8; -extern "C" { - #[doc = " Create a roller object"] - #[doc = " @param par pointer to an object, it will be the parent of the new roller"] - #[doc = " @param copy pointer to a roller object, if not NULL then the new object will be copied from it"] - #[doc = " @return pointer to the created roller"] - pub fn lv_roller_create(par: *mut lv_obj_t, copy: *const lv_obj_t) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Set the options on a roller"] - #[doc = " @param roller pointer to roller object"] - #[doc = " @param options a string with '\\n' separated options. E.g. \"One\\nTwo\\nThree\""] - #[doc = " @param mode `LV_ROLLER_MODE_NORMAL` or `LV_ROLLER_MODE_INFINITE`"] - pub fn lv_roller_set_options( - roller: *mut lv_obj_t, - options: *const cty::c_char, - mode: lv_roller_mode_t, - ); -} -extern "C" { - #[doc = " Set the align of the roller's options (left, right or center[default])"] - #[doc = " @param roller - pointer to a roller object"] - #[doc = " @param align - one of lv_label_align_t values (left, right, center)"] - pub fn lv_roller_set_align(roller: *mut lv_obj_t, align: lv_label_align_t); -} -extern "C" { - #[doc = " Set the selected option"] - #[doc = " @param roller pointer to a roller object"] - #[doc = " @param sel_opt id of the selected option (0 ... number of option - 1);"] - #[doc = " @param anim LV_ANOM_ON: set with animation; LV_ANIM_OFF set immediately"] - pub fn lv_roller_set_selected(roller: *mut lv_obj_t, sel_opt: u16, anim: lv_anim_enable_t); -} -extern "C" { - #[doc = " Set the height to show the given number of rows (options)"] - #[doc = " @param roller pointer to a roller object"] - #[doc = " @param row_cnt number of desired visible rows"] - pub fn lv_roller_set_visible_row_count(roller: *mut lv_obj_t, row_cnt: u8); -} -extern "C" { - #[doc = " Set a style of a roller"] - #[doc = " @param roller pointer to a roller object"] - #[doc = " @param type which style should be set"] - #[doc = " @param style pointer to a style"] - pub fn lv_roller_set_style( - roller: *mut lv_obj_t, - type_: lv_roller_style_t, - style: *const lv_style_t, - ); -} -extern "C" { - #[doc = " Get the id of the selected option"] - #[doc = " @param roller pointer to a roller object"] - #[doc = " @return id of the selected option (0 ... number of option - 1);"] - pub fn lv_roller_get_selected(roller: *const lv_obj_t) -> u16; -} -extern "C" { - #[doc = " Get the align attribute. Default alignment after _create is LV_LABEL_ALIGN_CENTER"] - #[doc = " @param roller pointer to a roller object"] - #[doc = " @return LV_LABEL_ALIGN_LEFT, LV_LABEL_ALIGN_RIGHT or LV_LABEL_ALIGN_CENTER"] - pub fn lv_roller_get_align(roller: *const lv_obj_t) -> lv_label_align_t; -} -extern "C" { - #[doc = " Get the auto width set attribute"] - #[doc = " @param roller pointer to a roller object"] - #[doc = " @return true: auto size enabled; false: manual width settings enabled"] - pub fn lv_roller_get_hor_fit(roller: *const lv_obj_t) -> bool; -} -extern "C" { - #[doc = " Get a style of a roller"] - #[doc = " @param roller pointer to a roller object"] - #[doc = " @param type which style should be get"] - #[doc = " @return style pointer to a style"] - pub fn lv_roller_get_style( - roller: *const lv_obj_t, - type_: lv_roller_style_t, - ) -> *const lv_style_t; -} -#[doc = "< No cursor"] -pub const LV_CURSOR_NONE: _bindgen_ty_59 = 0; -#[doc = "< Vertical line"] -pub const LV_CURSOR_LINE: _bindgen_ty_59 = 1; -#[doc = "< Rectangle"] -pub const LV_CURSOR_BLOCK: _bindgen_ty_59 = 2; -#[doc = "< Outline around character"] -pub const LV_CURSOR_OUTLINE: _bindgen_ty_59 = 3; -#[doc = "< Horizontal line under character"] -pub const LV_CURSOR_UNDERLINE: _bindgen_ty_59 = 4; -#[doc = "< This flag can be ORed to any of the other values to temporarily hide the cursor"] -pub const LV_CURSOR_HIDDEN: _bindgen_ty_59 = 8; -#[doc = " Style of text area's cursor."] -pub type _bindgen_ty_59 = u32; -pub type lv_cursor_type_t = u8; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_ta_ext_t { - pub page: lv_page_ext_t, - pub label: *mut lv_obj_t, - pub placeholder: *mut lv_obj_t, - pub pwd_tmp: *mut cty::c_char, - pub accapted_chars: *const cty::c_char, - pub max_length: u16, - pub pwd_show_time: u16, - pub cursor: lv_ta_ext_t__bindgen_ty_1, - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, - pub __bindgen_padding_0: [u8; 3usize], -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_ta_ext_t__bindgen_ty_1 { - pub style: *const lv_style_t, - pub valid_x: lv_coord_t, - pub pos: u16, - pub blink_time: u16, - pub area: lv_area_t, - pub txt_byte_pos: u16, - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, - pub __bindgen_padding_0: [u8; 3usize], -} -impl lv_ta_ext_t__bindgen_ty_1 { - #[inline] - pub fn type_(&self) -> lv_cursor_type_t { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u8) } - } - #[inline] - pub fn set_type(&mut self, val: lv_cursor_type_t) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 4u8, val as u64) - } - } - #[inline] - pub fn state(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u8) } - } - #[inline] - pub fn set_state(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(4usize, 1u8, val as u64) - } - } - #[inline] - pub fn click_pos(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u8) } - } - #[inline] - pub fn set_click_pos(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(5usize, 1u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1( - type_: lv_cursor_type_t, - state: u8, - click_pos: u8, - ) -> __BindgenBitfieldUnit<[u8; 1usize], u8> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 4u8, { - let type_: u8 = unsafe { ::core::mem::transmute(type_) }; - type_ as u64 - }); - __bindgen_bitfield_unit.set(4usize, 1u8, { - let state: u8 = unsafe { ::core::mem::transmute(state) }; - state as u64 - }); - __bindgen_bitfield_unit.set(5usize, 1u8, { - let click_pos: u8 = unsafe { ::core::mem::transmute(click_pos) }; - click_pos as u64 - }); - __bindgen_bitfield_unit - } -} -impl lv_ta_ext_t { - #[inline] - pub fn pwd_mode(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } - } - #[inline] - pub fn set_pwd_mode(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 1u8, val as u64) - } - } - #[inline] - pub fn one_line(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } - } - #[inline] - pub fn set_one_line(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(1usize, 1u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1(pwd_mode: u8, one_line: u8) -> __BindgenBitfieldUnit<[u8; 1usize], u8> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 1u8, { - let pwd_mode: u8 = unsafe { ::core::mem::transmute(pwd_mode) }; - pwd_mode as u64 - }); - __bindgen_bitfield_unit.set(1usize, 1u8, { - let one_line: u8 = unsafe { ::core::mem::transmute(one_line) }; - one_line as u64 - }); - __bindgen_bitfield_unit - } -} -#[doc = "< Text area background style"] -pub const LV_TA_STYLE_BG: _bindgen_ty_60 = 0; -#[doc = "< Scrollbar style"] -pub const LV_TA_STYLE_SB: _bindgen_ty_60 = 1; -#[doc = "< Cursor style"] -pub const LV_TA_STYLE_CURSOR: _bindgen_ty_60 = 2; -#[doc = "< Edge flash style"] -pub const LV_TA_STYLE_EDGE_FLASH: _bindgen_ty_60 = 3; -#[doc = "< Placeholder style"] -pub const LV_TA_STYLE_PLACEHOLDER: _bindgen_ty_60 = 4; -#[doc = " Possible text areas tyles."] -pub type _bindgen_ty_60 = u32; -pub type lv_ta_style_t = u8; -extern "C" { - #[doc = " Create a text area objects"] - #[doc = " @param par pointer to an object, it will be the parent of the new text area"] - #[doc = " @param copy pointer to a text area object, if not NULL then the new object will be copied from it"] - #[doc = " @return pointer to the created text area"] - pub fn lv_ta_create(par: *mut lv_obj_t, copy: *const lv_obj_t) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Insert a character to the current cursor position."] - #[doc = " To add a wide char, e.g. 'Á' use `lv_txt_encoded_conv_wc('Á')`"] - #[doc = " @param ta pointer to a text area object"] - #[doc = " @param c a character (e.g. 'a')"] - pub fn lv_ta_add_char(ta: *mut lv_obj_t, c: u32); -} -extern "C" { - #[doc = " Insert a text to the current cursor position"] - #[doc = " @param ta pointer to a text area object"] - #[doc = " @param txt a '\\0' terminated string to insert"] - pub fn lv_ta_add_text(ta: *mut lv_obj_t, txt: *const cty::c_char); -} -extern "C" { - #[doc = " Delete a the left character from the current cursor position"] - #[doc = " @param ta pointer to a text area object"] - pub fn lv_ta_del_char(ta: *mut lv_obj_t); -} -extern "C" { - #[doc = " Delete the right character from the current cursor position"] - #[doc = " @param ta pointer to a text area object"] - pub fn lv_ta_del_char_forward(ta: *mut lv_obj_t); -} -extern "C" { - #[doc = " Set the text of a text area"] - #[doc = " @param ta pointer to a text area"] - #[doc = " @param txt pointer to the text"] - pub fn lv_ta_set_text(ta: *mut lv_obj_t, txt: *const cty::c_char); -} -extern "C" { - #[doc = " Set the placeholder text of a text area"] - #[doc = " @param ta pointer to a text area"] - #[doc = " @param txt pointer to the text"] - pub fn lv_ta_set_placeholder_text(ta: *mut lv_obj_t, txt: *const cty::c_char); -} -extern "C" { - #[doc = " Set the cursor position"] - #[doc = " @param obj pointer to a text area object"] - #[doc = " @param pos the new cursor position in character index"] - #[doc = " < 0 : index from the end of the text"] - #[doc = " LV_TA_CURSOR_LAST: go after the last character"] - pub fn lv_ta_set_cursor_pos(ta: *mut lv_obj_t, pos: i16); -} -extern "C" { - #[doc = " Set the cursor type."] - #[doc = " @param ta pointer to a text area object"] - #[doc = " @param cur_type: element of 'lv_cursor_type_t'"] - pub fn lv_ta_set_cursor_type(ta: *mut lv_obj_t, cur_type: lv_cursor_type_t); -} -extern "C" { - #[doc = " Enable/Disable the positioning of the the cursor by clicking the text on the text area."] - #[doc = " @param ta pointer to a text area object"] - #[doc = " @param en true: enable click positions; false: disable"] - pub fn lv_ta_set_cursor_click_pos(ta: *mut lv_obj_t, en: bool); -} -extern "C" { - #[doc = " Enable/Disable password mode"] - #[doc = " @param ta pointer to a text area object"] - #[doc = " @param en true: enable, false: disable"] - pub fn lv_ta_set_pwd_mode(ta: *mut lv_obj_t, en: bool); -} -extern "C" { - #[doc = " Configure the text area to one line or back to normal"] - #[doc = " @param ta pointer to a Text area object"] - #[doc = " @param en true: one line, false: normal"] - pub fn lv_ta_set_one_line(ta: *mut lv_obj_t, en: bool); -} -extern "C" { - #[doc = " Set the alignment of the text area."] - #[doc = " In one line mode the text can be scrolled only with `LV_LABEL_ALIGN_LEFT`."] - #[doc = " This function should be called if the size of text area changes."] - #[doc = " @param ta pointer to a text are object"] - #[doc = " @param align the desired alignment from `lv_label_align_t`. (LV_LABEL_ALIGN_LEFT/CENTER/RIGHT)"] - pub fn lv_ta_set_text_align(ta: *mut lv_obj_t, align: lv_label_align_t); -} -extern "C" { - #[doc = " Set a list of characters. Only these characters will be accepted by the text area"] - #[doc = " @param ta pointer to Text Area"] - #[doc = " @param list list of characters. Only the pointer is saved. E.g. \"+-.,0123456789\""] - pub fn lv_ta_set_accepted_chars(ta: *mut lv_obj_t, list: *const cty::c_char); -} -extern "C" { - #[doc = " Set max length of a Text Area."] - #[doc = " @param ta pointer to Text Area"] - #[doc = " @param num the maximal number of characters can be added (`lv_ta_set_text` ignores it)"] - pub fn lv_ta_set_max_length(ta: *mut lv_obj_t, num: u16); -} -extern "C" { - #[doc = " In `LV_EVENT_INSERT` the text which planned to be inserted can be replaced by an other text."] - #[doc = " It can be used to add automatic formatting to the text area."] - #[doc = " @param ta pointer to a text area."] - #[doc = " @param txt pointer to a new string to insert. If `\"\"` no text will be added."] - #[doc = " The variable must be live after the `event_cb` exists. (Should be `global` or"] - #[doc = " `static`)"] - pub fn lv_ta_set_insert_replace(ta: *mut lv_obj_t, txt: *const cty::c_char); -} -extern "C" { - #[doc = " Set a style of a text area"] - #[doc = " @param ta pointer to a text area object"] - #[doc = " @param type which style should be set"] - #[doc = " @param style pointer to a style"] - pub fn lv_ta_set_style(ta: *mut lv_obj_t, type_: lv_ta_style_t, style: *const lv_style_t); -} -extern "C" { - #[doc = " Enable/disable selection mode."] - #[doc = " @param ta pointer to a text area object"] - #[doc = " @param en true or false to enable/disable selection mode"] - pub fn lv_ta_set_text_sel(ta: *mut lv_obj_t, en: bool); -} -extern "C" { - #[doc = " Set how long show the password before changing it to '*'"] - #[doc = " @param ta pointer to Text area"] - #[doc = " @param time show time in milliseconds. 0: hide immediately."] - pub fn lv_ta_set_pwd_show_time(ta: *mut lv_obj_t, time: u16); -} -extern "C" { - #[doc = " Set cursor blink animation time"] - #[doc = " @param ta pointer to Text area"] - #[doc = " @param time blink period. 0: disable blinking"] - pub fn lv_ta_set_cursor_blink_time(ta: *mut lv_obj_t, time: u16); -} -extern "C" { - #[doc = " Get the text of a text area. In password mode it gives the real text (not '*'s)."] - #[doc = " @param ta pointer to a text area object"] - #[doc = " @return pointer to the text"] - pub fn lv_ta_get_text(ta: *const lv_obj_t) -> *const cty::c_char; -} -extern "C" { - #[doc = " Get the placeholder text of a text area"] - #[doc = " @param ta pointer to a text area object"] - #[doc = " @return pointer to the text"] - pub fn lv_ta_get_placeholder_text(ta: *mut lv_obj_t) -> *const cty::c_char; -} -extern "C" { - #[doc = " Get the label of a text area"] - #[doc = " @param ta pointer to a text area object"] - #[doc = " @return pointer to the label object"] - pub fn lv_ta_get_label(ta: *const lv_obj_t) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Get the current cursor position in character index"] - #[doc = " @param ta pointer to a text area object"] - #[doc = " @return the cursor position"] - pub fn lv_ta_get_cursor_pos(ta: *const lv_obj_t) -> u16; -} -extern "C" { - #[doc = " Get the current cursor type."] - #[doc = " @param ta pointer to a text area object"] - #[doc = " @return element of 'lv_cursor_type_t'"] - pub fn lv_ta_get_cursor_type(ta: *const lv_obj_t) -> lv_cursor_type_t; -} -extern "C" { - #[doc = " Get whether the cursor click positioning is enabled or not."] - #[doc = " @param ta pointer to a text area object"] - #[doc = " @return true: enable click positions; false: disable"] - pub fn lv_ta_get_cursor_click_pos(ta: *mut lv_obj_t) -> bool; -} -extern "C" { - #[doc = " Get the password mode attribute"] - #[doc = " @param ta pointer to a text area object"] - #[doc = " @return true: password mode is enabled, false: disabled"] - pub fn lv_ta_get_pwd_mode(ta: *const lv_obj_t) -> bool; -} -extern "C" { - #[doc = " Get the one line configuration attribute"] - #[doc = " @param ta pointer to a text area object"] - #[doc = " @return true: one line configuration is enabled, false: disabled"] - pub fn lv_ta_get_one_line(ta: *const lv_obj_t) -> bool; -} -extern "C" { - #[doc = " Get a list of accepted characters."] - #[doc = " @param ta pointer to Text Area"] - #[doc = " @return list of accented characters."] - pub fn lv_ta_get_accepted_chars(ta: *mut lv_obj_t) -> *const cty::c_char; -} -extern "C" { - #[doc = " Set max length of a Text Area."] - #[doc = " @param ta pointer to Text Area"] - #[doc = " @return the maximal number of characters to be add"] - pub fn lv_ta_get_max_length(ta: *mut lv_obj_t) -> u16; -} -extern "C" { - #[doc = " Get a style of a text area"] - #[doc = " @param ta pointer to a text area object"] - #[doc = " @param type which style should be get"] - #[doc = " @return style pointer to a style"] - pub fn lv_ta_get_style(ta: *const lv_obj_t, type_: lv_ta_style_t) -> *const lv_style_t; -} -extern "C" { - #[doc = " Find whether text is selected or not."] - #[doc = " @param ta Text area object"] - #[doc = " @return whether text is selected or not"] - pub fn lv_ta_text_is_selected(ta: *const lv_obj_t) -> bool; -} -extern "C" { - #[doc = " Find whether selection mode is enabled."] - #[doc = " @param ta pointer to a text area object"] - #[doc = " @return true: selection mode is enabled, false: disabled"] - pub fn lv_ta_get_text_sel_en(ta: *mut lv_obj_t) -> bool; -} -extern "C" { - #[doc = " Set how long show the password before changing it to '*'"] - #[doc = " @param ta pointer to Text area"] - #[doc = " @return show time in milliseconds. 0: hide immediately."] - pub fn lv_ta_get_pwd_show_time(ta: *mut lv_obj_t) -> u16; -} -extern "C" { - #[doc = " Set cursor blink animation time"] - #[doc = " @param ta pointer to Text area"] - #[doc = " @return time blink period. 0: disable blinking"] - pub fn lv_ta_get_cursor_blink_time(ta: *mut lv_obj_t) -> u16; -} -extern "C" { - #[doc = " Clear the selection on the text area."] - #[doc = " @param ta Text area object"] - pub fn lv_ta_clear_selection(ta: *mut lv_obj_t); -} -extern "C" { - #[doc = " Move the cursor one character right"] - #[doc = " @param ta pointer to a text area object"] - pub fn lv_ta_cursor_right(ta: *mut lv_obj_t); -} -extern "C" { - #[doc = " Move the cursor one character left"] - #[doc = " @param ta pointer to a text area object"] - pub fn lv_ta_cursor_left(ta: *mut lv_obj_t); -} -extern "C" { - #[doc = " Move the cursor one line down"] - #[doc = " @param ta pointer to a text area object"] - pub fn lv_ta_cursor_down(ta: *mut lv_obj_t); -} -extern "C" { - #[doc = " Move the cursor one line up"] - #[doc = " @param ta pointer to a text area object"] - pub fn lv_ta_cursor_up(ta: *mut lv_obj_t); -} -#[doc = " TYPEDEFS"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_canvas_ext_t { - pub img: lv_img_ext_t, - pub dsc: lv_img_dsc_t, -} -pub const LV_CANVAS_STYLE_MAIN: _bindgen_ty_61 = 0; -pub type _bindgen_ty_61 = u32; -pub type lv_canvas_style_t = u8; -extern "C" { - #[doc = " Create a canvas object"] - #[doc = " @param par pointer to an object, it will be the parent of the new canvas"] - #[doc = " @param copy pointer to a canvas object, if not NULL then the new object will be copied from it"] - #[doc = " @return pointer to the created canvas"] - pub fn lv_canvas_create(par: *mut lv_obj_t, copy: *const lv_obj_t) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Set a buffer for the canvas."] - #[doc = " @param buf a buffer where the content of the canvas will be."] - #[doc = " The required size is (lv_img_color_format_get_px_size(cf) * w * h) / 8)"] - #[doc = " It can be allocated with `lv_mem_alloc()` or"] - #[doc = " it can be statically allocated array (e.g. static lv_color_t buf[100*50]) or"] - #[doc = " it can be an address in RAM or external SRAM"] - #[doc = " @param canvas pointer to a canvas object"] - #[doc = " @param w width of the canvas"] - #[doc = " @param h height of the canvas"] - #[doc = " @param cf color format. `LV_IMG_CF_...`"] - pub fn lv_canvas_set_buffer( - canvas: *mut lv_obj_t, - buf: *mut cty::c_void, - w: lv_coord_t, - h: lv_coord_t, - cf: lv_img_cf_t, - ); -} -extern "C" { - #[doc = " Set the color of a pixel on the canvas"] - #[doc = " @param canvas"] - #[doc = " @param x x coordinate of the point to set"] - #[doc = " @param y x coordinate of the point to set"] - #[doc = " @param c color of the point"] - pub fn lv_canvas_set_px(canvas: *mut lv_obj_t, x: lv_coord_t, y: lv_coord_t, c: lv_color_t); -} -extern "C" { - #[doc = " Set the palette color of a canvas with index format. Valid only for `LV_IMG_CF_INDEXED1/2/4/8`"] - #[doc = " @param canvas pointer to canvas object"] - #[doc = " @param id the palette color to set:"] - #[doc = " - for `LV_IMG_CF_INDEXED1`: 0..1"] - #[doc = " - for `LV_IMG_CF_INDEXED2`: 0..3"] - #[doc = " - for `LV_IMG_CF_INDEXED4`: 0..15"] - #[doc = " - for `LV_IMG_CF_INDEXED8`: 0..255"] - #[doc = " @param c the color to set"] - pub fn lv_canvas_set_palette(canvas: *mut lv_obj_t, id: u8, c: lv_color_t); -} -extern "C" { - #[doc = " Set a style of a canvas."] - #[doc = " @param canvas pointer to canvas object"] - #[doc = " @param type which style should be set"] - #[doc = " @param style pointer to a style"] - pub fn lv_canvas_set_style( - canvas: *mut lv_obj_t, - type_: lv_canvas_style_t, - style: *const lv_style_t, - ); -} -extern "C" { - #[doc = " Get the color of a pixel on the canvas"] - #[doc = " @param canvas"] - #[doc = " @param x x coordinate of the point to set"] - #[doc = " @param y x coordinate of the point to set"] - #[doc = " @return color of the point"] - pub fn lv_canvas_get_px(canvas: *mut lv_obj_t, x: lv_coord_t, y: lv_coord_t) -> lv_color_t; -} -extern "C" { - #[doc = " Get the image of the canvas as a pointer to an `lv_img_dsc_t` variable."] - #[doc = " @param canvas pointer to a canvas object"] - #[doc = " @return pointer to the image descriptor."] - pub fn lv_canvas_get_img(canvas: *mut lv_obj_t) -> *mut lv_img_dsc_t; -} -extern "C" { - #[doc = " Get style of a canvas."] - #[doc = " @param canvas pointer to canvas object"] - #[doc = " @param type which style should be get"] - #[doc = " @return style pointer to the style"] - pub fn lv_canvas_get_style( - canvas: *const lv_obj_t, - type_: lv_canvas_style_t, - ) -> *const lv_style_t; -} -extern "C" { - #[doc = " Copy a buffer to the canvas"] - #[doc = " @param canvas pointer to a canvas object"] - #[doc = " @param to_copy buffer to copy. The color format has to match with the canvas's buffer color"] - #[doc = " format"] - #[doc = " @param x left side of the destination position"] - #[doc = " @param y top side of the destination position"] - #[doc = " @param w width of the buffer to copy"] - #[doc = " @param h height of the buffer to copy"] - pub fn lv_canvas_copy_buf( - canvas: *mut lv_obj_t, - to_copy: *const cty::c_void, - x: lv_coord_t, - y: lv_coord_t, - w: lv_coord_t, - h: lv_coord_t, - ); -} -extern "C" { - #[doc = " Rotate and image and store the result on a canvas."] - #[doc = " @param canvas pointer to a canvas object"] - #[doc = " @param img pointer to an image descriptor."] - #[doc = " Can be the image descriptor of an other canvas too (`lv_canvas_get_img()`)."] - #[doc = " @param angle the angle of rotation (0..360);"] - #[doc = " @param offset_x offset X to tell where to put the result data on destination canvas"] - #[doc = " @param offset_y offset X to tell where to put the result data on destination canvas"] - #[doc = " @param pivot_x pivot X of rotation. Relative to the source canvas"] - #[doc = " Set to `source width / 2` to rotate around the center"] - #[doc = " @param pivot_y pivot Y of rotation. Relative to the source canvas"] - #[doc = " Set to `source height / 2` to rotate around the center"] - pub fn lv_canvas_rotate( - canvas: *mut lv_obj_t, - img: *mut lv_img_dsc_t, - angle: i16, - offset_x: lv_coord_t, - offset_y: lv_coord_t, - pivot_x: i32, - pivot_y: i32, - ); -} -extern "C" { - #[doc = " Fill the canvas with color"] - #[doc = " @param canvas pointer to a canvas"] - #[doc = " @param color the background color"] - pub fn lv_canvas_fill_bg(canvas: *mut lv_obj_t, color: lv_color_t); -} -extern "C" { - #[doc = " Draw a rectangle on the canvas"] - #[doc = " @param canvas pointer to a canvas object"] - #[doc = " @param x left coordinate of the rectangle"] - #[doc = " @param y top coordinate of the rectangle"] - #[doc = " @param w width of the rectangle"] - #[doc = " @param h height of the rectangle"] - #[doc = " @param style style of the rectangle (`body` properties are used except `padding`)"] - pub fn lv_canvas_draw_rect( - canvas: *mut lv_obj_t, - x: lv_coord_t, - y: lv_coord_t, - w: lv_coord_t, - h: lv_coord_t, - style: *const lv_style_t, - ); -} -extern "C" { - #[doc = " Draw a text on the canvas."] - #[doc = " @param canvas pointer to a canvas object"] - #[doc = " @param x left coordinate of the text"] - #[doc = " @param y top coordinate of the text"] - #[doc = " @param max_w max width of the text. The text will be wrapped to fit into this size"] - #[doc = " @param style style of the text (`text` properties are used)"] - #[doc = " @param txt text to display"] - #[doc = " @param align align of the text (`LV_LABEL_ALIGN_LEFT/RIGHT/CENTER`)"] - pub fn lv_canvas_draw_text( - canvas: *mut lv_obj_t, - x: lv_coord_t, - y: lv_coord_t, - max_w: lv_coord_t, - style: *const lv_style_t, - txt: *const cty::c_char, - align: lv_label_align_t, - ); -} -extern "C" { - #[doc = " Draw an image on the canvas"] - #[doc = " @param canvas pointer to a canvas object"] - #[doc = " @param src image source. Can be a pointer an `lv_img_dsc_t` variable or a path an image."] - #[doc = " @param style style of the image (`image` properties are used)"] - pub fn lv_canvas_draw_img( - canvas: *mut lv_obj_t, - x: lv_coord_t, - y: lv_coord_t, - src: *const cty::c_void, - style: *const lv_style_t, - ); -} -extern "C" { - #[doc = " Draw a line on the canvas"] - #[doc = " @param canvas pointer to a canvas object"] - #[doc = " @param points point of the line"] - #[doc = " @param point_cnt number of points"] - #[doc = " @param style style of the line (`line` properties are used)"] - pub fn lv_canvas_draw_line( - canvas: *mut lv_obj_t, - points: *const lv_point_t, - point_cnt: u32, - style: *const lv_style_t, - ); -} -extern "C" { - #[doc = " Draw a polygon on the canvas"] - #[doc = " @param canvas pointer to a canvas object"] - #[doc = " @param points point of the polygon"] - #[doc = " @param point_cnt number of points"] - #[doc = " @param style style of the polygon (`body.main_color` and `body.opa` is used)"] - pub fn lv_canvas_draw_polygon( - canvas: *mut lv_obj_t, - points: *const lv_point_t, - point_cnt: u32, - style: *const lv_style_t, - ); -} -extern "C" { - #[doc = " Draw an arc on the canvas"] - #[doc = " @param canvas pointer to a canvas object"] - #[doc = " @param x origo x of the arc"] - #[doc = " @param y origo y of the arc"] - #[doc = " @param r radius of the arc"] - #[doc = " @param start_angle start angle in degrees"] - #[doc = " @param end_angle end angle in degrees"] - #[doc = " @param style style of the polygon (`body.main_color` and `body.opa` is used)"] - pub fn lv_canvas_draw_arc( - canvas: *mut lv_obj_t, - x: lv_coord_t, - y: lv_coord_t, - r: lv_coord_t, - start_angle: i32, - end_angle: i32, - style: *const lv_style_t, - ); -} -#[doc = " TYPEDEFS"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_win_ext_t { - pub page: *mut lv_obj_t, - pub header: *mut lv_obj_t, - pub title: *mut lv_obj_t, - pub style_btn_rel: *const lv_style_t, - pub style_btn_pr: *const lv_style_t, - pub btn_size: lv_coord_t, -} -#[doc = "< Window object background style."] -pub const LV_WIN_STYLE_BG: _bindgen_ty_62 = 0; -#[doc = "< Window content style."] -pub const LV_WIN_STYLE_CONTENT: _bindgen_ty_62 = 1; -#[doc = "< Window scrollbar style."] -pub const LV_WIN_STYLE_SB: _bindgen_ty_62 = 2; -#[doc = "< Window titlebar background style."] -pub const LV_WIN_STYLE_HEADER: _bindgen_ty_62 = 3; -#[doc = "< Same meaning as ordinary button styles."] -pub const LV_WIN_STYLE_BTN_REL: _bindgen_ty_62 = 4; -pub const LV_WIN_STYLE_BTN_PR: _bindgen_ty_62 = 5; -#[doc = " Window styles."] -pub type _bindgen_ty_62 = u32; -pub type lv_win_style_t = u8; -extern "C" { - #[doc = " Create a window objects"] - #[doc = " @param par pointer to an object, it will be the parent of the new window"] - #[doc = " @param copy pointer to a window object, if not NULL then the new object will be copied from it"] - #[doc = " @return pointer to the created window"] - pub fn lv_win_create(par: *mut lv_obj_t, copy: *const lv_obj_t) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Delete all children of the scrl object, without deleting scrl child."] - #[doc = " @param win pointer to an object"] - pub fn lv_win_clean(win: *mut lv_obj_t); -} -extern "C" { - #[doc = " Add control button to the header of the window"] - #[doc = " @param win pointer to a window object"] - #[doc = " @param img_src an image source ('lv_img_t' variable, path to file or a symbol)"] - #[doc = " @return pointer to the created button object"] - pub fn lv_win_add_btn(win: *mut lv_obj_t, img_src: *const cty::c_void) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Can be assigned to a window control button to close the window"] - #[doc = " @param btn pointer to the control button on teh widows header"] - #[doc = " @param evet the event type"] - pub fn lv_win_close_event_cb(btn: *mut lv_obj_t, event: lv_event_t); -} -extern "C" { - #[doc = " Set the title of a window"] - #[doc = " @param win pointer to a window object"] - #[doc = " @param title string of the new title"] - pub fn lv_win_set_title(win: *mut lv_obj_t, title: *const cty::c_char); -} -extern "C" { - #[doc = " Set the control button size of a window"] - #[doc = " @param win pointer to a window object"] - #[doc = " @return control button size"] - pub fn lv_win_set_btn_size(win: *mut lv_obj_t, size: lv_coord_t); -} -extern "C" { - #[doc = " Set the size of the content area."] - #[doc = " @param win pointer to a window object"] - #[doc = " @param w width"] - #[doc = " @param h height (the window will be higher with the height of the header)"] - pub fn lv_win_set_content_size(win: *mut lv_obj_t, w: lv_coord_t, h: lv_coord_t); -} -extern "C" { - #[doc = " Set the layout of the window"] - #[doc = " @param win pointer to a window object"] - #[doc = " @param layout the layout from 'lv_layout_t'"] - pub fn lv_win_set_layout(win: *mut lv_obj_t, layout: lv_layout_t); -} -extern "C" { - #[doc = " Set the scroll bar mode of a window"] - #[doc = " @param win pointer to a window object"] - #[doc = " @param sb_mode the new scroll bar mode from 'lv_sb_mode_t'"] - pub fn lv_win_set_sb_mode(win: *mut lv_obj_t, sb_mode: lv_sb_mode_t); -} -extern "C" { - #[doc = " Set focus animation duration on `lv_win_focus()`"] - #[doc = " @param win pointer to a window object"] - #[doc = " @param anim_time duration of animation [ms]"] - pub fn lv_win_set_anim_time(win: *mut lv_obj_t, anim_time: u16); -} -extern "C" { - #[doc = " Set a style of a window"] - #[doc = " @param win pointer to a window object"] - #[doc = " @param type which style should be set"] - #[doc = " @param style pointer to a style"] - pub fn lv_win_set_style(win: *mut lv_obj_t, type_: lv_win_style_t, style: *const lv_style_t); -} -extern "C" { - #[doc = " Set drag status of a window. If set to 'true' window can be dragged like on a PC."] - #[doc = " @param win pointer to a window object"] - #[doc = " @param en whether dragging is enabled"] - pub fn lv_win_set_drag(win: *mut lv_obj_t, en: bool); -} -extern "C" { - #[doc = " Get the title of a window"] - #[doc = " @param win pointer to a window object"] - #[doc = " @return title string of the window"] - pub fn lv_win_get_title(win: *const lv_obj_t) -> *const cty::c_char; -} -extern "C" { - #[doc = " Get the content holder object of window (`lv_page`) to allow additional customization"] - #[doc = " @param win pointer to a window object"] - #[doc = " @return the Page object where the window's content is"] - pub fn lv_win_get_content(win: *const lv_obj_t) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Get the control button size of a window"] - #[doc = " @param win pointer to a window object"] - #[doc = " @return control button size"] - pub fn lv_win_get_btn_size(win: *const lv_obj_t) -> lv_coord_t; -} -extern "C" { - #[doc = " Get the pointer of a widow from one of its control button."] - #[doc = " It is useful in the action of the control buttons where only button is known."] - #[doc = " @param ctrl_btn pointer to a control button of a window"] - #[doc = " @return pointer to the window of 'ctrl_btn'"] - pub fn lv_win_get_from_btn(ctrl_btn: *const lv_obj_t) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Get the layout of a window"] - #[doc = " @param win pointer to a window object"] - #[doc = " @return the layout of the window (from 'lv_layout_t')"] - pub fn lv_win_get_layout(win: *mut lv_obj_t) -> lv_layout_t; -} -extern "C" { - #[doc = " Get the scroll bar mode of a window"] - #[doc = " @param win pointer to a window object"] - #[doc = " @return the scroll bar mode of the window (from 'lv_sb_mode_t')"] - pub fn lv_win_get_sb_mode(win: *mut lv_obj_t) -> lv_sb_mode_t; -} -extern "C" { - #[doc = " Get focus animation duration"] - #[doc = " @param win pointer to a window object"] - #[doc = " @return duration of animation [ms]"] - pub fn lv_win_get_anim_time(win: *const lv_obj_t) -> u16; -} -extern "C" { - #[doc = " Get width of the content area (page scrollable) of the window"] - #[doc = " @param win pointer to a window object"] - #[doc = " @return the width of the content area"] - pub fn lv_win_get_width(win: *mut lv_obj_t) -> lv_coord_t; -} -extern "C" { - #[doc = " Get a style of a window"] - #[doc = " @param win pointer to a button object"] - #[doc = " @param type which style window be get"] - #[doc = " @return style pointer to a style"] - pub fn lv_win_get_style(win: *const lv_obj_t, type_: lv_win_style_t) -> *const lv_style_t; -} -extern "C" { - #[doc = " Focus on an object. It ensures that the object will be visible in the window."] - #[doc = " @param win pointer to a window object"] - #[doc = " @param obj pointer to an object to focus (must be in the window)"] - #[doc = " @param anim_en LV_ANIM_ON focus with an animation; LV_ANIM_OFF focus without animation"] - pub fn lv_win_focus(win: *mut lv_obj_t, obj: *mut lv_obj_t, anim_en: lv_anim_enable_t); -} -pub const LV_TABVIEW_BTNS_POS_TOP: _bindgen_ty_63 = 0; -pub const LV_TABVIEW_BTNS_POS_BOTTOM: _bindgen_ty_63 = 1; -pub const LV_TABVIEW_BTNS_POS_LEFT: _bindgen_ty_63 = 2; -pub const LV_TABVIEW_BTNS_POS_RIGHT: _bindgen_ty_63 = 3; -#[doc = " Position of tabview buttons."] -pub type _bindgen_ty_63 = u32; -pub type lv_tabview_btns_pos_t = u8; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_tabview_ext_t { - pub btns: *mut lv_obj_t, - pub indic: *mut lv_obj_t, - pub content: *mut lv_obj_t, - pub tab_name_ptr: *mut *const cty::c_char, - pub point_last: lv_point_t, - pub tab_cur: u16, - pub tab_cnt: u16, - pub anim_time: u16, - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, - pub __bindgen_padding_0: u8, -} -impl lv_tabview_ext_t { - #[inline] - pub fn slide_enable(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } - } - #[inline] - pub fn set_slide_enable(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 1u8, val as u64) - } - } - #[inline] - pub fn draging(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } - } - #[inline] - pub fn set_draging(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(1usize, 1u8, val as u64) - } - } - #[inline] - pub fn drag_hor(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u8) } - } - #[inline] - pub fn set_drag_hor(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(2usize, 1u8, val as u64) - } - } - #[inline] - pub fn scroll_ver(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u8) } - } - #[inline] - pub fn set_scroll_ver(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(3usize, 1u8, val as u64) - } - } - #[inline] - pub fn btns_hide(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u8) } - } - #[inline] - pub fn set_btns_hide(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(4usize, 1u8, val as u64) - } - } - #[inline] - pub fn btns_pos(&self) -> lv_tabview_btns_pos_t { - unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 2u8) as u8) } - } - #[inline] - pub fn set_btns_pos(&mut self, val: lv_tabview_btns_pos_t) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(5usize, 2u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1( - slide_enable: u8, - draging: u8, - drag_hor: u8, - scroll_ver: u8, - btns_hide: u8, - btns_pos: lv_tabview_btns_pos_t, - ) -> __BindgenBitfieldUnit<[u8; 1usize], u8> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 1u8, { - let slide_enable: u8 = unsafe { ::core::mem::transmute(slide_enable) }; - slide_enable as u64 - }); - __bindgen_bitfield_unit.set(1usize, 1u8, { - let draging: u8 = unsafe { ::core::mem::transmute(draging) }; - draging as u64 - }); - __bindgen_bitfield_unit.set(2usize, 1u8, { - let drag_hor: u8 = unsafe { ::core::mem::transmute(drag_hor) }; - drag_hor as u64 - }); - __bindgen_bitfield_unit.set(3usize, 1u8, { - let scroll_ver: u8 = unsafe { ::core::mem::transmute(scroll_ver) }; - scroll_ver as u64 - }); - __bindgen_bitfield_unit.set(4usize, 1u8, { - let btns_hide: u8 = unsafe { ::core::mem::transmute(btns_hide) }; - btns_hide as u64 - }); - __bindgen_bitfield_unit.set(5usize, 2u8, { - let btns_pos: u8 = unsafe { ::core::mem::transmute(btns_pos) }; - btns_pos as u64 - }); - __bindgen_bitfield_unit - } -} -pub const LV_TABVIEW_STYLE_BG: _bindgen_ty_64 = 0; -pub const LV_TABVIEW_STYLE_INDIC: _bindgen_ty_64 = 1; -pub const LV_TABVIEW_STYLE_BTN_BG: _bindgen_ty_64 = 2; -pub const LV_TABVIEW_STYLE_BTN_REL: _bindgen_ty_64 = 3; -pub const LV_TABVIEW_STYLE_BTN_PR: _bindgen_ty_64 = 4; -pub const LV_TABVIEW_STYLE_BTN_TGL_REL: _bindgen_ty_64 = 5; -pub const LV_TABVIEW_STYLE_BTN_TGL_PR: _bindgen_ty_64 = 6; -pub type _bindgen_ty_64 = u32; -pub type lv_tabview_style_t = u8; -extern "C" { - #[doc = " Create a Tab view object"] - #[doc = " @param par pointer to an object, it will be the parent of the new tab"] - #[doc = " @param copy pointer to a tab object, if not NULL then the new object will be copied from it"] - #[doc = " @return pointer to the created tab"] - pub fn lv_tabview_create(par: *mut lv_obj_t, copy: *const lv_obj_t) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Delete all children of the scrl object, without deleting scrl child."] - #[doc = " @param tabview pointer to an object"] - pub fn lv_tabview_clean(tabview: *mut lv_obj_t); -} -extern "C" { - #[doc = " Add a new tab with the given name"] - #[doc = " @param tabview pointer to Tab view object where to ass the new tab"] - #[doc = " @param name the text on the tab button"] - #[doc = " @return pointer to the created page object (lv_page). You can create your content here"] - pub fn lv_tabview_add_tab(tabview: *mut lv_obj_t, name: *const cty::c_char) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Set a new tab"] - #[doc = " @param tabview pointer to Tab view object"] - #[doc = " @param id index of a tab to load"] - #[doc = " @param anim LV_ANIM_ON: set the value with an animation; LV_ANIM_OFF: change the value immediately"] - pub fn lv_tabview_set_tab_act(tabview: *mut lv_obj_t, id: u16, anim: lv_anim_enable_t); -} -extern "C" { - #[doc = " Enable horizontal sliding with touch pad"] - #[doc = " @param tabview pointer to Tab view object"] - #[doc = " @param en true: enable sliding; false: disable sliding"] - pub fn lv_tabview_set_sliding(tabview: *mut lv_obj_t, en: bool); -} -extern "C" { - #[doc = " Set the animation time of tab view when a new tab is loaded"] - #[doc = " @param tabview pointer to Tab view object"] - #[doc = " @param anim_time time of animation in milliseconds"] - pub fn lv_tabview_set_anim_time(tabview: *mut lv_obj_t, anim_time: u16); -} -extern "C" { - #[doc = " Set the style of a tab view"] - #[doc = " @param tabview pointer to a tan view object"] - #[doc = " @param type which style should be set"] - #[doc = " @param style pointer to the new style"] - pub fn lv_tabview_set_style( - tabview: *mut lv_obj_t, - type_: lv_tabview_style_t, - style: *const lv_style_t, - ); -} -extern "C" { - #[doc = " Set the position of tab select buttons"] - #[doc = " @param tabview pointer to a tab view object"] - #[doc = " @param btns_pos which button position"] - pub fn lv_tabview_set_btns_pos(tabview: *mut lv_obj_t, btns_pos: lv_tabview_btns_pos_t); -} -extern "C" { - #[doc = " Set whether tab buttons are hidden"] - #[doc = " @param tabview pointer to a tab view object"] - #[doc = " @param en whether tab buttons are hidden"] - pub fn lv_tabview_set_btns_hidden(tabview: *mut lv_obj_t, en: bool); -} -extern "C" { - #[doc = " Get the index of the currently active tab"] - #[doc = " @param tabview pointer to Tab view object"] - #[doc = " @return the active tab index"] - pub fn lv_tabview_get_tab_act(tabview: *const lv_obj_t) -> u16; -} -extern "C" { - #[doc = " Get the number of tabs"] - #[doc = " @param tabview pointer to Tab view object"] - #[doc = " @return tab count"] - pub fn lv_tabview_get_tab_count(tabview: *const lv_obj_t) -> u16; -} -extern "C" { - #[doc = " Get the page (content area) of a tab"] - #[doc = " @param tabview pointer to Tab view object"] - #[doc = " @param id index of the tab (>= 0)"] - #[doc = " @return pointer to page (lv_page) object"] - pub fn lv_tabview_get_tab(tabview: *const lv_obj_t, id: u16) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Get horizontal sliding is enabled or not"] - #[doc = " @param tabview pointer to Tab view object"] - #[doc = " @return true: enable sliding; false: disable sliding"] - pub fn lv_tabview_get_sliding(tabview: *const lv_obj_t) -> bool; -} -extern "C" { - #[doc = " Get the animation time of tab view when a new tab is loaded"] - #[doc = " @param tabview pointer to Tab view object"] - #[doc = " @return time of animation in milliseconds"] - pub fn lv_tabview_get_anim_time(tabview: *const lv_obj_t) -> u16; -} -extern "C" { - #[doc = " Get a style of a tab view"] - #[doc = " @param tabview pointer to a ab view object"] - #[doc = " @param type which style should be get"] - #[doc = " @return style pointer to a style"] - pub fn lv_tabview_get_style( - tabview: *const lv_obj_t, - type_: lv_tabview_style_t, - ) -> *const lv_style_t; -} -extern "C" { - #[doc = " Get position of tab select buttons"] - #[doc = " @param tabview pointer to a ab view object"] - pub fn lv_tabview_get_btns_pos(tabview: *const lv_obj_t) -> lv_tabview_btns_pos_t; -} -extern "C" { - #[doc = " Get whether tab buttons are hidden"] - #[doc = " @param tabview pointer to a tab view object"] - #[doc = " @return whether tab buttons are hidden"] - pub fn lv_tabview_get_btns_hidden(tabview: *const lv_obj_t) -> bool; -} -#[doc = " TYPEDEFS"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_tileview_ext_t { - pub page: lv_page_ext_t, - pub valid_pos: *const lv_point_t, - pub valid_pos_cnt: u16, - pub anim_time: u16, - pub act_id: lv_point_t, - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, - pub __bindgen_padding_0: [u8; 3usize], -} -impl lv_tileview_ext_t { - #[inline] - pub fn drag_top_en(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } - } - #[inline] - pub fn set_drag_top_en(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 1u8, val as u64) - } - } - #[inline] - pub fn drag_bottom_en(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } - } - #[inline] - pub fn set_drag_bottom_en(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(1usize, 1u8, val as u64) - } - } - #[inline] - pub fn drag_left_en(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u8) } - } - #[inline] - pub fn set_drag_left_en(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(2usize, 1u8, val as u64) - } - } - #[inline] - pub fn drag_right_en(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u8) } - } - #[inline] - pub fn set_drag_right_en(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(3usize, 1u8, val as u64) - } - } - #[inline] - pub fn drag_hor(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u8) } - } - #[inline] - pub fn set_drag_hor(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(4usize, 1u8, val as u64) - } - } - #[inline] - pub fn drag_ver(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u8) } - } - #[inline] - pub fn set_drag_ver(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(5usize, 1u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1( - drag_top_en: u8, - drag_bottom_en: u8, - drag_left_en: u8, - drag_right_en: u8, - drag_hor: u8, - drag_ver: u8, - ) -> __BindgenBitfieldUnit<[u8; 1usize], u8> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 1u8, { - let drag_top_en: u8 = unsafe { ::core::mem::transmute(drag_top_en) }; - drag_top_en as u64 - }); - __bindgen_bitfield_unit.set(1usize, 1u8, { - let drag_bottom_en: u8 = unsafe { ::core::mem::transmute(drag_bottom_en) }; - drag_bottom_en as u64 - }); - __bindgen_bitfield_unit.set(2usize, 1u8, { - let drag_left_en: u8 = unsafe { ::core::mem::transmute(drag_left_en) }; - drag_left_en as u64 - }); - __bindgen_bitfield_unit.set(3usize, 1u8, { - let drag_right_en: u8 = unsafe { ::core::mem::transmute(drag_right_en) }; - drag_right_en as u64 - }); - __bindgen_bitfield_unit.set(4usize, 1u8, { - let drag_hor: u8 = unsafe { ::core::mem::transmute(drag_hor) }; - drag_hor as u64 - }); - __bindgen_bitfield_unit.set(5usize, 1u8, { - let drag_ver: u8 = unsafe { ::core::mem::transmute(drag_ver) }; - drag_ver as u64 - }); - __bindgen_bitfield_unit - } -} -pub const LV_TILEVIEW_STYLE_MAIN: _bindgen_ty_65 = 0; -pub type _bindgen_ty_65 = u32; -pub type lv_tileview_style_t = u8; -extern "C" { - #[doc = " Create a tileview objects"] - #[doc = " @param par pointer to an object, it will be the parent of the new tileview"] - #[doc = " @param copy pointer to a tileview object, if not NULL then the new object will be copied from it"] - #[doc = " @return pointer to the created tileview"] - pub fn lv_tileview_create(par: *mut lv_obj_t, copy: *const lv_obj_t) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Register an object on the tileview. The register object will able to slide the tileview"] - #[doc = " @param tileview pointer to a Tileview object"] - #[doc = " @param element pointer to an object"] - pub fn lv_tileview_add_element(tileview: *mut lv_obj_t, element: *mut lv_obj_t); -} -extern "C" { - #[doc = " Set the valid position's indices. The scrolling will be possible only to these positions."] - #[doc = " @param tileview pointer to a Tileview object"] - #[doc = " @param valid_pos array width the indices. E.g. `lv_point_t p[] = {{0,0}, {1,0}, {1,1}`."] - #[doc = " Only the pointer is saved so can't be a local variable."] - #[doc = " @param valid_pos_cnt numner of elements in `valid_pos` array"] - pub fn lv_tileview_set_valid_positions( - tileview: *mut lv_obj_t, - valid_pos: *const lv_point_t, - valid_pos_cnt: u16, - ); -} -extern "C" { - #[doc = " Set the tile to be shown"] - #[doc = " @param tileview pointer to a tileview object"] - #[doc = " @param x column id (0, 1, 2...)"] - #[doc = " @param y line id (0, 1, 2...)"] - #[doc = " @param anim LV_ANIM_ON: set the value with an animation; LV_ANIM_OFF: change the value immediately"] - pub fn lv_tileview_set_tile_act( - tileview: *mut lv_obj_t, - x: lv_coord_t, - y: lv_coord_t, - anim: lv_anim_enable_t, - ); -} -extern "C" { - #[doc = " Set a style of a tileview."] - #[doc = " @param tileview pointer to tileview object"] - #[doc = " @param type which style should be set"] - #[doc = " @param style pointer to a style"] - pub fn lv_tileview_set_style( - tileview: *mut lv_obj_t, - type_: lv_tileview_style_t, - style: *const lv_style_t, - ); -} -extern "C" { - #[doc = " Get style of a tileview."] - #[doc = " @param tileview pointer to tileview object"] - #[doc = " @param type which style should be get"] - #[doc = " @return style pointer to the style"] - pub fn lv_tileview_get_style( - tileview: *const lv_obj_t, - type_: lv_tileview_style_t, - ) -> *const lv_style_t; -} -#[doc = " TYPEDEFS"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_mbox_ext_t { - pub bg: lv_cont_ext_t, - pub text: *mut lv_obj_t, - pub btnm: *mut lv_obj_t, - pub anim_time: u16, -} -pub const LV_MBOX_STYLE_BG: _bindgen_ty_66 = 0; -#[doc = "< Same meaning as ordinary button styles."] -pub const LV_MBOX_STYLE_BTN_BG: _bindgen_ty_66 = 1; -pub const LV_MBOX_STYLE_BTN_REL: _bindgen_ty_66 = 2; -pub const LV_MBOX_STYLE_BTN_PR: _bindgen_ty_66 = 3; -pub const LV_MBOX_STYLE_BTN_TGL_REL: _bindgen_ty_66 = 4; -pub const LV_MBOX_STYLE_BTN_TGL_PR: _bindgen_ty_66 = 5; -pub const LV_MBOX_STYLE_BTN_INA: _bindgen_ty_66 = 6; -#[doc = " Message box styles."] -pub type _bindgen_ty_66 = u32; -pub type lv_mbox_style_t = u8; -extern "C" { - #[doc = " Create a message box objects"] - #[doc = " @param par pointer to an object, it will be the parent of the new message box"] - #[doc = " @param copy pointer to a message box object, if not NULL then the new object will be copied from"] - #[doc = " it"] - #[doc = " @return pointer to the created message box"] - pub fn lv_mbox_create(par: *mut lv_obj_t, copy: *const lv_obj_t) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Add button to the message box"] - #[doc = " @param mbox pointer to message box object"] - #[doc = " @param btn_map button descriptor (button matrix map)."] - #[doc = " E.g. a const char *txt[] = {\"ok\", \"close\", \"\"} (Can not be local variable)"] - pub fn lv_mbox_add_btns(mbox: *mut lv_obj_t, btn_mapaction: *mut *const cty::c_char); -} -extern "C" { - #[doc = " Set the text of the message box"] - #[doc = " @param mbox pointer to a message box"] - #[doc = " @param txt a '\\0' terminated character string which will be the message box text"] - pub fn lv_mbox_set_text(mbox: *mut lv_obj_t, txt: *const cty::c_char); -} -extern "C" { - #[doc = " Set animation duration"] - #[doc = " @param mbox pointer to a message box object"] - #[doc = " @param anim_time animation length in milliseconds (0: no animation)"] - pub fn lv_mbox_set_anim_time(mbox: *mut lv_obj_t, anim_time: u16); -} -extern "C" { - #[doc = " Automatically delete the message box after a given time"] - #[doc = " @param mbox pointer to a message box object"] - #[doc = " @param delay a time (in milliseconds) to wait before delete the message box"] - pub fn lv_mbox_start_auto_close(mbox: *mut lv_obj_t, delay: u16); -} -extern "C" { - #[doc = " Stop the auto. closing of message box"] - #[doc = " @param mbox pointer to a message box object"] - pub fn lv_mbox_stop_auto_close(mbox: *mut lv_obj_t); -} -extern "C" { - #[doc = " Set a style of a message box"] - #[doc = " @param mbox pointer to a message box object"] - #[doc = " @param type which style should be set"] - #[doc = " @param style pointer to a style"] - pub fn lv_mbox_set_style(mbox: *mut lv_obj_t, type_: lv_mbox_style_t, style: *const lv_style_t); -} -extern "C" { - #[doc = " Set whether recoloring is enabled. Must be called after `lv_mbox_add_btns`."] - #[doc = " @param btnm pointer to button matrix object"] - #[doc = " @param en whether recoloring is enabled"] - pub fn lv_mbox_set_recolor(mbox: *mut lv_obj_t, en: bool); -} -extern "C" { - #[doc = " Get the text of the message box"] - #[doc = " @param mbox pointer to a message box object"] - #[doc = " @return pointer to the text of the message box"] - pub fn lv_mbox_get_text(mbox: *const lv_obj_t) -> *const cty::c_char; -} -extern "C" { - #[doc = " Get the index of the lastly \"activated\" button by the user (pressed, released etc)"] - #[doc = " Useful in the the `event_cb`."] - #[doc = " @param btnm pointer to button matrix object"] - #[doc = " @return index of the last released button (LV_BTNM_BTN_NONE: if unset)"] - pub fn lv_mbox_get_active_btn(mbox: *mut lv_obj_t) -> u16; -} -extern "C" { - #[doc = " Get the text of the lastly \"activated\" button by the user (pressed, released etc)"] - #[doc = " Useful in the the `event_cb`."] - #[doc = " @param btnm pointer to button matrix object"] - #[doc = " @return text of the last released button (NULL: if unset)"] - pub fn lv_mbox_get_active_btn_text(mbox: *mut lv_obj_t) -> *const cty::c_char; -} -extern "C" { - #[doc = " Get the animation duration (close animation time)"] - #[doc = " @param mbox pointer to a message box object"] - #[doc = " @return animation length in milliseconds (0: no animation)"] - pub fn lv_mbox_get_anim_time(mbox: *const lv_obj_t) -> u16; -} -extern "C" { - #[doc = " Get a style of a message box"] - #[doc = " @param mbox pointer to a message box object"] - #[doc = " @param type which style should be get"] - #[doc = " @return style pointer to a style"] - pub fn lv_mbox_get_style(mbox: *const lv_obj_t, type_: lv_mbox_style_t) -> *const lv_style_t; -} -extern "C" { - #[doc = " Get whether recoloring is enabled"] - #[doc = " @param mbox pointer to a message box object"] - #[doc = " @return whether recoloring is enabled"] - pub fn lv_mbox_get_recolor(mbox: *const lv_obj_t) -> bool; -} -extern "C" { - #[doc = " Get message box button matrix"] - #[doc = " @param mbox pointer to a message box object"] - #[doc = " @return pointer to button matrix object"] - #[doc = " @remarks return value will be NULL unless `lv_mbox_add_btns` has been already called"] - pub fn lv_mbox_get_btnm(mbox: *mut lv_obj_t) -> *mut lv_obj_t; -} -#[doc = " TYPEDEFS"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_lmeter_ext_t { - pub scale_angle: u16, - pub angle_ofs: u16, - pub line_cnt: u16, - pub cur_value: i16, - pub min_value: i16, - pub max_value: i16, - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, - pub __bindgen_padding_0: u8, -} -impl lv_lmeter_ext_t { - #[inline] - pub fn mirrored(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } - } - #[inline] - pub fn set_mirrored(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 1u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1(mirrored: u8) -> __BindgenBitfieldUnit<[u8; 1usize], u8> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 1u8, { - let mirrored: u8 = unsafe { ::core::mem::transmute(mirrored) }; - mirrored as u64 - }); - __bindgen_bitfield_unit - } -} -pub const LV_LMETER_STYLE_MAIN: _bindgen_ty_67 = 0; -pub type _bindgen_ty_67 = u32; -pub type lv_lmeter_style_t = u8; -extern "C" { - #[doc = " Create a line meter objects"] - #[doc = " @param par pointer to an object, it will be the parent of the new line meter"] - #[doc = " @param copy pointer to a line meter object, if not NULL then the new object will be copied from"] - #[doc = " it"] - #[doc = " @return pointer to the created line meter"] - pub fn lv_lmeter_create(par: *mut lv_obj_t, copy: *const lv_obj_t) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Set a new value on the line meter"] - #[doc = " @param lmeter pointer to a line meter object"] - #[doc = " @param value new value"] - pub fn lv_lmeter_set_value(lmeter: *mut lv_obj_t, value: i16); -} -extern "C" { - #[doc = " Set minimum and the maximum values of a line meter"] - #[doc = " @param lmeter pointer to he line meter object"] - #[doc = " @param min minimum value"] - #[doc = " @param max maximum value"] - pub fn lv_lmeter_set_range(lmeter: *mut lv_obj_t, min: i16, max: i16); -} -extern "C" { - #[doc = " Set the scale settings of a line meter"] - #[doc = " @param lmeter pointer to a line meter object"] - #[doc = " @param angle angle of the scale (0..360)"] - #[doc = " @param line_cnt number of lines"] - pub fn lv_lmeter_set_scale(lmeter: *mut lv_obj_t, angle: u16, line_cnt: u16); -} -extern "C" { - #[doc = " Set the set an offset for the line meter's angles to rotate it."] - #[doc = " @param lmeter pointer to a line meter object"] - #[doc = " @param angle angle offset (0..360), rotates clockwise"] - pub fn lv_lmeter_set_angle_offset(lmeter: *mut lv_obj_t, angle: u16); -} -extern "C" { - #[doc = " Set the orientation of the meter growth, clockwise or counterclockwise (mirrored)"] - #[doc = " @param lmeter pointer to a line meter object"] - #[doc = " @param mirror mirror setting"] - pub fn lv_lmeter_set_mirror(lmeter: *mut lv_obj_t, mirror: bool); -} -extern "C" { - #[doc = " Get the value of a line meter"] - #[doc = " @param lmeter pointer to a line meter object"] - #[doc = " @return the value of the line meter"] - pub fn lv_lmeter_get_value(lmeter: *const lv_obj_t) -> i16; -} -extern "C" { - #[doc = " Get the minimum value of a line meter"] - #[doc = " @param lmeter pointer to a line meter object"] - #[doc = " @return the minimum value of the line meter"] - pub fn lv_lmeter_get_min_value(lmeter: *const lv_obj_t) -> i16; -} -extern "C" { - #[doc = " Get the maximum value of a line meter"] - #[doc = " @param lmeter pointer to a line meter object"] - #[doc = " @return the maximum value of the line meter"] - pub fn lv_lmeter_get_max_value(lmeter: *const lv_obj_t) -> i16; -} -extern "C" { - #[doc = " Get the scale number of a line meter"] - #[doc = " @param lmeter pointer to a line meter object"] - #[doc = " @return number of the scale units"] - pub fn lv_lmeter_get_line_count(lmeter: *const lv_obj_t) -> u16; -} -extern "C" { - #[doc = " Get the scale angle of a line meter"] - #[doc = " @param lmeter pointer to a line meter object"] - #[doc = " @return angle of the scale"] - pub fn lv_lmeter_get_scale_angle(lmeter: *const lv_obj_t) -> u16; -} -extern "C" { - #[doc = " get the set an offset for the line meter."] - #[doc = " @param lmeter pointer to a line meter object"] - #[doc = " @return angle offset (0..360)"] - pub fn lv_lmeter_get_angle_offset(lmeter: *mut lv_obj_t) -> u16; -} -extern "C" { - #[doc = " get the mirror setting for the line meter"] - #[doc = " @param lmeter pointer to a line meter object"] - #[doc = " @return mirror (true or false)"] - pub fn lv_lmeter_get_mirror(lmeter: *mut lv_obj_t) -> bool; -} -#[doc = " TYPEDEFS"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_gauge_ext_t { - pub lmeter: lv_lmeter_ext_t, - pub values: *mut i16, - pub needle_colors: *const lv_color_t, - pub needle_count: u8, - pub label_count: u8, -} -pub const LV_GAUGE_STYLE_MAIN: _bindgen_ty_68 = 0; -pub type _bindgen_ty_68 = u32; -pub type lv_gauge_style_t = u8; -extern "C" { - #[doc = " Create a gauge objects"] - #[doc = " @param par pointer to an object, it will be the parent of the new gauge"] - #[doc = " @param copy pointer to a gauge object, if not NULL then the new object will be copied from it"] - #[doc = " @return pointer to the created gauge"] - pub fn lv_gauge_create(par: *mut lv_obj_t, copy: *const lv_obj_t) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Set the number of needles"] - #[doc = " @param gauge pointer to gauge object"] - #[doc = " @param needle_cnt new count of needles"] - #[doc = " @param colors an array of colors for needles (with 'num' elements)"] - pub fn lv_gauge_set_needle_count( - gauge: *mut lv_obj_t, - needle_cnt: u8, - colors: *const lv_color_t, - ); -} -extern "C" { - #[doc = " Set the value of a needle"] - #[doc = " @param gauge pointer to a gauge"] - #[doc = " @param needle_id the id of the needle"] - #[doc = " @param value the new value"] - pub fn lv_gauge_set_value(gauge: *mut lv_obj_t, needle_id: u8, value: i16); -} -extern "C" { - #[doc = " Set the scale settings of a gauge"] - #[doc = " @param gauge pointer to a gauge object"] - #[doc = " @param angle angle of the scale (0..360)"] - #[doc = " @param line_cnt count of scale lines."] - #[doc = " The get a given \"subdivision\" lines between label, `line_cnt` = (sub_div + 1) * (label_cnt - 1) +"] - #[doc = " 1"] - #[doc = " @param label_cnt count of scale labels."] - pub fn lv_gauge_set_scale(gauge: *mut lv_obj_t, angle: u16, line_cnt: u8, label_cnt: u8); -} -extern "C" { - #[doc = " Get the value of a needle"] - #[doc = " @param gauge pointer to gauge object"] - #[doc = " @param needle the id of the needle"] - #[doc = " @return the value of the needle [min,max]"] - pub fn lv_gauge_get_value(gauge: *const lv_obj_t, needle: u8) -> i16; -} -extern "C" { - #[doc = " Get the count of needles on a gauge"] - #[doc = " @param gauge pointer to gauge"] - #[doc = " @return count of needles"] - pub fn lv_gauge_get_needle_count(gauge: *const lv_obj_t) -> u8; -} -extern "C" { - #[doc = " Set the number of labels (and the thicker lines too)"] - #[doc = " @param gauge pointer to a gauge object"] - #[doc = " @return count of labels"] - pub fn lv_gauge_get_label_count(gauge: *const lv_obj_t) -> u8; -} -#[doc = " TYPEDEFS"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_sw_ext_t { - pub slider: lv_slider_ext_t, - #[doc = "< Style of the knob when the switch is OFF"] - pub style_knob_off: *const lv_style_t, - #[doc = "< Style of the knob when the switch is ON (NULL to use the same as OFF)"] - pub style_knob_on: *const lv_style_t, - pub start_x: lv_coord_t, - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, - pub anim_time: u16, -} -impl lv_sw_ext_t { - #[inline] - pub fn changed(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } - } - #[inline] - pub fn set_changed(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 1u8, val as u64) - } - } - #[inline] - pub fn slided(&self) -> u8 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } - } - #[inline] - pub fn set_slided(&mut self, val: u8) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(1usize, 1u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1(changed: u8, slided: u8) -> __BindgenBitfieldUnit<[u8; 1usize], u8> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 1u8, { - let changed: u8 = unsafe { ::core::mem::transmute(changed) }; - changed as u64 - }); - __bindgen_bitfield_unit.set(1usize, 1u8, { - let slided: u8 = unsafe { ::core::mem::transmute(slided) }; - slided as u64 - }); - __bindgen_bitfield_unit - } -} -#[doc = "< Switch background."] -pub const LV_SW_STYLE_BG: _bindgen_ty_69 = 0; -#[doc = "< Switch fill area."] -pub const LV_SW_STYLE_INDIC: _bindgen_ty_69 = 1; -#[doc = "< Switch knob (when off)."] -pub const LV_SW_STYLE_KNOB_OFF: _bindgen_ty_69 = 2; -#[doc = "< Switch knob (when on)."] -pub const LV_SW_STYLE_KNOB_ON: _bindgen_ty_69 = 3; -#[doc = " Switch styles."] -pub type _bindgen_ty_69 = u32; -pub type lv_sw_style_t = u8; -extern "C" { - #[doc = " Create a switch objects"] - #[doc = " @param par pointer to an object, it will be the parent of the new switch"] - #[doc = " @param copy pointer to a switch object, if not NULL then the new object will be copied from it"] - #[doc = " @return pointer to the created switch"] - pub fn lv_sw_create(par: *mut lv_obj_t, copy: *const lv_obj_t) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Turn ON the switch"] - #[doc = " @param sw pointer to a switch object"] - #[doc = " @param anim LV_ANIM_ON: set the value with an animation; LV_ANIM_OFF: change the value immediately"] - pub fn lv_sw_on(sw: *mut lv_obj_t, anim: lv_anim_enable_t); -} -extern "C" { - #[doc = " Turn OFF the switch"] - #[doc = " @param sw pointer to a switch object"] - #[doc = " @param anim LV_ANIM_ON: set the value with an animation; LV_ANIM_OFF: change the value immediately"] - pub fn lv_sw_off(sw: *mut lv_obj_t, anim: lv_anim_enable_t); -} -extern "C" { - #[doc = " Toggle the position of the switch"] - #[doc = " @param sw pointer to a switch object"] - #[doc = " @param anim LV_ANIM_ON: set the value with an animation; LV_ANIM_OFF: change the value immediately"] - #[doc = " @return resulting state of the switch."] - pub fn lv_sw_toggle(sw: *mut lv_obj_t, anim: lv_anim_enable_t) -> bool; -} -extern "C" { - #[doc = " Set a style of a switch"] - #[doc = " @param sw pointer to a switch object"] - #[doc = " @param type which style should be set"] - #[doc = " @param style pointer to a style"] - pub fn lv_sw_set_style(sw: *mut lv_obj_t, type_: lv_sw_style_t, style: *const lv_style_t); -} -extern "C" { - #[doc = " Set the animation time of the switch"] - #[doc = " @param sw pointer to a switch object"] - #[doc = " @param anim_time animation time"] - #[doc = " @return style pointer to a style"] - pub fn lv_sw_set_anim_time(sw: *mut lv_obj_t, anim_time: u16); -} -extern "C" { - #[doc = " Get a style of a switch"] - #[doc = " @param sw pointer to a switch object"] - #[doc = " @param type which style should be get"] - #[doc = " @return style pointer to a style"] - pub fn lv_sw_get_style(sw: *const lv_obj_t, type_: lv_sw_style_t) -> *const lv_style_t; -} -extern "C" { - #[doc = " Get the animation time of the switch"] - #[doc = " @param sw pointer to a switch object"] - #[doc = " @return style pointer to a style"] - pub fn lv_sw_get_anim_time(sw: *const lv_obj_t) -> u16; -} -#[doc = " TYPEDEFS"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_arc_ext_t { - pub angle_start: lv_coord_t, - pub angle_end: lv_coord_t, -} -pub const LV_ARC_STYLE_MAIN: _bindgen_ty_70 = 0; -pub type _bindgen_ty_70 = u32; -pub type lv_arc_style_t = u8; -extern "C" { - #[doc = " Create a arc objects"] - #[doc = " @param par pointer to an object, it will be the parent of the new arc"] - #[doc = " @param copy pointer to a arc object, if not NULL then the new object will be copied from it"] - #[doc = " @return pointer to the created arc"] - pub fn lv_arc_create(par: *mut lv_obj_t, copy: *const lv_obj_t) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Set the start and end angles of an arc. 0 deg: bottom, 90 deg: right etc."] - #[doc = " @param arc pointer to an arc object"] - #[doc = " @param start the start angle [0..360]"] - #[doc = " @param end the end angle [0..360]"] - pub fn lv_arc_set_angles(arc: *mut lv_obj_t, start: u16, end: u16); -} -extern "C" { - #[doc = " Set a style of a arc."] - #[doc = " @param arc pointer to arc object"] - #[doc = " @param type which style should be set"] - #[doc = " @param style pointer to a style"] - pub fn lv_arc_set_style(arc: *mut lv_obj_t, type_: lv_arc_style_t, style: *const lv_style_t); -} -extern "C" { - #[doc = " Get the start angle of an arc."] - #[doc = " @param arc pointer to an arc object"] - #[doc = " @return the start angle [0..360]"] - pub fn lv_arc_get_angle_start(arc: *mut lv_obj_t) -> u16; -} -extern "C" { - #[doc = " Get the end angle of an arc."] - #[doc = " @param arc pointer to an arc object"] - #[doc = " @return the end angle [0..360]"] - pub fn lv_arc_get_angle_end(arc: *mut lv_obj_t) -> u16; -} -extern "C" { - #[doc = " Get style of a arc."] - #[doc = " @param arc pointer to arc object"] - #[doc = " @param type which style should be get"] - #[doc = " @return style pointer to the style"] - pub fn lv_arc_get_style(arc: *const lv_obj_t, type_: lv_arc_style_t) -> *const lv_style_t; -} -pub const LV_PRELOAD_TYPE_SPINNING_ARC: _bindgen_ty_71 = 0; -pub const LV_PRELOAD_TYPE_FILLSPIN_ARC: _bindgen_ty_71 = 1; -pub const LV_PRELOAD_TYPE_CONSTANT_ARC: _bindgen_ty_71 = 2; -#[doc = " Type of preloader."] -pub type _bindgen_ty_71 = u32; -pub type lv_preload_type_t = u8; -pub const LV_PRELOAD_DIR_FORWARD: _bindgen_ty_72 = 0; -pub const LV_PRELOAD_DIR_BACKWARD: _bindgen_ty_72 = 1; -#[doc = " Direction the preloader should spin."] -pub type _bindgen_ty_72 = u32; -pub type lv_preload_dir_t = u8; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_preload_ext_t { - pub arc: lv_arc_ext_t, - pub arc_length: lv_anim_value_t, - pub time: u16, - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, - pub __bindgen_padding_0: u8, -} -impl lv_preload_ext_t { - #[inline] - pub fn anim_type(&self) -> lv_preload_type_t { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 2u8) as u8) } - } - #[inline] - pub fn set_anim_type(&mut self, val: lv_preload_type_t) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 2u8, val as u64) - } - } - #[inline] - pub fn anim_dir(&self) -> lv_preload_dir_t { - unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u8) } - } - #[inline] - pub fn set_anim_dir(&mut self, val: lv_preload_dir_t) { - unsafe { - let val: u8 = ::core::mem::transmute(val); - self._bitfield_1.set(2usize, 1u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1( - anim_type: lv_preload_type_t, - anim_dir: lv_preload_dir_t, - ) -> __BindgenBitfieldUnit<[u8; 1usize], u8> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 2u8, { - let anim_type: u8 = unsafe { ::core::mem::transmute(anim_type) }; - anim_type as u64 - }); - __bindgen_bitfield_unit.set(2usize, 1u8, { - let anim_dir: u8 = unsafe { ::core::mem::transmute(anim_dir) }; - anim_dir as u64 - }); - __bindgen_bitfield_unit - } -} -pub const LV_PRELOAD_STYLE_MAIN: _bindgen_ty_73 = 0; -pub type _bindgen_ty_73 = u32; -pub type lv_preload_style_t = u8; -extern "C" { - #[doc = " Create a pre loader objects"] - #[doc = " @param par pointer to an object, it will be the parent of the new pre loader"] - #[doc = " @param copy pointer to a pre loader object, if not NULL then the new object will be copied from"] - #[doc = " it"] - #[doc = " @return pointer to the created pre loader"] - pub fn lv_preload_create(par: *mut lv_obj_t, copy: *const lv_obj_t) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Set the length of the spinning arc in degrees"] - #[doc = " @param preload pointer to a preload object"] - #[doc = " @param deg length of the arc"] - pub fn lv_preload_set_arc_length(preload: *mut lv_obj_t, deg: lv_anim_value_t); -} -extern "C" { - #[doc = " Set the spin time of the arc"] - #[doc = " @param preload pointer to a preload object"] - #[doc = " @param time time of one round in milliseconds"] - pub fn lv_preload_set_spin_time(preload: *mut lv_obj_t, time: u16); -} -extern "C" { - #[doc = " Set a style of a pre loader."] - #[doc = " @param preload pointer to pre loader object"] - #[doc = " @param type which style should be set"] - #[doc = " @param style pointer to a style"] - pub fn lv_preload_set_style( - preload: *mut lv_obj_t, - type_: lv_preload_style_t, - style: *const lv_style_t, - ); -} -extern "C" { - #[doc = " Set the animation type of a preloader."] - #[doc = " @param preload pointer to pre loader object"] - #[doc = " @param type animation type of the preload"] - pub fn lv_preload_set_type(preload: *mut lv_obj_t, type_: lv_preload_type_t); -} -extern "C" { - #[doc = " Set the animation direction of a preloader"] - #[doc = " @param preload pointer to pre loader object"] - #[doc = " @param direction animation direction of the preload"] - pub fn lv_preload_set_dir(preload: *mut lv_obj_t, dir: lv_preload_dir_t); -} -extern "C" { - #[doc = " Get the arc length [degree] of the a pre loader"] - #[doc = " @param preload pointer to a pre loader object"] - pub fn lv_preload_get_arc_length(preload: *const lv_obj_t) -> lv_anim_value_t; -} -extern "C" { - #[doc = " Get the spin time of the arc"] - #[doc = " @param preload pointer to a pre loader object [milliseconds]"] - pub fn lv_preload_get_spin_time(preload: *const lv_obj_t) -> u16; -} -extern "C" { - #[doc = " Get style of a pre loader."] - #[doc = " @param preload pointer to pre loader object"] - #[doc = " @param type which style should be get"] - #[doc = " @return style pointer to the style"] - pub fn lv_preload_get_style( - preload: *const lv_obj_t, - type_: lv_preload_style_t, - ) -> *const lv_style_t; -} -extern "C" { - #[doc = " Get the animation type of a preloader."] - #[doc = " @param preload pointer to pre loader object"] - #[doc = " @return animation type"] - pub fn lv_preload_get_type(preload: *mut lv_obj_t) -> lv_preload_type_t; -} -extern "C" { - #[doc = " Get the animation direction of a preloader"] - #[doc = " @param preload pointer to pre loader object"] - #[doc = " @return animation direction"] - pub fn lv_preload_get_dir(preload: *mut lv_obj_t) -> lv_preload_dir_t; -} -extern "C" { - #[doc = " Animator function (exec_cb) to rotate the arc of spinner."] - #[doc = " @param ptr pointer to preloader"] - #[doc = " @param val the current desired value [0..360]"] - pub fn lv_preload_spinner_anim(ptr: *mut cty::c_void, val: lv_anim_value_t); -} -#[doc = " Represents a date on the calendar object (platform-agnostic)."] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_calendar_date_t { - pub year: u16, - pub month: i8, - pub day: i8, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_calendar_ext_t { - pub today: lv_calendar_date_t, - pub showed_date: lv_calendar_date_t, - pub highlighted_dates: *mut lv_calendar_date_t, - pub btn_pressing: i8, - pub highlighted_dates_num: u16, - pub pressed_date: lv_calendar_date_t, - pub day_names: *mut *const cty::c_char, - pub month_names: *mut *const cty::c_char, - pub style_header: *const lv_style_t, - pub style_header_pr: *const lv_style_t, - pub style_day_names: *const lv_style_t, - pub style_highlighted_days: *const lv_style_t, - pub style_inactive_days: *const lv_style_t, - pub style_week_box: *const lv_style_t, - pub style_today_box: *const lv_style_t, -} -#[doc = "< Background and \"normal\" date numbers style"] -pub const LV_CALENDAR_STYLE_BG: _bindgen_ty_74 = 0; -pub const LV_CALENDAR_STYLE_HEADER: _bindgen_ty_74 = 1; -#[doc = " Calendar header style"] -pub const LV_CALENDAR_STYLE_HEADER_PR: _bindgen_ty_74 = 2; -#[doc = " Calendar header style (when pressed)"] -pub const LV_CALENDAR_STYLE_DAY_NAMES: _bindgen_ty_74 = 3; -#[doc = " Day name style"] -pub const LV_CALENDAR_STYLE_HIGHLIGHTED_DAYS: _bindgen_ty_74 = 4; -#[doc = " Highlighted day style"] -pub const LV_CALENDAR_STYLE_INACTIVE_DAYS: _bindgen_ty_74 = 5; -#[doc = " Inactive day style"] -pub const LV_CALENDAR_STYLE_WEEK_BOX: _bindgen_ty_74 = 6; -#[doc = " Week highlight style"] -pub const LV_CALENDAR_STYLE_TODAY_BOX: _bindgen_ty_74 = 7; -#[doc = " Calendar styles"] -pub type _bindgen_ty_74 = u32; -pub type lv_calendar_style_t = u8; -extern "C" { - #[doc = " Create a calendar objects"] - #[doc = " @param par pointer to an object, it will be the parent of the new calendar"] - #[doc = " @param copy pointer to a calendar object, if not NULL then the new object will be copied from it"] - #[doc = " @return pointer to the created calendar"] - pub fn lv_calendar_create(par: *mut lv_obj_t, copy: *const lv_obj_t) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Set the today's date"] - #[doc = " @param calendar pointer to a calendar object"] - #[doc = " @param today pointer to an `lv_calendar_date_t` variable containing the date of today. The value"] - #[doc = " will be saved it can be local variable too."] - pub fn lv_calendar_set_today_date(calendar: *mut lv_obj_t, today: *mut lv_calendar_date_t); -} -extern "C" { - #[doc = " Set the currently showed"] - #[doc = " @param calendar pointer to a calendar object"] - #[doc = " @param showed pointer to an `lv_calendar_date_t` variable containing the date to show. The value"] - #[doc = " will be saved it can be local variable too."] - pub fn lv_calendar_set_showed_date(calendar: *mut lv_obj_t, showed: *mut lv_calendar_date_t); -} -extern "C" { - #[doc = " Set the the highlighted dates"] - #[doc = " @param calendar pointer to a calendar object"] - #[doc = " @param highlighted pointer to an `lv_calendar_date_t` array containing the dates. ONLY A POINTER"] - #[doc = " WILL BE SAVED! CAN'T BE LOCAL ARRAY."] - #[doc = " @param date_num number of dates in the array"] - pub fn lv_calendar_set_highlighted_dates( - calendar: *mut lv_obj_t, - highlighted: *mut lv_calendar_date_t, - date_num: u16, - ); -} -extern "C" { - #[doc = " Set the name of the days"] - #[doc = " @param calendar pointer to a calendar object"] - #[doc = " @param day_names pointer to an array with the names. E.g. `const char * days[7] = {\"Sun\", \"Mon\","] - #[doc = " ...}` Only the pointer will be saved so this variable can't be local which will be destroyed"] - #[doc = " later."] - pub fn lv_calendar_set_day_names(calendar: *mut lv_obj_t, day_names: *mut *const cty::c_char); -} -extern "C" { - #[doc = " Set the name of the month"] - #[doc = " @param calendar pointer to a calendar object"] - #[doc = " @param month_names pointer to an array with the names. E.g. `const char * days[12] = {\"Jan\", \"Feb\","] - #[doc = " ...}` Only the pointer will be saved so this variable can't be local which will be destroyed"] - #[doc = " later."] - pub fn lv_calendar_set_month_names( - calendar: *mut lv_obj_t, - month_names: *mut *const cty::c_char, - ); -} -extern "C" { - #[doc = " Set a style of a calendar."] - #[doc = " @param calendar pointer to calendar object"] - #[doc = " @param type which style should be set"] - #[doc = " @param style pointer to a style"] - pub fn lv_calendar_set_style( - calendar: *mut lv_obj_t, - type_: lv_calendar_style_t, - style: *const lv_style_t, - ); -} -extern "C" { - #[doc = " Get the today's date"] - #[doc = " @param calendar pointer to a calendar object"] - #[doc = " @return return pointer to an `lv_calendar_date_t` variable containing the date of today."] - pub fn lv_calendar_get_today_date(calendar: *const lv_obj_t) -> *mut lv_calendar_date_t; -} -extern "C" { - #[doc = " Get the currently showed"] - #[doc = " @param calendar pointer to a calendar object"] - #[doc = " @return pointer to an `lv_calendar_date_t` variable containing the date is being shown."] - pub fn lv_calendar_get_showed_date(calendar: *const lv_obj_t) -> *mut lv_calendar_date_t; -} -extern "C" { - #[doc = " Get the the pressed date."] - #[doc = " @param calendar pointer to a calendar object"] - #[doc = " @return pointer to an `lv_calendar_date_t` variable containing the pressed date."] - #[doc = " `NULL` if not date pressed (e.g. the header)"] - pub fn lv_calendar_get_pressed_date(calendar: *const lv_obj_t) -> *mut lv_calendar_date_t; -} -extern "C" { - #[doc = " Get the the highlighted dates"] - #[doc = " @param calendar pointer to a calendar object"] - #[doc = " @return pointer to an `lv_calendar_date_t` array containing the dates."] - pub fn lv_calendar_get_highlighted_dates(calendar: *const lv_obj_t) -> *mut lv_calendar_date_t; -} -extern "C" { - #[doc = " Get the number of the highlighted dates"] - #[doc = " @param calendar pointer to a calendar object"] - #[doc = " @return number of highlighted days"] - pub fn lv_calendar_get_highlighted_dates_num(calendar: *const lv_obj_t) -> u16; -} -extern "C" { - #[doc = " Get the name of the days"] - #[doc = " @param calendar pointer to a calendar object"] - #[doc = " @return pointer to the array of day names"] - pub fn lv_calendar_get_day_names(calendar: *const lv_obj_t) -> *mut *const cty::c_char; -} -extern "C" { - #[doc = " Get the name of the month"] - #[doc = " @param calendar pointer to a calendar object"] - #[doc = " @return pointer to the array of month names"] - pub fn lv_calendar_get_month_names(calendar: *const lv_obj_t) -> *mut *const cty::c_char; -} -extern "C" { - #[doc = " Get style of a calendar."] - #[doc = " @param calendar pointer to calendar object"] - #[doc = " @param type which style should be get"] - #[doc = " @return style pointer to the style"] - pub fn lv_calendar_get_style( - calendar: *const lv_obj_t, - type_: lv_calendar_style_t, - ) -> *const lv_style_t; -} -#[doc = " TYPEDEFS"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_spinbox_ext_t { - pub ta: lv_ta_ext_t, - pub value: i32, - pub range_max: i32, - pub range_min: i32, - pub step: i32, - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize], u8>, - pub __bindgen_padding_0: u16, -} -impl lv_spinbox_ext_t { - #[inline] - pub fn digit_count(&self) -> u16 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u16) } - } - #[inline] - pub fn set_digit_count(&mut self, val: u16) { - unsafe { - let val: u16 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 4u8, val as u64) - } - } - #[inline] - pub fn dec_point_pos(&self) -> u16 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 4u8) as u16) } - } - #[inline] - pub fn set_dec_point_pos(&mut self, val: u16) { - unsafe { - let val: u16 = ::core::mem::transmute(val); - self._bitfield_1.set(4usize, 4u8, val as u64) - } - } - #[inline] - pub fn digit_padding_left(&self) -> u16 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 4u8) as u16) } - } - #[inline] - pub fn set_digit_padding_left(&mut self, val: u16) { - unsafe { - let val: u16 = ::core::mem::transmute(val); - self._bitfield_1.set(8usize, 4u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1( - digit_count: u16, - dec_point_pos: u16, - digit_padding_left: u16, - ) -> __BindgenBitfieldUnit<[u8; 2usize], u8> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize], u8> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 4u8, { - let digit_count: u16 = unsafe { ::core::mem::transmute(digit_count) }; - digit_count as u64 - }); - __bindgen_bitfield_unit.set(4usize, 4u8, { - let dec_point_pos: u16 = unsafe { ::core::mem::transmute(dec_point_pos) }; - dec_point_pos as u64 - }); - __bindgen_bitfield_unit.set(8usize, 4u8, { - let digit_padding_left: u16 = unsafe { ::core::mem::transmute(digit_padding_left) }; - digit_padding_left as u64 - }); - __bindgen_bitfield_unit - } -} -pub const LV_SPINBOX_STYLE_BG: _bindgen_ty_75 = 0; -pub const LV_SPINBOX_STYLE_SB: _bindgen_ty_75 = 1; -pub const LV_SPINBOX_STYLE_CURSOR: _bindgen_ty_75 = 2; -pub type _bindgen_ty_75 = u32; -pub type lv_spinbox_style_t = u8; -extern "C" { - #[doc = " Create a spinbox objects"] - #[doc = " @param par pointer to an object, it will be the parent of the new spinbox"] - #[doc = " @param copy pointer to a spinbox object, if not NULL then the new object will be copied from it"] - #[doc = " @return pointer to the created spinbox"] - pub fn lv_spinbox_create(par: *mut lv_obj_t, copy: *const lv_obj_t) -> *mut lv_obj_t; -} -extern "C" { - #[doc = " Set spinbox value"] - #[doc = " @param spinbox pointer to spinbox"] - #[doc = " @param i value to be set"] - pub fn lv_spinbox_set_value(spinbox: *mut lv_obj_t, i: i32); -} -extern "C" { - #[doc = " Set spinbox digit format (digit count and decimal format)"] - #[doc = " @param spinbox pointer to spinbox"] - #[doc = " @param digit_count number of digit excluding the decimal separator and the sign"] - #[doc = " @param separator_position number of digit before the decimal point. If 0, decimal point is not"] - #[doc = " shown"] - pub fn lv_spinbox_set_digit_format( - spinbox: *mut lv_obj_t, - digit_count: u8, - separator_position: u8, - ); -} -extern "C" { - #[doc = " Set spinbox step"] - #[doc = " @param spinbox pointer to spinbox"] - #[doc = " @param step steps on increment/decrement"] - pub fn lv_spinbox_set_step(spinbox: *mut lv_obj_t, step: u32); -} -extern "C" { - #[doc = " Set spinbox value range"] - #[doc = " @param spinbox pointer to spinbox"] - #[doc = " @param range_min maximum value, inclusive"] - #[doc = " @param range_max minimum value, inclusive"] - pub fn lv_spinbox_set_range(spinbox: *mut lv_obj_t, range_min: i32, range_max: i32); -} -extern "C" { - #[doc = " Set spinbox left padding in digits count (added between sign and first digit)"] - #[doc = " @param spinbox pointer to spinbox"] - #[doc = " @param cb Callback function called on value change event"] - pub fn lv_spinbox_set_padding_left(spinbox: *mut lv_obj_t, padding: u8); -} -extern "C" { - #[doc = " Get the spinbox numeral value (user has to convert to float according to its digit format)"] - #[doc = " @param spinbox pointer to spinbox"] - #[doc = " @return value integer value of the spinbox"] - pub fn lv_spinbox_get_value(spinbox: *mut lv_obj_t) -> i32; -} -extern "C" { - #[doc = " Select next lower digit for edition by dividing the step by 10"] - #[doc = " @param spinbox pointer to spinbox"] - pub fn lv_spinbox_step_next(spinbox: *mut lv_obj_t); -} -extern "C" { - #[doc = " Select next higher digit for edition by multiplying the step by 10"] - #[doc = " @param spinbox pointer to spinbox"] - pub fn lv_spinbox_step_prev(spinbox: *mut lv_obj_t); -} -extern "C" { - #[doc = " Increment spinbox value by one step"] - #[doc = " @param spinbox pointer to spinbox"] - pub fn lv_spinbox_increment(spinbox: *mut lv_obj_t); -} -extern "C" { - #[doc = " Decrement spinbox value by one step"] - #[doc = " @param spinbox pointer to spinbox"] - pub fn lv_spinbox_decrement(spinbox: *mut lv_obj_t); -} -#[doc = " When loading images from the network it can take a long time to download and decode the image."] -#[doc = ""] -#[doc = " To avoid repeating this heavy load images can be cached."] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lv_img_cache_entry_t { - #[doc = "< Image information"] - pub dec_dsc: lv_img_decoder_dsc_t, - #[doc = " Count the cache entries's life. Add `time_tio_open` to `life` when the entry is used."] - #[doc = " Decrement all lifes by one every in every ::lv_img_cache_open."] - #[doc = " If life == 0 the entry can be reused"] - pub life: i32, -} -extern "C" { - #[doc = " Open an image using the image decoder interface and cache it."] - #[doc = " The image will be left open meaning if the image decoder open callback allocated memory then it will remain."] - #[doc = " The image is closed if a new image is opened and the new image takes its place in the cache."] - #[doc = " @param src source of the image. Path to file or pointer to an `lv_img_dsc_t` variable"] - #[doc = " @param style style of the image"] - #[doc = " @return pointer to the cache entry or NULL if can open the image"] - pub fn lv_img_cache_open( - src: *const cty::c_void, - style: *const lv_style_t, - ) -> *mut lv_img_cache_entry_t; -} -extern "C" { - #[doc = " Set the number of images to be cached."] - #[doc = " More cached images mean more opened image at same time which might mean more memory usage."] - #[doc = " E.g. if 20 PNG or JPG images are open in the RAM they consume memory while opened in the cache."] - #[doc = " @param new_entry_cnt number of image to cache"] - pub fn lv_img_cache_set_size(new_slot_num: u16); -} -extern "C" { - #[doc = " Invalidate an image source in the cache."] - #[doc = " Useful if the image source is updated therefore it needs to be cached again."] - #[doc = " @param src an image source path to a file or pointer to an `lv_img_dsc_t` variable."] - pub fn lv_img_cache_invalidate_src(src: *const cty::c_void); -} -extern "C" { - pub fn _LV_COLOR_MAKE(r: u8, g: u8, b: u8) -> lv_color_t; -} -extern "C" { - pub fn _LV_COLOR_GET_R(color: lv_color_t) -> u16; -} -extern "C" { - pub fn _LV_COLOR_GET_G(color: lv_color_t) -> u16; -} -extern "C" { - pub fn _LV_COLOR_GET_B(color: lv_color_t) -> u16; -} -extern "C" { - pub fn _LV_COLOR_GET_A(color: lv_color_t) -> u16; -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct __locale_data { - pub _address: u8, -} -pub type __builtin_va_list = __va_list; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct __va_list { - pub __ap: *mut cty::c_void, -} diff --git a/lvgl-sys/src/lib.rs b/lvgl-sys/src/lib.rs index 54684bb..d0a94ea 100644 --- a/lvgl-sys/src/lib.rs +++ b/lvgl-sys/src/lib.rs @@ -3,8 +3,7 @@ #![allow(non_camel_case_types)] #![allow(non_upper_case_globals)] -mod bindings; -pub use bindings::*; +include!(concat!(env!("OUT_DIR"), "/bindings.rs")); #[cfg(test)] mod tests {