#[repr(C)]
#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
pub struct __BindgenBitfieldUnit<Storage, Align> {
storage: Storage,
align: [Align; 0],
}
impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align> {
#[inline]
pub const fn new(storage: Storage) -> Self {
Self { storage, align: [] }
}
}
impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align>
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);
}
}
}
#[repr(C)]
#[derive(Default)]
pub struct __IncompleteArrayField<T>(::std::marker::PhantomData<T>, [T; 0]);
impl<T> __IncompleteArrayField<T> {
#[inline]
pub const fn new() -> Self {
__IncompleteArrayField(::std::marker::PhantomData, [])
}
#[inline]
pub fn as_ptr(&self) -> *const T {
self as *const _ as *const T
}
#[inline]
pub fn as_mut_ptr(&mut self) -> *mut T {
self as *mut _ as *mut T
}
#[inline]
pub unsafe fn as_slice(&self, len: usize) -> &[T] {
::std::slice::from_raw_parts(self.as_ptr(), len)
}
#[inline]
pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] {
::std::slice::from_raw_parts_mut(self.as_mut_ptr(), len)
}
}
impl<T> ::std::fmt::Debug for __IncompleteArrayField<T> {
fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
fmt.write_str("__IncompleteArrayField")
}
}
pub const __GNUC_VA_LIST: u32 = 1;
pub const true_: u32 = 1;
pub const false_: u32 = 0;
pub const __bool_true_false_are_defined: u32 = 1;
pub const _VCRT_COMPILER_PREPROCESSOR: u32 = 1;
pub const _SAL_VERSION: u32 = 20;
pub const __SAL_H_VERSION: u32 = 180000000;
pub const _USE_DECLSPECS_FOR_SAL: u32 = 0;
pub const _USE_ATTRIBUTES_FOR_SAL: u32 = 0;
pub const _CRT_PACKING: u32 = 8;
pub const _HAS_EXCEPTIONS: u32 = 1;
pub const _STL_LANG: u32 = 0;
pub const _HAS_CXX17: u32 = 0;
pub const _HAS_CXX20: u32 = 0;
pub const _HAS_NODISCARD: u32 = 0;
pub const WCHAR_MIN: u32 = 0;
pub const WCHAR_MAX: u32 = 65535;
pub const WINT_MIN: u32 = 0;
pub const WINT_MAX: u32 = 65535;
pub const TM_ALLOCATOR_API_NAME: &'static [u8; 17usize] = b"tm_allocator_api\0";
pub const TM_API_REGISTRY_API_NAME: &'static [u8; 20usize] = b"tm_api_registry_api\0";
pub const TM_APPLICATION_API_NAME: &'static [u8; 19usize] = b"tm_application_api\0";
pub const TM_ASSET_DATABASE_API_NAME: &'static [u8; 22usize] = b"tm_asset_database_api\0";
pub const TM_ASSET_IO_API_NAME: &'static [u8; 16usize] = b"tm_asset_io_api\0";
pub const TM_BASE_64_API_NAME: &'static [u8; 15usize] = b"tm_base_64_api\0";
pub const TM_BUDDY_ALLOCATOR_RAW_API_NAME: &'static [u8; 27usize] = b"tm_buddy_allocator_raw_api\0";
pub const TM_BUDDY_ALLOCATOR_API_NAME: &'static [u8; 23usize] = b"tm_buddy_allocator_api\0";
pub const TM_BUFFERS_API_NAME: &'static [u8; 15usize] = b"tm_buffers_api\0";
pub const TM_BUFFER_FORMAT_API_NAME: &'static [u8; 21usize] = b"tm_buffer_format_api\0";
pub const TM_CAMERA_API_NAME: &'static [u8; 14usize] = b"tm_camera_api\0";
pub const TM_COLLABORATION_API_NAME: &'static [u8; 21usize] = b"tm_collaboration_api\0";
pub const TM_COLLABORATION_P2P_API_NAME: &'static [u8; 25usize] = b"tm_collaboration_p2p_api\0";
pub const TM_CONFIG_API_NAME: &'static [u8; 14usize] = b"tm_config_api\0";
pub const TM_CORE_ASSET_INTERFACE_NAME: &'static [u8; 16usize] = b"tm_core_asset_i\0";
pub const TM_CORE_API_NAME: &'static [u8; 12usize] = b"tm_core_api\0";
pub const TM_CORE_IMPORTER_API_NAME: &'static [u8; 21usize] = b"tm_core_importer_api\0";
pub const TM_CRASH_RECOVERY_API_NAME: &'static [u8; 22usize] = b"tm_crash_recovery_api\0";
pub const TM_ERROR_API_NAME: &'static [u8; 13usize] = b"tm_error_api\0";
pub const TM_FEATURE_FLAGS_API_NAME: &'static [u8; 17usize] = b"tm_feature_flags\0";
pub const TM_GIT_IGNORE_API_NAME: &'static [u8; 18usize] = b"tm_git_ignore_api\0";
pub const TM_IMAGE_LOADER_API_NAME: &'static [u8; 20usize] = b"tm_image_loader_api\0";
pub const TM_INPUT_API_NAME: &'static [u8; 13usize] = b"tm_input_api\0";
pub const TM_INTEGRATION_TEST_INTERFACE_NAME: &'static [u8; 22usize] = b"tm_integration_test_i\0";
pub const TM_JOB_SYSTEM_API_NAME: &'static [u8; 18usize] = b"tm_job_system_api\0";
pub const TM_JSON_ERROR_STRING_LENGTH: u32 = 79;
pub const TM_JSON_API_NAME: &'static [u8; 12usize] = b"tm_json_api\0";
pub const TM_LOCALIZER_STRINGS_INTERFACE_NAME: &'static [u8; 23usize] = b"tm_localizer_strings_i\0";
pub const TM_LOCALIZER_API_NAME: &'static [u8; 17usize] = b"tm_localizer_api\0";
pub const TM_LOGGER_API_NAME: &'static [u8; 14usize] = b"tm_logger_api\0";
pub const TM_LZ4_API_NAME: &'static [u8; 11usize] = b"tm_lz4_api\0";
pub const TM_MATH_API_NAME: &'static [u8; 12usize] = b"tm_math_api\0";
pub const TM_MEMORY_TRACKER_SCOPE__NONE: u32 = 4294967295;
pub const TM_MEMORY_TRACKER_API_NAME: &'static [u8; 22usize] = b"tm_memory_tracker_api\0";
pub const TM_OS_API_NAME: &'static [u8; 10usize] = b"tm_os_api\0";
pub const TM_DIRECTORY_SEPARATOR: u8 = 47u8;
pub const TM_PATH_API_NAME: &'static [u8; 12usize] = b"tm_path_api\0";
pub const TM_PLUGINS_API_NAME: &'static [u8; 15usize] = b"tm_plugins_api\0";
pub const TM_PLUGIN_INIT_INTERFACE_NAME: &'static [u8; 17usize] = b"tm_plugin_init_i\0";
pub const TM_PLUGIN_SHUTDOWN_INTERFACE_NAME: &'static [u8; 21usize] = b"tm_plugin_shutdown_i\0";
pub const TM_PLUGIN_TICK_INTERFACE_NAME: &'static [u8; 17usize] = b"tm_plugin_tick_i\0";
pub const TM_PLUGIN_SET_THE_TRUTH_INTERFACE_NAME: &'static [u8; 26usize] =
b"tm_plugin_set_the_truth_i\0";
pub const TM_PROFILER_API_NAME: &'static [u8; 16usize] = b"tm_profiler_api\0";
pub const TM_PROGRESS_REPORT_API_NAME: &'static [u8; 23usize] = b"tm_progress_report_api\0";
pub const TM_RANDOM_API_NAME: &'static [u8; 14usize] = b"tm_random_api\0";
pub const TM_RUNTIME_DATA_REPOSITORY_API_NAME: &'static [u8; 31usize] =
b"tm_runtime_data_repository_api\0";
pub const SHA1_DIGEST_SIZE: u32 = 20;
pub const TM_STRING_REPOSITORY_API_NAME: &'static [u8; 25usize] = b"tm_string_repository_api\0";
pub const TM_TASK_SYSTEM_API_NAME: &'static [u8; 19usize] = b"tm_task_system_api\0";
pub const TM_TEMP_ALLOCATOR_API_NAME: &'static [u8; 22usize] = b"tm_temp_allocator_api\0";
pub const TM_THE_TRUTH_PROPERTY_NAME_LENGTH: u32 = 63;
pub const TM_THE_TRUTH_CREATE_TYPES_INTERFACE_NAME: &'static [u8; 28usize] =
b"tm_the_truth_create_types_i\0";
pub const TM_THE_TRUTH_API_NAME: &'static [u8; 17usize] = b"tm_the_truth_api\0";
pub const TM_TT_TYPE__ASSET_ROOT: &'static [u8; 14usize] = b"tm_asset_root\0";
pub const TM_TT_TYPE__ASSET: &'static [u8; 9usize] = b"tm_asset\0";
pub const TM_TT_TYPE__ASSET_DIRECTORY: &'static [u8; 19usize] = b"tm_asset_directory\0";
pub const TM_TT_TYPE__ASSET_TAG: &'static [u8; 13usize] = b"tm_asset_tag\0";
pub const TM_ASSET_TAG_INTERFACE_NAME: &'static [u8; 23usize] = b"tm_asset_tag_interface\0";
pub const TM_THE_TRUTH_ASSETS_API_NAME: &'static [u8; 24usize] = b"tm_the_truth_assets_api\0";
pub const TM_THE_TRUTH_MIGRATION_INTERFACE_NAME: &'static [u8; 25usize] =
b"tm_the_truth_migration_i\0";
pub const TM_THE_TRUTH_MIGRATION_API_NAME: &'static [u8; 27usize] = b"tm_the_truth_migration_api\0";
pub const TM_TT_TYPE__BOOL: &'static [u8; 8usize] = b"tm_bool\0";
pub const TM_TT_TYPE__UINT32_T: &'static [u8; 12usize] = b"tm_uint32_t\0";
pub const TM_TT_TYPE__UINT64_T: &'static [u8; 12usize] = b"tm_uint64_t\0";
pub const TM_TT_TYPE__FLOAT: &'static [u8; 9usize] = b"tm_float\0";
pub const TM_TT_TYPE__DOUBLE: &'static [u8; 10usize] = b"tm_double\0";
pub const TM_TT_TYPE__STRING: &'static [u8; 10usize] = b"tm_string\0";
pub const TM_TT_TYPE__VEC2: &'static [u8; 10usize] = b"tm_vec2_t\0";
pub const TM_TT_TYPE__VEC3: &'static [u8; 10usize] = b"tm_vec3_t\0";
pub const TM_TT_TYPE__VEC4: &'static [u8; 10usize] = b"tm_vec4_t\0";
pub const TM_TT_TYPE__POSITION: &'static [u8; 12usize] = b"tm_position\0";
pub const TM_TT_TYPE__ROTATION: &'static [u8; 12usize] = b"tm_rotation\0";
pub const TM_TT_TYPE__SCALE: &'static [u8; 9usize] = b"tm_scale\0";
pub const TM_TT_TYPE__COLOR_RGB: &'static [u8; 13usize] = b"tm_color_rgb\0";
pub const TM_TT_TYPE__COLOR_RGBA: &'static [u8; 14usize] = b"tm_color_rgba\0";
pub const TM_TT_TYPE__RECT: &'static [u8; 10usize] = b"tm_rect_t\0";
pub const TM_THE_TRUTH_COMMON_TYPES_API_NAME: &'static [u8; 30usize] =
b"tm_the_truth_common_types_api\0";
pub const TM_UNICODE_API_NAME: &'static [u8; 15usize] = b"tm_unicode_api\0";
pub const tm_unicode__dotted_cross: &'static [u8; 4usize] = b"\xE2\x81\x9C\0";
pub const tm_unicode__rightwards_arrow: &'static [u8; 4usize] = b"\xE2\x86\x92\0";
pub const tm_unicode__empty_set: &'static [u8; 4usize] = b"\xE2\x88\x85\0";
pub const tm_unicode__black_down_pointing_triangle: &'static [u8; 4usize] = b"\xE2\x96\xBC\0";
pub const tm_unicode__black_up_pointing_triangle: &'static [u8; 4usize] = b"\xE2\x96\xB2\0";
pub const tm_unicode__black_right_pointing_triangle: &'static [u8; 4usize] = b"\xE2\x96\xB6\0";
pub const tm_unicode__black_left_pointing_triangle: &'static [u8; 4usize] = b"\xE2\x97\x80\0";
pub const tm_unicode__die_face_1: &'static [u8; 4usize] = b"\xE2\x9A\x80\0";
pub const tm_unicode__neuter: &'static [u8; 4usize] = b"\xE2\x9A\xB2\0";
pub const tm_unicode__check_mark: &'static [u8; 4usize] = b"\xE2\x9C\x93\0";
pub const tm_unicode__multiplication_x: &'static [u8; 4usize] = b"\xE2\x9C\x95\0";
pub const tm_unicode__heavy_multiplication_x: &'static [u8; 4usize] = b"\xE2\x9C\x96\0";
pub const tm_unicode__earth: &'static [u8; 5usize] = b"\xF0\x9F\x8C\x8F\0";
pub const tm_unicode__house: &'static [u8; 5usize] = b"\xF0\x9F\x8F\xA0\0";
pub const tm_unicode__original_of: &'static [u8; 4usize] = b"\xE2\x8A\xB6\0";
pub const tm_unicode__image_of: &'static [u8; 4usize] = b"\xE2\x8A\xB7\0";
pub const tm_unicode__circle_dot_operator: &'static [u8; 4usize] = b"\xE2\x8A\x99\0";
pub const tm_unicode__triangular_ruler: &'static [u8; 5usize] = b"\xF0\x9F\x93\x90\0";
pub const tm_unicode__straight_ruler: &'static [u8; 5usize] = b"\xF0\x9F\x93\x8F\0";
pub const tm_unicode__maximize: &'static [u8; 5usize] = b"\xF0\x9F\x97\x96\0";
pub const tm_unicode__overlap: &'static [u8; 5usize] = b"\xF0\x9F\x97\x97\0";
pub const tm_unicode__plus_minus: &'static [u8; 3usize] = b"\xC2\xB1\0";
pub const tm_unicode__camera: &'static [u8; 5usize] = b"\xF0\x9F\x93\xB7\0";
pub const tm_unicode__electric_light_blub: &'static [u8; 5usize] = b"\xF0\x9F\x92\xA1\0";
pub const tm_unicode__horizontal_ellipsis: &'static [u8; 4usize] = b"\xE2\x80\xA6\0";
pub const tm_unicode__heavy_plus_sign: &'static [u8; 4usize] = b"\xE2\x9E\x95\0";
pub const tm_unicode__rightwards_arrow_to_bar: &'static [u8; 4usize] = b"\xE2\x87\xA5\0";
pub const tm_unicode__right_angle_with_arc: &'static [u8; 4usize] = b"\xE2\x8A\xBE\0";
pub const tm_unicode__refresh: &'static [u8; 5usize] = b"\xF0\x9F\x97\x98\0";
pub const tm_unicode__wrench_hammer: &'static [u8; 5usize] = b"\xF0\x9F\x9B\xA0\0";
pub const tm_unicode__wrench: &'static [u8; 5usize] = b"\xF0\x9F\x94\xA7\0";
pub const tm_unicode__zzz: &'static [u8; 5usize] = b"\xF0\x9F\x92\xA4\0";
pub const tm_unicode__magnifying_glass_left: &'static [u8; 5usize] = b"\xF0\x9F\x94\x8D\0";
pub const tm_unicode__eye: &'static [u8; 5usize] = b"\xF0\x9F\x91\x81\0";
pub const tm_unicode__gear: &'static [u8; 4usize] = b"\xE2\x9A\x99\0";
pub const tm_unicode__copyright: &'static [u8; 3usize] = b"\xC2\xA9\0";
pub const tm_unicode__leftwards_heavy_arrow: &'static [u8; 5usize] = b"\xF0\x9F\xA1\x84\0";
pub const tm_unicode__rightwards_heavy_arrow: &'static [u8; 5usize] = b"\xF0\x9F\xA1\x86\0";
pub const TM_UNIT_TEST_INTERFACE_NAME: &'static [u8; 15usize] = b"tm_unit_test_i\0";
pub const TM_VISIBILITY_FLAGS_EDITOR_INTERFACE_NAME: &'static [u8; 28usize] =
b"tm_visibility_editor_name_i\0";
pub const TM_VISIBILITY_FLAGS_CONTEXT_INTERFACE_NAME: &'static [u8; 24usize] =
b"tm_visibility_context_o\0";
pub const TM_VISIBILITY_FLAGS_API_NAME: &'static [u8; 24usize] = b"tm_visibility_flags_api\0";
pub const TM_TT_TYPE__VISIBILITY_FLAG: &'static [u8; 19usize] = b"tm_visibility_flag\0";
pub const TM_WEB_SOCKET_PROTOCOL_API_NAME: &'static [u8; 27usize] = b"tm_web_socket_protocol_api\0";
pub const TM_WEB_TALKER_API_NAME: &'static [u8; 18usize] = b"tm_web_talker_api\0";
pub const TM_ANALYTICS_API_NAME: &'static [u8; 17usize] = b"tm_analytics_api\0";
pub const TM_ANIMATION_BLENDER_API_NAME: &'static [u8; 25usize] = b"tm_animation_blender_api\0";
pub const TM_TT_TYPE__ANIMATION_CLIP: &'static [u8; 18usize] = b"tm_animation_clip\0";
pub const TM_ANIMATION_PLAYER_API_NAME: &'static [u8; 24usize] = b"tm_animation_player_api\0";
pub const TM_TT_TYPE__ANIMATION_SIMPLE_PLAYER_COMPONENT: &'static [u8; 37usize] =
b"tm_animation_simple_player_component\0";
pub const TM_ANIMATION_SIMPLE_PLAYER_COMPONENT_API_NAME: &'static [u8; 41usize] =
b"tm_animation_simple_player_component_api\0";
pub const TM_TT_TYPE__ASM_REGULAR_STATE: &'static [u8; 21usize] = b"tm_asm_regular_state\0";
pub const TM_TT_TYPE__ASM_RANDOM_STATE: &'static [u8; 20usize] = b"tm_asm_random_state\0";
pub const TM_TT_TYPE__ASM_RANDOM_STATE_ANIMATION: &'static [u8; 30usize] =
b"tm_asm_random_state_animation\0";
pub const TM_TT_TYPE__ASM_BLEND_STATE: &'static [u8; 19usize] = b"tm_asm_blend_state\0";
pub const TM_TT_TYPE__ASM_BLEND_STATE_ANIMATION: &'static [u8; 29usize] =
b"tm_asm_blend_state_animation\0";
pub const TM_TT_TYPE__ASM_EMPTY_STATE: &'static [u8; 19usize] = b"tm_asm_empty_state\0";
pub const TM_TT_TYPE__ASM_REGULAR_TRANSITION: &'static [u8; 26usize] =
b"tm_asm_regular_transition\0";
pub const TM_TT_TYPE__ASM_LAYER: &'static [u8; 14usize] = b"tm_asm_layer \0";
pub const TM_TT_TYPE__ASM_EVENT: &'static [u8; 14usize] = b"tm_asm_event \0";
pub const TM_TT_TYPE__ASM_VARIABLE: &'static [u8; 17usize] = b"tm_asm_variable \0";
pub const TM_TT_TYPE__ASM_BLEND_SET_WEIGHT: &'static [u8; 24usize] = b"tm_asm_blend_set_weight\0";
pub const TM_TT_TYPE__ASM_BLEND_SET: &'static [u8; 17usize] = b"tm_asm_blend_set\0";
pub const TM_TT_TYPE__ASM_MOTION_MIXER: &'static [u8; 20usize] = b"tm_asm_motion_mixer\0";
pub const TM_TT_TYPE__ASM_MOTION_MIXER_SLIDER: &'static [u8; 27usize] =
b"tm_asm_motion_mixer_slider\0";
pub const TM_TT_TYPE__ASM_MOTION_MIXER_BUTTON: &'static [u8; 27usize] =
b"tm_asm_motion_mixer_button\0";
pub const TM_TT_TYPE__ASM_MOTION_MIXER_VARIABLE_KEY: &'static [u8; 33usize] =
b"tm_asm_motion_mixer_variable_key\0";
pub const TM_TT_TYPE__ASM_MOTION_MIXER_EVENT_KEY: &'static [u8; 30usize] =
b"tm_asm_motion_mixer_event_key\0";
pub const TM_TT_TYPE__ANIMATION_STATE_MACHINE: &'static [u8; 27usize] =
b"tm_animation_state_machine\0";
pub const TM_ANIMATION_STATE_MACHINE_API_NAME: &'static [u8; 31usize] =
b"tm_animation_state_machine_api\0";
pub const TM_TT_TYPE__ANIMATION_STATE_MACHINE_COMPONENT: &'static [u8; 37usize] =
b"tm_animation_state_machine_component\0";
pub const TM_ANIMATION_STATE_MACHINE_COMPONENT_API_NAME: &'static [u8; 41usize] =
b"tm_animation_state_machine_component_api\0";
pub const TM_BONE_TRANSLATION_API_NAME: &'static [u8; 24usize] = b"tm_bone_translation_api\0";
pub const TM_EXPRESSION_LANGUAGE_API_NAME: &'static [u8; 27usize] = b"tm_expression_language_api\0";
pub const TM_STATE_GRAPH_API_NAME: &'static [u8; 19usize] = b"tm_state_graph_api\0";
pub const TM_ASSIMP_API_NAME: &'static [u8; 14usize] = b"tm_assimp_api\0";
pub const TM_MIXER_API_NAME: &'static [u8; 13usize] = b"tm_mixer_api\0";
pub const TM_SOUND_BACKEND_API_NAME: &'static [u8; 21usize] = b"tm_sound_backend_api\0";
pub const TM_TT_TYPE__SOUND_SOURCE_COMPONENT: &'static [u8; 26usize] =
b"tm_sound_source_component\0";
pub const TM_TONE_GENERATOR_API_NAME: &'static [u8; 22usize] = b"tm_tone_generator_api\0";
pub const TM_TT_TYPE__WAV: &'static [u8; 7usize] = b"tm_wav\0";
pub const TM_WAV_API_NAME: &'static [u8; 11usize] = b"tm_wav_api\0";
pub const TM_CACHE_TAG_ALL: u32 = 4294967295;
pub const TM_CACHE_MANAGER_API_NAME: &'static [u8; 21usize] = b"tm_cache_manager_api\0";
pub const TM_COLLABORATION_DISCORD_API_NAME: &'static [u8; 29usize] =
b"tm_collaboration_discord_api\0";
pub const TM_CREATION_GRAPH_NODE_INTERFACE_NAME: &'static [u8; 33usize] =
b"tm_creation_graph_node_interface\0";
pub const TM_CREATION_GRAPH_IO_TYPE_INTERFACE_NAME: &'static [u8; 36usize] =
b"tm_creation_graph_io_type_interface\0";
pub const TM_CREATION_GRAPH_OUTPUT_NODE_TYPE_INTERFACE_NAME: &'static [u8; 45usize] =
b"tm_creation_graph_output_node_type_interface\0";
pub const TM_CREATION_GRAPH_COMPILE_DATA_TO_WIRE_INTERFACE_NAME: &'static [u8; 49usize] =
b"tm_creation_graph_compile_data_to_wire_interface\0";
pub const TM_TT_TYPE__CREATION_GRAPH: &'static [u8; 18usize] = b"tm_creation_graph\0";
pub const TM_TT_TYPE__CREATION_GRAPH__RESOURCE_REFERENCE: &'static [u8; 37usize] =
b"tm_creation_graph_resource_reference\0";
pub const TM_CREATION_GRAPH_API_NAME: &'static [u8; 22usize] = b"tm_creation_graph_api\0";
pub const TM_CREATION_GRAPH_INTERPRETER_API_NAME: &'static [u8; 34usize] =
b"tm_creation_graph_interpreter_api\0";
pub const TM_TT_TYPE__GRAPH: &'static [u8; 9usize] = b"tm_graph\0";
pub const TM_TT_TYPE__GRAPH_NODE: &'static [u8; 14usize] = b"tm_graph_node\0";
pub const TM_TT_TYPE__GRAPH_CONNECTION: &'static [u8; 20usize] = b"tm_graph_connection\0";
pub const TM_TT_TYPE__GRAPH_DATA: &'static [u8; 14usize] = b"tm_graph_data\0";
pub const TM_TT_TYPE__GRAPH_COMMENT: &'static [u8; 17usize] = b"tm_graph_comment\0";
pub const TM_TT_TYPE__GRAPH_INTERFACE: &'static [u8; 19usize] = b"tm_graph_interface\0";
pub const TM_TT_TYPE__GRAPH_INPUT: &'static [u8; 15usize] = b"tm_graph_input\0";
pub const TM_TT_TYPE__GRAPH_OUTPUT: &'static [u8; 16usize] = b"tm_graph_output\0";
pub const TM_TT_TYPE__GRAPH_CACHED_NODE_RESULT: &'static [u8; 28usize] =
b"tm_graph_cached_node_result\0";
pub const TM_TT_TYPE__GRAPH_SETTINGS: &'static [u8; 18usize] = b"tm_graph_settings\0";
pub const TM_GRAPH_DRAG_AND_DROP_INTERFACE_NAME: &'static [u8; 25usize] =
b"tm_graph_drag_and_drop_i\0";
pub const TM_GRAPH_API_NAME: &'static [u8; 13usize] = b"tm_graph_api\0";
pub const TM_TT_TYPE__IMAGE_MIPMAP_SETTINGS: &'static [u8; 19usize] = b"tm_mipmap_settings\0";
pub const TM_TT_TYPE__IMAGE_DESCRIPTION: &'static [u8; 21usize] = b"tm_image_description\0";
pub const TM_TT_TYPE__IMAGE_ARCHIVE: &'static [u8; 17usize] = b"tm_image_archive\0";
pub const TM_CREATION_GRAPH__IMAGE__OUTPUT_NODE: &'static [u8; 13usize] = b"image_output\0";
pub const TM_CREATION_GRAPH__SHADER_INSTANCE_OUTPUT: &'static [u8; 26usize] =
b"tm_shader_instance_output\0";
pub const TM_CREATION_GRAPH__BOUNDING_VOLUME: &'static [u8; 16usize] = b"bounding_volume\0";
pub const TM_CREATION_GRAPH__DRAW_CALL: &'static [u8; 9usize] = b"drawcall\0";
pub const TM_CRUNCH_API_NAME: &'static [u8; 14usize] = b"tm_crunch_api\0";
pub const TM_DCC_ASSET_API_NAME: &'static [u8; 17usize] = b"tm_dcc_asset_api\0";
pub const TM_TT_TYPE__DCC_ASSET_COMPONENT: &'static [u8; 23usize] = b"tm_dcc_asset_component\0";
pub const TM_DCC_ASSET_COMPONENT_API_NAME: &'static [u8; 27usize] = b"tm_dcc_asset_component_api\0";
pub const TM_TT_TYPE__DCC_ASSET_MESH__NODE_SETTINGS: &'static [u8; 32usize] =
b"tm_dcc_asset_mesh_node_settings\0";
pub const TM_TT_TYPE__DCC_ASSET_IMAGE__NODE_SETTINGS: &'static [u8; 33usize] =
b"tm_dcc_asset_image_node_settings\0";
pub const TM_TT_TYPE__DCC_ASSET_MATERIAL__NODE_SETTINGS: &'static [u8; 36usize] =
b"tm_dcc_asset_material_node_settings\0";
pub const TM_DCC_ASSET_CREATION_GRAPH_API_NAME: &'static [u8; 32usize] =
b"tm_dcc_asset_creation_graph_api\0";
pub const TM_DCC_ASSET_RENDERER_API_NAME: &'static [u8; 26usize] = b"tm_dcc_asset_renderer_api\0";
pub const TM_TT_TYPE__DCC_ASSET_POSITION: &'static [u8; 22usize] = b"tm_dcc_asset_position\0";
pub const TM_TT_TYPE__DCC_ASSET_ROTATION: &'static [u8; 22usize] = b"tm_dcc_asset_rotation\0";
pub const TM_TT_TYPE__DCC_ASSET_SCALE: &'static [u8; 19usize] = b"tm_dcc_asset_scale\0";
pub const TM_TT_TYPE__DCC_ASSET_COLOR_RGB: &'static [u8; 23usize] = b"tm_dcc_asset_color_rgb\0";
pub const TM_TT_TYPE__DCC_ASSET_COLOR_RGBA: &'static [u8; 24usize] = b"tm_dcc_asset_color_rgba\0";
pub const TM_TT_TYPE__DCC_ASSET_BUFFER: &'static [u8; 20usize] = b"tm_dcc_asset_buffer\0";
pub const TM_TT_TYPE__DCC_ASSET_CAMERA: &'static [u8; 20usize] = b"tm_dcc_asset_camera\0";
pub const TM_TT_TYPE__DCC_ASSET_LIGHT: &'static [u8; 19usize] = b"tm_dcc_asset_light\0";
pub const TM_TT_TYPE__DCC_ASSET_ACCESSOR: &'static [u8; 22usize] = b"tm_dcc_asset_accessor\0";
pub const TM_TT_TYPE__DCC_ASSET_ATTRIBUTE: &'static [u8; 23usize] = b"tm_dcc_asset_attribute\0";
pub const TM_TT_TYPE__DCC_ASSET_IMAGE: &'static [u8; 19usize] = b"tm_dcc_asset_image\0";
pub const TM_TT_TYPE__DCC_ASSET_TEXTURE: &'static [u8; 21usize] = b"tm_dcc_asset_texture\0";
pub const TM_TT_TYPE__DCC_ASSET_MATERIAL_PBR_MR: &'static [u8; 29usize] =
b"tm_dcc_asset_material_pbr_mr\0";
pub const TM_TT_TYPE__DCC_ASSET_MATERIAL_PBR_SG: &'static [u8; 29usize] =
b"tm_dcc_asset_material_pbr_sg\0";
pub const TM_TT_TYPE__DCC_ASSET_MATERIAL: &'static [u8; 22usize] = b"tm_dcc_asset_material\0";
pub const TM_TT_TYPE__DCC_ASSET_BONE: &'static [u8; 18usize] = b"tm_dcc_asset_bone\0";
pub const TM_TT_TYPE__DCC_ASSET_MESH: &'static [u8; 18usize] = b"tm_dcc_asset_mesh\0";
pub const TM_TT_TYPE__DCC_ASSET_NODE: &'static [u8; 18usize] = b"tm_dcc_asset_node\0";
pub const TM_TT_TYPE__DCC_ASSET_SCENE: &'static [u8; 19usize] = b"tm_dcc_asset_scene\0";
pub const TM_TT_TYPE__DCC_ASSET_NODE_ANIMATION: &'static [u8; 28usize] =
b"tm_dcc_asset_node_animation\0";
pub const TM_TT_TYPE__DCC_ASSET_ANIMATION: &'static [u8; 23usize] = b"tm_dcc_asset_animation\0";
pub const TM_TT_TYPE__DCC_ASSET_EXTRACTED_RESOURCE: &'static [u8; 32usize] =
b"tm_dcc_asset_extracted_resource\0";
pub const TM_TT_TYPE__DCC_ASSET_SETTINGS: &'static [u8; 22usize] = b"tm_dcc_asset_settings\0";
pub const TM_TT_TYPE__DCC_ASSET: &'static [u8; 13usize] = b"tm_dcc_asset\0";
pub const TM_TT_TYPE__ENTITY_RIGGER__COMPONENT: &'static [u8; 27usize] =
b"tm_entity_rigger_component\0";
pub const TM_ENTITY_RIGGER_COMPONENT_API_NAME: &'static [u8; 25usize] =
b"tm_entitiy_component_api\0";
pub const TM_TT_TYPE__DCC_IMPORT_SETTINGS: &'static [u8; 23usize] = b"tm_dcc_import_settings\0";
pub const TM_IMPORT_SETTINGS_API_NAME: &'static [u8; 23usize] = b"tm_import_settings_api\0";
pub const TM_DDS_IMAGE_LOADER_API_NAME: &'static [u8; 20usize] = b"tm_dds_image_loader\0";
pub const TM_TT_TYPE__BLOOM_COMPONENT: &'static [u8; 39usize] =
b"tm_default_render_pipe_bloom_component\0";
pub const TM_DEFAULT_RENDER_PIPE_API_NAME: &'static [u8; 27usize] = b"tm_default_render_pipe_api\0";
pub const TM_DEFAULT_RENDER_PIPELINE_NAME: &'static [u8; 27usize] = b"TM Default Render Pipeline\0";
pub const TM_TT_TYPE__EXPOSURE_COMPONENT: &'static [u8; 42usize] =
b"tm_default_render_pipe_exposure_component\0";
pub const TM_TT_TYPE__LIGHT_COMPONENT: &'static [u8; 39usize] =
b"tm_default_render_pipe_light_component\0";
pub const TM_VOLUME_COMPONENT_API_NAME: &'static [u8; 24usize] = b"tm_volume_component_api\0";
pub const TM_TT_TYPE__VOLUME_COMPONENT: &'static [u8; 40usize] =
b"tm_default_render_pipe_volume_component\0";
pub const TM_DXC_SHADER_COMPILER_API_NAME: &'static [u8; 27usize] = b"tm_dxc_shader_compiler_api\0";
pub const TM_TT_TYPE__ASSET_BROWSER: &'static [u8; 17usize] = b"tm_asset_browser\0";
pub const TM_ASSET_BROWSER_CREATE_ASSET_INTERFACE_NAME: &'static [u8; 32usize] =
b"tm_asset_browser_create_asset_i\0";
pub const TM_ASSET_BROWSER_OPEN_ASSET_API_NAME: &'static [u8; 32usize] =
b"tm_asset_browser_open_asset_api\0";
pub const TM_ASSET_BROWSER_ADD_ASSET_API_NAME: &'static [u8; 31usize] =
b"tm_asset_browser_add_asset_api\0";
pub const TM_ASSET_BROWSER_SELECT_ASSET_API_NAME: &'static [u8; 34usize] =
b"tm_asset_browser_select_asset_api\0";
pub const TM_ASSET_BROWSER_API_NAME: &'static [u8; 21usize] = b"tm_asset_browser_api\0";
pub const TM_PROFILER_VIEW_API_NAME: &'static [u8; 21usize] = b"tm_profiler_view_api\0";
pub const TM_PROPERTIES_VIEW_API_NAME: &'static [u8; 23usize] = b"tm_properties_view_api\0";
pub const TM_TREE_VIEW_API_NAME: &'static [u8; 17usize] = b"tm_tree_view_api\0";
pub const TM_UI_POPUP_ITEM_PICKER_API_NAME: &'static [u8; 28usize] =
b"tm_ui_popup_item_picker_api\0";
pub const TM_TT_TYPE__CAMERA_COMPONENT: &'static [u8; 20usize] = b"tm_camera_component\0";
pub const TM_MAX_COMPONENTS_FOR_ENGINE: u32 = 16;
pub const TM_TT_TYPE__ENTITY: &'static [u8; 10usize] = b"tm_entity\0";
pub const TM_MAX_COMPONENTS_IN_CONTEXT: u32 = 1024;
pub const TM_ENTITY_SIMULATION_INTERFACE_NAME: &'static [u8; 23usize] = b"tm_entity_simulation_i\0";
pub const TM_ENTITY_CREATE_COMPONENT_INTERFACE_NAME: &'static [u8; 29usize] =
b"tm_entity_create_component_i\0";
pub const TM_ENTITY_HOT_RELOAD_COMPONENT_INTERFACE_NAME: &'static [u8; 33usize] =
b"tm_entity_hot_reload_component_i\0";
pub const TM_ENTITY_HOT_RELOAD_SYSTEM_INTERFACE_NAME: &'static [u8; 30usize] =
b"tm_entity_hot_reload_system_i\0";
pub const TM_ENTITY_API_NAME: &'static [u8; 14usize] = b"tm_entity_api\0";
pub const TM_TT_TYPE__LINK_COMPONENT: &'static [u8; 18usize] = b"tm_link_component\0";
pub const TM_LINK_COMPONENT_API_NAME: &'static [u8; 22usize] = b"tm_link_component_api\0";
pub const TM_TT_TYPE__OWNER_COMPONENT: &'static [u8; 19usize] = b"tm_owner_component\0";
pub const TM_OWNER_COMPONENT_API_NAME: &'static [u8; 23usize] = b"tm_owner_component_api\0";
pub const TM_TT_TYPE__SCENE_TREE_COMPONENT: &'static [u8; 24usize] = b"tm_scene_tree_component\0";
pub const TM_SCENE_TREE_COMPONENT_API_NAME: &'static [u8; 28usize] =
b"tm_scene_tree_component_api\0";
pub const TM_TT_TYPE__TAG_COMPONENT: &'static [u8; 17usize] = b"tm_tag_component\0";
pub const TM_TT_TYPE__TAG: &'static [u8; 7usize] = b"tm_tag\0";
pub const TM_TAG_COMPONENT_API_NAME: &'static [u8; 21usize] = b"tm_tag_component_api\0";
pub const TM_TT_TYPE__TRANSFORM_COMPONENT: &'static [u8; 23usize] = b"tm_transform_component\0";
pub const TM_TRANSFORM_COMPONENT_API_NAME: &'static [u8; 27usize] = b"tm_transform_component_api\0";
pub const TM_GAMEPLAY_CONTEXT_API_NAME: &'static [u8; 24usize] = b"tm_gameplay_context_api\0";
pub const TM_GAMEPLAY_ENTITY_API_NAME: &'static [u8; 23usize] = b"tm_gameplay_entity_api\0";
pub const TM_GAMEPLAY_PHYSICS_API_NAME: &'static [u8; 24usize] = b"tm_gameplay_physics_api\0";
pub const TM_GAMEPLAY_API_NAME: &'static [u8; 16usize] = b"tm_gameplay_api\0";
pub const TM_GLTF_API_NAME: &'static [u8; 12usize] = b"tm_gltf_api\0";
pub const TM_GRAPH_SUBGRAPH_NODE_TYPE: &'static [u8; 17usize] = b"tm_subgraph_node\0";
pub const TM_GRAPH_SUBGRAPH_NODE_SETTINGS_TYPE: &'static [u8; 26usize] =
b"tm_subgraph_node_settings\0";
pub const TM_GRAPH_INPUT_NODE_TYPE: &'static [u8; 14usize] = b"tm_input_node\0";
pub const TM_GRAPH_OUTPUT_NODE_TYPE: &'static [u8; 15usize] = b"tm_output_node\0";
pub const TM_GRAPH_ADD_INPUT_CONNECTOR: &'static [u8; 23usize] = b"tm_add_input_connector\0";
pub const TM_GRAPH_ADD_OUTPUT_CONNECTOR: &'static [u8; 24usize] = b"tm_add_output_connector\0";
pub const TM_GRAPH_IMPORTER_API_NAME: &'static [u8; 22usize] = b"tm_graph_importer_api\0";
pub const TM_TT_TYPE__GRAPH_COMPONENT: &'static [u8; 19usize] = b"tm_graph_component\0";
pub const TM_TT_TYPE__ENTITY_GRAPH: &'static [u8; 16usize] = b"tm_entity_graph\0";
pub const TM_GRAPH_COMPONENT_COMPILE_DATA_INTERFACE_NAME: &'static [u8; 32usize] =
b"tm_graph_component_compile_data\0";
pub const TM_GRAPH_COMPONENT_API_NAME: &'static [u8; 23usize] = b"tm_graph_component_api\0";
pub const TM_GRAPH_COMPONENT_NODE_INTERFACE_NAME: &'static [u8; 34usize] =
b"tm_graph_component_node_interface\0";
pub const TM_TT_TYPE__KEYBOARD_ITEM: &'static [u8; 17usize] = b"tm_keyboard_item\0";
pub const TM_TT_TYPE__MOUSE_BUTTON: &'static [u8; 16usize] = b"tm_mouse_button\0";
pub const TM_TT_TYPE__ENTITY_ASSET_REFERENCE: &'static [u8; 26usize] =
b"tm_entity_asset_reference\0";
pub const TM_TT_TYPE__LOCAL_ENTITY_ASSET_REFERENCE: &'static [u8; 32usize] =
b"tm_local_entity_asset_reference\0";
pub const TM_TT_TYPE__TAG_REFERENCE: &'static [u8; 17usize] = b"tm_tag_reference\0";
pub const TM_GRAPH_INTERPRETER_API_NAME: &'static [u8; 25usize] = b"tm_graph_interpreter_api\0";
pub const TM_HTTPS_API_NAME: &'static [u8; 13usize] = b"tm_https_api\0";
pub const TM_OPENVR_API_NAME: &'static [u8; 14usize] = b"tm_openvr_api\0";
pub const TM_OS_DISPLAY_API_NAME: &'static [u8; 18usize] = b"tm_os_display_api\0";
pub const DEFAULT_DISPLAY_DPI: u32 = 96;
pub const TM_OS_WINDOW_API_NAME: &'static [u8; 17usize] = b"tm_os_window_api\0";
pub const TM_TT_TYPE__PHYSICS_BODY_COMPONENT: &'static [u8; 26usize] =
b"tm_physics_body_component\0";
pub const TM_PHYSICS_BODY_COMPUTE_INERTIA_TENSOR_INTERFACE_NAME: &'static [u8; 41usize] =
b"tm_physics_body_compute_inertia_tensor_i\0";
pub const TM_TT_TYPE__PHYSICS_COLLISION: &'static [u8; 21usize] = b"tm_physics_collision\0";
pub const TM_TT_TYPE__PHYSICS_JOINT_COMPONENT: &'static [u8; 27usize] =
b"tm_physics_joint_component\0";
pub const TM_TT_TYPE__PHYSICS_JOINT__FIXED: &'static [u8; 23usize] = b"tm_physics_joint_fixed\0";
pub const TM_TT_TYPE__PHYSICS_JOINT__DISTANCE: &'static [u8; 26usize] =
b"tm_physics_joint_distance\0";
pub const TM_TT_TYPE__PHYSICS_JOINT__SPHERICAL: &'static [u8; 27usize] =
b"tm_physics_joint_spherical\0";
pub const TM_TT_TYPE__PHYSICS_JOINT__REVOLUTE: &'static [u8; 26usize] =
b"tm_physics_joint_revolute\0";
pub const TM_TT_TYPE__PHYSICS_JOINT__PRISMATIC: &'static [u8; 27usize] =
b"tm_physics_joint_prismatic\0";
pub const TM_TT_TYPE__PHYSICS_JOINT__D6: &'static [u8; 20usize] = b"tm_physics_joint_d6\0";
pub const TM_TT_TYPE__PHYSICS_MATERIAL: &'static [u8; 20usize] = b"tm_physics_material\0";
pub const TM_TT_TYPE__PHYSICS_MOVER_COMPONENT: &'static [u8; 27usize] =
b"tm_physics_mover_component\0";
pub const TM_TT_TYPE__PHYSICS_SHAPE_COMPONENT: &'static [u8; 27usize] =
b"tm_physics_shape_component\0";
pub const TM_TT_TYPE__PHYSICS_SHAPE__SPHERE: &'static [u8; 24usize] = b"tm_physics_shape_sphere\0";
pub const TM_TT_TYPE__PHYSICS_SHAPE__CAPSULE: &'static [u8; 25usize] =
b"tm_physics_shape_capsule\0";
pub const TM_TT_TYPE__PHYSICS_SHAPE__BOX: &'static [u8; 21usize] = b"tm_physics_shape_box\0";
pub const TM_TT_TYPE__PHYSICS_SHAPE__CONVEX: &'static [u8; 24usize] = b"tm_physics_shape_convex\0";
pub const TM_TT_TYPE__PHYSICS_SHAPE__MESH: &'static [u8; 22usize] = b"tm_physics_shape_mesh\0";
pub const TM_PHYSICS_SHAPE_COOKING_INTERFACE_NAME: &'static [u8; 27usize] =
b"tm_physics_shape_cooking_i\0";
pub const TM_PHYSICS_SHAPE_DRAWING_INTERFACE_NAME: &'static [u8; 27usize] =
b"tm_physics_shape_drawing_i\0";
pub const TM_PHYSICS_SHAPE_API_NAME: &'static [u8; 21usize] = b"tm_physics_shape_api\0";
pub const TM_TT_TYPE__VELOCITY_COMPONENT: &'static [u8; 22usize] = b"tm_velocity_component\0";
pub const TM_TT_TYPE__PHYSX_RIGID_STATIC_COMPONENT: &'static [u8; 32usize] =
b"tm_physx_rigid_static_component\0";
pub const TM_TT_TYPE__PHYSX_RIGID_BODY_COMPONENT: &'static [u8; 30usize] =
b"tm_physx_rigid_body_component\0";
pub const TM_TT_TYPE__PHYSX_RIGID_BODY_SHAPE_COMPONENT: &'static [u8; 36usize] =
b"tm_physx_rigid_body_shape_component\0";
pub const TM_TT_TYPE__PHYSX_JOINT_COMPONENT: &'static [u8; 25usize] = b"tm_physx_joint_component\0";
pub const TM_TT_TYPE__PHYSX_MOVER_COMPONENT: &'static [u8; 25usize] = b"tm_physx_mover_component\0";
pub const TM_PHYSX_SCENE_API_NAME: &'static [u8; 19usize] = b"tm_physx_scene_api\0";
pub const TM_PHYSX_CONVEX_COOKED_DATA_FORMAT: &'static [u8; 28usize] =
b"tm_physx_convex_cooked_data\0";
pub const TM_PHYSX_MESH_COOKED_DATA_FORMAT: &'static [u8; 26usize] = b"tm_physx_mesh_cooked_data\0";
pub const TM_PHYSX_RAYCAST__COLLIDES_WITH_ALL: i32 = -1;
pub const TM_DEVICE_MEMORY_VIEW_API_NAME: &'static [u8; 22usize] = b"tm_device_memory_view\0";
pub const TM_NIL_RENDER_BACKEND_API_NAME: &'static [u8; 26usize] = b"tm_nil_render_backend_api\0";
pub const TM_RENDERER_API_NAME: &'static [u8; 16usize] = b"tm_renderer_api\0";
pub const TM_RENDERER_INIT_API_NAME: &'static [u8; 21usize] = b"tm_renderer_init_api\0";
pub const TM_RENDERER_MEMORY_STATISTICS_MAX_ALLOCATOR_BLOCKS: u32 = 256;
pub const TM_RENDERER_DEVICE_AFFINITY_MASK_ALL: u32 = 255;
pub const TM_RENDER_BACKEND_INTERFACE_NAME: &'static [u8; 20usize] = b"tm_render_backend_i\0";
pub const TM_RENDER_GRAPH_API_NAME: &'static [u8; 20usize] = b"tm_render_graph_api\0";
pub const TM_RENDER_GRAPH_MODULE_API_NAME: &'static [u8; 27usize] = b"tm_render_graph_module_api\0";
pub const TM_RENDER_GRAPH_SETUP_API_NAME: &'static [u8; 26usize] = b"tm_render_graph_setup_api\0";
pub const TM_RENDER_GRAPH_EXECUTE_API_NAME: &'static [u8; 28usize] =
b"tm_render_graph_execute_api\0";
pub const TM_RENDER_PIPELINE_INTERFACE_NAME: &'static [u8; 23usize] = b"tm_render_pipeline_api\0";
pub const TM_SHADOW_MAPPING_API_NAME: &'static [u8; 22usize] = b"tm_shadow_mapping_api\0";
pub const TM_RENDER_GRAPH_TOOLBOX_API_NAME: &'static [u8; 28usize] =
b"tm_render_graph_toolbox_api\0";
pub const TM_DEBUG_VISUALIZATION_MAX_RESOURCE: u32 = 16;
pub const TM_COMPONENT_SHADER_SYSTEM_INTERFACE_NAME: &'static [u8; 29usize] =
b"tm_component_shader_system_i\0";
pub const TM_COMPONENT_SHADER_SYSTEM_API_NAME: &'static [u8; 31usize] =
b"tm_component_shader_system_api\0";
pub const TM_TT_TYPE__CUBEMAP_CAPTURE_COMPONENT: &'static [u8; 29usize] =
b"tm_cubemap_capture_component\0";
pub const TM_CUBEMAP_CAPTURE_INTERFACE_NAME: &'static [u8; 29usize] =
b"tm_cubemap_capture_interface\0";
pub const TM_GPU_PICKING_API_NAME: &'static [u8; 19usize] = b"tm_gpu_picking_api\0";
pub const TM_TT_TYPE__GRID_SETTINGS: &'static [u8; 17usize] = b"tm_grid_settings\0";
pub const TM_GRID_RENDERER_API_NAME: &'static [u8; 21usize] = b"tm_grid_renderer_api\0";
pub const TM_IMAGE_INSPECTOR_API_NAME: &'static [u8; 23usize] = b"tm_image_inspector_api\0";
pub const TM_PRIMITIVE_DRAWER_API_NAME: &'static [u8; 24usize] = b"tm_primitive_drawer_api\0";
pub const TM_PRIMITIVE_RENDERER_API_NAME: &'static [u8; 26usize] = b"tm_primitive_renderer_api\0";
pub const TM_TT_TYPE__RENDER_COMPONENT: &'static [u8; 20usize] = b"tm_render_component\0";
pub const TM_RENDER_COMPONENT_API_NAME: &'static [u8; 24usize] = b"tm_render_component_api\0";
pub const TM_TT_TYPE__SKINNING_COMPONENT: &'static [u8; 22usize] = b"tm_skinning_component\0";
pub const TM_SKINNING_COMPONENT_API_NAME: &'static [u8; 26usize] = b"tm_skinning_component_api\0";
pub const TM_TT_TYPE__SCULPT_COMPONENT: &'static [u8; 20usize] = b"tm_sculpt_component\0";
pub const TM_TT_TYPE__SCULPT_COMPONENT_SELECTION: &'static [u8; 30usize] =
b"tm_sculpt_component_selection\0";
pub const TM_SCULPT_COMPONENT_API_NAME: &'static [u8; 24usize] = b"tm_sculpt_component_api\0";
pub const TM_SHADER_DECLARATION_API_NAME: &'static [u8; 26usize] = b"tm_shader_declaration_api\0";
pub const TM_SHADER_SYSTEM_API_NAME: &'static [u8; 21usize] = b"tm_shader_system_api\0";
pub const TM_SHADER_API_NAME: &'static [u8; 14usize] = b"tm_shader_api\0";
pub const TM_SHADER_REPOSITORY_INSTANCE_NAME: &'static [u8; 23usize] = b"tm_shader_repository_o\0";
pub const TM_SHADER_REPOSITORY_API_NAME: &'static [u8; 25usize] = b"tm_shader_repository_api\0";
pub const TM_SHADER_CREATION_GRAPH_API_NAME: &'static [u8; 29usize] =
b"tm_shader_creation_graph_api\0";
pub const TM_TT_TYPE__SHADER_SYSTEM_REPOSITORY: &'static [u8; 28usize] =
b"tm_shader_system_repository\0";
pub const TM_TT_TYPE__SHADER_SYSTEM_DECLARATION: &'static [u8; 29usize] =
b"tm_shader_system_declaration\0";
pub const TM_TT_TYPE__SHADER_SYSTEM_RENDER_STATE_BLOCK: &'static [u8; 36usize] =
b"tm_shader_system_render_state_block\0";
pub const TM_TT_TYPE__SHADER_SYSTEM_SAMPLER_STATE_BLOCK: &'static [u8; 37usize] =
b"tm_shader_system_sampler_state_block\0";
pub const TM_TT_TYPE__SHADER_SYSTEM_REQUEST: &'static [u8; 25usize] = b"tm_shader_system_request\0";
pub const TM_TT_TYPE__SHADER_SYSTEM_CONSTANT: &'static [u8; 26usize] =
b"tm_shader_system_constant\0";
pub const TM_TT_TYPE__SHADER_SYSTEM_RESOURCE: &'static [u8; 26usize] =
b"tm_shader_system_resource\0";
pub const TM_TT_TYPE__SHADER_SYSTEM_EXPORT: &'static [u8; 30usize] =
b"tm_shader_system_stage_export\0";
pub const TM_TT_TYPE__SHADER_SYSTEM_INCLUDE: &'static [u8; 25usize] = b"tm_shader_system_include\0";
pub const TM_TT_TYPE__SHADER_SYSTEM_VARIATION: &'static [u8; 27usize] =
b"tm_shader_system_variation\0";
pub const TM_TT_TYPE__SHADER_SYSTEM_VARIATION_SYSTEM: &'static [u8; 34usize] =
b"tm_shader_system_variation_system\0";
pub const TM_TT_TYPE__SHADER_SYSTEM_COMPILE_CONFIGURATION: &'static [u8; 39usize] =
b"tm_shader_system_compile_configuration\0";
pub const TM_TT_TYPE__SHADER_SYSTEM_COMPILE_BRANCH: &'static [u8; 32usize] =
b"tm_shader_system_compile_branch\0";
pub const TM_TT_TYPE__SHADER_SYSTEM_PASS_CONDITION: &'static [u8; 32usize] =
b"tm_shader_system_pass_condition\0";
pub const TM_TT_TYPE__SHADER_SYSTEM_PASS: &'static [u8; 22usize] = b"tm_shader_system_pass\0";
pub const TM_TT_TYPE__SHADER_SYSTEM_COMPILE_CONTEXT: &'static [u8; 33usize] =
b"tm_shader_system_compile_context\0";
pub const TM_TT_TYPE__SHADER_SYSTEM_COMPILED_RESULT: &'static [u8; 33usize] =
b"tm_shader_system_compiled_result\0";
pub const TM_TT_TYPE__SHADER_SYSTEM__CONSTANT_NODE__SETTINGS: &'static [u8; 40usize] =
b"tm_shader_system_constant_node_settings\0";
pub const TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE_RESOURCE_ASPECT: &'static [u8; 53usize] =
b"tm_shader_system_creation_graph_node_resource_aspect\0";
pub const TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE_DEFINE: &'static [u8; 44usize] =
b"tm_shader_system_creation_graph_node_define\0";
pub const TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE_ACTION: &'static [u8; 44usize] =
b"tm_shader_system_creation_graph_node_action\0";
pub const TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE_CONNECTOR_SETTING_OPTION:
&'static [u8; 62usize] = b"tm_shader_system_creation_graph_node_connector_setting_option\0";
pub const TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE_CONNECTOR_SETTING: &'static [u8; 55usize] =
b"tm_shader_system_creation_graph_node_connector_setting\0";
pub const TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE_CONNECTOR_SETTINGS: &'static [u8; 56usize] =
b"tm_shader_system_creation_graph_node_connector_settings\0";
pub const TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE_CONNECTOR: &'static [u8; 47usize] =
b"tm_shader_system_creation_graph_node_connector\0";
pub const TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE_CONNECTOR_TYPE_OF: &'static [u8; 55usize] =
b"tm_shader_system_creation_graph_node_connector_type_of\0";
pub const TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE: &'static [u8; 37usize] =
b"tm_shader_system_creation_graph_node\0";
pub const TM_TT_TYPE__RUNNER_SETTINGS: &'static [u8; 19usize] = b"tm_runner_settings\0";
pub const TM_RUNNER_SETTINGS_API_NAME: &'static [u8; 23usize] = b"tm_runner_settings_api\0";
pub const TM_SIMULATE_CONTEXT_API_NAME: &'static [u8; 24usize] = b"tm_simulate_context_api\0";
pub const TM_TT_TYPE__STATISTICS_GRAPH: &'static [u8; 20usize] = b"tm_statistics_graph\0";
pub const TM_TT_TYPE__STATISTICS_GRAPH_SOURCE: &'static [u8; 27usize] =
b"tm_statistics_graph_source\0";
pub const TM_STATISTICS_GRAPH_API_NAME: &'static [u8; 20usize] = b"tm_statistics_graph\0";
pub const TM_STATISTICS_SOURCE_API_NAME: &'static [u8; 25usize] = b"tm_statistics_source_api\0";
pub const TM_STB_IMAGE_LOADER_API_NAME: &'static [u8; 20usize] = b"tm_stb_image_loader\0";
pub const TYPE__CAMERA_CONTROLLER_COMPONENT: &'static [u8; 42usize] =
b"the-machinery/camera_controller_component\0";
pub const TM_CAMERA_CONTROLLER_COMPONENT_API_NAME: &'static [u8; 35usize] =
b"tm_camera_controller_component_api\0";
pub const TM_MAX_VIEWER_SYSTEMS: u32 = 4;
pub const TM_MAX_RENDER_COMPONENTS: u32 = 64;
pub const TM_MAX_SHADER_DATA_COMPONENTS: u32 = 15;
pub const TM_FRUSTUM_CULLING_API_NAME: &'static [u8; 23usize] = b"tm_frustum_culling_api\0";
pub const TM_RENDER_CONTEXT_API_NAME: &'static [u8; 22usize] = b"tm_render_context_api\0";
pub const TM_VIEWPORT_HUD_HEIGHT: f64 = 25.0;
pub const TM_VIEWPORT_HUD_OUTER_MARGIN_X: f64 = 5.0;
pub const TM_VIEWPORT_HUD_OUTER_MARGIN_Y: f64 = 5.0;
pub const TM_VIEWPORT_HUD_INNER_MARGIN: f64 = 5.0;
pub const TM_LIGHTING_ENVIRONEMENT_SEARCH_BUF_LEN: u32 = 1024;
pub const TM_SCENE_COMMON_API_NAME: &'static [u8; 20usize] = b"tm_scene_common_api\0";
pub const TM_VIEWER_API_NAME: &'static [u8; 14usize] = b"tm_viewer_api\0";
pub const TM_VIEWER_MANAGER_API_NAME: &'static [u8; 22usize] = b"tm_viewer_manager_api\0";
pub const TM_TT_TYPE__CLIPBOARD: &'static [u8; 13usize] = b"tm_clipboard\0";
pub const TM_UI_CLIPBOARD_API_NAME: &'static [u8; 20usize] = b"tm_ui_clipboard_api\0";
pub const TM_TAB_VT_INTERFACE_NAME: &'static [u8; 10usize] = b"tm_tab_vt\0";
pub const TM_TT_TYPE__DOCKING_SETTINGS: &'static [u8; 20usize] = b"tm_docking_settings\0";
pub const TM_DOCKING_API_NAME: &'static [u8; 15usize] = b"tm_docking_api\0";
pub const TM_UI_DRAG_API_NAME: &'static [u8; 15usize] = b"tm_ui_drag_api\0";
pub const TM_DRAW2D_API_NAME: &'static [u8; 14usize] = b"tm_draw2d_api\0";
pub const TM_FONT_API_NAME: &'static [u8; 12usize] = b"tm_font_api\0";
pub const TM_GIZMO_API_NAME: &'static [u8; 13usize] = b"tm_gizmo_api\0";
pub const TM_MODAL_PROGRESS_DONE: u32 = 4294967295;
pub const TM_UI_MODAL_API_NAME: &'static [u8; 16usize] = b"tm_ui_modal_api\0";
pub const TM_SHAPE3D_API_NAME: &'static [u8; 15usize] = b"tm_shape3d_api\0";
pub const TM_TT_TYPE__TOOLBAR_SETTINGS: &'static [u8; 20usize] = b"tm_toolbar_settings\0";
pub const TM_TAB_TOOLBAR_STATE_SIZE: u32 = 4096;
pub const TM_TTF_BAKER_API_NAME: &'static [u8; 17usize] = b"tm_ttf_baker_api\0";
pub const TM_TT_TYPE__UI_THEME: &'static [u8; 12usize] = b"tm_ui_theme\0";
pub const TM_TT_TYPE__UI_THEME_COLOR: &'static [u8; 18usize] = b"tm_ui_theme_color\0";
pub const TM_UI_API_NAME: &'static [u8; 10usize] = b"tm_ui_api\0";
pub const TM_UI_ICON_API_NAME: &'static [u8; 15usize] = b"tm_ui_icon_api\0";
pub const TM_UI_RENDERER_API_NAME: &'static [u8; 15usize] = b"tm_ui_renderer\0";
pub const TM_UI_TREE_API_NAME: &'static [u8; 15usize] = b"tm_ui_tree_api\0";
pub const TM_UPNP_API_NAME: &'static [u8; 12usize] = b"tm_upnp_api\0";
pub const TM_VULKAN_BACKEND_INTERFACE_NAME: &'static [u8; 20usize] = b"tm_vulkan_backend_i\0";
pub const TM_VULKAN_BACKEND_INSTANCE_EXTENSIONS_INTERFACE_NAME: &'static [u8; 48usize] =
b"tm_vulkan_backend_instance_extensions_interface\0";
pub const TM_VULKAN_BACKEND_DEVICE_EXTENSIONS_INTERFACE_NAME: &'static [u8; 46usize] =
b"tm_vulkan_backend_device_extensions_interface\0";
pub const TM_VULKAN_API_NAME: &'static [u8; 14usize] = b"tm_vulkan_api\0";
pub const TM_ASSET_BROWSER_TAB_VT_NAME: &'static [u8; 21usize] = b"tm_asset_browser_tab\0";
pub const TM_ASSET_BROWSER_TAB_CUSTOM_MENU_ITEMS_INTERFACE_NAME: &'static [u8; 41usize] =
b"tm_asset_browser_tab_custom_menu_items_i\0";
pub const TM_ASSET_BROWSER_TAB_API_NAME: &'static [u8; 25usize] = b"tm_asset_browser_tab_api\0";
pub const TM_CACHE_MANAGER_TAB_VT_NAME: &'static [u8; 21usize] = b"tm_cache_manager_tab\0";
pub const TM_CANVAS_TAB_VT_NAME: &'static [u8; 14usize] = b"tm_canvas_tab\0";
pub const TM_COLLABORATION_TAB_VT_NAME: &'static [u8; 21usize] = b"tm_collaboration_tab\0";
pub const TM_CONSOLE_TAB_VT_NAME: &'static [u8; 15usize] = b"tm_console_tab\0";
pub const TM_DELAUNAY_TAB_VT_NAME: &'static [u8; 16usize] = b"tm_delaunay_tab\0";
pub const TM_DOWNLOAD_VT_NAME: &'static [u8; 16usize] = b"tm_download_tab\0";
pub const TM_TT_TYPE__APPLICATION_SETTINGS__UPDATES: &'static [u8; 33usize] =
b"tm_application_settings__updates\0";
pub const TM_TT_TYPE__APPLICATION_SETTINGS__DOWNLOAD: &'static [u8; 34usize] =
b"tm_application_settings__download\0";
pub const TM_OLD_TREE_TAB_VT_NAME: &'static [u8; 12usize] = b"tm_tree_tab\0";
pub const TM_ENTITY_TREE_VIEW_WIP_TAB_VT_NAME: &'static [u8; 21usize] = b"tm_tree_view_wip_tab\0";
pub const TM_GRAPH_TAB_VT_NAME: &'static [u8; 13usize] = b"tm_graph_tab\0";
pub const TM_IMPORT_PROJECT_TAB_VT_NAME: &'static [u8; 22usize] = b"tm_import_project_tab\0";
pub const TM_INPUT_LOG_TAB_VT_NAME: &'static [u8; 17usize] = b"tm_input_log_tab\0";
pub const TM_JSON_TAB_VT_NAME: &'static [u8; 12usize] = b"tm_json_tab\0";
pub const TM_LOGIN_TAB_VT_NAME: &'static [u8; 13usize] = b"tm_login_tab\0";
pub const TM_MODIFIED_ASSETS_TAB_VT_NAME: &'static [u8; 23usize] = b"tm_modified_assets_tab\0";
pub const TM_PREVIEW_TAB_VT_NAME: &'static [u8; 15usize] = b"tm_preview_tab\0";
pub const TM_PROFILER_TAB_VT_NAME: &'static [u8; 16usize] = b"tm_profiler_tab\0";
pub const TM_PROPERTIES_TAB_VT_NAME: &'static [u8; 18usize] = b"tm_properties_tab\0";
pub const TM_SCENE_TAB_VT_NAME: &'static [u8; 13usize] = b"tm_scene_tab\0";
pub const TM_TT_TYPE__SCENE_TAB: &'static [u8; 13usize] = b"tm_scene_tab\0";
pub const TM_TT_TYPE__SCENE_TAB_SETTINGS: &'static [u8; 22usize] = b"tm_scene_tab_settings\0";
pub const TM_TT_TYPE__SCENE_SETTINGS: &'static [u8; 18usize] = b"tm_scene_settings\0";
pub const TM_SIMULATE_TAB_VT_NAME: &'static [u8; 16usize] = b"tm_simulate_tab\0";
pub const TM_STATE_GRAPH_TAB_VT_NAME: &'static [u8; 19usize] = b"tm_state_graph_tab\0";
pub const TM_STATISTICS_TAB_VT_NAME: &'static [u8; 18usize] = b"tm_statistics_tab\0";
pub const TM_TASK_MANAGER_API_NAME: &'static [u8; 20usize] = b"tm_task_manager_api\0";
pub const TM_TASK_MANAGER_TAB_VT_NAME: &'static [u8; 20usize] = b"tm_task_manager_tab\0";
pub const THE_MACHINERY_VERSION: &'static [u8; 8usize] = b"2020.11\0";
pub const TM_TT_TYPE__APPLICATION_SETTINGS: &'static [u8; 24usize] = b"tm_application_settings\0";
pub const TM_TT_TYPE__WINDOW_LAYOUTS: &'static [u8; 18usize] = b"tm_window_layouts\0";
pub const TM_TT_TYPE__WINDOW_LAYOUT: &'static [u8; 17usize] = b"tm_window_layout\0";
pub const TM_TT_TYPE__RECENT_FILE: &'static [u8; 15usize] = b"tm_recent_file\0";
pub const TM_TT_TYPE__TABWELL: &'static [u8; 11usize] = b"tm_tabwell\0";
pub const TM_TT_TYPE__TAB_VIEW: &'static [u8; 12usize] = b"tm_tab_view\0";
pub const TM_TT_TYPE__PROJECT_SETTINGS: &'static [u8; 20usize] = b"tm_project_settings\0";
pub const TM_TT_TYPE__INTERFACE_SETTINGS: &'static [u8; 22usize] = b"tm_interface_settings\0";
pub const TM_TT_TYPE__PUBLISH_SETTINGS: &'static [u8; 20usize] = b"tm_publish_settings\0";
pub const TM_TREE_VIEW_TAB_VT_NAME: &'static [u8; 17usize] = b"tm_tree_view_tab\0";
pub const TM_UI_SAMPLE_TAB_VT_NAME: &'static [u8; 17usize] = b"tm_ui_sample_tab\0";
pub type va_list = __builtin_va_list;
pub type __gnuc_va_list = __builtin_va_list;
extern "C" {
pub fn __va_start(arg1: *mut *mut ::std::os::raw::c_char, ...);
}
pub type size_t = ::std::os::raw::c_ulonglong;
pub type __vcrt_bool = bool;
pub type wchar_t = ::std::os::raw::c_ushort;
extern "C" {
pub fn __security_init_cookie();
}
extern "C" {
pub fn __security_check_cookie(_StackCookie: usize);
}
extern "C" {
pub fn __report_gsfailure(_StackCookie: usize);
}
extern "C" {
pub static mut __security_cookie: usize;
}
pub type int_least8_t = ::std::os::raw::c_schar;
pub type int_least16_t = ::std::os::raw::c_short;
pub type int_least32_t = ::std::os::raw::c_int;
pub type int_least64_t = ::std::os::raw::c_longlong;
pub type uint_least8_t = ::std::os::raw::c_uchar;
pub type uint_least16_t = ::std::os::raw::c_ushort;
pub type uint_least32_t = ::std::os::raw::c_uint;
pub type uint_least64_t = ::std::os::raw::c_ulonglong;
pub type int_fast8_t = ::std::os::raw::c_schar;
pub type int_fast16_t = ::std::os::raw::c_int;
pub type int_fast32_t = ::std::os::raw::c_int;
pub type int_fast64_t = ::std::os::raw::c_longlong;
pub type uint_fast8_t = ::std::os::raw::c_uchar;
pub type uint_fast16_t = ::std::os::raw::c_uint;
pub type uint_fast32_t = ::std::os::raw::c_uint;
pub type uint_fast64_t = ::std::os::raw::c_ulonglong;
pub type intmax_t = ::std::os::raw::c_longlong;
pub type uintmax_t = ::std::os::raw::c_ulonglong;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_vec2_t {
pub x: f32,
pub y: f32,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_vec3_t {
pub x: f32,
pub y: f32,
pub z: f32,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_vec4_t {
pub x: f32,
pub y: f32,
pub z: f32,
pub w: f32,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_mat44_t {
pub xx: f32,
pub xy: f32,
pub xz: f32,
pub xw: f32,
pub yx: f32,
pub yy: f32,
pub yz: f32,
pub yw: f32,
pub zx: f32,
pub zy: f32,
pub zz: f32,
pub zw: f32,
pub wx: f32,
pub wy: f32,
pub wz: f32,
pub ww: f32,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_transform_t {
pub pos: tm_vec3_t,
pub rot: tm_vec4_t,
pub scl: tm_vec3_t,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_rect_t {
pub x: f32,
pub y: f32,
pub w: f32,
pub h: f32,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_clock_o {
pub opaque: u64,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_uuid_t {
pub a: u64,
pub b: u64,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_color_srgb_t {
pub r: u8,
pub g: u8,
pub b: u8,
pub a: u8,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_tt_id_t {
pub __bindgen_anon_1: tm_tt_id_t__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union tm_tt_id_t__bindgen_ty_1 {
pub u64_: u64,
pub __bindgen_anon_1: tm_tt_id_t__bindgen_ty_1__bindgen_ty_1,
_bindgen_union_align: u64,
}
#[repr(C)]
#[repr(align(8))]
#[derive(Default, Copy, Clone)]
pub struct tm_tt_id_t__bindgen_ty_1__bindgen_ty_1 {
pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize], u32>,
}
impl tm_tt_id_t__bindgen_ty_1__bindgen_ty_1 {
#[inline]
pub fn type_(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 10u8) as u64) }
}
#[inline]
pub fn set_type(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(0usize, 10u8, val as u64)
}
}
#[inline]
pub fn generation(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(10usize, 22u8) as u64) }
}
#[inline]
pub fn set_generation(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(10usize, 22u8, val as u64)
}
}
#[inline]
pub fn index(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(32usize, 32u8) as u64) }
}
#[inline]
pub fn set_index(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(32usize, 32u8, val as u64)
}
}
#[inline]
pub fn new_bitfield_1(
type_: u64,
generation: u64,
index: u64,
) -> __BindgenBitfieldUnit<[u8; 8usize], u32> {
let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize], u32> =
Default::default();
__bindgen_bitfield_unit.set(0usize, 10u8, {
let type_: u64 = unsafe { ::std::mem::transmute(type_) };
type_ as u64
});
__bindgen_bitfield_unit.set(10usize, 22u8, {
let generation: u64 = unsafe { ::std::mem::transmute(generation) };
generation as u64
});
__bindgen_bitfield_unit.set(32usize, 32u8, {
let index: u64 = unsafe { ::std::mem::transmute(index) };
index as u64
});
__bindgen_bitfield_unit
}
}
impl Default for tm_tt_id_t__bindgen_ty_1 {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
impl Default for tm_tt_id_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_tt_undo_scope_t {
pub u64_: u64,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_allocator_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_allocator_i {
pub inst: *mut tm_allocator_o,
pub mem_scope: u32,
pub _padding_15: [::std::os::raw::c_char; 4usize],
pub realloc: ::std::option::Option<
unsafe extern "C" fn(
a: *mut tm_allocator_i,
ptr: *mut ::std::os::raw::c_void,
old_size: u64,
new_size: u64,
file: *const ::std::os::raw::c_char,
line: u32,
) -> *mut ::std::os::raw::c_void,
>,
}
impl Default for tm_allocator_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_allocator_statistics_t {
pub system_allocation_count: u64,
pub system_allocated_bytes: u64,
pub vm_reserved: u64,
pub vm_committed: u64,
pub system_churn_allocation_count: u64,
pub system_churn_allocated_bytes: u64,
pub vm_churn_committed: u64,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_allocator_api {
pub system: *mut tm_allocator_i,
pub end_of_page: *mut tm_allocator_i,
pub vm: *mut tm_allocator_i,
pub statistics: *mut tm_allocator_statistics_t,
pub create_child: ::std::option::Option<
unsafe extern "C" fn(
parent: *const tm_allocator_i,
desc: *const ::std::os::raw::c_char,
) -> tm_allocator_i,
>,
pub destroy_child: ::std::option::Option<unsafe extern "C" fn(child: *const tm_allocator_i)>,
pub destroy_child_allowing_leaks: ::std::option::Option<
unsafe extern "C" fn(child: *const tm_allocator_i, max_leaked_bytes: u64),
>,
pub create_leaky_root_scope: ::std::option::Option<
unsafe extern "C" fn(
parent: *const tm_allocator_i,
desc: *const ::std::os::raw::c_char,
) -> tm_allocator_i,
>,
pub create_fixed_vm: ::std::option::Option<
unsafe extern "C" fn(reserve_size: u64, mem_scope: u32) -> tm_allocator_i,
>,
}
impl Default for tm_allocator_api {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_api_registry_listener_i {
pub ud: *mut ::std::os::raw::c_void,
pub add_implementation: ::std::option::Option<
unsafe extern "C" fn(
ud: *mut ::std::os::raw::c_void,
name: *const ::std::os::raw::c_char,
implementation: *mut ::std::os::raw::c_void,
),
>,
}
impl Default for tm_api_registry_listener_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_api_registry_api {
pub set: ::std::option::Option<
unsafe extern "C" fn(
name: *const ::std::os::raw::c_char,
api: *mut ::std::os::raw::c_void,
bytes: u32,
),
>,
pub remove: ::std::option::Option<unsafe extern "C" fn(api: *mut ::std::os::raw::c_void)>,
pub get: ::std::option::Option<
unsafe extern "C" fn(name: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_void,
>,
pub get_optional: ::std::option::Option<
unsafe extern "C" fn(name: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_void,
>,
pub add_implementation: ::std::option::Option<
unsafe extern "C" fn(
name: *const ::std::os::raw::c_char,
implementation: *mut ::std::os::raw::c_void,
),
>,
pub remove_implementation: ::std::option::Option<
unsafe extern "C" fn(
name: *const ::std::os::raw::c_char,
implementation: *mut ::std::os::raw::c_void,
),
>,
pub implementations: ::std::option::Option<
unsafe extern "C" fn(
name: *const ::std::os::raw::c_char,
count: *mut u32,
) -> *mut *mut ::std::os::raw::c_void,
>,
pub add_listener:
::std::option::Option<unsafe extern "C" fn(listener: *const tm_api_registry_listener_i)>,
pub static_variable: ::std::option::Option<
unsafe extern "C" fn(
id: u64,
size: u32,
file: *const ::std::os::raw::c_char,
line: u32,
) -> *mut ::std::os::raw::c_void,
>,
pub log_missing_apis: ::std::option::Option<unsafe extern "C" fn()>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_ui_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_viewer_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_application_o {
_unused: [u8; 0],
}
pub type tm_application_modal_f = ::std::option::Option<
unsafe extern "C" fn(
data: *mut ::std::os::raw::c_void,
ui: *mut tm_ui_o,
rect: tm_rect_t,
font: u32,
font_info: *const tm_font_t,
font_scale: f32,
ui_has_focus: bool,
) -> bool,
>;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_application_api {
pub application: ::std::option::Option<unsafe extern "C" fn() -> *mut tm_application_o>,
pub create: ::std::option::Option<
unsafe extern "C" fn(
argc: ::std::os::raw::c_int,
argv: *mut *mut ::std::os::raw::c_char,
) -> *mut tm_application_o,
>,
pub tick: ::std::option::Option<unsafe extern "C" fn(app: *mut tm_application_o) -> bool>,
pub destroy: ::std::option::Option<unsafe extern "C" fn(app: *mut tm_application_o)>,
pub set_modal: ::std::option::Option<
unsafe extern "C" fn(
app: *mut tm_application_o,
f: tm_application_modal_f,
data: *mut ::std::os::raw::c_void,
),
>,
pub is_modal: ::std::option::Option<unsafe extern "C" fn(app: *const tm_application_o) -> bool>,
pub asset_root:
::std::option::Option<unsafe extern "C" fn(app: *const tm_application_o) -> tm_tt_id_t>,
pub load_core:
::std::option::Option<unsafe extern "C" fn(app: *const tm_application_o) -> bool>,
pub update_core:
::std::option::Option<unsafe extern "C" fn(app: *const tm_application_o) -> bool>,
pub set_cursor_hidden:
::std::option::Option<unsafe extern "C" fn(app: *mut tm_application_o, hidden: bool)>,
pub exit: ::std::option::Option<unsafe extern "C" fn(app: *mut tm_application_o)>,
pub viewer_manager: ::std::option::Option<
unsafe extern "C" fn(app: *mut tm_application_o) -> *mut tm_viewer_manager_o,
>,
pub default_render_pipeline_api: ::std::option::Option<
unsafe extern "C" fn(app: *mut tm_application_o) -> *mut tm_render_pipeline_api,
>,
pub ui_scale_factor: ::std::option::Option<
unsafe extern "C" fn(app: *mut tm_application_o, ui: *mut tm_ui_o) -> f32,
>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_the_truth_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_asset_database_config_t {
pub allocator: *mut tm_allocator_i,
pub fs: *mut tm_os_file_system_api,
pub file_io: *mut tm_os_file_io_api,
}
impl Default for tm_asset_database_config_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_asset_dabase_saved_item_t {
pub uuid: tm_uuid_t,
pub is_directory: bool,
pub _padding_30: [::std::os::raw::c_char; 7usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_asset_database_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_asset_database_api {
pub create: ::std::option::Option<
unsafe extern "C" fn(
file: *const ::std::os::raw::c_char,
tt: *mut tm_the_truth_o,
config: *const tm_asset_database_config_t,
) -> *mut tm_asset_database_o,
>,
pub open: ::std::option::Option<
unsafe extern "C" fn(
file: *const ::std::os::raw::c_char,
tt: *mut tm_the_truth_o,
config: *const tm_asset_database_config_t,
) -> *mut tm_asset_database_o,
>,
pub close: ::std::option::Option<unsafe extern "C" fn(db: *mut tm_asset_database_o)>,
pub save_modified: ::std::option::Option<
unsafe extern "C" fn(db: *mut tm_asset_database_o, asset_root: tm_tt_id_t),
>,
pub save_modified_except: ::std::option::Option<
unsafe extern "C" fn(
db: *mut tm_asset_database_o,
asset_root: tm_tt_id_t,
ignore: *mut tm_tt_id_t,
num_ignore: u32,
),
>,
pub save_asset: ::std::option::Option<
unsafe extern "C" fn(db: *mut tm_asset_database_o, asset: tm_tt_id_t),
>,
pub delete_asset: ::std::option::Option<
unsafe extern "C" fn(db: *mut tm_asset_database_o, asset: tm_tt_id_t),
>,
pub revert_asset: ::std::option::Option<
unsafe extern "C" fn(
db: *mut tm_asset_database_o,
asset: tm_tt_id_t,
undo_scope: tm_tt_undo_scope_t,
) -> bool,
>,
pub load:
::std::option::Option<unsafe extern "C" fn(db: *mut tm_asset_database_o) -> tm_tt_id_t>,
pub saved_name: ::std::option::Option<
unsafe extern "C" fn(
db: *mut tm_asset_database_o,
item: tm_uuid_t,
) -> *const ::std::os::raw::c_char,
>,
pub saved_directory: ::std::option::Option<
unsafe extern "C" fn(db: *mut tm_asset_database_o, item: tm_uuid_t) -> tm_uuid_t,
>,
pub saved_version: ::std::option::Option<
unsafe extern "C" fn(db: *mut tm_asset_database_o, asset: tm_uuid_t) -> u64,
>,
pub all_saved_items: ::std::option::Option<
unsafe extern "C" fn(
db: *mut tm_asset_database_o,
ta: *mut tm_temp_allocator_i,
) -> *mut tm_asset_dabase_saved_item_t,
>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_asset_io_import {
pub allocator: *mut tm_allocator_i,
pub tt: *mut tm_the_truth_o,
pub reimport_into: tm_tt_id_t,
pub target_dir: tm_tt_id_t,
pub asset_root: tm_tt_id_t,
pub ui: *mut tm_ui_o,
pub asset_browser: tm_tt_id_t,
pub asset_browser_version_at_start: u64,
pub undo_scope: tm_tt_undo_scope_t,
}
impl Default for tm_asset_io_import {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_asset_io_i {
pub inst: *mut tm_asset_io_o,
pub enabled: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_asset_io_o) -> bool>,
pub can_import: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_asset_io_o,
extension: *const ::std::os::raw::c_char,
) -> bool,
>,
pub can_reimport: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_asset_io_o,
tt: *mut tm_the_truth_o,
asset: tm_tt_id_t,
) -> bool,
>,
pub importer_extensions_string: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_asset_io_o,
output: *mut *mut ::std::os::raw::c_char,
ta: *mut tm_temp_allocator_i,
separator: *const ::std::os::raw::c_char,
),
>,
pub importer_description_string: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_asset_io_o,
output: *mut *mut ::std::os::raw::c_char,
ta: *mut tm_temp_allocator_i,
separator: *const ::std::os::raw::c_char,
),
>,
pub import_asset: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_asset_io_o,
file: *const ::std::os::raw::c_char,
import: *const tm_asset_io_import,
) -> u64,
>,
pub can_export: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_asset_io_o,
tt: *mut tm_the_truth_o,
asset: tm_tt_id_t,
) -> bool,
>,
pub exporter_extension: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_asset_io_o,
tt: *mut tm_the_truth_o,
asset: tm_tt_id_t,
) -> *const ::std::os::raw::c_char,
>,
pub export_asset: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_asset_io_o,
file: *const ::std::os::raw::c_char,
tt: *mut tm_the_truth_o,
asset_root: tm_tt_id_t,
asset: tm_tt_id_t,
),
>,
}
impl Default for tm_asset_io_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_asset_io_api {
pub add_asset_io: ::std::option::Option<unsafe extern "C" fn(loader: *mut tm_asset_io_i)>,
pub remove_asset_io: ::std::option::Option<unsafe extern "C" fn(loader: *mut tm_asset_io_i)>,
pub importer: ::std::option::Option<
unsafe extern "C" fn(extension: *const ::std::os::raw::c_char) -> *mut tm_asset_io_i,
>,
pub reimporter: ::std::option::Option<
unsafe extern "C" fn(tt: *mut tm_the_truth_o, asset: tm_tt_id_t) -> *mut tm_asset_io_i,
>,
pub exporter: ::std::option::Option<
unsafe extern "C" fn(tt: *mut tm_the_truth_o, asset: tm_tt_id_t) -> *mut tm_asset_io_i,
>,
pub io_interfaces:
::std::option::Option<unsafe extern "C" fn(interfaces: *mut *mut tm_asset_io_i) -> u32>,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_base_64_api {
pub encoded_size: ::std::option::Option<unsafe extern "C" fn(raw_size: u64) -> u64>,
pub encode: ::std::option::Option<
unsafe extern "C" fn(
encoded: *mut ::std::os::raw::c_char,
raw: *const u8,
raw_size: u64,
) -> u64,
>,
pub decoded_size: ::std::option::Option<
unsafe extern "C" fn(encoded: *const ::std::os::raw::c_char, encoded_size: u64) -> u64,
>,
pub decode: ::std::option::Option<
unsafe extern "C" fn(
raw: *mut u8,
encoded: *const ::std::os::raw::c_char,
encoded_size: u64,
) -> u64,
>,
}
pub const tm_bounding_volume_type_TM_BOUNDING_VOLUME_TYPE_SPHERE: tm_bounding_volume_type = 0;
pub const tm_bounding_volume_type_TM_BOUNDING_VOLUME_TYPE_BOX: tm_bounding_volume_type = 1;
pub type tm_bounding_volume_type = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_bounding_volume_sphere_t {
pub visibility_mask: u64,
pub culling_disabled: bool,
pub _padding_16: [::std::os::raw::c_char; 3usize],
pub position: tm_vec3_t,
pub radius: f32,
pub _padding_19: [::std::os::raw::c_char; 4usize],
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_bounding_volume_box_t {
pub visibility_mask: u64,
pub culling_disabled: bool,
pub _padding_26: [::std::os::raw::c_char; 3usize],
pub tm: tm_mat44_t,
pub min: tm_vec3_t,
pub max: tm_vec3_t,
pub _padding_30: [::std::os::raw::c_char; 4usize],
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_buddy_allocator_raw_api {
pub init:
::std::option::Option<unsafe extern "C" fn(buffer: *mut u8, size: u32, block_size: u32)>,
pub realloc: ::std::option::Option<
unsafe extern "C" fn(
buffer: *mut u8,
ptr: *mut ::std::os::raw::c_void,
old_size: u64,
new_size: u64,
) -> *mut ::std::os::raw::c_void,
>,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_buddy_allocator_api {
pub create: ::std::option::Option<
unsafe extern "C" fn(
backing: *mut tm_allocator_i,
initial_size: u32,
block_size: u32,
) -> *mut tm_allocator_i,
>,
pub destroy: ::std::option::Option<unsafe extern "C" fn(a: *mut tm_allocator_i)>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_buffers_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_buffers_i {
pub inst: *mut tm_buffers_o,
pub allocate: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_buffers_o,
size: u64,
initialize: *const ::std::os::raw::c_void,
) -> *mut ::std::os::raw::c_void,
>,
pub add: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_buffers_o,
data: *const ::std::os::raw::c_void,
size: u64,
hash: u64,
) -> u32,
>,
pub retain: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_buffers_o, id: u32)>,
pub release: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_buffers_o, id: u32)>,
pub get: ::std::option::Option<
unsafe extern "C" fn(
inst: *const tm_buffers_o,
id: u32,
size: *mut u64,
) -> *const ::std::os::raw::c_void,
>,
pub size:
::std::option::Option<unsafe extern "C" fn(inst: *const tm_buffers_o, id: u32) -> u64>,
pub hash:
::std::option::Option<unsafe extern "C" fn(inst: *const tm_buffers_o, id: u32) -> u64>,
pub lookup:
::std::option::Option<unsafe extern "C" fn(inst: *const tm_buffers_o, hash: u64) -> u32>,
pub debug__refcount:
::std::option::Option<unsafe extern "C" fn(inst: *const tm_buffers_o, id: u32) -> u32>,
}
impl Default for tm_buffers_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_streamable_buffers_i {
pub __bindgen_padding_0: [u64; 10usize],
pub map: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_buffers_o,
path: *const ::std::os::raw::c_char,
offset: u64,
size: u64,
hash: u64,
) -> u32,
>,
pub map_database: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_buffers_o,
hash: u64,
size: u64,
file: *const tm_file_o,
page_size: u32,
page_header_size: u32,
first_page: u32,
) -> u32,
>,
pub is_mapped:
::std::option::Option<unsafe extern "C" fn(inst: *const tm_buffers_o, id: u32) -> bool>,
pub is_loaded:
::std::option::Option<unsafe extern "C" fn(inst: *const tm_buffers_o, id: u32) -> bool>,
pub unload: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_buffers_o, id: u32)>,
pub save: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_buffers_o,
id: u32,
path: *const ::std::os::raw::c_char,
offset: u64,
),
>,
pub background_load_all: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_buffers_o)>,
pub ensure_all_loaded: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_buffers_o)>,
pub set_io: ::std::option::Option<
unsafe extern "C" fn(inst: *mut tm_buffers_o, io: *mut tm_os_file_io_api),
>,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_buffers_api {
pub create:
::std::option::Option<unsafe extern "C" fn(a: *mut tm_allocator_i) -> *mut tm_buffers_i>,
pub destroy: ::std::option::Option<unsafe extern "C" fn(i: *mut tm_buffers_i)>,
pub create_streamable: ::std::option::Option<
unsafe extern "C" fn(
a: *mut tm_allocator_i,
io: *mut tm_os_file_io_api,
) -> *mut tm_streamable_buffers_i,
>,
pub destroy_streamable:
::std::option::Option<unsafe extern "C" fn(i: *mut tm_streamable_buffers_i)>,
}
pub const tm_buffer_component_type_TM_BUFFER_COMPONENT_TYPE_FLOAT: tm_buffer_component_type = 0;
pub const tm_buffer_component_type_TM_BUFFER_COMPONENT_TYPE_NORMALIZED_INTEGER:
tm_buffer_component_type = 1;
pub const tm_buffer_component_type_TM_BUFFER_COMPONENT_TYPE_INTEGER: tm_buffer_component_type = 2;
pub const tm_buffer_component_type_TM_BUFFER_COMPONENT_TYPE_DEPTH_STENCIL:
tm_buffer_component_type = 3;
pub type tm_buffer_component_type = ::std::os::raw::c_int;
pub const tm_buffer_compression_format_TM_BUFFER_COMPRESSION_FORMAT_BC1_RGB:
tm_buffer_compression_format = 0;
pub const tm_buffer_compression_format_TM_BUFFER_COMPRESSION_FORMAT_BC1_RGBA:
tm_buffer_compression_format = 1;
pub const tm_buffer_compression_format_TM_BUFFER_COMPRESSION_FORMAT_BC2:
tm_buffer_compression_format = 2;
pub const tm_buffer_compression_format_TM_BUFFER_COMPRESSION_FORMAT_BC3:
tm_buffer_compression_format = 3;
pub const tm_buffer_compression_format_TM_BUFFER_COMPRESSION_FORMAT_BC4:
tm_buffer_compression_format = 4;
pub const tm_buffer_compression_format_TM_BUFFER_COMPRESSION_FORMAT_BC5:
tm_buffer_compression_format = 5;
pub const tm_buffer_compression_format_TM_BUFFER_COMPRESSION_FORMAT_BC6H_U:
tm_buffer_compression_format = 6;
pub const tm_buffer_compression_format_TM_BUFFER_COMPRESSION_FORMAT_BC6H_S:
tm_buffer_compression_format = 7;
pub const tm_buffer_compression_format_TM_BUFFER_COMPRESSION_FORMAT_BC7:
tm_buffer_compression_format = 8;
pub const tm_buffer_compression_format_TM_BUFFER_COMPRESSION_FORMAT_MAX_FORMATS:
tm_buffer_compression_format = 9;
pub type tm_buffer_compression_format = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_buffer_format_api {
pub encode_uncompressed_format: ::std::option::Option<
unsafe extern "C" fn(
component_type: u32,
sign: bool,
bits_x: u8,
bits_y: u8,
bits_z: u8,
bits_w: u8,
) -> u32,
>,
pub encode_compressed_format:
::std::option::Option<unsafe extern "C" fn(compression_type: u32) -> u32>,
pub is_compressed: ::std::option::Option<unsafe extern "C" fn(format: u32) -> bool>,
pub decode_uncompressed: ::std::option::Option<
unsafe extern "C" fn(
format: u32,
component_type: *mut u32,
sign: *mut bool,
bits_x: *mut u8,
bits_y: *mut u8,
bits_z: *mut u8,
bits_w: *mut u8,
) -> bool,
>,
pub decode_compression_format: ::std::option::Option<
unsafe extern "C" fn(format: u32, compression_format: *mut u32) -> bool,
>,
pub bits_per_element: ::std::option::Option<unsafe extern "C" fn(format: u32) -> u32>,
pub num_components: ::std::option::Option<unsafe extern "C" fn(format: u32) -> u32>,
pub human_readable: ::std::option::Option<
unsafe extern "C" fn(
format: u32,
ta: *mut tm_temp_allocator_i,
) -> *const ::std::os::raw::c_char,
>,
}
pub const tm_camera_transform_TM_CAMERA_TRANSFORM_DEFAULT: tm_camera_transform = 0;
pub const tm_camera_transform_TM_CAMERA_TRANSFORM_EYE_LEFT: tm_camera_transform = 1;
pub const tm_camera_transform_TM_CAMERA_TRANSFORM_EYE_RIGHT: tm_camera_transform = 2;
pub const tm_camera_transform_TM_CAMERA_TRANSFORM_MAX_TRANSFORMS: tm_camera_transform = 3;
pub type tm_camera_transform = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_camera_t {
pub projection: [tm_mat44_t; 3usize],
pub view: [tm_mat44_t; 3usize],
pub near_plane: f32,
pub far_plane: f32,
pub vertical_fov: f32,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_camera_api {
pub view_from_transform: ::std::option::Option<
unsafe extern "C" fn(view: *mut tm_mat44_t, tm: *const tm_transform_t) -> *mut tm_mat44_t,
>,
pub transform_from_view: ::std::option::Option<
unsafe extern "C" fn(
tm: *mut tm_transform_t,
view: *const tm_mat44_t,
) -> *mut tm_transform_t,
>,
pub projection_from_frustum: ::std::option::Option<
unsafe extern "C" fn(
proj: *mut tm_mat44_t,
left: f32,
right: f32,
bottom: f32,
top: f32,
near: f32,
far: f32,
) -> *mut tm_mat44_t,
>,
pub projection_from_fov: ::std::option::Option<
unsafe extern "C" fn(
proj: *mut tm_mat44_t,
near_plane: f32,
far_plane: f32,
vertical_fov: f32,
aspect: f32,
) -> *mut tm_mat44_t,
>,
pub orthographic_from_frustum: ::std::option::Option<
unsafe extern "C" fn(
proj: *mut tm_mat44_t,
left: f32,
right: f32,
bottom: f32,
top: f32,
near: f32,
far: f32,
) -> *mut tm_mat44_t,
>,
pub update_free_flight: ::std::option::Option<
unsafe extern "C" fn(tm: *mut tm_transform_t, t: tm_vec3_t, r: tm_vec2_t),
>,
pub update_pan: ::std::option::Option<
unsafe extern "C" fn(
tm: *mut tm_transform_t,
focus_position: *mut tm_vec3_t,
pan: tm_vec2_t,
),
>,
pub update_maya: ::std::option::Option<
unsafe extern "C" fn(
tm: *mut tm_transform_t,
focus_position: tm_vec3_t,
zoom: f32,
rot: tm_vec2_t,
),
>,
pub world_to_screen: ::std::option::Option<
unsafe extern "C" fn(
camera: *const tm_camera_t,
transform: tm_camera_transform,
viewport: tm_rect_t,
world: *const tm_vec3_t,
screen: *mut tm_vec3_t,
n: u32,
) -> *mut tm_vec3_t,
>,
pub screen_to_world: ::std::option::Option<
unsafe extern "C" fn(
camera: *const tm_camera_t,
transform: tm_camera_transform,
viewport: tm_rect_t,
screen: *const tm_vec3_t,
world: *mut tm_vec3_t,
n: u32,
) -> *mut tm_vec3_t,
>,
pub meters_per_pixel: ::std::option::Option<
unsafe extern "C" fn(distance: f32, vertical_fov: f32, viewport_height: f32) -> f32,
>,
}
pub const tm_collaboration_status_TM_COLLABORATION_STATUS_DISCONNECTED: tm_collaboration_status = 0;
pub const tm_collaboration_status_TM_COLLABORATION_STATUS_HOST_STARTING: tm_collaboration_status =
1;
pub const tm_collaboration_status_TM_COLLABORATION_STATUS_HOST: tm_collaboration_status = 2;
pub const tm_collaboration_status_TM_COLLABORATION_STATUS_CONNECTING: tm_collaboration_status = 3;
pub const tm_collaboration_status_TM_COLLABORATION_STATUS_CLIENT: tm_collaboration_status = 4;
pub const tm_collaboration_status_TM_COLLABORATION_STATUS_ERROR: tm_collaboration_status = 5;
pub type tm_collaboration_status = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_collaboration_config_t {
pub tt: *mut tm_the_truth_o,
pub ud: *mut ::std::os::raw::c_void,
pub host_save_state: ::std::option::Option<
unsafe extern "C" fn(
ud: *mut ::std::os::raw::c_void,
carray: *mut *mut ::std::os::raw::c_char,
a: *mut tm_allocator_i,
),
>,
pub client_reset_truth: ::std::option::Option<
unsafe extern "C" fn(ud: *mut ::std::os::raw::c_void) -> *mut tm_the_truth_o,
>,
pub client_decompress_state: ::std::option::Option<
unsafe extern "C" fn(
app_ud: *mut ::std::os::raw::c_void,
state: *const ::std::os::raw::c_char,
size: u64,
allocator: *mut tm_allocator_i,
) -> *mut ::std::os::raw::c_char,
>,
pub client_buffer_hashes: ::std::option::Option<
unsafe extern "C" fn(
ud: *mut ::std::os::raw::c_void,
state: *const ::std::os::raw::c_char,
size: u64,
count: *mut u64,
) -> *const u64,
>,
pub client_load_state: ::std::option::Option<
unsafe extern "C" fn(
ud: *mut ::std::os::raw::c_void,
state: *const ::std::os::raw::c_char,
size: u64,
) -> bool,
>,
pub cache_dir: *const ::std::os::raw::c_char,
}
impl Default for tm_collaboration_config_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub const tm_collaboration_session_type_TM_COLLABORATION_SESSION_TYPE_NONE:
tm_collaboration_session_type = 0;
pub const tm_collaboration_session_type_TM_COLLABORATION_SESSION_TYPE_HOST:
tm_collaboration_session_type = 1;
pub const tm_collaboration_session_type_TM_COLLABORATION_SESSION_TYPE_CLIENT:
tm_collaboration_session_type = 2;
pub type tm_collaboration_session_type = ::std::os::raw::c_int;
pub const tm_collaboration_session_status_TM_COLLABORATION_SESSION_STATUS_DISCONNECTED:
tm_collaboration_session_status = 0;
pub const tm_collaboration_session_status_TM_COLLABORATION_SESSION_STATUS_CONNECTING:
tm_collaboration_session_status = 1;
pub const tm_collaboration_session_status_TM_COLLABORATION_SESSION_STATUS_CONNECTED:
tm_collaboration_session_status = 2;
pub const tm_collaboration_session_status_TM_COLLABORATION_SESSION_STATUS_ERROR:
tm_collaboration_session_status = 3;
pub type tm_collaboration_session_status = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_collaboration_session_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_collaboration_session_i {
pub inst: *mut tm_collaboration_session_o,
pub destroy: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_collaboration_session_o)>,
pub architecture:
::std::option::Option<unsafe extern "C" fn(inst: *mut tm_collaboration_session_o) -> u64>,
pub host_id:
::std::option::Option<unsafe extern "C" fn(inst: *mut tm_collaboration_session_o) -> u64>,
pub get_client_request: ::std::option::Option<
unsafe extern "C" fn(inst: *mut tm_collaboration_session_o, client_id: *mut u64) -> bool,
>,
pub accept_client: ::std::option::Option<
unsafe extern "C" fn(inst: *mut tm_collaboration_session_o, client_id: u64),
>,
pub send: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_collaboration_session_o,
client_id: u64,
buf: *const u8,
size: u64,
),
>,
pub flush: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_collaboration_session_o)>,
pub update: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_collaboration_session_o)>,
pub get_package_data: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_collaboration_session_o,
client_id: u64,
data: *mut u8,
size: *mut u64,
) -> bool,
>,
pub close_client: ::std::option::Option<
unsafe extern "C" fn(inst: *mut tm_collaboration_session_o, client_id: u64),
>,
pub send_ping: ::std::option::Option<
unsafe extern "C" fn(inst: *mut tm_collaboration_session_o, client_id: u64),
>,
pub type_: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_collaboration_session_o,
) -> tm_collaboration_session_type,
>,
pub status: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_collaboration_session_o,
) -> tm_collaboration_session_status,
>,
pub is_client_alive: ::std::option::Option<
unsafe extern "C" fn(inst: *mut tm_collaboration_session_o, client_id: u64) -> bool,
>,
pub receive_progress: ::std::option::Option<
unsafe extern "C" fn(
inst: *const tm_collaboration_session_o,
bytes: *mut u64,
total: *mut u64,
) -> bool,
>,
pub status_message: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_collaboration_session_o,
buf: *mut ::std::os::raw::c_char,
max_size: u32,
),
>,
}
impl Default for tm_collaboration_session_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_collaboration_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_collaboration_api {
pub create: ::std::option::Option<
unsafe extern "C" fn(
a: *mut tm_allocator_i,
config: *const tm_collaboration_config_t,
) -> *mut tm_collaboration_o,
>,
pub destroy: ::std::option::Option<unsafe extern "C" fn(coll: *mut tm_collaboration_o)>,
pub status: ::std::option::Option<
unsafe extern "C" fn(coll: *const tm_collaboration_o) -> tm_collaboration_status,
>,
pub is_downloading: ::std::option::Option<
unsafe extern "C" fn(
coll: *const tm_collaboration_o,
bytes: *mut u64,
total: *mut u64,
) -> bool,
>,
pub set_session: ::std::option::Option<
unsafe extern "C" fn(
coll: *mut tm_collaboration_o,
session: *const tm_collaboration_session_i,
),
>,
pub session: ::std::option::Option<
unsafe extern "C" fn(coll: *mut tm_collaboration_o) -> *mut tm_collaboration_session_i,
>,
pub disconnect: ::std::option::Option<unsafe extern "C" fn(coll: *mut tm_collaboration_o)>,
pub update: ::std::option::Option<unsafe extern "C" fn(coll: *mut tm_collaboration_o)>,
pub handle: ::std::option::Option<
unsafe extern "C" fn(coll: *const tm_collaboration_o) -> *const ::std::os::raw::c_char,
>,
pub set_handle: ::std::option::Option<
unsafe extern "C" fn(c: *mut tm_collaboration_o, handle: *mut ::std::os::raw::c_char),
>,
pub host_handle: ::std::option::Option<
unsafe extern "C" fn(c: *const tm_collaboration_o) -> *const ::std::os::raw::c_char,
>,
pub num_clients:
::std::option::Option<unsafe extern "C" fn(coll: *const tm_collaboration_o) -> u32>,
pub client_handle: ::std::option::Option<
unsafe extern "C" fn(
coll: *const tm_collaboration_o,
i: u32,
) -> *const ::std::os::raw::c_char,
>,
pub all_handles: ::std::option::Option<
unsafe extern "C" fn(
coll: *const tm_collaboration_o,
ta: *mut tm_temp_allocator_i,
) -> *mut *const ::std::os::raw::c_char,
>,
pub send_chat: ::std::option::Option<
unsafe extern "C" fn(coll: *mut tm_collaboration_o, msg: *const ::std::os::raw::c_char),
>,
pub num_chat_messages:
::std::option::Option<unsafe extern "C" fn(coll: *const tm_collaboration_o) -> u32>,
pub chat_message: ::std::option::Option<
unsafe extern "C" fn(
coll: *const tm_collaboration_o,
i: u32,
sender: *mut *const ::std::os::raw::c_char,
) -> *const ::std::os::raw::c_char,
>,
pub resynchronize_state: ::std::option::Option<
unsafe extern "C" fn(coll: *mut tm_collaboration_o, tt: *mut tm_the_truth_o),
>,
pub send_test_packages: ::std::option::Option<
unsafe extern "C" fn(coll: *mut tm_collaboration_o, size: u64, num: u32),
>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_collaboration_p2p_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_collaboration_discovered_host_t {
pub address: *const tm_socket_address_t,
pub name: *const ::std::os::raw::c_char,
}
impl Default for tm_collaboration_discovered_host_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_collaboration_p2p_api {
pub create: ::std::option::Option<
unsafe extern "C" fn(
coll: *mut tm_collaboration_o,
allocator: *mut tm_allocator_i,
) -> *mut tm_collaboration_p2p_o,
>,
pub destroy: ::std::option::Option<unsafe extern "C" fn(coll_p2p: *mut tm_collaboration_p2p_o)>,
pub update: ::std::option::Option<unsafe extern "C" fn(coll_p2p: *mut tm_collaboration_p2p_o)>,
pub host: ::std::option::Option<
unsafe extern "C" fn(coll_p2p: *mut tm_collaboration_p2p_o, port: u32, use_upnp: bool),
>,
pub connect: ::std::option::Option<
unsafe extern "C" fn(
coll_p2p: *mut tm_collaboration_p2p_o,
address: *const tm_socket_address_t,
),
>,
pub discovered_lan_hosts: ::std::option::Option<
unsafe extern "C" fn(
coll_p2p: *const tm_collaboration_p2p_o,
hosts: *mut tm_collaboration_discovered_host_t,
max_hosts: u32,
) -> u32,
>,
}
pub const tm_config_type_TM_CONFIG_TYPE_NULL: tm_config_type = 0;
pub const tm_config_type_TM_CONFIG_TYPE_FALSE: tm_config_type = 1;
pub const tm_config_type_TM_CONFIG_TYPE_TRUE: tm_config_type = 2;
pub const tm_config_type_TM_CONFIG_TYPE_NUMBER: tm_config_type = 3;
pub const tm_config_type_TM_CONFIG_TYPE_STRING: tm_config_type = 4;
pub const tm_config_type_TM_CONFIG_TYPE_ARRAY: tm_config_type = 5;
pub const tm_config_type_TM_CONFIG_TYPE_OBJECT: tm_config_type = 6;
pub type tm_config_type = ::std::os::raw::c_int;
#[repr(C)]
#[repr(align(4))]
#[derive(Default, Copy, Clone)]
pub struct tm_config_item_t {
pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>,
}
impl tm_config_item_t {
#[inline]
pub fn type_(&self) -> u32 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 3u8) as u32) }
}
#[inline]
pub fn set_type(&mut self, val: u32) {
unsafe {
let val: u32 = ::std::mem::transmute(val);
self._bitfield_1.set(0usize, 3u8, val as u64)
}
}
#[inline]
pub fn offset(&self) -> u32 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 29u8) as u32) }
}
#[inline]
pub fn set_offset(&mut self, val: u32) {
unsafe {
let val: u32 = ::std::mem::transmute(val);
self._bitfield_1.set(3usize, 29u8, val as u64)
}
}
#[inline]
pub fn new_bitfield_1(type_: u32, offset: u32) -> __BindgenBitfieldUnit<[u8; 4usize], u32> {
let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> =
Default::default();
__bindgen_bitfield_unit.set(0usize, 3u8, {
let type_: u32 = unsafe { ::std::mem::transmute(type_) };
type_ as u64
});
__bindgen_bitfield_unit.set(3usize, 29u8, {
let offset: u32 = unsafe { ::std::mem::transmute(offset) };
offset as u64
});
__bindgen_bitfield_unit
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_config_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_config_i {
pub inst: *mut tm_config_o,
pub root:
::std::option::Option<unsafe extern "C" fn(inst: *mut tm_config_o) -> tm_config_item_t>,
pub to_number: ::std::option::Option<
unsafe extern "C" fn(inst: *mut tm_config_o, item: tm_config_item_t) -> f64,
>,
pub to_string: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_config_o,
item: tm_config_item_t,
) -> *const ::std::os::raw::c_char,
>,
pub to_array: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_config_o,
item: tm_config_item_t,
items: *mut *mut tm_config_item_t,
) -> u32,
>,
pub to_object: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_config_o,
item: tm_config_item_t,
keys: *mut *mut tm_config_item_t,
values: *mut *mut tm_config_item_t,
) -> u32,
>,
pub add_number: ::std::option::Option<
unsafe extern "C" fn(inst: *mut tm_config_o, n: f64) -> tm_config_item_t,
>,
pub add_string: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_config_o,
s: *const ::std::os::raw::c_char,
) -> tm_config_item_t,
>,
pub add_array: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_config_o,
items: *const tm_config_item_t,
size: u32,
) -> tm_config_item_t,
>,
pub add_object: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_config_o,
keys: *const tm_config_item_t,
values: *const tm_config_item_t,
size: u32,
) -> tm_config_item_t,
>,
pub add_object_with_string_keys: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_config_o,
keys: *mut *const ::std::os::raw::c_char,
values: *const tm_config_item_t,
size: u32,
) -> tm_config_item_t,
>,
pub array_set: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_config_o,
array: tm_config_item_t,
i: u32,
item: tm_config_item_t,
),
>,
pub array_push: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_config_o,
array: tm_config_item_t,
item: tm_config_item_t,
),
>,
pub object_get: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_config_o,
object: tm_config_item_t,
key_hash: u64,
) -> tm_config_item_t,
>,
pub object_update: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_config_o,
object: tm_config_item_t,
key_hash: u64,
value: tm_config_item_t,
),
>,
pub object_add: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_config_o,
object: tm_config_item_t,
key: *const ::std::os::raw::c_char,
value: tm_config_item_t,
),
>,
pub set_root:
::std::option::Option<unsafe extern "C" fn(inst: *mut tm_config_o, root: tm_config_item_t)>,
pub copy:
::std::option::Option<unsafe extern "C" fn(dst: *mut tm_config_o, src: *mut tm_config_o)>,
pub allocator:
::std::option::Option<unsafe extern "C" fn(inst: *mut tm_config_o) -> *mut tm_allocator_i>,
}
impl Default for tm_config_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_config_api {
pub create:
::std::option::Option<unsafe extern "C" fn(a: *mut tm_allocator_i) -> *mut tm_config_i>,
pub destroy: ::std::option::Option<unsafe extern "C" fn(cdi: *mut tm_config_i)>,
pub c_null: tm_config_item_t,
pub c_false: tm_config_item_t,
pub c_true: tm_config_item_t,
pub _padding_153: [::std::os::raw::c_char; 4usize],
}
pub const tm_core_create_policy_TM_CORE_CREATE_POLICY__CREATE: tm_core_create_policy = 0;
pub const tm_core_create_policy_TM_CORE_CREATE_POLICY__REMOVE: tm_core_create_policy = 1;
pub const tm_core_create_policy_TM_CORE_CREATE_POLICY__IGNORE: tm_core_create_policy = 2;
pub type tm_core_create_policy = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_core_asset_i {
pub core_id: u64,
pub path: *const ::std::os::raw::c_char,
pub create_policy: tm_core_create_policy,
pub _padding_60: [::std::os::raw::c_char; 4usize],
pub version: u64,
pub user_data: *const ::std::os::raw::c_void,
pub create: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
user_data: *const ::std::os::raw::c_void,
) -> tm_tt_id_t,
>,
pub update: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
data_id: tm_tt_id_t,
old_version: u64,
user_data: *const ::std::os::raw::c_void,
),
>,
}
impl Default for tm_core_asset_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_core_update_result_t {
pub created_assets: *mut tm_tt_id_t,
pub removed_assets: *mut tm_tt_id_t,
pub updated_assets: *mut tm_tt_id_t,
}
impl Default for tm_core_update_result_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_core_api {
pub create: ::std::option::Option<
unsafe extern "C" fn(tt: *mut tm_the_truth_o, asset_root_id: tm_tt_id_t),
>,
pub update: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
asset_root_id: tm_tt_id_t,
ta: *mut tm_temp_allocator_i,
) -> tm_core_update_result_t,
>,
pub locate_asset: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
asset_root_id: tm_tt_id_t,
core_id: u64,
) -> tm_tt_id_t,
>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_core_importer_asset_t {
pub id: u64,
pub version: u64,
pub path: *const ::std::os::raw::c_char,
pub create_policy: u32,
pub _padding_46: [::std::os::raw::c_char; 4usize],
}
impl Default for tm_core_importer_asset_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_core_importer_state_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_core_importer_api {
pub create: ::std::option::Option<
unsafe extern "C" fn(
a: *mut tm_allocator_i,
user_tt: *mut tm_the_truth_o,
user_asset_root: tm_tt_id_t,
core_project_path: *const ::std::os::raw::c_char,
output_path: *const ::std::os::raw::c_char,
) -> *mut tm_core_importer_state_o,
>,
pub destroy: ::std::option::Option<unsafe extern "C" fn(state: *mut tm_core_importer_state_o)>,
pub register_assets: ::std::option::Option<
unsafe extern "C" fn(
state: *mut tm_core_importer_state_o,
to_register: *const tm_core_importer_asset_t,
num_to_register: u32,
),
>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_crash_recovery_can_recover_result_t {
pub data: *const ::std::os::raw::c_char,
pub data_bytes: u32,
pub _padding_24: [::std::os::raw::c_char; 4usize],
pub project: *const ::std::os::raw::c_char,
pub root: *const tm_uuid_t,
}
impl Default for tm_crash_recovery_can_recover_result_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_crash_recovery_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_crash_recovery_api {
pub create: ::std::option::Option<
unsafe extern "C" fn(
a: *mut tm_allocator_i,
recovery_path: *const ::std::os::raw::c_char,
) -> *mut tm_crash_recovery_o,
>,
pub destroy: ::std::option::Option<unsafe extern "C" fn(cr: *mut tm_crash_recovery_o)>,
pub start_recording: ::std::option::Option<
unsafe extern "C" fn(
cr: *mut tm_crash_recovery_o,
project: *const ::std::os::raw::c_char,
tt: *mut tm_the_truth_o,
root: tm_tt_id_t,
),
>,
pub stop_recording: ::std::option::Option<unsafe extern "C" fn(cr: *mut tm_crash_recovery_o)>,
pub update: ::std::option::Option<unsafe extern "C" fn(cr: *mut tm_crash_recovery_o)>,
pub can_recover: ::std::option::Option<
unsafe extern "C" fn(
cr: *mut tm_crash_recovery_o,
ta: *mut tm_temp_allocator_i,
) -> tm_crash_recovery_can_recover_result_t,
>,
pub recover: ::std::option::Option<
unsafe extern "C" fn(
cr: *mut tm_crash_recovery_o,
rd: tm_crash_recovery_can_recover_result_t,
),
>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_error_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_error_i {
pub inst: *mut tm_error_o,
pub errorf: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_error_o,
file: *const ::std::os::raw::c_char,
line: u32,
format: *const ::std::os::raw::c_char,
...
),
>,
pub fatal: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_error_o,
file: *const ::std::os::raw::c_char,
line: u32,
format: *const ::std::os::raw::c_char,
...
),
>,
}
impl Default for tm_error_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_error_api {
pub log: *mut tm_error_i,
pub def: *mut tm_error_i,
}
impl Default for tm_error_api {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_feature_flags_api {
pub enabled: ::std::option::Option<unsafe extern "C" fn(flag: u64) -> bool>,
pub set_enabled: ::std::option::Option<unsafe extern "C" fn(flag: u64, enabled: bool)>,
pub all_enabled: ::std::option::Option<unsafe extern "C" fn(count: *mut u32) -> *const u64>,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_git_ignore_api {
pub match_: ::std::option::Option<
unsafe extern "C" fn(
patterns: *const ::std::os::raw::c_char,
path: *const ::std::os::raw::c_char,
) -> bool,
>,
}
pub const tm_image_type_TM_IMAGE_TYPE_1D: tm_image_type = 0;
pub const tm_image_type_TM_IMAGE_TYPE_2D: tm_image_type = 1;
pub const tm_image_type_TM_IMAGE_TYPE_3D: tm_image_type = 2;
pub const tm_image_type_TM_IMAGE_TYPE_CUBE: tm_image_type = 3;
pub type tm_image_type = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_image_t {
pub type_: u32,
pub pixel_format: u32,
pub width: u32,
pub height: u32,
pub depth: u32,
pub mip_levels: u32,
pub layers: u32,
pub size: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_image_archive_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_image_archive_i {
pub inst: *mut tm_image_archive_o,
pub read: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_image_archive_o,
buffer: *mut ::std::os::raw::c_void,
offset: u64,
size: u32,
) -> u32,
>,
pub size: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_image_archive_o) -> u64>,
}
impl Default for tm_image_archive_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_image_loader_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_image_loader_i {
pub inst: *mut tm_image_loader_o,
pub extensions_string: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_image_loader_o,
output: *mut *mut ::std::os::raw::c_char,
ta: *mut tm_temp_allocator_i,
separator: *const ::std::os::raw::c_char,
),
>,
pub description_string: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_image_loader_o,
output: *mut *mut ::std::os::raw::c_char,
ta: *mut tm_temp_allocator_i,
separator: *const ::std::os::raw::c_char,
),
>,
pub support_from_archive: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_image_loader_o,
image_archive: *mut tm_image_archive_i,
) -> bool,
>,
pub support_from_extension: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_image_loader_o,
extension: *const ::std::os::raw::c_char,
) -> bool,
>,
pub load_image: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_image_loader_o,
image_archive: *mut tm_image_archive_i,
image: *mut tm_image_t,
bits: *mut u8,
) -> bool,
>,
}
impl Default for tm_image_loader_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_image_loader_api {
pub add_loader: ::std::option::Option<unsafe extern "C" fn(loader: *mut tm_image_loader_i)>,
pub remove_loader: ::std::option::Option<unsafe extern "C" fn(loader: *mut tm_image_loader_i)>,
pub loader_from_archive: ::std::option::Option<
unsafe extern "C" fn(image_archive: *mut tm_image_archive_i) -> *mut tm_image_loader_i,
>,
pub loader_from_extension: ::std::option::Option<
unsafe extern "C" fn(extension: *const ::std::os::raw::c_char) -> *mut tm_image_loader_i,
>,
pub loaders:
::std::option::Option<unsafe extern "C" fn(loaders: *mut *mut tm_image_loader_i) -> u32>,
}
pub const tm_input_controller_type_TM_INPUT_CONTROLLER_TYPE_NONE: tm_input_controller_type = 0;
pub const tm_input_controller_type_TM_INPUT_CONTROLLER_TYPE_KEYBOARD: tm_input_controller_type = 1;
pub const tm_input_controller_type_TM_INPUT_CONTROLLER_TYPE_MOUSE: tm_input_controller_type = 2;
pub const tm_input_controller_type_TM_INPUT_CONTROLLER_TYPE_GAMEPAD: tm_input_controller_type = 3;
pub const tm_input_controller_type_TM_INPUT_CONTROLLER_TYPE_TOUCH: tm_input_controller_type = 4;
pub const tm_input_controller_type_TM_INPUT_CONTROLLER_TYPE_PEN: tm_input_controller_type = 5;
pub const tm_input_controller_type_TM_INPUT_CONTROLLER_TYPE_OTHER: tm_input_controller_type = -1;
pub type tm_input_controller_type = ::std::os::raw::c_int;
pub const tm_input_mouse_item_TM_INPUT_MOUSE_ITEM_NONE: tm_input_mouse_item = 0;
pub const tm_input_mouse_item_TM_INPUT_MOUSE_ITEM_BUTTON_LEFT: tm_input_mouse_item = 1;
pub const tm_input_mouse_item_TM_INPUT_MOUSE_ITEM_BUTTON_RIGHT: tm_input_mouse_item = 2;
pub const tm_input_mouse_item_TM_INPUT_MOUSE_ITEM_BUTTON_MIDDLE: tm_input_mouse_item = 3;
pub const tm_input_mouse_item_TM_INPUT_MOUSE_ITEM_BUTTON_4: tm_input_mouse_item = 4;
pub const tm_input_mouse_item_TM_INPUT_MOUSE_ITEM_BUTTON_5: tm_input_mouse_item = 5;
pub const tm_input_mouse_item_TM_INPUT_MOUSE_ITEM_WHEEL: tm_input_mouse_item = 6;
pub const tm_input_mouse_item_TM_INPUT_MOUSE_ITEM_MOVE: tm_input_mouse_item = 7;
pub const tm_input_mouse_item_TM_INPUT_MOUSE_ITEM_POSITION: tm_input_mouse_item = 8;
pub const tm_input_mouse_item_TM_INPUT_MOUSE_ITEM_COUNT: tm_input_mouse_item = 9;
pub type tm_input_mouse_item = ::std::os::raw::c_int;
pub const tm_input_pen_item_TM_INPUT_PEN_ITEM_NONE: tm_input_pen_item = 0;
pub const tm_input_pen_item_TM_INPUT_PEN_ITEM_BUTTON_1: tm_input_pen_item = 1;
pub const tm_input_pen_item_TM_INPUT_PEN_ITEM_BUTTON_2: tm_input_pen_item = 2;
pub const tm_input_pen_item_TM_INPUT_PEN_ITEM_BUTTON_3: tm_input_pen_item = 3;
pub const tm_input_pen_item_TM_INPUT_PEN_ITEM_BUTTON_4: tm_input_pen_item = 4;
pub const tm_input_pen_item_TM_INPUT_PEN_ITEM_BUTTON_5: tm_input_pen_item = 5;
pub const tm_input_pen_item_TM_INPUT_PEN_ITEM_WHEEL: tm_input_pen_item = 6;
pub const tm_input_pen_item_TM_INPUT_PEN_ITEM_POSITION: tm_input_pen_item = 7;
pub const tm_input_pen_item_TM_INPUT_PEN_ITEM_PRESSURE: tm_input_pen_item = 8;
pub const tm_input_pen_item_TM_INPUT_PEN_ITEM_ROTATION: tm_input_pen_item = 9;
pub const tm_input_pen_item_TM_INPUT_PEN_ITEM_TILT: tm_input_pen_item = 10;
pub const tm_input_pen_item_TM_INPUT_PEN_ITEM_INVERTED: tm_input_pen_item = 11;
pub const tm_input_pen_item_TM_INPUT_PEN_ITEM_ERASER: tm_input_pen_item = 12;
pub const tm_input_pen_item_TM_INPUT_PEN_ITEM_COUNT: tm_input_pen_item = 13;
pub type tm_input_pen_item = ::std::os::raw::c_int;
pub const tm_input_touch_item_TM_INPUT_TOUCH_ITEM_NONE: tm_input_touch_item = 0;
pub const tm_input_touch_item_TM_INPUT_TOUCH_ITEM_TOUCH: tm_input_touch_item = 1;
pub const tm_input_touch_item_TM_INPUT_TOUCH_ITEM_POSITION: tm_input_touch_item = 2;
pub const tm_input_touch_item_TM_INPUT_TOUCH_ITEM_PRESSURE: tm_input_touch_item = 3;
pub const tm_input_touch_item_TM_INPUT_TOUCH_ITEM_ORIENTATION: tm_input_touch_item = 4;
pub const tm_input_touch_item_TM_INPUT_TOUCH_ITEM_COUNT: tm_input_touch_item = 5;
pub type tm_input_touch_item = ::std::os::raw::c_int;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NONE: tm_input_keyboard_item = 0;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_LBUTTON: tm_input_keyboard_item = 1;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_RBUTTON: tm_input_keyboard_item = 2;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_CANCEL: tm_input_keyboard_item = 3;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_MBUTTON: tm_input_keyboard_item = 4;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_XBUTTON1: tm_input_keyboard_item = 5;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_XBUTTON2: tm_input_keyboard_item = 6;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_BACKSPACE: tm_input_keyboard_item = 8;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_TAB: tm_input_keyboard_item = 9;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_CLEAR: tm_input_keyboard_item = 12;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_ENTER: tm_input_keyboard_item = 13;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_SHIFT: tm_input_keyboard_item = 16;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_CONTROL: tm_input_keyboard_item = 17;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_MENU: tm_input_keyboard_item = 18;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_PAUSE: tm_input_keyboard_item = 19;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_CAPSLOCK: tm_input_keyboard_item = 20;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_KANA: tm_input_keyboard_item = 21;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_JUNJA: tm_input_keyboard_item = 23;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_FINAL: tm_input_keyboard_item = 24;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_HANJA: tm_input_keyboard_item = 25;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_KANJI: tm_input_keyboard_item = 25;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_ESCAPE: tm_input_keyboard_item = 27;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_CONVERT: tm_input_keyboard_item = 28;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NONCONVERT: tm_input_keyboard_item = 29;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_ACCEPT: tm_input_keyboard_item = 30;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_MODECHANGE: tm_input_keyboard_item = 31;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_SPACE: tm_input_keyboard_item = 32;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_PAGEUP: tm_input_keyboard_item = 33;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_PAGEDOWN: tm_input_keyboard_item = 34;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_END: tm_input_keyboard_item = 35;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_HOME: tm_input_keyboard_item = 36;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_LEFT: tm_input_keyboard_item = 37;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_UP: tm_input_keyboard_item = 38;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_RIGHT: tm_input_keyboard_item = 39;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_DOWN: tm_input_keyboard_item = 40;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_SELECT: tm_input_keyboard_item = 41;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_PRINT: tm_input_keyboard_item = 42;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_EXECUTE: tm_input_keyboard_item = 43;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_PRINTSCREEN: tm_input_keyboard_item = 44;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_INSERT: tm_input_keyboard_item = 45;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_DELETE: tm_input_keyboard_item = 46;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_HELP: tm_input_keyboard_item = 47;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_0: tm_input_keyboard_item = 48;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_1: tm_input_keyboard_item = 49;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_2: tm_input_keyboard_item = 50;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_3: tm_input_keyboard_item = 51;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_4: tm_input_keyboard_item = 52;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_5: tm_input_keyboard_item = 53;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_6: tm_input_keyboard_item = 54;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_7: tm_input_keyboard_item = 55;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_8: tm_input_keyboard_item = 56;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_9: tm_input_keyboard_item = 57;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_A: tm_input_keyboard_item = 65;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_B: tm_input_keyboard_item = 66;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_C: tm_input_keyboard_item = 67;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_D: tm_input_keyboard_item = 68;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_E: tm_input_keyboard_item = 69;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_F: tm_input_keyboard_item = 70;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_G: tm_input_keyboard_item = 71;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_H: tm_input_keyboard_item = 72;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_I: tm_input_keyboard_item = 73;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_J: tm_input_keyboard_item = 74;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_K: tm_input_keyboard_item = 75;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_L: tm_input_keyboard_item = 76;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_M: tm_input_keyboard_item = 77;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_N: tm_input_keyboard_item = 78;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_O: tm_input_keyboard_item = 79;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_P: tm_input_keyboard_item = 80;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_Q: tm_input_keyboard_item = 81;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_R: tm_input_keyboard_item = 82;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_S: tm_input_keyboard_item = 83;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_T: tm_input_keyboard_item = 84;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_U: tm_input_keyboard_item = 85;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_V: tm_input_keyboard_item = 86;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_W: tm_input_keyboard_item = 87;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_X: tm_input_keyboard_item = 88;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_Y: tm_input_keyboard_item = 89;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_Z: tm_input_keyboard_item = 90;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_LWIN: tm_input_keyboard_item = 91;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_RWIN: tm_input_keyboard_item = 92;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_APPS: tm_input_keyboard_item = 93;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_SLEEP: tm_input_keyboard_item = 95;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NUMPAD0: tm_input_keyboard_item = 96;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NUMPAD1: tm_input_keyboard_item = 97;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NUMPAD2: tm_input_keyboard_item = 98;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NUMPAD3: tm_input_keyboard_item = 99;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NUMPAD4: tm_input_keyboard_item = 100;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NUMPAD5: tm_input_keyboard_item = 101;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NUMPAD6: tm_input_keyboard_item = 102;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NUMPAD7: tm_input_keyboard_item = 103;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NUMPAD8: tm_input_keyboard_item = 104;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NUMPAD9: tm_input_keyboard_item = 105;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NUMPADASTERISK: tm_input_keyboard_item =
106;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NUMPADPLUS: tm_input_keyboard_item = 107;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NUMPADENTER: tm_input_keyboard_item = 108;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NUMPADMINUS: tm_input_keyboard_item = 109;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NUMPADDOT: tm_input_keyboard_item = 110;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NUMPADSLASH: tm_input_keyboard_item = 111;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_F1: tm_input_keyboard_item = 112;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_F2: tm_input_keyboard_item = 113;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_F3: tm_input_keyboard_item = 114;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_F4: tm_input_keyboard_item = 115;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_F5: tm_input_keyboard_item = 116;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_F6: tm_input_keyboard_item = 117;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_F7: tm_input_keyboard_item = 118;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_F8: tm_input_keyboard_item = 119;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_F9: tm_input_keyboard_item = 120;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_F10: tm_input_keyboard_item = 121;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_F11: tm_input_keyboard_item = 122;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_F12: tm_input_keyboard_item = 123;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_F13: tm_input_keyboard_item = 124;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_F14: tm_input_keyboard_item = 125;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_F15: tm_input_keyboard_item = 126;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_F16: tm_input_keyboard_item = 127;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_F17: tm_input_keyboard_item = 128;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_F18: tm_input_keyboard_item = 129;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_F19: tm_input_keyboard_item = 130;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_F20: tm_input_keyboard_item = 131;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_F21: tm_input_keyboard_item = 132;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_F22: tm_input_keyboard_item = 133;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_F23: tm_input_keyboard_item = 134;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_F24: tm_input_keyboard_item = 135;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NAVIGATION_VIEW: tm_input_keyboard_item =
136;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NAVIGATION_MENU: tm_input_keyboard_item =
137;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NAVIGATION_UP: tm_input_keyboard_item = 138;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NAVIGATION_DOWN: tm_input_keyboard_item =
139;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NAVIGATION_LEFT: tm_input_keyboard_item =
140;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NAVIGATION_RIGHT: tm_input_keyboard_item =
141;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NAVIGATION_ACCEPT: tm_input_keyboard_item =
142;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NAVIGATION_CANCEL: tm_input_keyboard_item =
143;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NUMLOCK: tm_input_keyboard_item = 144;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_SCROLLLOCK: tm_input_keyboard_item = 145;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NUMPADEQUAL: tm_input_keyboard_item = 146;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_OEM_FJ_JISHO: tm_input_keyboard_item = 146;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_OEM_FJ_MASSHOU: tm_input_keyboard_item =
147;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_OEM_FJ_TOUROKU: tm_input_keyboard_item =
148;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_OEM_FJ_LOYA: tm_input_keyboard_item = 149;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_OEM_FJ_ROYA: tm_input_keyboard_item = 150;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_LEFTSHIFT: tm_input_keyboard_item = 160;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_RIGHTSHIFT: tm_input_keyboard_item = 161;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_LEFTCONTROL: tm_input_keyboard_item = 162;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_RIGHTCONTROL: tm_input_keyboard_item = 163;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_LEFTALT: tm_input_keyboard_item = 164;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_RIGHTALT: tm_input_keyboard_item = 165;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_BROWSER_BACK: tm_input_keyboard_item = 166;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_BROWSER_FORWARD: tm_input_keyboard_item =
167;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_BROWSER_REFRESH: tm_input_keyboard_item =
168;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_BROWSER_STOP: tm_input_keyboard_item = 169;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_BROWSER_SEARCH: tm_input_keyboard_item =
170;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_BROWSER_FAVORITES: tm_input_keyboard_item =
171;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_BROWSER_HOME: tm_input_keyboard_item = 172;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_VOLUME_MUTE: tm_input_keyboard_item = 173;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_VOLUME_DOWN: tm_input_keyboard_item = 174;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_VOLUME_UP: tm_input_keyboard_item = 175;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_MEDIA_NEXT_TRACK: tm_input_keyboard_item =
176;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_MEDIA_PREV_TRACK: tm_input_keyboard_item =
177;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_MEDIA_STOP: tm_input_keyboard_item = 178;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_MEDIA_PLAY_PAUSE: tm_input_keyboard_item =
179;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_LAUNCH_MAIL: tm_input_keyboard_item = 180;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_LAUNCH_MEDIA_SELECT:
tm_input_keyboard_item = 181;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_LAUNCH_APP1: tm_input_keyboard_item = 182;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_LAUNCH_APP2: tm_input_keyboard_item = 183;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_SEMICOLON: tm_input_keyboard_item = 186;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_EQUAL: tm_input_keyboard_item = 187;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_COMMA: tm_input_keyboard_item = 188;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_MINUS: tm_input_keyboard_item = 189;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_DOT: tm_input_keyboard_item = 190;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_SLASH: tm_input_keyboard_item = 191;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_GRAVE: tm_input_keyboard_item = 192;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_GAMEPAD_A: tm_input_keyboard_item = 195;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_GAMEPAD_B: tm_input_keyboard_item = 196;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_GAMEPAD_X: tm_input_keyboard_item = 197;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_GAMEPAD_Y: tm_input_keyboard_item = 198;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_GAMEPAD_RIGHT_SHOULDER:
tm_input_keyboard_item = 199;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_GAMEPAD_LEFT_SHOULDER:
tm_input_keyboard_item = 200;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_GAMEPAD_LEFT_TRIGGER:
tm_input_keyboard_item = 201;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_GAMEPAD_RIGHT_TRIGGER:
tm_input_keyboard_item = 202;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_GAMEPAD_DPAD_UP: tm_input_keyboard_item =
203;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_GAMEPAD_DPAD_DOWN: tm_input_keyboard_item =
204;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_GAMEPAD_DPAD_LEFT: tm_input_keyboard_item =
205;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_GAMEPAD_DPAD_RIGHT: tm_input_keyboard_item =
206;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_GAMEPAD_MENU: tm_input_keyboard_item = 207;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_GAMEPAD_VIEW: tm_input_keyboard_item = 208;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_GAMEPAD_LEFT_THUMBSTICK_BUTTON:
tm_input_keyboard_item = 209;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_GAMEPAD_RIGHT_THUMBSTICK_BUTTON:
tm_input_keyboard_item = 210;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_GAMEPAD_LEFT_THUMBSTICK_UP:
tm_input_keyboard_item = 211;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_GAMEPAD_LEFT_THUMBSTICK_DOWN:
tm_input_keyboard_item = 212;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_GAMEPAD_LEFT_THUMBSTICK_RIGHT:
tm_input_keyboard_item = 213;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_GAMEPAD_LEFT_THUMBSTICK_LEFT:
tm_input_keyboard_item = 214;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_GAMEPAD_RIGHT_THUMBSTICK_UP:
tm_input_keyboard_item = 215;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_GAMEPAD_RIGHT_THUMBSTICK_DOWN:
tm_input_keyboard_item = 216;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_GAMEPAD_RIGHT_THUMBSTICK_RIGHT:
tm_input_keyboard_item = 217;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_GAMEPAD_RIGHT_THUMBSTICK_LEFT:
tm_input_keyboard_item = 218;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_LEFTBRACE: tm_input_keyboard_item = 219;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_BACKSLASH: tm_input_keyboard_item = 220;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_RIGHTBRACE: tm_input_keyboard_item = 221;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_APOSTROPHE: tm_input_keyboard_item = 222;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_OEM_8: tm_input_keyboard_item = 223;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_OEM_AX: tm_input_keyboard_item = 225;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_OEM_102: tm_input_keyboard_item = 226;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_ICO_HELP: tm_input_keyboard_item = 227;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_ICO_00: tm_input_keyboard_item = 228;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_PROCESSKEY: tm_input_keyboard_item = 229;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_ICO_CLEAR: tm_input_keyboard_item = 230;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_PACKET: tm_input_keyboard_item = 231;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_OEM_RESET: tm_input_keyboard_item = 233;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_OEM_JUMP: tm_input_keyboard_item = 234;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_OEM_PA1: tm_input_keyboard_item = 235;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_OEM_PA2: tm_input_keyboard_item = 236;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_OEM_PA3: tm_input_keyboard_item = 237;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_OEM_WSCTRL: tm_input_keyboard_item = 238;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_OEM_CUSEL: tm_input_keyboard_item = 239;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_OEM_ATTN: tm_input_keyboard_item = 240;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_OEM_FINISH: tm_input_keyboard_item = 241;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_COPY: tm_input_keyboard_item = 242;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_OEM_AUTO: tm_input_keyboard_item = 243;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_OEM_ENLW: tm_input_keyboard_item = 244;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_OEM_BACKTAB: tm_input_keyboard_item = 245;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_ATTN: tm_input_keyboard_item = 246;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_CRSEL: tm_input_keyboard_item = 247;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_EXSEL: tm_input_keyboard_item = 248;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_EREOF: tm_input_keyboard_item = 249;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_PLAY: tm_input_keyboard_item = 250;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_ZOOM: tm_input_keyboard_item = 251;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NONAME: tm_input_keyboard_item = 252;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_PA1: tm_input_keyboard_item = 253;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_OEM_CLEAR: tm_input_keyboard_item = 254;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_HASHTILDE: tm_input_keyboard_item = 255;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_102ND: tm_input_keyboard_item = 256;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_COMPOSE: tm_input_keyboard_item = 257;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_POWER: tm_input_keyboard_item = 258;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_OPEN: tm_input_keyboard_item = 259;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_PROPS: tm_input_keyboard_item = 260;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_FRONT: tm_input_keyboard_item = 261;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_STOP: tm_input_keyboard_item = 262;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_AGAIN: tm_input_keyboard_item = 263;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_UNDO: tm_input_keyboard_item = 264;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_CUT: tm_input_keyboard_item = 265;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_PASTE: tm_input_keyboard_item = 266;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_FIND: tm_input_keyboard_item = 267;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NUMPADCOMMA: tm_input_keyboard_item = 268;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_RO: tm_input_keyboard_item = 269;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_KATAKANAHIRAGANA: tm_input_keyboard_item =
270;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_YEN: tm_input_keyboard_item = 271;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_HENKAN: tm_input_keyboard_item = 272;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_MUHENKAN: tm_input_keyboard_item = 273;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NUMPADJPCOMMA: tm_input_keyboard_item = 274;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_INTERNATIONAL_7: tm_input_keyboard_item =
275;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_INTERNATIONAL_8: tm_input_keyboard_item =
276;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_INTERNATIONAL_9: tm_input_keyboard_item =
277;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_HANGEUL: tm_input_keyboard_item = 278;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_KATAKANA: tm_input_keyboard_item = 279;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_HIRAGANA: tm_input_keyboard_item = 280;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_ZENKAKUHANKAKU: tm_input_keyboard_item =
281;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_LANG_6: tm_input_keyboard_item = 282;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_LANG_7: tm_input_keyboard_item = 283;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_LANG_8: tm_input_keyboard_item = 284;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_LANG_9: tm_input_keyboard_item = 285;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NUMPADLEFTPAREN: tm_input_keyboard_item =
286;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NUMPADRIGHTPAREN: tm_input_keyboard_item =
287;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_LEFTMETA: tm_input_keyboard_item = 288;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_RIGHTMETA: tm_input_keyboard_item = 289;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_MEDIA_EJECT: tm_input_keyboard_item = 290;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_MEDIA_VOLUME_UP: tm_input_keyboard_item =
291;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_MEDIA_VOLUME_DOWN: tm_input_keyboard_item =
292;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_MEDIA_MUTE: tm_input_keyboard_item = 293;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_BROWSER_WWW: tm_input_keyboard_item = 294;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_BROWSER_SCROLLUP: tm_input_keyboard_item =
295;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_BROWSER_SCROLLDOWN: tm_input_keyboard_item =
296;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_BROWSER_EDIT: tm_input_keyboard_item = 297;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_BROWSER_SLEEP: tm_input_keyboard_item = 298;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_BROWSER_COFFEE: tm_input_keyboard_item =
299;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_BROWSER_CALC: tm_input_keyboard_item = 300;
pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_COUNT: tm_input_keyboard_item = 301;
pub type tm_input_keyboard_item = ::std::os::raw::c_int;
pub const tm_input_gamepad_item_TM_INPUT_GAMEPAD_ITEM_NONE: tm_input_gamepad_item = 0;
pub const tm_input_gamepad_item_TM_INPUT_GAMEPAD_ITEM_BUTTON_A: tm_input_gamepad_item = 1;
pub const tm_input_gamepad_item_TM_INPUT_GAMEPAD_ITEM_BUTTON_B: tm_input_gamepad_item = 2;
pub const tm_input_gamepad_item_TM_INPUT_GAMEPAD_ITEM_BUTTON_X: tm_input_gamepad_item = 3;
pub const tm_input_gamepad_item_TM_INPUT_GAMEPAD_ITEM_BUTTON_Y: tm_input_gamepad_item = 4;
pub const tm_input_gamepad_item_TM_INPUT_GAMEPAD_ITEM_BUTTON_LEFT_SHOULDER: tm_input_gamepad_item =
5;
pub const tm_input_gamepad_item_TM_INPUT_GAMEPAD_ITEM_BUTTON_RIGHT_SHOULDER: tm_input_gamepad_item =
6;
pub const tm_input_gamepad_item_TM_INPUT_GAMEPAD_ITEM_BUTTON_BACK: tm_input_gamepad_item = 7;
pub const tm_input_gamepad_item_TM_INPUT_GAMEPAD_ITEM_BUTTON_START: tm_input_gamepad_item = 8;
pub const tm_input_gamepad_item_TM_INPUT_GAMEPAD_ITEM_DPAD_LEFT: tm_input_gamepad_item = 9;
pub const tm_input_gamepad_item_TM_INPUT_GAMEPAD_ITEM_DPAD_RIGHT: tm_input_gamepad_item = 10;
pub const tm_input_gamepad_item_TM_INPUT_GAMEPAD_ITEM_DPAD_UP: tm_input_gamepad_item = 11;
pub const tm_input_gamepad_item_TM_INPUT_GAMEPAD_ITEM_DPAD_DOWN: tm_input_gamepad_item = 12;
pub const tm_input_gamepad_item_TM_INPUT_GAMEPAD_BUTTON_LEFT_THUMB: tm_input_gamepad_item = 13;
pub const tm_input_gamepad_item_TM_INPUT_GAMEPAD_BUTTON_RIGHT_THUMB: tm_input_gamepad_item = 14;
pub const tm_input_gamepad_item_TM_INPUT_GAMEPAD_ITEM_BUTTON_LEFT_TRIGGER: tm_input_gamepad_item =
15;
pub const tm_input_gamepad_item_TM_INPUT_GAMEPAD_ITEM_BUTTON_RIGHT_TRIGGER: tm_input_gamepad_item =
16;
pub const tm_input_gamepad_item_TM_INPUT_GAMEPAD_ITEM_LEFT_STICK: tm_input_gamepad_item = 17;
pub const tm_input_gamepad_item_TM_INPUT_GAMEPAD_ITEM_RIGHT_STICK: tm_input_gamepad_item = 18;
pub const tm_input_gamepad_item_TM_INPUT_GAMEPAD_ITEM_COUNT: tm_input_gamepad_item = 19;
pub type tm_input_gamepad_item = ::std::os::raw::c_int;
pub const tm_input_event_type_TM_INPUT_EVENT_TYPE_NONE: tm_input_event_type = 0;
pub const tm_input_event_type_TM_INPUT_EVENT_TYPE_DATA_CHANGE: tm_input_event_type = 1;
pub const tm_input_event_type_TM_INPUT_EVENT_TYPE_TEXT: tm_input_event_type = 2;
pub type tm_input_event_type = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_input_item_t {
pub id: u64,
pub name: *const ::std::os::raw::c_char,
pub components: u32,
pub _padding_412: [::std::os::raw::c_char; 4usize],
}
impl Default for tm_input_item_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_input_data_t {
pub __bindgen_anon_1: tm_input_data_t__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union tm_input_data_t__bindgen_ty_1 {
pub f: tm_vec4_t,
pub codepoint: u32,
_bindgen_union_align: [u32; 4usize],
}
impl Default for tm_input_data_t__bindgen_ty_1 {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
impl Default for tm_input_data_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_input_event_t {
pub time: u64,
pub source: *mut tm_input_source_i,
pub controller_id: u64,
pub item_id: u64,
pub type_: u64,
pub data: tm_input_data_t,
pub extra: *mut ::std::os::raw::c_void,
}
impl Default for tm_input_event_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_input_source_i {
pub controller_name: *const ::std::os::raw::c_char,
pub controller_type: u32,
pub _padding_464: [::std::os::raw::c_char; 4usize],
pub controllers: ::std::option::Option<unsafe extern "C" fn(ids: *mut *mut u64) -> u32>,
pub items: ::std::option::Option<unsafe extern "C" fn(items: *mut *mut tm_input_item_t) -> u32>,
pub events: ::std::option::Option<
unsafe extern "C" fn(start: u64, events: *mut tm_input_event_t, buffer_size: u64) -> u64,
>,
pub state:
::std::option::Option<unsafe extern "C" fn(controller: u64, item: u64) -> tm_input_data_t>,
}
impl Default for tm_input_source_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_input_api {
pub add_source: ::std::option::Option<unsafe extern "C" fn(source: *mut tm_input_source_i)>,
pub remove_source: ::std::option::Option<unsafe extern "C" fn(source: *mut tm_input_source_i)>,
pub sources: ::std::option::Option<
unsafe extern "C" fn(sources: *mut *mut *mut tm_input_source_i) -> u32,
>,
pub events: ::std::option::Option<
unsafe extern "C" fn(start: u64, events: *mut tm_input_event_t, buffer_size: u64) -> u64,
>,
pub keyboard_item_names:
::std::option::Option<unsafe extern "C" fn() -> *mut *const ::std::os::raw::c_char>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_integration_test_runner_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_integration_test_runner_i {
pub inst: *mut tm_integration_test_runner_o,
pub context: u64,
pub app: *mut tm_application_o,
pub wait: ::std::option::Option<
unsafe extern "C" fn(inst: *mut tm_integration_test_runner_o, sec: f32, id: u64) -> bool,
>,
}
impl Default for tm_integration_test_runner_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_integration_test_i {
pub name: *const ::std::os::raw::c_char,
pub context: u64,
pub tick: ::std::option::Option<unsafe extern "C" fn(arg1: *mut tm_integration_test_runner_i)>,
}
impl Default for tm_integration_test_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_atomic_counter_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_jobdecl_t {
pub task: ::std::option::Option<unsafe extern "C" fn(data: *mut ::std::os::raw::c_void)>,
pub data: *mut ::std::os::raw::c_void,
pub pin_thread_handle: u32,
pub _padding_20: [::std::os::raw::c_char; 4usize],
}
impl Default for tm_jobdecl_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_job_system_api {
pub run_jobs: ::std::option::Option<
unsafe extern "C" fn(jobs: *mut tm_jobdecl_t, num_jobs: u32) -> *mut tm_atomic_counter_o,
>,
pub run_jobs_and_auto_free_counter:
::std::option::Option<unsafe extern "C" fn(jobs: *mut tm_jobdecl_t, num_jobs: u32)>,
pub wait_for_counter:
::std::option::Option<unsafe extern "C" fn(counter: *mut tm_atomic_counter_o, value: u32)>,
pub wait_for_counter_and_free:
::std::option::Option<unsafe extern "C" fn(counter: *mut tm_atomic_counter_o)>,
pub wait_for_counter_and_free_no_fiber:
::std::option::Option<unsafe extern "C" fn(counter: *mut tm_atomic_counter_o)>,
pub pin_thread_handle:
::std::option::Option<unsafe extern "C" fn(worker_thread_idx: u32) -> u32>,
pub num_worker_threads: ::std::option::Option<unsafe extern "C" fn() -> u32>,
}
pub const tm_json_parse_ext_TM_JSON_PARSE_EXT_ALLOW_UNQUOTED_KEYS: tm_json_parse_ext = 1;
pub const tm_json_parse_ext_TM_JSON_PARSE_EXT_ALLOW_COMMENTS: tm_json_parse_ext = 2;
pub const tm_json_parse_ext_TM_JSON_PARSE_EXT_IMPLICIT_ROOT_OBJECT: tm_json_parse_ext = 4;
pub const tm_json_parse_ext_TM_JSON_PARSE_EXT_OPTIONAL_COMMAS: tm_json_parse_ext = 8;
pub const tm_json_parse_ext_TM_JSON_PARSE_EXT_EQUALS_FOR_COLON: tm_json_parse_ext = 16;
pub const tm_json_parse_ext_TM_JSON_PARSE_EXT_LUA_QUOTING: tm_json_parse_ext = 32;
pub type tm_json_parse_ext = ::std::os::raw::c_int;
pub const tm_json_generate_ext_TM_JSON_GENERATE_EXT_PREFER_UNQUOTED_KEYS: tm_json_generate_ext = 1;
pub const tm_json_generate_ext_TM_JSON_GENERATE_EXT_IMPLICIT_ROOT_OBJECT: tm_json_generate_ext = 4;
pub const tm_json_generate_ext_TM_JSON_GENERATE_EXT_NO_COMMAS: tm_json_generate_ext = 8;
pub const tm_json_generate_ext_TM_JSON_GENERATE_EXT_USE_EQUALS_INSTEAD_OF_COLON:
tm_json_generate_ext = 16;
pub const tm_json_generate_ext_TM_JSON_GENERATE_EXT_USE_LUA_QUOTING: tm_json_generate_ext = 32;
pub const tm_json_generate_ext_TM_JSON_GENERATE_INLINE_SMALL_ARRAYS: tm_json_generate_ext = 64;
pub const tm_json_generate_ext_TM_JSON_GENERATE_INLINE_SMALL_OBJECTS: tm_json_generate_ext = 128;
pub const tm_json_generate_ext_TM_JSON_GENERATE_INDENT_WITH_TABS: tm_json_generate_ext = 256;
pub type tm_json_generate_ext = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_json_line_info_t {
pub config_item: u32,
pub line_number: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_json_parse_info_t {
pub success: bool,
pub error: [::std::os::raw::c_char; 80usize],
pub _padding_97: [::std::os::raw::c_char; 3usize],
pub num_line_info: u32,
pub allocated_line_info: u32,
pub line_info: [tm_json_line_info_t; 1usize],
}
impl Default for tm_json_parse_info_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_json_generate_t {
pub s: *mut ::std::os::raw::c_char,
pub len: u32,
pub allocated: u32,
}
impl Default for tm_json_generate_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_json_api {
pub parse: ::std::option::Option<
unsafe extern "C" fn(
s: *const ::std::os::raw::c_char,
config: *mut tm_config_i,
extensions: tm_json_parse_ext,
error: *mut ::std::os::raw::c_char,
) -> bool,
>,
pub parse_with_line_info: ::std::option::Option<
unsafe extern "C" fn(
s: *const ::std::os::raw::c_char,
config: *mut tm_config_i,
extensions: tm_json_parse_ext,
ta: *mut tm_temp_allocator_i,
) -> *mut tm_json_parse_info_t,
>,
pub line_number: ::std::option::Option<
unsafe extern "C" fn(pi: *const tm_json_parse_info_t, item: *const tm_config_item_t) -> u32,
>,
pub generate: ::std::option::Option<
unsafe extern "C" fn(
config: *mut tm_config_i,
flags: tm_json_generate_ext,
ta: *mut tm_temp_allocator_i,
) -> tm_json_generate_t,
>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_localizer_strings_t {
pub num_strings: u32,
pub stride_bytes: u32,
pub strings: *const *const ::std::os::raw::c_char,
}
impl Default for tm_localizer_strings_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub type tm_localizer_strings_i =
::std::option::Option<unsafe extern "C" fn(language: u64) -> tm_localizer_strings_t>;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_localizer_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_localizer_i {
pub inst: *mut tm_localizer_o,
pub localize: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_localizer_o,
s: *const ::std::os::raw::c_char,
context: *const ::std::os::raw::c_char,
) -> *const ::std::os::raw::c_char,
>,
}
impl Default for tm_localizer_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_localizer_api {
pub def: *mut *mut tm_localizer_i,
pub passthrough: *mut tm_localizer_i,
}
impl Default for tm_localizer_api {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub const tm_log_type_TM_LOG_TYPE_INFO: tm_log_type = 0;
pub const tm_log_type_TM_LOG_TYPE_DEBUG: tm_log_type = 1;
pub const tm_log_type_TM_LOG_TYPE_ERROR: tm_log_type = 2;
pub type tm_log_type = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_logger_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_logger_i {
pub inst: *mut tm_logger_o,
pub log: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_logger_o,
log_type: tm_log_type,
msg: *const ::std::os::raw::c_char,
),
>,
}
impl Default for tm_logger_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_logger_api {
pub add_logger: ::std::option::Option<unsafe extern "C" fn(logger: *const tm_logger_i)>,
pub remove_logger: ::std::option::Option<unsafe extern "C" fn(logger: *const tm_logger_i)>,
pub print: ::std::option::Option<
unsafe extern "C" fn(log_type: tm_log_type, msg: *const ::std::os::raw::c_char),
>,
pub printf: ::std::option::Option<
unsafe extern "C" fn(
log_type: tm_log_type,
format: *const ::std::os::raw::c_char,
...
) -> ::std::os::raw::c_int,
>,
pub default_logger: *mut tm_logger_i,
}
impl Default for tm_logger_api {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_lz4_api {
pub compress: ::std::option::Option<
unsafe extern "C" fn(
src: *const ::std::os::raw::c_char,
src_size: u32,
dst: *mut ::std::os::raw::c_char,
dst_capacity: u32,
) -> u32,
>,
pub decompress: ::std::option::Option<
unsafe extern "C" fn(
src: *const ::std::os::raw::c_char,
src_size: u32,
dst: *mut ::std::os::raw::c_char,
dst_capacity: u32,
) -> u32,
>,
pub compress_bound: ::std::option::Option<unsafe extern "C" fn(src_size: u32) -> u32>,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_math_api {
pub mat44_multiply: ::std::option::Option<
unsafe extern "C" fn(res: *mut tm_mat44_t, lhs: *const tm_mat44_t, rhs: *const tm_mat44_t),
>,
pub mat44_inverse:
::std::option::Option<unsafe extern "C" fn(res: *mut tm_mat44_t, m: *const tm_mat44_t)>,
pub mat44_determinant: ::std::option::Option<unsafe extern "C" fn(m: *const tm_mat44_t) -> f32>,
pub mat44_determinant33:
::std::option::Option<unsafe extern "C" fn(m: *const tm_mat44_t) -> f32>,
pub mat44_to_quaternion:
::std::option::Option<unsafe extern "C" fn(m: *const tm_mat44_t) -> tm_vec4_t>,
pub mat44_to_translation_quaternion_scale: ::std::option::Option<
unsafe extern "C" fn(
t: *mut tm_vec3_t,
r: *mut tm_vec4_t,
s: *mut tm_vec3_t,
m: *const tm_mat44_t,
),
>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_memory_tracker_scope_data_t {
pub desc: *const ::std::os::raw::c_char,
pub allocated_bytes: u64,
pub allocation_count: u64,
pub parent: u32,
pub num_children: u32,
pub tracing_enabled: bool,
pub _padding_42: [::std::os::raw::c_char; 3usize],
pub trace_count: u32,
}
impl Default for tm_memory_tracker_scope_data_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_memory_tracker_trace_data_t {
pub file: *const ::std::os::raw::c_char,
pub line: u32,
pub scope: u32,
pub allocated_bytes: u64,
pub allocation_count: u64,
}
impl Default for tm_memory_tracker_trace_data_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_memory_tracker_api {
pub check_for_leaked_scopes: ::std::option::Option<unsafe extern "C" fn()>,
pub create_scope: ::std::option::Option<
unsafe extern "C" fn(desc: *const ::std::os::raw::c_char, parent_scope: u32) -> u32,
>,
pub destroy_scope: ::std::option::Option<unsafe extern "C" fn(s: u32)>,
pub destroy_scope_allowing_leaks:
::std::option::Option<unsafe extern "C" fn(scope: u32, max_leaked_bytes: u64)>,
pub record_realloc: ::std::option::Option<
unsafe extern "C" fn(
old_ptr: *mut ::std::os::raw::c_void,
old_size: u64,
new_ptr: *mut ::std::os::raw::c_void,
new_size: u64,
file: *const ::std::os::raw::c_char,
line: u32,
scope: u32,
),
>,
pub allocated_bytes: ::std::option::Option<unsafe extern "C" fn(scope: u32) -> u64>,
pub allocation_count: ::std::option::Option<unsafe extern "C" fn(scope: u32) -> u64>,
pub set_scope_tracing: ::std::option::Option<unsafe extern "C" fn(scope: u32, enabled: bool)>,
pub scope_data_snapshot: ::std::option::Option<
unsafe extern "C" fn(ta: *mut tm_temp_allocator_i) -> *mut tm_memory_tracker_scope_data_t,
>,
pub trace_data_snapshot: ::std::option::Option<
unsafe extern "C" fn(ta: *mut tm_temp_allocator_i) -> *mut tm_memory_tracker_trace_data_t,
>,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_file_o {
pub opaque: u64,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_file_system_watcher_o {
pub opaque: u64,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_dll_o {
pub opaque: u64,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_socket_o {
pub opaque: u64,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_file_time_o {
pub opaque: u64,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_critical_section_o {
pub opaque: [u8; 64usize],
}
impl Default for tm_critical_section_o {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_semaphore_o {
pub opaque: u64,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_thread_o {
pub opaque: [u64; 2usize],
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_fiber_o {
pub opaque: u64,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_socket_address_t {
pub __bindgen_anon_1: tm_socket_address_t__bindgen_ty_1,
pub port: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union tm_socket_address_t__bindgen_ty_1 {
pub ip: u32,
pub ip_byte: [u8; 4usize],
_bindgen_union_align: u32,
}
impl Default for tm_socket_address_t__bindgen_ty_1 {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
impl Default for tm_socket_address_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_file_stat_t {
pub exists: bool,
pub is_directory: bool,
pub _padding_106: [::std::os::raw::c_char; 6usize],
pub last_modified_time: tm_file_time_o,
pub size: u64,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_strings_t {
pub count: u32,
pub bytes: u32,
}
pub type tm_thread_entry_f =
::std::option::Option<unsafe extern "C" fn(user_data: *mut ::std::os::raw::c_void)>;
pub type tm_fiber_entry_f =
::std::option::Option<unsafe extern "C" fn(user_data: *mut ::std::os::raw::c_void)>;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_os_virtual_memory_api {
pub map: ::std::option::Option<unsafe extern "C" fn(size: u64) -> *mut ::std::os::raw::c_void>,
pub unmap:
::std::option::Option<unsafe extern "C" fn(p: *mut ::std::os::raw::c_void, size: u64)>,
pub reserve:
::std::option::Option<unsafe extern "C" fn(size: u64) -> *mut ::std::os::raw::c_void>,
pub commit:
::std::option::Option<unsafe extern "C" fn(p: *mut ::std::os::raw::c_void, size: u64)>,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_os_file_io_api {
pub open_input: ::std::option::Option<
unsafe extern "C" fn(path: *const ::std::os::raw::c_char) -> tm_file_o,
>,
pub open_output: ::std::option::Option<
unsafe extern "C" fn(path: *const ::std::os::raw::c_char, append: bool) -> tm_file_o,
>,
pub set_position: ::std::option::Option<unsafe extern "C" fn(file: tm_file_o, pos: u64)>,
pub size: ::std::option::Option<unsafe extern "C" fn(file: tm_file_o) -> u64>,
pub read: ::std::option::Option<
unsafe extern "C" fn(
file: tm_file_o,
buffer: *mut ::std::os::raw::c_void,
size: u64,
) -> i64,
>,
pub write: ::std::option::Option<
unsafe extern "C" fn(
file: tm_file_o,
buffer: *const ::std::os::raw::c_void,
size: u64,
) -> bool,
>,
pub read_at: ::std::option::Option<
unsafe extern "C" fn(
file: tm_file_o,
offset: u64,
buffer: *mut ::std::os::raw::c_void,
size: u64,
) -> i64,
>,
pub write_at: ::std::option::Option<
unsafe extern "C" fn(
file: tm_file_o,
offset: u64,
buffer: *const ::std::os::raw::c_void,
size: u64,
) -> bool,
>,
pub close: ::std::option::Option<unsafe extern "C" fn(file: tm_file_o)>,
pub is_valid: ::std::option::Option<unsafe extern "C" fn(file: tm_file_o) -> bool>,
pub invalid_file: tm_file_o,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_os_file_system_api {
pub stat: ::std::option::Option<
unsafe extern "C" fn(path: *const ::std::os::raw::c_char) -> tm_file_stat_t,
>,
pub directory_entries: ::std::option::Option<
unsafe extern "C" fn(
path: *const ::std::os::raw::c_char,
ta: *mut tm_temp_allocator_i,
) -> *mut tm_strings_t,
>,
pub make_directory:
::std::option::Option<unsafe extern "C" fn(path: *const ::std::os::raw::c_char) -> bool>,
pub remove_file:
::std::option::Option<unsafe extern "C" fn(path: *const ::std::os::raw::c_char) -> bool>,
pub remove_directory:
::std::option::Option<unsafe extern "C" fn(path: *const ::std::os::raw::c_char) -> bool>,
pub rename: ::std::option::Option<
unsafe extern "C" fn(
old_name: *const ::std::os::raw::c_char,
new_name: *const ::std::os::raw::c_char,
) -> bool,
>,
pub copy_file: ::std::option::Option<
unsafe extern "C" fn(
from: *const ::std::os::raw::c_char,
to: *const ::std::os::raw::c_char,
) -> bool,
>,
pub getcwd: ::std::option::Option<
unsafe extern "C" fn(ta: *mut tm_temp_allocator_i) -> *const ::std::os::raw::c_char,
>,
pub chdir:
::std::option::Option<unsafe extern "C" fn(path: *const ::std::os::raw::c_char) -> bool>,
pub is_absolute:
::std::option::Option<unsafe extern "C" fn(path: *const ::std::os::raw::c_char) -> bool>,
pub absolute: ::std::option::Option<
unsafe extern "C" fn(
path: *const ::std::os::raw::c_char,
ta: *mut tm_temp_allocator_i,
) -> *const ::std::os::raw::c_char,
>,
pub temp_directory: ::std::option::Option<
unsafe extern "C" fn(ta: *mut tm_temp_allocator_i) -> *const ::std::os::raw::c_char,
>,
pub create_watcher: ::std::option::Option<
unsafe extern "C" fn(dir_path: *const ::std::os::raw::c_char) -> tm_file_system_watcher_o,
>,
pub any_changes:
::std::option::Option<unsafe extern "C" fn(watcher: tm_file_system_watcher_o) -> bool>,
pub destroy_watcher:
::std::option::Option<unsafe extern "C" fn(watcher: tm_file_system_watcher_o)>,
pub app_folder: ::std::option::Option<
unsafe extern "C" fn(ta: *mut tm_temp_allocator_i) -> *const ::std::os::raw::c_char,
>,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_os_dll_api {
pub open: ::std::option::Option<
unsafe extern "C" fn(path: *const ::std::os::raw::c_char) -> tm_dll_o,
>,
pub is_valid: ::std::option::Option<unsafe extern "C" fn(handle: tm_dll_o) -> bool>,
pub sym: ::std::option::Option<
unsafe extern "C" fn(
handle: tm_dll_o,
name: *const ::std::os::raw::c_char,
) -> *mut ::std::os::raw::c_void,
>,
pub close: ::std::option::Option<unsafe extern "C" fn(handle: tm_dll_o)>,
}
pub const tm_os_socket_type_TM_OS_SOCKET_TYPE_TCP: tm_os_socket_type = 1;
pub const tm_os_socket_type_TM_OS_SOCKET_TYPE_UDP: tm_os_socket_type = 2;
pub const tm_os_socket_type_TM_OS_SOCKET_TYPE_INVALID: tm_os_socket_type = 3;
pub type tm_os_socket_type = ::std::os::raw::c_int;
pub const tm_os_socket_error_TM_OS_SOCKET_ERROR_WOULD_BLOCK: tm_os_socket_error = -1000;
pub const tm_os_socket_error_TM_OS_SOCKET_ERROR_CLOSED: tm_os_socket_error = -1001;
pub const tm_os_socket_error_TM_OS_SOCKET_ERROR_OTHER: tm_os_socket_error = -1;
pub type tm_os_socket_error = ::std::os::raw::c_int;
pub const tm_os_socket_connect_TM_OS_SOCKET_CONNECT_PENDING: tm_os_socket_connect = 0;
pub const tm_os_socket_connect_TM_OS_SOCKET_CONNECT_ESTABLISHED: tm_os_socket_connect = 1;
pub const tm_os_socket_connect_TM_OS_SOCKET_CONNECT_FAILED: tm_os_socket_connect = 2;
pub type tm_os_socket_connect = ::std::os::raw::c_int;
pub const tm_os_socket_getaddrinfo_TM_OS_SOCKET_GETADDRINFO_IN_PROGRESS: tm_os_socket_getaddrinfo =
0;
pub const tm_os_socket_getaddrinfo_TM_OS_SOCKET_GETADDRINFO_SUCCESS: tm_os_socket_getaddrinfo = 1;
pub const tm_os_socket_getaddrinfo_TM_OS_SOCKET_GETADDRINFO_ERROR: tm_os_socket_getaddrinfo = 2;
pub type tm_os_socket_getaddrinfo = ::std::os::raw::c_int;
pub const tm_os_socket_option_TM_SOCKET_OPTION__NODELAY: tm_os_socket_option = 0;
pub const tm_os_socket_option_TM_SOCKET_OPTION__NONBLOCK: tm_os_socket_option = 1;
pub type tm_os_socket_option = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_os_socket_api {
pub init: ::std::option::Option<unsafe extern "C" fn()>,
pub shutdown: ::std::option::Option<unsafe extern "C" fn()>,
pub socket:
::std::option::Option<unsafe extern "C" fn(type_: tm_os_socket_type) -> tm_socket_o>,
pub set_option: ::std::option::Option<
unsafe extern "C" fn(socket: tm_socket_o, option: tm_os_socket_option, enabled: bool),
>,
pub is_valid: ::std::option::Option<unsafe extern "C" fn(socket: tm_socket_o) -> bool>,
pub bind: ::std::option::Option<
unsafe extern "C" fn(socket: tm_socket_o, address: tm_socket_address_t) -> bool,
>,
pub getsockname: ::std::option::Option<
unsafe extern "C" fn(socket: tm_socket_o, address: *mut tm_socket_address_t) -> bool,
>,
pub listen:
::std::option::Option<unsafe extern "C" fn(socket: tm_socket_o, queue_size: u32) -> bool>,
pub accept: ::std::option::Option<
unsafe extern "C" fn(socket: tm_socket_o, address: *mut tm_socket_address_t) -> tm_socket_o,
>,
pub connect: ::std::option::Option<
unsafe extern "C" fn(
socket: tm_socket_o,
target: tm_socket_address_t,
) -> tm_os_socket_connect,
>,
pub send: ::std::option::Option<
unsafe extern "C" fn(
socket: tm_socket_o,
buffer: *const ::std::os::raw::c_void,
size: u32,
) -> i32,
>,
pub recv: ::std::option::Option<
unsafe extern "C" fn(
socket: tm_socket_o,
buffer: *mut ::std::os::raw::c_void,
size: u32,
) -> i32,
>,
pub sendto: ::std::option::Option<
unsafe extern "C" fn(
socket: tm_socket_o,
buffer: *const ::std::os::raw::c_void,
size: u32,
target: tm_socket_address_t,
) -> i32,
>,
pub recvfrom: ::std::option::Option<
unsafe extern "C" fn(
socket: tm_socket_o,
buffer: *mut ::std::os::raw::c_void,
size: u32,
source: *mut tm_socket_address_t,
) -> i32,
>,
pub close: ::std::option::Option<unsafe extern "C" fn(socket: tm_socket_o) -> bool>,
pub getaddrinfo: ::std::option::Option<
unsafe extern "C" fn(
name: *const ::std::os::raw::c_char,
service: *const ::std::os::raw::c_char,
addresses: *mut tm_socket_address_t,
size: u32,
) -> u32,
>,
pub getaddrinfo_async: ::std::option::Option<
unsafe extern "C" fn(
name: *const ::std::os::raw::c_char,
service: *const ::std::os::raw::c_char,
) -> *mut ::std::os::raw::c_void,
>,
pub getaddrinfo_result: ::std::option::Option<
unsafe extern "C" fn(
query: *mut ::std::os::raw::c_void,
addresses: *mut tm_socket_address_t,
count: *mut u32,
) -> tm_os_socket_getaddrinfo,
>,
}
pub const tm_os_thread__priority_TM_OS_THREAD__PRIORITY__LOWEST: tm_os_thread__priority = 0;
pub const tm_os_thread__priority_TM_OS_THREAD__PRIOIRTY__LOW: tm_os_thread__priority = 1;
pub const tm_os_thread__priority_TM_OS_THREAD__PRIORITY__NORMAL: tm_os_thread__priority = 2;
pub const tm_os_thread__priority_TM_OS_THREAD__PRIORITY__HIGH: tm_os_thread__priority = 3;
pub const tm_os_thread__priority_TM_OS_THREAD__PRIORITY__HIGHEST: tm_os_thread__priority = 4;
pub const tm_os_thread__priority_TM_OS_THREAD__PRIORITY__TIME_CRITICAL: tm_os_thread__priority = 5;
pub type tm_os_thread__priority = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_os_thread_api {
pub create_critical_section:
::std::option::Option<unsafe extern "C" fn(cs: *mut tm_critical_section_o)>,
pub enter_critical_section:
::std::option::Option<unsafe extern "C" fn(cs: *mut tm_critical_section_o)>,
pub leave_critical_section:
::std::option::Option<unsafe extern "C" fn(cs: *mut tm_critical_section_o)>,
pub destroy_critical_section:
::std::option::Option<unsafe extern "C" fn(cs: *mut tm_critical_section_o)>,
pub create_semaphore:
::std::option::Option<unsafe extern "C" fn(initial_count: u32) -> tm_semaphore_o>,
pub semaphore_add: ::std::option::Option<unsafe extern "C" fn(sem: tm_semaphore_o, count: u32)>,
pub semaphore_wait: ::std::option::Option<unsafe extern "C" fn(sem: tm_semaphore_o)>,
pub semaphore_poll: ::std::option::Option<unsafe extern "C" fn(sem: tm_semaphore_o) -> bool>,
pub destroy_semaphore: ::std::option::Option<unsafe extern "C" fn(sem: tm_semaphore_o)>,
pub thread_id: ::std::option::Option<unsafe extern "C" fn() -> u32>,
pub processor_id: ::std::option::Option<unsafe extern "C" fn() -> u32>,
pub create_thread: ::std::option::Option<
unsafe extern "C" fn(
entry: tm_thread_entry_f,
user_data: *mut ::std::os::raw::c_void,
stack_size: u32,
debug_name: *const ::std::os::raw::c_char,
) -> tm_thread_o,
>,
pub set_thread_priority: ::std::option::Option<
unsafe extern "C" fn(thread: tm_thread_o, priority: tm_os_thread__priority),
>,
pub wait_for_thread: ::std::option::Option<unsafe extern "C" fn(thread: tm_thread_o)>,
pub thread_id_from_tm_thread:
::std::option::Option<unsafe extern "C" fn(thread: tm_thread_o) -> u32>,
pub convert_thread_to_fiber: ::std::option::Option<
unsafe extern "C" fn(user_data: *mut ::std::os::raw::c_void) -> tm_fiber_o,
>,
pub convert_fiber_to_thread: ::std::option::Option<unsafe extern "C" fn()>,
pub create_fiber: ::std::option::Option<
unsafe extern "C" fn(
entry: tm_fiber_entry_f,
user_data: *mut ::std::os::raw::c_void,
stack_size: u32,
) -> tm_fiber_o,
>,
pub destroy_fiber: ::std::option::Option<unsafe extern "C" fn(fiber: tm_fiber_o)>,
pub switch_to_fiber: ::std::option::Option<unsafe extern "C" fn(fiber: tm_fiber_o)>,
pub fiber_user_data:
::std::option::Option<unsafe extern "C" fn() -> *mut ::std::os::raw::c_void>,
pub yield_processor: ::std::option::Option<unsafe extern "C" fn()>,
pub sleep: ::std::option::Option<unsafe extern "C" fn(seconds: f64)>,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_os_time_api {
pub now: ::std::option::Option<unsafe extern "C" fn() -> tm_clock_o>,
pub delta: ::std::option::Option<unsafe extern "C" fn(to: tm_clock_o, from: tm_clock_o) -> f64>,
pub add:
::std::option::Option<unsafe extern "C" fn(from: tm_clock_o, delta: f64) -> tm_clock_o>,
pub file_time_now: ::std::option::Option<unsafe extern "C" fn() -> tm_file_time_o>,
pub file_time_delta: ::std::option::Option<
unsafe extern "C" fn(to: tm_file_time_o, from: tm_file_time_o) -> f64,
>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_os_dialogs_open_t {
pub extensions: *const ::std::os::raw::c_char,
pub description: *const ::std::os::raw::c_char,
pub allow_multi_select: bool,
pub _padding_571: [::std::os::raw::c_char; 7usize],
}
impl Default for tm_os_dialogs_open_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_os_dialogs_open_res_t {
pub num_files: u32,
pub _padding_579: [::std::os::raw::c_char; 4usize],
pub files: *mut *mut ::std::os::raw::c_char,
}
impl Default for tm_os_dialogs_open_res_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_os_dialogs_save_t {
pub default_name: *const ::std::os::raw::c_char,
}
impl Default for tm_os_dialogs_save_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_os_dialogs_api {
pub open: ::std::option::Option<
unsafe extern "C" fn(
s: *const tm_os_dialogs_open_t,
ta: *mut tm_temp_allocator_i,
) -> tm_os_dialogs_open_res_t,
>,
pub open_folder: ::std::option::Option<
unsafe extern "C" fn(ta: *mut tm_temp_allocator_i) -> *mut ::std::os::raw::c_char,
>,
pub save: ::std::option::Option<
unsafe extern "C" fn(
s: *const tm_os_dialogs_save_t,
ta: *mut tm_temp_allocator_i,
) -> *mut ::std::os::raw::c_char,
>,
pub message_box: ::std::option::Option<
unsafe extern "C" fn(
title: *const ::std::os::raw::c_char,
text: *const ::std::os::raw::c_char,
),
>,
pub show_count: ::std::option::Option<unsafe extern "C" fn() -> u64>,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_os_info_api {
pub num_logical_processors: ::std::option::Option<unsafe extern "C" fn() -> u32>,
pub avx_support: ::std::option::Option<unsafe extern "C" fn() -> bool>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_os_clipboard_item_t {
pub format: *const ::std::os::raw::c_char,
pub data: *const ::std::os::raw::c_char,
pub size: u32,
pub _padding_639: [::std::os::raw::c_char; 4usize],
}
impl Default for tm_os_clipboard_item_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_os_clipboard_api {
pub get: ::std::option::Option<
unsafe extern "C" fn(
format: *const ::std::os::raw::c_char,
ta: *mut tm_temp_allocator_i,
) -> tm_os_clipboard_item_t,
>,
pub set:
::std::option::Option<unsafe extern "C" fn(items: *mut tm_os_clipboard_item_t, n: u32)>,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_os_debugger_api {
pub is_debugger_present: ::std::option::Option<unsafe extern "C" fn() -> bool>,
pub debug_break: ::std::option::Option<unsafe extern "C" fn()>,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_os_system_api {
pub open_url: ::std::option::Option<unsafe extern "C" fn(url: *const ::std::os::raw::c_char)>,
pub open_file:
::std::option::Option<unsafe extern "C" fn(file: *const ::std::os::raw::c_char) -> bool>,
pub exe_path: ::std::option::Option<
unsafe extern "C" fn(
argv_0: *const ::std::os::raw::c_char,
) -> *const ::std::os::raw::c_char,
>,
pub execute: ::std::option::Option<
unsafe extern "C" fn(command: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int,
>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_os_api {
pub virtual_memory: *mut tm_os_virtual_memory_api,
pub file_io: *mut tm_os_file_io_api,
pub file_system: *mut tm_os_file_system_api,
pub dll: *mut tm_os_dll_api,
pub socket: *mut tm_os_socket_api,
pub thread: *mut tm_os_thread_api,
pub time: *mut tm_os_time_api,
pub dialogs: *mut tm_os_dialogs_api,
pub info: *mut tm_os_info_api,
pub clipboard: *mut tm_os_clipboard_api,
pub debugger: *mut tm_os_debugger_api,
pub system: *mut tm_os_system_api,
}
impl Default for tm_os_api {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_path_api {
pub split: ::std::option::Option<
unsafe extern "C" fn(
path: *const ::std::os::raw::c_char,
ext: *mut *const ::std::os::raw::c_char,
) -> *const ::std::os::raw::c_char,
>,
pub split_dir: ::std::option::Option<
unsafe extern "C" fn(path: *const ::std::os::raw::c_char) -> *const ::std::os::raw::c_char,
>,
}
pub type tm_plugin_load_f =
::std::option::Option<unsafe extern "C" fn(reg: *mut tm_api_registry_api, load: bool)>;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_plugins_api {
pub load: ::std::option::Option<
unsafe extern "C" fn(path: *const ::std::os::raw::c_char, hot_reload: bool) -> u64,
>,
pub unload: ::std::option::Option<unsafe extern "C" fn(plugin: u64)>,
pub reload: ::std::option::Option<unsafe extern "C" fn(plugin: u64)>,
pub check_hot_reload: ::std::option::Option<unsafe extern "C" fn() -> bool>,
pub reload_count: ::std::option::Option<unsafe extern "C" fn() -> u64>,
pub enumerate: ::std::option::Option<
unsafe extern "C" fn(
dir: *const ::std::os::raw::c_char,
ta: *mut tm_temp_allocator_i,
) -> *mut *const ::std::os::raw::c_char,
>,
pub load_plugin_context:
::std::option::Option<unsafe extern "C" fn() -> *const ::std::os::raw::c_char>,
pub plugin_dllpath: ::std::option::Option<
unsafe extern "C" fn(
ta: *mut tm_temp_allocator_i,
exe: *const ::std::os::raw::c_char,
name: *const ::std::os::raw::c_char,
) -> *const ::std::os::raw::c_char,
>,
pub app_dllpath: ::std::option::Option<
unsafe extern "C" fn(
ta: *mut tm_temp_allocator_i,
exe: *const ::std::os::raw::c_char,
name: *const ::std::os::raw::c_char,
) -> *const ::std::os::raw::c_char,
>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_plugin_init_i {
pub inst: *mut tm_plugin_o,
pub init: ::std::option::Option<
unsafe extern "C" fn(inst: *mut tm_plugin_o, allocator: *mut tm_allocator_i),
>,
}
impl Default for tm_plugin_init_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_plugin_shutdown_i {
pub inst: *mut tm_plugin_o,
pub shutdown: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_plugin_o)>,
}
impl Default for tm_plugin_shutdown_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_plugin_tick_i {
pub inst: *mut tm_plugin_o,
pub tick: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_plugin_o, dt: f32)>,
}
impl Default for tm_plugin_tick_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_plugin_set_the_truth_i {
pub inst: *mut tm_plugin_o,
pub set_the_truth: ::std::option::Option<
unsafe extern "C" fn(inst: *mut tm_plugin_o, tt: *mut tm_the_truth_o),
>,
}
impl Default for tm_plugin_set_the_truth_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub const tm_profiler_event_type_TM_PROFILER_EVENT_TYPE_BEGIN: tm_profiler_event_type = 0;
pub const tm_profiler_event_type_TM_PROFILER_EVENT_TYPE_END: tm_profiler_event_type = 1;
pub const tm_profiler_event_type_TM_PROFILER_EVENT_TYPE_INSTANT: tm_profiler_event_type = 2;
pub const tm_profiler_event_type_TM_PROFILER_EVENT_TYPE_START: tm_profiler_event_type = 3;
pub const tm_profiler_event_type_TM_PROFILER_EVENT_TYPE_FINISH: tm_profiler_event_type = 4;
pub const tm_profiler_event_type_TM_PROFILER_EVENT_TYPE_FIBER_SWITCH: tm_profiler_event_type = 5;
pub type tm_profiler_event_type = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_profiler_event_t {
pub type_: u32,
pub thread_id: u32,
pub time_stamp: u64,
pub __bindgen_anon_1: tm_profiler_event_t__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union tm_profiler_event_t__bindgen_ty_1 {
pub __bindgen_anon_1: tm_profiler_event_t__bindgen_ty_1__bindgen_ty_1,
pub __bindgen_anon_2: tm_profiler_event_t__bindgen_ty_1__bindgen_ty_2,
_bindgen_union_align: [u64; 4usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_profiler_event_t__bindgen_ty_1__bindgen_ty_1 {
pub id: u32,
pub _padding_51: [::std::os::raw::c_char; 4usize],
pub category: *const ::std::os::raw::c_char,
pub name: *const ::std::os::raw::c_char,
pub object: *const ::std::os::raw::c_char,
}
impl Default for tm_profiler_event_t__bindgen_ty_1__bindgen_ty_1 {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_profiler_event_t__bindgen_ty_1__bindgen_ty_2 {
pub from_fiber: u32,
pub to_fiber: u32,
}
impl Default for tm_profiler_event_t__bindgen_ty_1 {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
impl Default for tm_profiler_event_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_profiler_buffer_t {
pub total_recorded: u64,
pub start: [u64; 2usize],
pub events: [*const tm_profiler_event_t; 2usize],
pub count: [u32; 2usize],
}
impl Default for tm_profiler_buffer_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub const TM_PROFILER_THREAD_BUFFER_SIZE: ::std::os::raw::c_int = 256;
pub type _bindgen_ty_1 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_profiler_api {
pub init: ::std::option::Option<
unsafe extern "C" fn(allocator: *mut tm_allocator_i, event_buffer_size: u32),
>,
pub shutdown: ::std::option::Option<unsafe extern "C" fn()>,
pub enabled: *mut bool,
pub begin: ::std::option::Option<
unsafe extern "C" fn(
name: *const ::std::os::raw::c_char,
category: *const ::std::os::raw::c_char,
object: *const ::std::os::raw::c_char,
) -> u64,
>,
pub end: ::std::option::Option<unsafe extern "C" fn(begin_id: u64)>,
pub instant: ::std::option::Option<
unsafe extern "C" fn(
name: *const ::std::os::raw::c_char,
category: *const ::std::os::raw::c_char,
object: *const ::std::os::raw::c_char,
),
>,
pub start: ::std::option::Option<
unsafe extern "C" fn(
name: *const ::std::os::raw::c_char,
category: *const ::std::os::raw::c_char,
object: *const ::std::os::raw::c_char,
) -> u64,
>,
pub finish: ::std::option::Option<unsafe extern "C" fn(start_id: u64)>,
pub intern: ::std::option::Option<
unsafe extern "C" fn(s: *const ::std::os::raw::c_char) -> *const ::std::os::raw::c_char,
>,
pub fiber_switch: ::std::option::Option<unsafe extern "C" fn(from_fiber: u32, to_fiber: u32)>,
pub submit:
::std::option::Option<unsafe extern "C" fn(events: *mut tm_profiler_event_t, count: u32)>,
pub copy: ::std::option::Option<
unsafe extern "C" fn(
dest: *mut tm_profiler_event_t,
start: u64,
count: u32,
actual_start: *mut u64,
actual_count: *mut u32,
),
>,
pub buffer: ::std::option::Option<unsafe extern "C" fn() -> tm_profiler_buffer_t>,
}
impl Default for tm_profiler_api {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_task_progress_t {
pub num_tasks: u32,
pub task_index: u32,
pub text: *const ::std::os::raw::c_char,
pub fraction: f32,
pub _padding_21: [::std::os::raw::c_char; 4usize],
}
impl Default for tm_task_progress_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_task_status_t {
pub task_id: *mut u64,
pub text: *mut *const ::std::os::raw::c_char,
pub fraction: *mut f32,
pub num_tasks: u32,
pub _padding_30: [::std::os::raw::c_char; 4usize],
}
impl Default for tm_task_status_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_progress_report_api {
pub create:
::std::option::Option<unsafe extern "C" fn(a: *mut tm_allocator_i, task_display_time: f32)>,
pub destroy: ::std::option::Option<unsafe extern "C" fn()>,
pub update: ::std::option::Option<
unsafe extern "C" fn(dt: f64, ta: *mut tm_temp_allocator_i) -> tm_task_progress_t,
>,
pub status: ::std::option::Option<
unsafe extern "C" fn(ta: *mut tm_temp_allocator_i) -> tm_task_status_t,
>,
pub idle: ::std::option::Option<unsafe extern "C" fn() -> bool>,
pub set_task_progress: ::std::option::Option<
unsafe extern "C" fn(task: u64, text: *const ::std::os::raw::c_char, fraction: f32),
>,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_random_api {
pub next: ::std::option::Option<unsafe extern "C" fn() -> u64>,
pub next_n: ::std::option::Option<unsafe extern "C" fn(res: *mut u64, n: u32)>,
pub seed_new_state: ::std::option::Option<unsafe extern "C" fn(s: *mut u64)>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_runtime_data_repository_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_runtime_data_t {
pub version: u64,
pub data: *mut ::std::os::raw::c_void,
}
impl Default for tm_runtime_data_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_runtime_data_io_i {
pub load: ::std::option::Option<
unsafe extern "C" fn(
io_context: *mut ::std::os::raw::c_void,
tt: *mut tm_the_truth_o,
asset_id: tm_tt_id_t,
result_runtime_data: *mut ::std::os::raw::c_void,
) -> bool,
>,
pub unload: ::std::option::Option<
unsafe extern "C" fn(
io_context: *mut ::std::os::raw::c_void,
runtime_data: *mut ::std::os::raw::c_void,
),
>,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_runtime_data_repository_api {
pub create: ::std::option::Option<
unsafe extern "C" fn(
allocator: *mut tm_allocator_i,
tt: *mut tm_the_truth_o,
type_: u64,
runtime_data_size: u32,
io_interface: *mut tm_runtime_data_io_i,
) -> *mut tm_runtime_data_repository_o,
>,
pub destroy: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_runtime_data_repository_o,
io_context: *mut ::std::os::raw::c_void,
),
>,
pub lookup: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_runtime_data_repository_o,
asset_id: tm_tt_id_t,
wanted_version: u64,
io_context: *mut ::std::os::raw::c_void,
) -> tm_runtime_data_t,
>,
pub garbage_collect: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_runtime_data_repository_o,
io_context: *mut ::std::os::raw::c_void,
),
>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct SHA1_CTX {
pub state: [u32; 5usize],
pub count: [u32; 2usize],
pub buffer: [u8; 64usize],
}
impl Default for SHA1_CTX {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_string_repository_i {
pub inst: *mut tm_string_repository_o,
pub add: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_string_repository_o,
s: *const ::std::os::raw::c_char,
) -> u64,
>,
pub retain:
::std::option::Option<unsafe extern "C" fn(inst: *mut tm_string_repository_o, hash: u64)>,
pub remove:
::std::option::Option<unsafe extern "C" fn(inst: *mut tm_string_repository_o, hash: u64)>,
pub lookup: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_string_repository_o,
hash: u64,
) -> *const ::std::os::raw::c_char,
>,
pub intern: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_string_repository_o,
s: *const ::std::os::raw::c_char,
) -> *const ::std::os::raw::c_char,
>,
}
impl Default for tm_string_repository_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_string_repository_api {
pub create: ::std::option::Option<
unsafe extern "C" fn(a: *mut tm_allocator_i) -> *mut tm_string_repository_i,
>,
pub destroy: ::std::option::Option<unsafe extern "C" fn(i: *mut tm_string_repository_i)>,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_task_system_api {
pub run_task: ::std::option::Option<
unsafe extern "C" fn(
f: ::std::option::Option<
unsafe extern "C" fn(data: *mut ::std::os::raw::c_void, id: u64),
>,
data: *mut ::std::os::raw::c_void,
debug_name: *const ::std::os::raw::c_char,
) -> u64,
>,
pub is_task_done: ::std::option::Option<unsafe extern "C" fn(id: u64) -> bool>,
pub is_task_done_else_assist: ::std::option::Option<unsafe extern "C" fn(id: u64) -> bool>,
pub cancel_task: ::std::option::Option<unsafe extern "C" fn(id: u64)>,
pub is_task_canceled: ::std::option::Option<unsafe extern "C" fn(id: u64) -> bool>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_temp_allocator_i {
pub inst: *mut tm_temp_allocator_o,
pub realloc: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_temp_allocator_o,
ptr: *mut ::std::os::raw::c_void,
old_size: u64,
new_size: u64,
) -> *mut ::std::os::raw::c_void,
>,
}
impl Default for tm_temp_allocator_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_temp_allocator_1024_o {
pub ta: tm_temp_allocator_i,
pub buffer: [::std::os::raw::c_char; 1024usize],
pub backing: *mut tm_allocator_i,
pub first_block: *mut ::std::os::raw::c_void,
}
impl Default for tm_temp_allocator_1024_o {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_temp_allocator_statistics_t {
pub temp_allocation_blocks: u64,
pub temp_allocation_bytes: u64,
pub frame_allocation_blocks: u64,
pub frame_allocation_bytes: u64,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_temp_allocator_api {
pub init_1024: ::std::option::Option<
unsafe extern "C" fn(ta: *mut tm_temp_allocator_1024_o, backing: *mut tm_allocator_i),
>,
pub shutdown_1024:
::std::option::Option<unsafe extern "C" fn(ta: *mut tm_temp_allocator_1024_o)>,
pub create: ::std::option::Option<
unsafe extern "C" fn(backing: *mut tm_allocator_i) -> *mut tm_temp_allocator_i,
>,
pub destroy: ::std::option::Option<unsafe extern "C" fn(ta: *mut tm_temp_allocator_i)>,
pub allocator: ::std::option::Option<
unsafe extern "C" fn(a: *mut tm_allocator_i, ta: *mut tm_temp_allocator_i),
>,
pub frame_alloc:
::std::option::Option<unsafe extern "C" fn(size: u64) -> *mut ::std::os::raw::c_void>,
pub frame_allocator: ::std::option::Option<unsafe extern "C" fn() -> *mut tm_allocator_i>,
pub tick_frame: ::std::option::Option<unsafe extern "C" fn()>,
pub vprintf: ::std::option::Option<
unsafe extern "C" fn(
ta: *mut tm_temp_allocator_i,
format: *const ::std::os::raw::c_char,
args: va_list,
) -> *mut ::std::os::raw::c_char,
>,
pub printf: ::std::option::Option<
unsafe extern "C" fn(
ta: *mut tm_temp_allocator_i,
format: *const ::std::os::raw::c_char,
...
) -> *mut ::std::os::raw::c_char,
>,
pub frame_vprintf: ::std::option::Option<
unsafe extern "C" fn(
format: *const ::std::os::raw::c_char,
args: va_list,
) -> *mut ::std::os::raw::c_char,
>,
pub frame_printf: ::std::option::Option<
unsafe extern "C" fn(
format: *const ::std::os::raw::c_char,
...
) -> *mut ::std::os::raw::c_char,
>,
pub statistics: *mut tm_temp_allocator_statistics_t,
}
impl Default for tm_temp_allocator_api {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_hash_id_to_id_t {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_set_t {
_unused: [u8; 0],
}
pub const tm_the_truth_property_type_TM_THE_TRUTH_PROPERTY_TYPE_NONE: tm_the_truth_property_type =
0;
pub const tm_the_truth_property_type_TM_THE_TRUTH_PROPERTY_TYPE_BOOL: tm_the_truth_property_type =
1;
pub const tm_the_truth_property_type_TM_THE_TRUTH_PROPERTY_TYPE_UINT32_T:
tm_the_truth_property_type = 2;
pub const tm_the_truth_property_type_TM_THE_TRUTH_PROPERTY_TYPE_UINT64_T:
tm_the_truth_property_type = 3;
pub const tm_the_truth_property_type_TM_THE_TRUTH_PROPERTY_TYPE_FLOAT: tm_the_truth_property_type =
4;
pub const tm_the_truth_property_type_TM_THE_TRUTH_PROPERTY_TYPE_DOUBLE: tm_the_truth_property_type =
5;
pub const tm_the_truth_property_type_TM_THE_TRUTH_PROPERTY_TYPE_STRING: tm_the_truth_property_type =
6;
pub const tm_the_truth_property_type_TM_THE_TRUTH_PROPERTY_TYPE_BUFFER: tm_the_truth_property_type =
7;
pub const tm_the_truth_property_type_TM_THE_TRUTH_PROPERTY_TYPE_REFERENCE:
tm_the_truth_property_type = 8;
pub const tm_the_truth_property_type_TM_THE_TRUTH_PROPERTY_TYPE_SUBOBJECT:
tm_the_truth_property_type = 9;
pub const tm_the_truth_property_type_TM_THE_TRUTH_PROPERTY_TYPE_REFERENCE_SET:
tm_the_truth_property_type = 10;
pub const tm_the_truth_property_type_TM_THE_TRUTH_PROPERTY_TYPE_SUBOBJECT_SET:
tm_the_truth_property_type = 11;
pub const tm_the_truth_property_type_TM_THE_TRUTH_NUM_PROPERTY_TYPES: tm_the_truth_property_type =
12;
pub type tm_the_truth_property_type = ::std::os::raw::c_int;
pub const tm_the_truth_editor_TM_THE_TRUTH__EDITOR__DEFAULT: tm_the_truth_editor = 0;
pub const tm_the_truth_editor_TM_THE_TRUTH__EDITOR__HIDDEN: tm_the_truth_editor = 1;
pub const tm_the_truth_editor_TM_THE_TRUTH__EDITOR__UINT32_T__ENUM: tm_the_truth_editor = 2;
pub const tm_the_truth_editor_TM_THE_TRUTH__EDITOR__STRING__OPEN_PATH: tm_the_truth_editor = 3;
pub const tm_the_truth_editor_TM_THE_TRUTH__EDITOR__STRING__SAVE_PATH: tm_the_truth_editor = 4;
pub type tm_the_truth_editor = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_the_truth_editor_enum_t {
pub count: u32,
pub _padding_363: [::std::os::raw::c_char; 4usize],
pub names: *const *const ::std::os::raw::c_char,
pub tooltips: *const *const ::std::os::raw::c_char,
}
impl Default for tm_the_truth_editor_enum_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_the_truth_editor_string_open_path_t {
pub extensions: *const ::std::os::raw::c_char,
pub description: *const ::std::os::raw::c_char,
}
impl Default for tm_the_truth_editor_string_open_path_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_the_truth_editor_string_save_path_t {
pub default_file_name: *const ::std::os::raw::c_char,
}
impl Default for tm_the_truth_editor_string_save_path_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_the_truth_object_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_the_truth_property_definition_t {
pub name: *const ::std::os::raw::c_char,
pub type_: u32,
pub editor: u32,
pub __bindgen_anon_1: tm_the_truth_property_definition_t__bindgen_ty_1,
pub type_hash: u64,
pub buffer_extension: *const ::std::os::raw::c_char,
pub buffer_extension_f: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
object: tm_tt_id_t,
property: u32,
) -> *const ::std::os::raw::c_char,
>,
pub tooltip: *const ::std::os::raw::c_char,
pub not_serialized: bool,
pub _padding_454: [::std::os::raw::c_char; 7usize],
pub ui_name: *const ::std::os::raw::c_char,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union tm_the_truth_property_definition_t__bindgen_ty_1 {
pub enum_editor: tm_the_truth_editor_enum_t,
pub string_open_path_editor: tm_the_truth_editor_string_open_path_t,
pub string_save_path_editor: tm_the_truth_editor_string_save_path_t,
_bindgen_union_align: [u64; 3usize],
}
impl Default for tm_the_truth_property_definition_t__bindgen_ty_1 {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
impl Default for tm_the_truth_property_definition_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub type tm_the_truth_create_types_i =
::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>;
pub const tm_the_truth_create_types_TM_THE_TRUTH_CREATE_TYPES_NONE: tm_the_truth_create_types = 0;
pub const tm_the_truth_create_types_TM_THE_TRUTH_CREATE_TYPES_ALL: tm_the_truth_create_types = 1;
pub type tm_the_truth_create_types = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_the_truth_get_types_with_aspect_t {
pub type_: u64,
pub data: *mut ::std::os::raw::c_void,
}
impl Default for tm_the_truth_get_types_with_aspect_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_the_truth_get_aspects_t {
pub id: u64,
pub data: *mut ::std::os::raw::c_void,
}
impl Default for tm_the_truth_get_aspects_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_the_truth_local_set_t {
pub num_added: u32,
pub _padding_501: [::std::os::raw::c_char; 4usize],
pub added: *const tm_tt_id_t,
pub num_removed: u32,
pub _padding_506: [::std::os::raw::c_char; 4usize],
pub removed: *const tm_tt_id_t,
pub num_instantiated: u32,
pub _padding_511: [::std::os::raw::c_char; 4usize],
pub instantiated: *const tm_tt_id_t,
}
impl Default for tm_the_truth_local_set_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_the_truth_set_local_subobject_set_t {
pub num_added: u32,
pub _padding_520: [::std::os::raw::c_char; 4usize],
pub added: *mut *mut tm_the_truth_object_o,
pub num_removed: u32,
pub _padding_525: [::std::os::raw::c_char; 4usize],
pub removed: *const tm_tt_id_t,
pub num_instantiated: u32,
pub _padding_530: [::std::os::raw::c_char; 4usize],
pub instantiated: *mut *mut tm_the_truth_object_o,
}
impl Default for tm_the_truth_set_local_subobject_set_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_the_truth_changed_objects_t {
pub overflow: bool,
pub _padding_540: [::std::os::raw::c_char; 3usize],
pub num_objects: u32,
pub objects: *mut tm_tt_id_t,
pub version: u64,
}
impl Default for tm_the_truth_changed_objects_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_hash_u64_to_id_t {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_the_truth_interop_context_t {
pub to_tt: *mut tm_the_truth_o,
pub from_tt: *mut tm_the_truth_o,
pub type_lookup: *mut tm_hash32_t,
pub property_lookup: *mut tm_hash32_t,
pub buffer_lookup: *mut tm_hash32_t,
pub object_lookup: *mut tm_hash_u64_to_id_t,
}
impl Default for tm_the_truth_interop_context_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub const tm_the_truth_prototype_relation_TM_TT_PROTOTYPE_RELATION_ADDED:
tm_the_truth_prototype_relation = 0;
pub const tm_the_truth_prototype_relation_TM_TT_PROTOTYPE_RELATION_ASSET:
tm_the_truth_prototype_relation = 1;
pub const tm_the_truth_prototype_relation_TM_TT_PROTOTYPE_RELATION_INHERITED:
tm_the_truth_prototype_relation = 2;
pub const tm_the_truth_prototype_relation_TM_TT_PROTOTYPE_RELATION_INSTANTIATED:
tm_the_truth_prototype_relation = 3;
pub const tm_the_truth_prototype_relation_TM_TT_PROTOTYPE_RELATION_REMOVED:
tm_the_truth_prototype_relation = 4;
pub const tm_the_truth_prototype_relation_TM_TT_PROTOTYPE_RELATION_NONE:
tm_the_truth_prototype_relation = 5;
pub type tm_the_truth_prototype_relation = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_tt_buffer_t {
pub id: u32,
pub _padding_604: [::std::os::raw::c_char; 4usize],
pub size: u64,
pub data: *const ::std::os::raw::c_void,
pub hash: u64,
}
impl Default for tm_tt_buffer_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_tt_prop_value_t {
pub type_: tm_the_truth_property_type,
pub _padding_620: [::std::os::raw::c_char; 4usize],
pub __bindgen_anon_1: tm_tt_prop_value_t__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union tm_tt_prop_value_t__bindgen_ty_1 {
pub b: bool,
pub u32_: u32,
pub u64_: u64,
pub f32_: f32,
pub f64_: f64,
pub string: *const ::std::os::raw::c_char,
pub buffer: tm_tt_buffer_t,
pub object: tm_tt_id_t,
pub set: *const tm_tt_id_t,
_bindgen_union_align: [u64; 4usize],
}
impl Default for tm_tt_prop_value_t__bindgen_ty_1 {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
impl Default for tm_tt_prop_value_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_tt_undo_action_t {
pub before: *const tm_the_truth_object_o,
pub after: *const tm_the_truth_object_o,
}
impl Default for tm_tt_undo_action_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_tt_serialize_options_t {
pub serialize_buffers_as_hashes: bool,
pub skip_type_index: bool,
pub _padding_661: [::std::os::raw::c_char; 6usize],
pub types: *mut tm_set_t,
}
impl Default for tm_tt_serialize_options_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub const TM_THE_TRUTH_MAX_PROPERTIES: ::std::os::raw::c_int = 64;
pub type _bindgen_ty_2 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_the_truth_serialized_type_info_t {
pub runtime_type: u64,
pub properties_differ: bool,
pub _padding_681: [::std::os::raw::c_char; 3usize],
pub num_properties: u32,
pub serialized_property_to_runtime_property: [u32; 64usize],
pub serialized_property_type: [u32; 64usize],
}
impl Default for tm_the_truth_serialized_type_info_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_tt_deserialize_options_t {
pub buffers_preloaded: bool,
pub skip_type_index: bool,
pub _padding_704: [::std::os::raw::c_char; 6usize],
pub type_infos: *const tm_the_truth_serialized_type_info_t,
}
impl Default for tm_tt_deserialize_options_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_tt_serialize_changes_options_t {
pub no_header: bool,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_tt_deserialize_changes_options_t {
pub header: *const ::std::os::raw::c_char,
}
impl Default for tm_tt_deserialize_changes_options_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_tt_memory_use_t {
pub resident: u64,
pub unloaded: u64,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_the_truth_api {
pub allocator:
::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o) -> *mut tm_allocator_i>,
pub buffers:
::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o) -> *mut tm_buffers_i>,
pub streamable_buffers: ::std::option::Option<
unsafe extern "C" fn(tt: *mut tm_the_truth_o) -> *mut tm_streamable_buffers_i,
>,
pub create_object_type: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
name: *const ::std::os::raw::c_char,
properties: *const tm_the_truth_property_definition_t,
num_properties: u32,
) -> u64,
>,
pub set_default_object: ::std::option::Option<
unsafe extern "C" fn(tt: *mut tm_the_truth_o, object_type: u64, object: tm_tt_id_t),
>,
pub set_default_object_to_create_subobjects:
::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o, object_type: u64)>,
pub default_object: ::std::option::Option<
unsafe extern "C" fn(tt: *const tm_the_truth_o, object_type: u64) -> tm_tt_id_t,
>,
pub is_default: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
obj: *const tm_the_truth_object_o,
property: u32,
) -> bool,
>,
pub set_aspect: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
object_type: u64,
aspect: u64,
data: *mut ::std::os::raw::c_void,
),
>,
pub set_default_aspect: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
aspect: u64,
data: *mut ::std::os::raw::c_void,
),
>,
pub set_property_aspect: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
object_type: u64,
property: u32,
aspect: u64,
data: *mut ::std::os::raw::c_void,
),
>,
pub reload_aspects: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
pub set_dont_propagate_version_tick: ::std::option::Option<
unsafe extern "C" fn(tt: *mut tm_the_truth_o, object_type: u64, state: bool),
>,
pub object_type_from_name_hash: ::std::option::Option<
unsafe extern "C" fn(tt: *const tm_the_truth_o, name_hash: u64) -> u64,
>,
pub optional_object_type_from_name_hash: ::std::option::Option<
unsafe extern "C" fn(tt: *const tm_the_truth_o, name_hash: u64) -> u64,
>,
pub num_types: ::std::option::Option<unsafe extern "C" fn(tt: *const tm_the_truth_o) -> u32>,
pub type_name: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
object_type: u64,
) -> *const ::std::os::raw::c_char,
>,
pub type_name_hash: ::std::option::Option<
unsafe extern "C" fn(tt: *const tm_the_truth_o, object_type: u64) -> u64,
>,
pub num_properties: ::std::option::Option<
unsafe extern "C" fn(tt: *const tm_the_truth_o, object_type: u64) -> u32,
>,
pub properties: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
object_type: u64,
) -> *const tm_the_truth_property_definition_t,
>,
pub find_property: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
object_type: u64,
name_hash: u64,
type_: u32,
res: *mut u32,
) -> bool,
>,
pub property_index: ::std::option::Option<
unsafe extern "C" fn(tt: *const tm_the_truth_o, type_: u64, name_hash: u64) -> u32,
>,
pub has_property: ::std::option::Option<
unsafe extern "C" fn(tt: *const tm_the_truth_o, type_: u64, name_hash: u64) -> u32,
>,
pub get_aspect: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
object_type: u64,
aspect: u64,
) -> *mut ::std::os::raw::c_void,
>,
pub get_types_with_aspect: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
aspect: u64,
ta: *mut tm_temp_allocator_i,
) -> *mut tm_the_truth_get_types_with_aspect_t,
>,
pub get_aspects: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
object_type: u64,
) -> *const tm_the_truth_get_aspects_t,
>,
pub get_property_aspect: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
object_type: u64,
property: u32,
aspect: u64,
) -> *mut ::std::os::raw::c_void,
>,
pub all_objects_of_type: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
object_type: u64,
ta: *mut tm_temp_allocator_i,
) -> *mut tm_tt_id_t,
>,
pub create_undo_scope: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
name: *const ::std::os::raw::c_char,
) -> tm_tt_undo_scope_t,
>,
pub create_thread_safe_undo_scope: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
name: *const ::std::os::raw::c_char,
) -> tm_tt_undo_scope_t,
>,
pub clear_undo_scopes: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
pub undo_scope_name: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
scope: tm_tt_undo_scope_t,
) -> *const ::std::os::raw::c_char,
>,
pub undo_scope_objects: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
scope: tm_tt_undo_scope_t,
ta: *mut tm_temp_allocator_i,
) -> *mut tm_tt_id_t,
>,
pub undo_scope_actions: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
scope: tm_tt_undo_scope_t,
ta: *mut tm_temp_allocator_i,
) -> *mut tm_tt_undo_action_t,
>,
pub undo: ::std::option::Option<
unsafe extern "C" fn(tt: *mut tm_the_truth_o, scope: tm_tt_undo_scope_t),
>,
pub redo: ::std::option::Option<
unsafe extern "C" fn(tt: *mut tm_the_truth_o, scope: tm_tt_undo_scope_t),
>,
pub create_object_of_type: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
type_: u64,
undo_scope: tm_tt_undo_scope_t,
) -> tm_tt_id_t,
>,
pub create_object_from_prototype: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
prototype: tm_tt_id_t,
undo_scope: tm_tt_undo_scope_t,
) -> tm_tt_id_t,
>,
pub clone_object: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
object: tm_tt_id_t,
undo_scope: tm_tt_undo_scope_t,
) -> tm_tt_id_t,
>,
pub instantiate_subobject: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
obj: *mut tm_the_truth_object_o,
property: u32,
undo_scope: tm_tt_undo_scope_t,
) -> tm_tt_id_t,
>,
pub remove_instantiated_subobject: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
obj: *mut tm_the_truth_object_o,
property: u32,
undo_scope: tm_tt_undo_scope_t,
),
>,
pub instantiate_subobject_from_set: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
obj: *mut tm_the_truth_object_o,
property: u32,
subobject: tm_tt_id_t,
undo_scope: tm_tt_undo_scope_t,
) -> tm_tt_id_t,
>,
pub remove_instantiated_subobject_from_set: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
obj: *mut tm_the_truth_object_o,
property: u32,
subobject: tm_tt_id_t,
undo_scope: tm_tt_undo_scope_t,
),
>,
pub add_instantiated_subobject_back_to_set: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
obj: *mut tm_the_truth_object_o,
property: u32,
subobject: tm_tt_id_t,
),
>,
pub id: ::std::option::Option<
unsafe extern "C" fn(obj: *const tm_the_truth_object_o) -> tm_tt_id_t,
>,
pub destroy_object: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
object: tm_tt_id_t,
undo_scope: tm_tt_undo_scope_t,
),
>,
pub destroy_objects: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
object: *const tm_tt_id_t,
n: u32,
undo_scope: tm_tt_undo_scope_t,
),
>,
pub garbage_collect: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
pub is_alive: ::std::option::Option<
unsafe extern "C" fn(tt: *const tm_the_truth_o, object: tm_tt_id_t) -> bool,
>,
pub interop_ensure_compatibility:
::std::option::Option<unsafe extern "C" fn(ctx: *mut tm_the_truth_interop_context_t)>,
pub interop_clone_object: ::std::option::Option<
unsafe extern "C" fn(
ctx: *mut tm_the_truth_interop_context_t,
object: tm_tt_id_t,
) -> tm_tt_id_t,
>,
pub deep_clone_assets: ::std::option::Option<
unsafe extern "C" fn(
to_tt: *mut tm_the_truth_o,
from_tt: *const tm_the_truth_o,
assets: *const tm_tt_id_t,
n: u32,
undo_scope: tm_tt_undo_scope_t,
ta: *mut tm_temp_allocator_i,
) -> *mut tm_tt_id_t,
>,
pub uuid: ::std::option::Option<
unsafe extern "C" fn(tt: *const tm_the_truth_o, object: tm_tt_id_t) -> tm_uuid_t,
>,
pub read: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
object: tm_tt_id_t,
) -> *const tm_the_truth_object_o,
>,
pub get_bool: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
obj: *const tm_the_truth_object_o,
property: u32,
) -> bool,
>,
pub get_uint32_t: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
obj: *const tm_the_truth_object_o,
property: u32,
) -> u32,
>,
pub get_uint64_t: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
obj: *const tm_the_truth_object_o,
property: u32,
) -> u64,
>,
pub get_float: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
obj: *const tm_the_truth_object_o,
property: u32,
) -> f32,
>,
pub get_double: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
obj: *const tm_the_truth_object_o,
property: u32,
) -> f64,
>,
pub get_string: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
obj: *const tm_the_truth_object_o,
property: u32,
) -> *const ::std::os::raw::c_char,
>,
pub get_string_hash: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
obj: *const tm_the_truth_object_o,
property: u32,
) -> u64,
>,
pub get_buffer: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
obj: *const tm_the_truth_object_o,
property: u32,
) -> tm_tt_buffer_t,
>,
pub get_reference: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
obj: *const tm_the_truth_object_o,
property: u32,
) -> tm_tt_id_t,
>,
pub get_subobject: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
obj: *const tm_the_truth_object_o,
property: u32,
) -> tm_tt_id_t,
>,
pub get_property_value: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
obj: *const tm_the_truth_object_o,
property: u32,
ta: *mut tm_temp_allocator_i,
) -> tm_tt_prop_value_t,
>,
pub property_value_equal: ::std::option::Option<
unsafe extern "C" fn(a: tm_tt_prop_value_t, b: tm_tt_prop_value_t) -> bool,
>,
pub get_reference_set: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
obj: *const tm_the_truth_object_o,
property: u32,
ta: *mut tm_temp_allocator_i,
) -> *const tm_tt_id_t,
>,
pub get_subobject_set: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
obj: *const tm_the_truth_object_o,
property: u32,
ta: *mut tm_temp_allocator_i,
) -> *const tm_tt_id_t,
>,
pub get_reference_set_size: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
obj: *const tm_the_truth_object_o,
property: u32,
) -> u64,
>,
pub get_subobject_set_size: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
obj: *const tm_the_truth_object_o,
property: u32,
) -> u64,
>,
pub get_subobject_set_locally_removed: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
obj: *const tm_the_truth_object_o,
property: u32,
ta: *mut tm_temp_allocator_i,
) -> *const tm_tt_id_t,
>,
pub find_subobject_of_type: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
obj: *const tm_the_truth_object_o,
property: u32,
type_: u64,
) -> tm_tt_id_t,
>,
pub is_subobject_of: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
obj: *const tm_the_truth_object_o,
property: u32,
subobject: tm_tt_id_t,
) -> bool,
>,
pub property_index_of_subobject: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
object: tm_tt_id_t,
subobject: tm_tt_id_t,
) -> u32,
>,
pub write: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
object: tm_tt_id_t,
) -> *mut tm_the_truth_object_o,
>,
pub commit: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
obj: *mut tm_the_truth_object_o,
undo_scope: tm_tt_undo_scope_t,
),
>,
pub commit_range: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
obj: *mut *mut tm_the_truth_object_o,
n: u32,
undo_scope: tm_tt_undo_scope_t,
),
>,
pub retarget_write: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
obj: *mut tm_the_truth_object_o,
object: tm_tt_id_t,
),
>,
pub try_write: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
object: tm_tt_id_t,
original: *mut *const tm_the_truth_object_o,
) -> *mut tm_the_truth_object_o,
>,
pub try_commit: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
obj: *mut tm_the_truth_object_o,
original: *const tm_the_truth_object_o,
undo_scope: tm_tt_undo_scope_t,
) -> bool,
>,
pub set_bool: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
obj: *mut tm_the_truth_object_o,
property: u32,
value: bool,
),
>,
pub set_uint32_t: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
obj: *mut tm_the_truth_object_o,
property: u32,
value: u32,
),
>,
pub set_uint64_t: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
obj: *mut tm_the_truth_object_o,
property: u32,
value: u64,
),
>,
pub set_float: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
obj: *mut tm_the_truth_object_o,
property: u32,
value: f32,
),
>,
pub set_double: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
obj: *mut tm_the_truth_object_o,
property: u32,
value: f64,
),
>,
pub set_string: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
obj: *mut tm_the_truth_object_o,
property: u32,
value: *const ::std::os::raw::c_char,
),
>,
pub set_buffer: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
obj: *mut tm_the_truth_object_o,
property: u32,
value: u32,
),
>,
pub set_reference: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
obj: *mut tm_the_truth_object_o,
property: u32,
value: tm_tt_id_t,
),
>,
pub set_subobject: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
obj: *mut tm_the_truth_object_o,
property: u32,
value: *mut tm_the_truth_object_o,
),
>,
pub set_subobject_id: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
obj: *mut tm_the_truth_object_o,
property: u32,
value: tm_tt_id_t,
undo_scope: tm_tt_undo_scope_t,
),
>,
pub set_property_value: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
obj: *mut tm_the_truth_object_o,
property: u32,
value: tm_tt_prop_value_t,
undo_scope: tm_tt_undo_scope_t,
),
>,
pub clear: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
obj: *mut tm_the_truth_object_o,
property: u32,
),
>,
pub clear_object: ::std::option::Option<
unsafe extern "C" fn(tt: *mut tm_the_truth_o, obj: *mut tm_the_truth_object_o),
>,
pub propagate_property: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
object: tm_tt_id_t,
property: u32,
undo_scope: tm_tt_undo_scope_t,
),
>,
pub propagate_object: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
object: tm_tt_id_t,
undo_scope: tm_tt_undo_scope_t,
),
>,
pub propagate_object_except: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
object: tm_tt_id_t,
skip: *const tm_tt_id_t,
num_skip: u32,
undo_scope: tm_tt_undo_scope_t,
),
>,
pub add_to_reference_set: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
obj: *mut tm_the_truth_object_o,
property: u32,
items: *const tm_tt_id_t,
count: u32,
),
>,
pub remove_from_reference_set: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
obj: *mut tm_the_truth_object_o,
property: u32,
items: *const tm_tt_id_t,
count: u32,
),
>,
pub clear_reference_set: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
obj: *mut tm_the_truth_object_o,
property: u32,
),
>,
pub remove_from_prototype_reference_set: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
obj: *mut tm_the_truth_object_o,
property: u32,
items: *const tm_tt_id_t,
count: u32,
),
>,
pub cancel_remove_from_prototype_reference_set: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
obj: *mut tm_the_truth_object_o,
property: u32,
items: *const tm_tt_id_t,
count: u32,
),
>,
pub add_to_subobject_set: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
obj: *mut tm_the_truth_object_o,
property: u32,
items: *mut *mut tm_the_truth_object_o,
count: u32,
),
>,
pub remove_from_subobject_set: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
obj: *mut tm_the_truth_object_o,
property: u32,
items: *const tm_tt_id_t,
count: u32,
),
>,
pub clear_subobject_set: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
obj: *mut tm_the_truth_object_o,
property: u32,
),
>,
pub remove_from_prototype_subobject_set: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
obj: *mut tm_the_truth_object_o,
property: u32,
items: *const tm_tt_id_t,
count: u32,
),
>,
pub cancel_remove_from_prototype_subobject_set: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
obj: *mut tm_the_truth_object_o,
property: u32,
items: *const tm_tt_id_t,
count: u32,
),
>,
pub prototype: ::std::option::Option<
unsafe extern "C" fn(tt: *const tm_the_truth_o, object: tm_tt_id_t) -> tm_tt_id_t,
>,
pub owner: ::std::option::Option<
unsafe extern "C" fn(tt: *const tm_the_truth_o, object: tm_tt_id_t) -> tm_tt_id_t,
>,
pub is_currently_owner_of: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
object: tm_tt_id_t,
subobject: tm_tt_id_t,
) -> bool,
>,
pub is_overridden: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
obj: *const tm_the_truth_object_o,
property: u32,
) -> bool,
>,
pub has_data: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
obj: *const tm_the_truth_object_o,
property: u32,
) -> bool,
>,
pub prototype_relation: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
parent: tm_tt_id_t,
property: u32,
object: tm_tt_id_t,
) -> tm_the_truth_prototype_relation,
>,
pub version: ::std::option::Option<
unsafe extern "C" fn(tt: *const tm_the_truth_o, object: tm_tt_id_t) -> u32,
>,
pub changed_objects: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
type_: u64,
since_version: u64,
ta: *mut tm_temp_allocator_i,
) -> tm_the_truth_changed_objects_t,
>,
pub request_changelog:
::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o) -> u64>,
pub relinquish_changelog:
::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o, h: u64)>,
pub disable_changelog_start_scope:
::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
pub disable_changelog_end_scope:
::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
pub changelog_size: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o) -> u64>,
pub serialize: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
o: tm_tt_id_t,
carray: *mut *mut ::std::os::raw::c_char,
a: *mut tm_allocator_i,
opt: *const tm_tt_serialize_options_t,
),
>,
pub deserialize: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
buffer: *mut *const ::std::os::raw::c_char,
opt: *const tm_tt_deserialize_options_t,
) -> tm_tt_id_t,
>,
pub buffer_hashes: ::std::option::Option<
unsafe extern "C" fn(
buffer: *mut *const ::std::os::raw::c_char,
count: *mut u64,
) -> *const u64,
>,
pub deserialize_from_file: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
file: *const ::std::os::raw::c_char,
) -> tm_tt_id_t,
>,
pub migration_ids: ::std::option::Option<
unsafe extern "C" fn(tt: *const tm_the_truth_o, n: *mut u32) -> *mut u64,
>,
pub serialize_changes_header: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
carray: *mut *mut ::std::os::raw::c_char,
a: *mut tm_allocator_i,
),
>,
pub serialize_changes: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
begin: u64,
end: u64,
carray: *mut *mut ::std::os::raw::c_char,
a: *mut tm_allocator_i,
opt: *const tm_tt_serialize_changes_options_t,
),
>,
pub deserialize_changes: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
buffer: *mut *const ::std::os::raw::c_char,
opt: *const tm_tt_deserialize_changes_options_t,
),
>,
pub serialize_patch: ::std::option::Option<
unsafe extern "C" fn(
from_tt: *mut tm_the_truth_o,
from_o: tm_tt_id_t,
to_tt: *mut tm_the_truth_o,
to_o: tm_tt_id_t,
carray: *mut *mut ::std::os::raw::c_char,
a: *mut tm_allocator_i,
),
>,
pub deserialize_patch: ::std::option::Option<
unsafe extern "C" fn(tt: *mut tm_the_truth_o, buffer: *mut *const ::std::os::raw::c_char),
>,
pub deserialize_patch_from_file: ::std::option::Option<
unsafe extern "C" fn(tt: *mut tm_the_truth_o, file: *const ::std::os::raw::c_char),
>,
pub serialize_type: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
type_: u32,
ta: *mut tm_temp_allocator_i,
) -> *mut ::std::os::raw::c_char,
>,
pub deserialize_type: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
buf: *mut *const ::std::os::raw::c_char,
type_info: *mut tm_the_truth_serialized_type_info_t,
),
>,
pub memory_use: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
id: tm_tt_id_t,
buffers: *mut tm_set_t,
) -> tm_tt_memory_use_t,
>,
pub add_properties: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
type_: u64,
properties: *const tm_the_truth_property_definition_t,
num_properties: u32,
),
>,
pub resolve_or_create_placeholder: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
uuid: tm_uuid_t,
type_: u64,
default_initialize: bool,
) -> tm_tt_id_t,
>,
pub resolve_or_fail: ::std::option::Option<
unsafe extern "C" fn(tt: *mut tm_the_truth_o, uuid: tm_uuid_t, type_: u64) -> tm_tt_id_t,
>,
pub set_uuid: ::std::option::Option<
unsafe extern "C" fn(tt: *mut tm_the_truth_o, id: tm_tt_id_t, uuid: tm_uuid_t),
>,
pub set_prototype: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
obj: *mut tm_the_truth_object_o,
id: tm_tt_id_t,
),
>,
pub detach_from_prototype: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
id: tm_tt_id_t,
lookup: *mut tm_hash_id_to_id_t,
undo_scope: tm_tt_undo_scope_t,
),
>,
pub detach_all_instances: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
id: tm_tt_id_t,
undo_scope: tm_tt_undo_scope_t,
),
>,
pub get_local_reference_set: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
obj: *const tm_the_truth_object_o,
property: u32,
) -> tm_the_truth_local_set_t,
>,
pub get_local_subobject_set: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
obj: *const tm_the_truth_object_o,
property: u32,
) -> tm_the_truth_local_set_t,
>,
pub set_local_reference_set: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
obj: *mut tm_the_truth_object_o,
property: u32,
set: tm_the_truth_local_set_t,
),
>,
pub set_local_subobject_set: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
obj: *mut tm_the_truth_object_o,
property: u32,
set: tm_the_truth_set_local_subobject_set_t,
),
>,
pub string_repository: ::std::option::Option<
unsafe extern "C" fn(tt: *mut tm_the_truth_o) -> *mut tm_string_repository_i,
>,
pub set_migration_ids:
::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o, ids: *mut u64, n: u32)>,
pub set_properties_to_default: ::std::option::Option<
unsafe extern "C" fn(tt: *mut tm_the_truth_o, obj: *mut tm_the_truth_object_o, mask: u64),
>,
pub instantiate_subobjects_recursively: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
object: tm_tt_id_t,
undo_scope: tm_tt_undo_scope_t,
),
>,
pub quick_set_properties: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
undo_scope: tm_tt_undo_scope_t,
id: tm_tt_id_t,
...
),
>,
pub quick_create_object: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
undo_scope: tm_tt_undo_scope_t,
type_hash: u64,
...
) -> tm_tt_id_t,
>,
pub quick_get_property: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
id: tm_tt_id_t,
prop_1: u32,
...
) -> tm_tt_prop_value_t,
>,
pub internal__set_owner: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
obj: *mut tm_the_truth_object_o,
object: tm_tt_id_t,
),
>,
pub debug_inspect: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
object: tm_tt_id_t,
) -> *const ::std::os::raw::c_char,
>,
pub internal__detect_overlapping_writes:
::std::option::Option<unsafe extern "C" fn(tt: *const tm_the_truth_o) -> bool>,
pub create: ::std::option::Option<
unsafe extern "C" fn(
a: *mut tm_allocator_i,
types: tm_the_truth_create_types,
) -> *mut tm_the_truth_o,
>,
pub destroy: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
}
pub const TM_TT_PROP__ASSET_ROOT__ASSETS: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__ASSET_ROOT__DIRECTORIES: ::std::os::raw::c_int = 1;
pub type _bindgen_ty_3 = ::std::os::raw::c_int;
pub const TM_TT_PROP__ASSET__NAME: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__ASSET__DIRECTORY: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__ASSET__UUID_TAGS: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__ASSET__OBJECT: ::std::os::raw::c_int = 3;
pub type _bindgen_ty_4 = ::std::os::raw::c_int;
pub const TM_TT_PROP__ASSET_DIRECTORY__NAME: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__ASSET_DIRECTORY__PARENT: ::std::os::raw::c_int = 1;
pub type _bindgen_ty_5 = ::std::os::raw::c_int;
pub const TM_TT_PROP__ASSET_TAG__UUID: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__ASSET_TAG__NAME: ::std::os::raw::c_int = 0;
pub type _bindgen_ty_6 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_asset_tag_t {
pub uuid: u64,
pub name: *const ::std::os::raw::c_char,
}
impl Default for tm_asset_tag_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub type tm_tt_assets_file_extension_aspect_i = ::std::os::raw::c_char;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_tt_assets_buffer_write_t {
pub id: u32,
pub _padding_74: [::std::os::raw::c_char; 4usize],
pub hash: u64,
pub ext: *const ::std::os::raw::c_char,
}
impl Default for tm_tt_assets_buffer_write_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_tt_assets_buffer_t {
pub object_id: tm_tt_id_t,
pub property_index: u32,
pub _padding_91: [::std::os::raw::c_char; 4usize],
pub hash: u64,
}
impl Default for tm_tt_assets_buffer_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_saved_truth_data_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_the_truth_assets_api {
pub create_asset_truth_types:
::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
pub get_asset_path: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
asset: tm_tt_id_t,
path: *mut ::std::os::raw::c_char,
n: u32,
) -> u32,
>,
pub get_directory_path: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
directory: tm_tt_id_t,
path: *mut ::std::os::raw::c_char,
n: u32,
) -> u32,
>,
pub get_asset_path_with_extension: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
asset: tm_tt_id_t,
path: *mut ::std::os::raw::c_char,
n: u32,
) -> u32,
>,
pub asset_from_path: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
root: tm_tt_id_t,
path: *const ::std::os::raw::c_char,
) -> tm_tt_id_t,
>,
pub asset_from_path_with_type: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
root: tm_tt_id_t,
path: *const ::std::os::raw::c_char,
type_: u64,
) -> tm_tt_id_t,
>,
pub directory_from_path: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
root: tm_tt_id_t,
path: *const ::std::os::raw::c_char,
) -> tm_tt_id_t,
>,
pub find_subdirectory_by_name: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
root: tm_tt_id_t,
parent_dir: tm_tt_id_t,
subdir_name: *const ::std::os::raw::c_char,
) -> tm_tt_id_t,
>,
pub unique_asset_name: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
root: tm_tt_id_t,
asset_r: *const tm_the_truth_object_o,
desired_name: *const ::std::os::raw::c_char,
) -> *const ::std::os::raw::c_char,
>,
pub unique_directory_name: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
root: tm_tt_id_t,
directory_r: *const tm_the_truth_object_o,
desired_name: *const ::std::os::raw::c_char,
) -> *const ::std::os::raw::c_char,
>,
pub object_asset_name: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
object: tm_tt_id_t,
) -> *const ::std::os::raw::c_char,
>,
pub object_to_config: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
object: tm_tt_id_t,
config: *mut tm_config_i,
buffers: *mut *mut tm_tt_assets_buffer_write_t,
buffers_ta: *mut tm_temp_allocator_i,
save_uuid: bool,
),
>,
pub create_object_from_config: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
config: *mut tm_config_i,
buffers: *mut *mut tm_tt_assets_buffer_t,
buffers_ta: *mut tm_temp_allocator_i,
) -> tm_tt_id_t,
>,
pub read_object_from_config: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
config: *mut tm_config_i,
buffers: *mut *mut tm_tt_assets_buffer_t,
buffers_ta: *mut tm_temp_allocator_i,
id: tm_tt_id_t,
),
>,
pub save_to_directory: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
asset_root: tm_tt_id_t,
dir: *const ::std::os::raw::c_char,
ignore: *mut tm_tt_id_t,
num_ignore: u32,
old_std: *mut tm_saved_truth_data_o,
allocator: *mut tm_allocator_i,
) -> *mut tm_saved_truth_data_o,
>,
pub load_from_directory: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
dir: *const ::std::os::raw::c_char,
allocator: *mut tm_allocator_i,
asset_root: *mut tm_tt_id_t,
) -> *mut tm_saved_truth_data_o,
>,
pub current_truth_data: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
asset_root: tm_tt_id_t,
allocator: *mut tm_allocator_i,
) -> *mut tm_saved_truth_data_o,
>,
pub revert_asset: ::std::option::Option<
unsafe extern "C" fn(
sd: *mut tm_saved_truth_data_o,
asset: tm_tt_id_t,
undo_scope: tm_tt_undo_scope_t,
) -> bool,
>,
pub save_asset: ::std::option::Option<
unsafe extern "C" fn(sd: *mut tm_saved_truth_data_o, asset: tm_tt_id_t) -> bool,
>,
pub saved_name: ::std::option::Option<
unsafe extern "C" fn(
sd: *mut tm_saved_truth_data_o,
item: tm_tt_id_t,
) -> *const ::std::os::raw::c_char,
>,
pub saved_directory: ::std::option::Option<
unsafe extern "C" fn(sd: *mut tm_saved_truth_data_o, item: tm_tt_id_t) -> tm_tt_id_t,
>,
pub saved_version: ::std::option::Option<
unsafe extern "C" fn(sd: *mut tm_saved_truth_data_o, item: tm_tt_id_t) -> u64,
>,
pub all_saved_items: ::std::option::Option<
unsafe extern "C" fn(
sd: *mut tm_saved_truth_data_o,
ta: *mut tm_temp_allocator_i,
) -> *mut tm_tt_id_t,
>,
pub free_saved_data:
::std::option::Option<unsafe extern "C" fn(sd: *mut tm_saved_truth_data_o)>,
pub set_mock_file_system: ::std::option::Option<
unsafe extern "C" fn(fs: *mut tm_os_file_system_api, file_io: *mut tm_os_file_io_api),
>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_the_truth_migration_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_the_truth_migration_i {
pub inst: *mut tm_the_truth_migration_o,
pub id: u64,
pub num_prerequisites: u32,
pub _padding_81: [::std::os::raw::c_char; 4usize],
pub prerequisites: *mut u64,
pub migrate: ::std::option::Option<
unsafe extern "C" fn(inst: *mut tm_the_truth_migration_o, tt: *mut tm_the_truth_o) -> bool,
>,
}
impl Default for tm_the_truth_migration_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_the_truth_migration_api {
pub migrate: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o) -> bool>,
}
pub const TM_TT_PROP__VEC2__X: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__VEC2__Y: ::std::os::raw::c_int = 1;
pub type _bindgen_ty_7 = ::std::os::raw::c_int;
pub const TM_TT_PROP__VEC3__X: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__VEC3__Y: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__VEC3__Z: ::std::os::raw::c_int = 2;
pub type _bindgen_ty_8 = ::std::os::raw::c_int;
pub const TM_TT_PROP__VEC4__X: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__VEC4__Y: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__VEC4__Z: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__VEC4__W: ::std::os::raw::c_int = 3;
pub type _bindgen_ty_9 = ::std::os::raw::c_int;
pub const TM_TT_PROP__POSITION__X: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__POSITION__Y: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__POSITION__Z: ::std::os::raw::c_int = 2;
pub type _bindgen_ty_10 = ::std::os::raw::c_int;
pub const TM_TT_PROP__ROTATION__X: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__ROTATION__Y: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__ROTATION__Z: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__ROTATION__W: ::std::os::raw::c_int = 3;
pub type _bindgen_ty_11 = ::std::os::raw::c_int;
pub const TM_TT_PROP__SCALE__X: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__SCALE__Y: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__SCALE__Z: ::std::os::raw::c_int = 2;
pub type _bindgen_ty_12 = ::std::os::raw::c_int;
pub const TM_TT_PROP__COLOR_RGB__R: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__COLOR_RGB__G: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__COLOR_RGB__B: ::std::os::raw::c_int = 2;
pub type _bindgen_ty_13 = ::std::os::raw::c_int;
pub const TM_TT_PROP__COLOR_RGBA__R: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__COLOR_RGBA__G: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__COLOR_RGBA__B: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__COLOR_RGBA__A: ::std::os::raw::c_int = 3;
pub type _bindgen_ty_14 = ::std::os::raw::c_int;
pub const TM_TT_PROP__RECT__X: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__RECT__Y: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__RECT__W: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__RECT__H: ::std::os::raw::c_int = 3;
pub type _bindgen_ty_15 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_the_truth_common_types_api {
pub create_common_types: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
pub read_floats: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
obj: *const tm_the_truth_object_o,
res: *mut f32,
n: u32,
) -> *mut f32,
>,
pub write_floats: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
obj: *mut tm_the_truth_object_o,
values: *const f32,
n: u32,
),
>,
pub get_vec2: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
parent_r: *const tm_the_truth_object_o,
property: u32,
) -> tm_vec2_t,
>,
pub get_vec3: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
parent_r: *const tm_the_truth_object_o,
property: u32,
) -> tm_vec3_t,
>,
pub get_vec4: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
parent_r: *const tm_the_truth_object_o,
property: u32,
) -> tm_vec4_t,
>,
pub get_rect: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
parent_r: *const tm_the_truth_object_o,
property: u32,
) -> tm_rect_t,
>,
pub get_position: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
parent_r: *const tm_the_truth_object_o,
property: u32,
) -> tm_vec3_t,
>,
pub get_rotation: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
parent_r: *const tm_the_truth_object_o,
property: u32,
) -> tm_vec4_t,
>,
pub get_scale: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
parent_r: *const tm_the_truth_object_o,
property: u32,
) -> tm_vec3_t,
>,
pub get_color_rgb: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
parent_r: *const tm_the_truth_object_o,
property: u32,
) -> tm_vec3_t,
>,
pub get_color_rgba: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
parent_r: *const tm_the_truth_object_o,
property: u32,
) -> tm_vec4_t,
>,
pub get_color_srgb: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
parent_r: *const tm_the_truth_object_o,
property: u32,
) -> tm_color_srgb_t,
>,
pub get_color_srgba: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
parent_r: *const tm_the_truth_object_o,
property: u32,
) -> tm_color_srgb_t,
>,
pub set_vec2: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
parent_w: *mut tm_the_truth_object_o,
property: u32,
vec2: tm_vec2_t,
undo_scope: tm_tt_undo_scope_t,
),
>,
pub set_vec3: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
parent_w: *mut tm_the_truth_object_o,
property: u32,
vec3: tm_vec3_t,
undo_scope: tm_tt_undo_scope_t,
),
>,
pub set_vec4: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
parent_w: *mut tm_the_truth_object_o,
property: u32,
vec4: tm_vec4_t,
undo_scope: tm_tt_undo_scope_t,
),
>,
pub set_rect: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
parent_w: *mut tm_the_truth_object_o,
property: u32,
rect: tm_rect_t,
undo_scope: tm_tt_undo_scope_t,
),
>,
pub set_position: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
parent_w: *mut tm_the_truth_object_o,
property: u32,
vec3: tm_vec3_t,
undo_scope: tm_tt_undo_scope_t,
),
>,
pub set_rotation: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
parent_w: *mut tm_the_truth_object_o,
property: u32,
vec4: tm_vec4_t,
undo_scope: tm_tt_undo_scope_t,
),
>,
pub set_scale: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
parent_w: *mut tm_the_truth_object_o,
property: u32,
vec3: tm_vec3_t,
undo_scope: tm_tt_undo_scope_t,
),
>,
pub set_color_rgb: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
parent_w: *mut tm_the_truth_object_o,
property: u32,
vec3: tm_vec3_t,
undo_scope: tm_tt_undo_scope_t,
),
>,
pub set_color_rgba: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
parent_w: *mut tm_the_truth_object_o,
property: u32,
vec4: tm_vec4_t,
undo_scope: tm_tt_undo_scope_t,
),
>,
pub set_color_srgb: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
parent_w: *mut tm_the_truth_object_o,
property: u32,
col: tm_color_srgb_t,
undo_scope: tm_tt_undo_scope_t,
),
>,
pub set_color_srgba: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
parent_w: *mut tm_the_truth_object_o,
property: u32,
col: tm_color_srgb_t,
undo_scope: tm_tt_undo_scope_t,
),
>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_undo_stack_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_undo_stack_i {
pub inst: *mut tm_undo_stack_o,
pub add: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_undo_stack_o,
tt: *mut tm_the_truth_o,
scope: tm_tt_undo_scope_t,
),
>,
pub add_to_document: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_undo_stack_o,
tt: *mut tm_the_truth_o,
scope: tm_tt_undo_scope_t,
document_object: tm_tt_id_t,
),
>,
}
impl Default for tm_undo_stack_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_unicode_api {
pub utf8_encode:
::std::option::Option<unsafe extern "C" fn(utf8: *mut u8, codepoint: u32) -> *mut u8>,
pub utf8_decode: ::std::option::Option<unsafe extern "C" fn(utf8: *mut *const u8) -> u32>,
pub utf8_num_codepoints: ::std::option::Option<unsafe extern "C" fn(utf8: *const u8) -> u32>,
pub utf8_decode_n: ::std::option::Option<
unsafe extern "C" fn(codepoints: *mut u32, n: u32, utf8: *mut *const u8) -> u32,
>,
pub utf8_to_utf32: ::std::option::Option<
unsafe extern "C" fn(utf8: *const u8, ta: *mut tm_temp_allocator_i) -> *mut u32,
>,
pub utf8_to_utf32_n: ::std::option::Option<
unsafe extern "C" fn(utf8: *const u8, n: u32, ta: *mut tm_temp_allocator_i) -> *mut u32,
>,
pub utf32_to_utf8: ::std::option::Option<
unsafe extern "C" fn(utf32: *const u32, ta: *mut tm_temp_allocator_i) -> *mut u8,
>,
pub utf32_to_utf8_n: ::std::option::Option<
unsafe extern "C" fn(utf32: *const u32, n: u32, ta: *mut tm_temp_allocator_i) -> *mut u8,
>,
pub utf16_encode:
::std::option::Option<unsafe extern "C" fn(utf16: *mut u16, codepoint: u32) -> *mut u16>,
pub utf16_decode: ::std::option::Option<unsafe extern "C" fn(utf16: *mut *const u16) -> u32>,
pub utf8_to_utf16: ::std::option::Option<
unsafe extern "C" fn(utf8: *const u8, ta: *mut tm_temp_allocator_i) -> *mut u16,
>,
pub utf8_to_utf16_n: ::std::option::Option<
unsafe extern "C" fn(utf8: *const u8, n: u32, ta: *mut tm_temp_allocator_i) -> *mut u16,
>,
pub utf16_to_utf8: ::std::option::Option<
unsafe extern "C" fn(utf16: *const u16, ta: *mut tm_temp_allocator_i) -> *mut u8,
>,
pub utf16_to_utf8_n: ::std::option::Option<
unsafe extern "C" fn(utf16: *const u16, n: u32, ta: *mut tm_temp_allocator_i) -> *mut u8,
>,
}
pub const TM_UNICODE__DOTTED_CROSS: ::std::os::raw::c_int = 8284;
pub const TM_UNICODE__RIGHTWARDS_ARROW: ::std::os::raw::c_int = 8594;
pub const TM_UNICODE__EMPTY_SET: ::std::os::raw::c_int = 8709;
pub const TM_UNICODE__BLACK_DOWN_POINTING_TRIANGLE: ::std::os::raw::c_int = 9660;
pub const TM_UNICODE__BLACK_UP_POINTING_TRIANGLE: ::std::os::raw::c_int = 9650;
pub const TM_UNICODE__BLACK_RIGHT_POINTING_TRIANGLE: ::std::os::raw::c_int = 9654;
pub const TM_UNICODE__BLACK_LEFT_POINTING_TRIANGLE: ::std::os::raw::c_int = 9664;
pub const TM_UNICODE__DIE_FACE_1: ::std::os::raw::c_int = 9856;
pub const TM_UNICODE__NEUTER: ::std::os::raw::c_int = 9906;
pub const TM_UNICODE__CHECK_MARK: ::std::os::raw::c_int = 10003;
pub const TM_UNICODE__MULTIPLICATION_X: ::std::os::raw::c_int = 10005;
pub const TM_UNICODE__HEAVY_MULTIPLICATION_X: ::std::os::raw::c_int = 10006;
pub const TM_UNICODE__EARTH: ::std::os::raw::c_int = 127759;
pub const TM_UNICODE__HOUSE: ::std::os::raw::c_int = 127968;
pub const TM_UNICODE__ORIGINAL_OF: ::std::os::raw::c_int = 8886;
pub const TM_UNICODE__IMAGE_OF: ::std::os::raw::c_int = 8887;
pub const TM_UNICODE__CIRCLE_DOT_OPERATOR: ::std::os::raw::c_int = 8857;
pub const TM_UNICODE__MAXIMIZE: ::std::os::raw::c_int = 128470;
pub const TM_UNICODE__OVERLAP: ::std::os::raw::c_int = 128471;
pub const TM_UNICODE__PLUS_MINUS: ::std::os::raw::c_int = 49841;
pub const TM_UNICODE__CAMERA: ::std::os::raw::c_int = 128247;
pub const TM_UNICODE__ELECTRIC_LIGHT_BLUB: ::std::os::raw::c_int = 128161;
pub const TM_UNICODE__HORIZONTAL_ELLIPSIS: ::std::os::raw::c_int = 8230;
pub const TM_UNICODE__HEAVY_PLUS_SIGN: ::std::os::raw::c_int = 10133;
pub const TM_UNICODE__RIGHTWARDS_ARROW_TO_BAR: ::std::os::raw::c_int = 8677;
pub const TM_UNICODE__RIGHT_ANGLE_WITH_ARC: ::std::os::raw::c_int = 8894;
pub const TM_UNICODE__REFRESH: ::std::os::raw::c_int = 128472;
pub const TM_UNICODE__WRENCH_HAMMER: ::std::os::raw::c_int = 128736;
pub const TM_UNICODE__WRENCH: ::std::os::raw::c_int = 128295;
pub const TM_UNICODE__ZZZ: ::std::os::raw::c_int = 128164;
pub const TM_UNICODE__MAGNIFYING_GLASS_LEFT: ::std::os::raw::c_int = 128269;
pub const TM_UNICODE__EYE: ::std::os::raw::c_int = 128065;
pub const TM_UNICODE__GEAR: ::std::os::raw::c_int = 9881;
pub const TM_UNICODE__COPYRIGHT: ::std::os::raw::c_int = 169;
pub const TM_UNICODE__LEFTWARDS_HEAVY_ARROW: ::std::os::raw::c_int = 129092;
pub const TM_UNICODE__RIGHTWARDS_HEAVY_ARROW: ::std::os::raw::c_int = 129094;
pub type _bindgen_ty_16 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_unit_test_runner_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_unit_test_runner_i {
pub inst: *mut tm_unit_test_runner_o,
pub test_file: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_unit_test_runner_o,
name: *const ::std::os::raw::c_char,
) -> bool,
>,
pub test_custom: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_unit_test_runner_o,
name: *const ::std::os::raw::c_char,
) -> bool,
>,
pub test_disk:
::std::option::Option<unsafe extern "C" fn(inst: *mut tm_unit_test_runner_o) -> bool>,
pub test_network:
::std::option::Option<unsafe extern "C" fn(inst: *mut tm_unit_test_runner_o) -> bool>,
pub test_slow_paths:
::std::option::Option<unsafe extern "C" fn(inst: *mut tm_unit_test_runner_o) -> bool>,
pub record: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_unit_test_runner_o,
pass: bool,
test_str: *const ::std::os::raw::c_char,
file: *const ::std::os::raw::c_char,
line: u32,
) -> bool,
>,
pub expect_error: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_unit_test_runner_o,
err: *const ::std::os::raw::c_char,
file: *const ::std::os::raw::c_char,
line: u32,
),
>,
}
impl Default for tm_unit_test_runner_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_unit_test_i {
pub name: *const ::std::os::raw::c_char,
pub test: ::std::option::Option<
unsafe extern "C" fn(tr: *mut tm_unit_test_runner_i, a: *mut tm_allocator_i),
>,
}
impl Default for tm_unit_test_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub const tm_visibility_flag_behaviour_TM_VISIBILITY_FLAG_OPT_IN: tm_visibility_flag_behaviour = 0;
pub const tm_visibility_flag_behaviour_TM_VISIBILITY_FLAG_OPT_OUT: tm_visibility_flag_behaviour = 1;
pub type tm_visibility_flag_behaviour = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_visibility_flag_desc_t {
pub name: u64,
pub description: *const ::std::os::raw::c_char,
pub tooltip: *const ::std::os::raw::c_char,
pub uuid: u32,
pub behaviour: tm_visibility_flag_behaviour,
}
impl Default for tm_visibility_flag_desc_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_visibility_context_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_visibility_flags_api {
pub create_truth_types: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
pub create_context: ::std::option::Option<
unsafe extern "C" fn(
allocator: *mut tm_allocator_i,
name: u64,
) -> *mut tm_visibility_context_o,
>,
pub context_name:
::std::option::Option<unsafe extern "C" fn(context: *mut tm_visibility_context_o) -> u64>,
pub destroy_context:
::std::option::Option<unsafe extern "C" fn(context: *mut tm_visibility_context_o)>,
pub register_visibility_flag: ::std::option::Option<
unsafe extern "C" fn(
context: *mut tm_visibility_context_o,
desc: *const tm_visibility_flag_desc_t,
) -> u64,
>,
pub name_from_visibility_flag: ::std::option::Option<
unsafe extern "C" fn(context: *mut tm_visibility_context_o, visibility_flag: u64) -> u64,
>,
pub visibility_flag_from_name: ::std::option::Option<
unsafe extern "C" fn(context: *mut tm_visibility_context_o, name: u64) -> u64,
>,
pub unregister_visibility_flag: ::std::option::Option<
unsafe extern "C" fn(context: *mut tm_visibility_context_o, uuid: u32),
>,
pub enumerate_flags: ::std::option::Option<
unsafe extern "C" fn(
context: *mut tm_visibility_context_o,
flags: *mut tm_visibility_flag_desc_t,
num_flags: *mut u32,
),
>,
pub build_visibility_mask: ::std::option::Option<
unsafe extern "C" fn(
context: *mut tm_visibility_context_o,
uuids: *const u32,
num_uuids: u32,
) -> u64,
>,
}
pub const TM_TT_PROP__VISIBILITY_FLAG__UUID: ::std::os::raw::c_int = 0;
pub type _bindgen_ty_17 = ::std::os::raw::c_int;
pub const tm_web_socket_opcode_TM_WEB_SOCKET_OPCODE_CONTINUATION: tm_web_socket_opcode = 0;
pub const tm_web_socket_opcode_TM_WEB_SOCKET_OPCODE_TEXT: tm_web_socket_opcode = 1;
pub const tm_web_socket_opcode_TM_WEB_SOCKET_OPCODE_BINARY: tm_web_socket_opcode = 2;
pub const tm_web_socket_opcode_TM_WEB_SOCKET_OPCODE_CLOSE: tm_web_socket_opcode = 8;
pub const tm_web_socket_opcode_TM_WEB_SOCKET_OPCODE_PING: tm_web_socket_opcode = 9;
pub const tm_web_socket_opcode_TM_WEB_SOCKET_OPCODE_PONG: tm_web_socket_opcode = 10;
pub type tm_web_socket_opcode = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_web_socket_protocol_api {
pub make_client_handshake: ::std::option::Option<
unsafe extern "C" fn(
buffer: *mut ::std::os::raw::c_char,
size: u32,
host: *const ::std::os::raw::c_char,
port: u32,
request: *const ::std::os::raw::c_char,
key: *const ::std::os::raw::c_char,
),
>,
pub make_server_handshake: ::std::option::Option<
unsafe extern "C" fn(
buffer: *mut ::std::os::raw::c_char,
size: u32,
key: *const ::std::os::raw::c_char,
key_size: u32,
),
>,
pub make_frame_header: ::std::option::Option<
unsafe extern "C" fn(buffer: *mut u8, fin: bool, opcode: u8, size: u64, mask: u32) -> u32,
>,
pub parse_frame_header: ::std::option::Option<
unsafe extern "C" fn(
buffer: *mut u8,
buf_size: u64,
fin: *mut bool,
opcode: *mut u8,
size: *mut u64,
mask: *mut u32,
) -> u32,
>,
pub mask_data: ::std::option::Option<
unsafe extern "C" fn(data: *mut u8, size: u64, offset: u64, mask: u32),
>,
pub mask_segmented_buffer: ::std::option::Option<
unsafe extern "C" fn(seg: *mut tm_segmented_buffer_t, size: u64, mask: u32),
>,
}
pub const tm_http_request_status_TM_HTTP_REQUEST_STATUS_IN_PROGRESS: tm_http_request_status = 0;
pub const tm_http_request_status_TM_HTTP_REQUEST_STATUS_SUCCESS: tm_http_request_status = 1;
pub const tm_http_request_status_TM_HTTP_REQUEST_STATUS_ERROR: tm_http_request_status = 2;
pub const tm_http_request_status_TM_HTTP_REQUEST_STATUS_CLOSED: tm_http_request_status = 3;
pub type tm_http_request_status = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_http_request_t {
pub id: u64,
pub request_target: *const ::std::os::raw::c_char,
}
impl Default for tm_http_request_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_segmented_buffer_t {
pub data: *mut ::std::os::raw::c_void,
pub size: u64,
pub next: *mut tm_segmented_buffer_t,
}
impl Default for tm_segmented_buffer_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub const tm_web_socket_pseudo_opcode_TM_WEB_SOCKET_PSEUDO_OPCODE_OPEN:
tm_web_socket_pseudo_opcode = 16;
pub const tm_web_socket_pseudo_opcode_TM_WEB_SOCKET_PSEUDO_OPCODE_ERROR:
tm_web_socket_pseudo_opcode = 17;
pub type tm_web_socket_pseudo_opcode = ::std::os::raw::c_int;
pub const tm_web_socket_status_TM_WEB_SOCKET_STATUS_CONNECTING: tm_web_socket_status = 0;
pub const tm_web_socket_status_TM_WEB_SOCKET_STATUS_OPEN: tm_web_socket_status = 1;
pub const tm_web_socket_status_TM_WEB_SOCKET_STATUS_CLOSING: tm_web_socket_status = 2;
pub const tm_web_socket_status_TM_WEB_SOCKET_STATUS_CLOSED: tm_web_socket_status = 3;
pub const tm_web_socket_status_TM_WEB_SOCKET_STATUS_ERROR: tm_web_socket_status = 4;
pub type tm_web_socket_status = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_web_socket_request_t {
pub id: u64,
pub request_target: *const ::std::os::raw::c_char,
}
impl Default for tm_web_socket_request_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_web_socket_event_t {
pub opcode: u32,
pub _padding_103: [::std::os::raw::c_char; 4usize],
pub payload_size: u64,
pub payload: tm_segmented_buffer_t,
pub payload_reference: *mut ::std::os::raw::c_void,
}
impl Default for tm_web_socket_event_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_web_talker_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_web_talker_api {
pub listening_address: ::std::option::Option<
unsafe extern "C" fn(inst: *mut tm_web_talker_o, address: *mut tm_socket_address_t) -> bool,
>,
pub receive: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_web_talker_o)>,
pub send: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_web_talker_o)>,
pub http_get_requests: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_web_talker_o,
buffer: *mut tm_http_request_t,
capacity: u32,
) -> u32,
>,
pub http_respond_raw: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_web_talker_o,
id: u64,
response: *const ::std::os::raw::c_char,
),
>,
pub http_respond_html: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_web_talker_o,
id: u64,
html: *const ::std::os::raw::c_char,
),
>,
pub http_request: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_web_talker_o,
address: tm_socket_address_t,
headers: *const ::std::os::raw::c_char,
) -> u64,
>,
pub http_request_status: ::std::option::Option<
unsafe extern "C" fn(inst: *mut tm_web_talker_o, id: u64) -> tm_http_request_status,
>,
pub http_response: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_web_talker_o,
id: u64,
size: *mut u64,
) -> tm_segmented_buffer_t,
>,
pub http_close:
::std::option::Option<unsafe extern "C" fn(inst: *mut tm_web_talker_o, id: u64)>,
pub ws_get_requests: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_web_talker_o,
buffer: *mut tm_web_socket_request_t,
capacity: u32,
) -> u32,
>,
pub ws_connect: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_web_talker_o,
address: tm_socket_address_t,
host: *const ::std::os::raw::c_char,
request: *const ::std::os::raw::c_char,
) -> u64,
>,
pub ws_status: ::std::option::Option<
unsafe extern "C" fn(inst: *mut tm_web_talker_o, id: u64) -> tm_web_socket_status,
>,
pub ws_recv_progress: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_web_talker_o,
id: u64,
bytes: *mut u64,
total: *mut u64,
) -> bool,
>,
pub ws_get_events: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_web_talker_o,
id: u64,
buffer: *mut tm_web_socket_event_t,
capacity: u32,
) -> u32,
>,
pub ws_send_text_frame: ::std::option::Option<
unsafe extern "C" fn(inst: *mut tm_web_talker_o, id: u64, s: *const ::std::os::raw::c_char),
>,
pub ws_send_binary_frame: ::std::option::Option<
unsafe extern "C" fn(inst: *mut tm_web_talker_o, id: u64, data: *const u8, size: u64),
>,
pub ws_send_segmented_binary_frame: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_web_talker_o,
id: u64,
buf: *const tm_segmented_buffer_t,
size: u64,
),
>,
pub ws_send_ping:
::std::option::Option<unsafe extern "C" fn(inst: *mut tm_web_talker_o, id: u64)>,
pub ws_close: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_web_talker_o, id: u64)>,
pub copy_segmented_buffer: ::std::option::Option<
unsafe extern "C" fn(
buffer: *mut ::std::os::raw::c_void,
segments: *const tm_segmented_buffer_t,
size: u64,
),
>,
pub create: ::std::option::Option<
unsafe extern "C" fn(
a: *mut tm_allocator_i,
socket: *mut tm_os_socket_api,
port: u32,
) -> *mut tm_web_talker_o,
>,
pub create_no_server: ::std::option::Option<
unsafe extern "C" fn(
a: *mut tm_allocator_i,
socket: *mut tm_os_socket_api,
) -> *mut tm_web_talker_o,
>,
pub destroy: ::std::option::Option<unsafe extern "C" fn(arg1: *mut tm_web_talker_o)>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_analytics_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_analytics_api {
pub create: ::std::option::Option<
unsafe extern "C" fn(
parent: *mut tm_allocator_i,
property_id: *const ::std::os::raw::c_char,
client_id: *const ::std::os::raw::c_char,
) -> *mut tm_analytics_o,
>,
pub destroy: ::std::option::Option<unsafe extern "C" fn(ana: *mut tm_analytics_o)>,
pub update: ::std::option::Option<unsafe extern "C" fn(ana: *mut tm_analytics_o)>,
pub pageview: ::std::option::Option<
unsafe extern "C" fn(
ana: *mut tm_analytics_o,
hostname: *const ::std::os::raw::c_char,
page: *const ::std::os::raw::c_char,
title: *const ::std::os::raw::c_char,
),
>,
pub event: ::std::option::Option<
unsafe extern "C" fn(
ana: *mut tm_analytics_o,
category: *const ::std::os::raw::c_char,
action: *const ::std::os::raw::c_char,
label: *const ::std::os::raw::c_char,
value: f64,
),
>,
pub exception: ::std::option::Option<
unsafe extern "C" fn(
ana: *mut tm_analytics_o,
description: *const ::std::os::raw::c_char,
fatal: bool,
),
>,
pub timing: ::std::option::Option<
unsafe extern "C" fn(
ana: *mut tm_analytics_o,
category: *const ::std::os::raw::c_char,
variable: *const ::std::os::raw::c_char,
time: f64,
label: *mut ::std::os::raw::c_char,
),
>,
pub screenview: ::std::option::Option<
unsafe extern "C" fn(
ana: *mut tm_analytics_o,
application_name: *const ::std::os::raw::c_char,
application_version: *const ::std::os::raw::c_char,
application_id: *const ::std::os::raw::c_char,
screen_name: *const ::std::os::raw::c_char,
),
>,
pub vcustom:
::std::option::Option<unsafe extern "C" fn(ana: *mut tm_analytics_o, args: va_list)>,
pub custom: ::std::option::Option<unsafe extern "C" fn(ana: *mut tm_analytics_o, ...)>,
pub to_s: ::std::option::Option<
unsafe extern "C" fn(
value: f64,
buffer: *mut ::std::os::raw::c_char,
) -> *const ::std::os::raw::c_char,
>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_animation_blender_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_animation_blend_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_animation_blend_playing_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_animation_blender_playing_o {
_unused: [u8; 0],
}
pub const TM_ANIMATION_BLENDER_MAX_LAYERS: ::std::os::raw::c_int = 16;
pub type _bindgen_ty_18 = ::std::os::raw::c_int;
pub const TM_ANIMATION_BLENDER_MAX_MIX: ::std::os::raw::c_int = 32;
pub type _bindgen_ty_19 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_animation_pose_t {
pub hash: u64,
pub n: u32,
pub _padding_30: [::std::os::raw::c_char; 4usize],
pub bone_names: *mut u64,
pub pos: *mut tm_vec3_t,
pub rot: *mut tm_vec4_t,
pub scl: *mut tm_vec3_t,
}
impl Default for tm_animation_pose_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_bone_weights_t {
pub default_weight: f32,
pub _padding_52: [::std::os::raw::c_char; 4usize],
pub hash: u64,
pub n: u32,
pub _padding_60: [::std::os::raw::c_char; 4usize],
pub bone_names: *mut u64,
pub weights: *mut f32,
}
impl Default for tm_bone_weights_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_animation_blender_api {
pub blend: ::std::option::Option<
unsafe extern "C" fn(
p1: *mut tm_animation_pose_t,
p1_weight: f32,
p2: *const tm_animation_pose_t,
p2_weight: f32,
),
>,
pub offset_blend: ::std::option::Option<
unsafe extern "C" fn(
p1: *mut tm_animation_pose_t,
p2: *const tm_animation_pose_t,
p2_weight: f32,
bone_weights: *const tm_bone_weights_t,
),
>,
pub mix: ::std::option::Option<
unsafe extern "C" fn(
p: *mut tm_animation_pose_t,
poses: *mut *const tm_animation_pose_t,
weights: *const f32,
n: u32,
),
>,
pub create_blender: ::std::option::Option<
unsafe extern "C" fn(a: *mut tm_allocator_i) -> *mut tm_animation_blender_o,
>,
pub destroy_blender:
::std::option::Option<unsafe extern "C" fn(blender: *mut tm_animation_blender_o)>,
pub create_blend: ::std::option::Option<
unsafe extern "C" fn(
blender: *mut tm_animation_blender_o,
num_layers: u32,
) -> *mut tm_animation_blend_o,
>,
pub destroy_blend:
::std::option::Option<unsafe extern "C" fn(blend: *mut tm_animation_blend_o)>,
pub tick: ::std::option::Option<
unsafe extern "C" fn(
blender: *mut tm_animation_blender_o,
dt: f32,
) -> *mut tm_atomic_counter_o,
>,
pub play_animation: ::std::option::Option<
unsafe extern "C" fn(
blend: *mut tm_animation_blend_o,
layer: u32,
animation: *mut tm_animation_player_playing_o,
crossfade_time: f32,
) -> *mut tm_animation_blender_playing_o,
>,
pub play_empty: ::std::option::Option<
unsafe extern "C" fn(blend: *mut tm_animation_blend_o, layer: u32, crossfade_time: f32),
>,
pub play_pose: ::std::option::Option<
unsafe extern "C" fn(
blend: *mut tm_animation_blend_o,
layer: u32,
pose: *const tm_animation_pose_t,
crossfade_time: f32,
) -> *mut tm_animation_blender_playing_o,
>,
pub update_pose: ::std::option::Option<
unsafe extern "C" fn(
playing: *mut tm_animation_blender_playing_o,
pose: *const tm_animation_pose_t,
),
>,
pub play_mix: ::std::option::Option<
unsafe extern "C" fn(
blend: *mut tm_animation_blend_o,
layer: u32,
animations: *mut *mut tm_animation_player_playing_o,
weights: *const f32,
n: u32,
crossfade_time: f32,
) -> *mut tm_animation_blender_playing_o,
>,
pub update_mix_weights: ::std::option::Option<
unsafe extern "C" fn(playing: *mut tm_animation_blender_playing_o, weights: *const f32),
>,
pub set_bone_weights: ::std::option::Option<
unsafe extern "C" fn(
playing: *mut tm_animation_blender_playing_o,
bone_weights: *const tm_bone_weights_t,
),
>,
pub blend_step:
::std::option::Option<unsafe extern "C" fn(blend: *mut tm_animation_blend_o, dt: f32)>,
pub blend_compute_pose: ::std::option::Option<
unsafe extern "C" fn(b: *mut tm_animation_blend_o) -> *mut tm_animation_pose_t,
>,
pub blend_pose: ::std::option::Option<
unsafe extern "C" fn(b: *mut tm_animation_blend_o) -> *mut tm_animation_pose_t,
>,
pub locomotion_delta:
::std::option::Option<unsafe extern "C" fn(b: *mut tm_animation_blend_o) -> tm_transform_t>,
}
pub const tm_tt_value__animation_clip__locomotion_TM_TT_VALUE__ANIMATION_CLIP__LOCOMOTION__TRANSLATION_XZ : tm_tt_value__animation_clip__locomotion = 0 ;
pub const tm_tt_value__animation_clip__locomotion_TM_TT_VALUE__ANIMATION_CLIP__LOCOMOTION__TRANSLATION_XYZ : tm_tt_value__animation_clip__locomotion = 1 ;
pub const tm_tt_value__animation_clip__locomotion_TM_TT_VALUE__ANIMATION_CLIP__LOCOMOTION__FULL_TRANSFORM : tm_tt_value__animation_clip__locomotion = 2 ;
pub type tm_tt_value__animation_clip__locomotion = ::std::os::raw::c_int;
pub const TM_TT_PROP__ANIMATION_CLIP__NAME: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__ANIMATION_CLIP__ANIMATION: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__ANIMATION_CLIP__LOOP: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__ANIMATION_CLIP__SPEED: ::std::os::raw::c_int = 3;
pub const TM_TT_PROP__ANIMATION_CLIP__CUSTOM_RANGE: ::std::os::raw::c_int = 4;
pub const TM_TT_PROP__ANIMATION_CLIP__BEGIN: ::std::os::raw::c_int = 5;
pub const TM_TT_PROP__ANIMATION_CLIP__END: ::std::os::raw::c_int = 6;
pub const TM_TT_PROP__ANIMATION_CLIP__LOCOMOTION_NODE: ::std::os::raw::c_int = 7;
pub const TM_TT_PROP__ANIMATION_CLIP__LOCOMOTION: ::std::os::raw::c_int = 8;
pub type _bindgen_ty_20 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_animation_float_key_t {
pub time: f32,
pub v: f32,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_animation_vec3_key_t {
pub time: f32,
pub v: tm_vec3_t,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_animation_quat_key_t {
pub time: f32,
pub q: tm_vec4_t,
}
pub const tm_animation_extrapolation_TM_ANIMATION_EXTRAPOLATION__CONSTANT:
tm_animation_extrapolation = 0;
pub const tm_animation_extrapolation_TM_ANIMATION_EXTRAPOLATION__LINEAR:
tm_animation_extrapolation = 1;
pub const tm_animation_extrapolation_TM_ANIMATION_EXTRAPOLATION__REPEAT:
tm_animation_extrapolation = 2;
pub type tm_animation_extrapolation = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_animation_raw_t {
pub buffers: *const tm_buffers_i,
pub buffer: u32,
pub _padding_60: [::std::os::raw::c_char; 4usize],
pub ticks_per_second: f64,
pub duration: f64,
pub num_bones: u32,
pub _padding_70: [::std::os::raw::c_char; 4usize],
pub bone_names: *mut u64,
pub num_pos_keys: *mut u32,
pub pos_keys: *mut *const tm_animation_vec3_key_t,
pub num_rot_keys: *mut u32,
pub rot_keys: *mut *const tm_animation_quat_key_t,
pub num_scl_keys: *mut u32,
pub scl_keys: *mut *const tm_animation_vec3_key_t,
pub bone_pre_extrapolation: *mut u16,
pub bone_post_extrapolation: *mut u16,
pub num_curves: u32,
pub _padding_91: [::std::os::raw::c_char; 4usize],
pub curve_names: *mut u64,
pub num_curve_keys: *mut u32,
pub curve_keys: *mut *mut tm_animation_float_key_t,
pub curve_pre_extrapolation: *mut u16,
pub curve_post_extrapolation: *mut u16,
}
impl Default for tm_animation_raw_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub const tm_animation_player_loop_TM_ANIMATION_PLAYER_LOOP__NONE: tm_animation_player_loop = 0;
pub const tm_animation_player_loop_TM_ANIMATION_PLAYER_LOOP__LOOP: tm_animation_player_loop = 1;
pub const tm_animation_player_loop_TM_ANIMATION_PLAYER_LOOP__PING_PONG: tm_animation_player_loop =
2;
pub type tm_animation_player_loop = ::std::os::raw::c_int;
pub const tm_animation_player_locomotion_TM_ANIMATION_PLAYER_LOCOMOTION__NONE:
tm_animation_player_locomotion = 0;
pub const tm_animation_player_locomotion_TM_ANIMATION_PLAYER_LOCOMOTION__TRANSLATION_XZ:
tm_animation_player_locomotion = 1;
pub const tm_animation_player_locomotion_TM_ANIMATION_PLAYER_LOCOMOTION__TRANSLATION_XYZ:
tm_animation_player_locomotion = 2;
pub const tm_animation_player_locomotion_TM_ANIMATION_PLAYER_LOCOMOTION__FULL_TRANSFORM:
tm_animation_player_locomotion = 3;
pub type tm_animation_player_locomotion = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_animation_player_playing_o {
pub animation_player: *mut tm_animation_player_o,
pub generation: u64,
pub time: f64,
pub eval_time: f64,
pub length: f64,
pub ticks_per_second: f32,
pub speed: f32,
pub base_speed: f32,
pub loop_: tm_animation_player_loop,
pub loop_range_begin: f64,
pub loop_range_end: f64,
pub loop_count: i32,
pub num_bones: u32,
pub bone_names: *mut u64,
pub bone_pos: *mut tm_vec3_t,
pub bone_rot: *mut tm_vec4_t,
pub bone_scl: *mut tm_vec3_t,
pub bone_hash: u64,
pub num_curves: u32,
pub _padding_179: [::std::os::raw::c_char; 4usize],
pub curve_names: *mut u64,
pub curve_values: *mut f32,
pub curve_hash: u64,
pub locomotion: u32,
pub locomotion_bone: u32,
pub locomotion_delta: tm_transform_t,
}
impl Default for tm_animation_player_playing_o {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_animation_player_api {
pub create: ::std::option::Option<
unsafe extern "C" fn(allocator: *mut tm_allocator_i) -> *mut tm_animation_player_o,
>,
pub destroy: ::std::option::Option<unsafe extern "C" fn(player: *mut tm_animation_player_o)>,
pub parse_raw: ::std::option::Option<
unsafe extern "C" fn(
ap: *mut tm_animation_player_o,
tt: *const tm_the_truth_o,
animation: tm_tt_id_t,
ta: *mut tm_temp_allocator_i,
) -> *mut tm_animation_raw_t,
>,
pub play_raw: ::std::option::Option<
unsafe extern "C" fn(
ap: *mut tm_animation_player_o,
raw: *const tm_animation_raw_t,
) -> *mut tm_animation_player_playing_o,
>,
pub play: ::std::option::Option<
unsafe extern "C" fn(
ap: *mut tm_animation_player_o,
tt: *const tm_the_truth_o,
animation: tm_tt_id_t,
) -> *mut tm_animation_player_playing_o,
>,
pub stop:
::std::option::Option<unsafe extern "C" fn(playing: *mut tm_animation_player_playing_o)>,
pub set_time: ::std::option::Option<
unsafe extern "C" fn(playing: *mut tm_animation_player_playing_o, t: f64),
>,
pub tick: ::std::option::Option<
unsafe extern "C" fn(ap: *mut tm_animation_player_o, dt: f32) -> *mut tm_atomic_counter_o,
>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_scene_tree_component_t {
_unused: [u8; 0],
}
pub const TM_TT_PROP__ANIMATION_SIMPLE_PLAYER__ANIMATION: ::std::os::raw::c_int = 0;
pub type _bindgen_ty_21 = ::std::os::raw::c_int;
pub const tm_animation_simple_player__locomotion_TM_ANIMATION_SIMPLE_PLAYER__LOCOMOTION__DRIVE:
tm_animation_simple_player__locomotion = 0;
pub const tm_animation_simple_player__locomotion_TM_ANIMATION_SIMPLE_PLAYER__LOCOMOTION__EXTERNAL : tm_animation_simple_player__locomotion = 1 ;
pub type tm_animation_simple_player__locomotion = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_animation_simple_player_component_t {
pub animation: tm_tt_id_t,
pub playing: *mut tm_animation_player_playing_o,
pub locomotion: u32,
pub locomotion_delta: tm_transform_t,
pub _padding_44: [::std::os::raw::c_char; 4usize],
}
impl Default for tm_animation_simple_player_component_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_animation_simple_player_component_manager_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_animation_simple_player_component_api {
pub update: ::std::option::Option<
unsafe extern "C" fn(man: *mut tm_animation_simple_player_component_manager_o, dt: f32),
>,
pub play: ::std::option::Option<
unsafe extern "C" fn(
man: *mut tm_animation_simple_player_component_manager_o,
c: *mut tm_animation_simple_player_component_t,
animation: tm_tt_id_t,
st: *mut tm_scene_tree_component_t,
),
>,
}
pub const tm_asm_state_interface_properties_TM_TT_PROP__ASM_STATE__NAME:
tm_asm_state_interface_properties = 0;
pub const tm_asm_state_interface_properties_TM_TT_PROP__ASM_STATE__SORT_ORDER:
tm_asm_state_interface_properties = 1;
pub const tm_asm_state_interface_properties_TM_TT_PROP__ASM_STATE__POSITION_X:
tm_asm_state_interface_properties = 2;
pub const tm_asm_state_interface_properties_TM_TT_PROP__ASM_STATE__POSITION_Y:
tm_asm_state_interface_properties = 3;
pub const tm_asm_state_interface_properties_TM_TT_PROP__ASM_STATE__BLEND_SET:
tm_asm_state_interface_properties = 4;
pub const tm_asm_state_interface_properties_TM_TT_PROP__ASM_STATE__SPEED:
tm_asm_state_interface_properties = 5;
pub const tm_asm_state_interface_properties_TM_TT_PROP__ASM_STATE__FIRST_CUSTOM:
tm_asm_state_interface_properties = 6;
pub type tm_asm_state_interface_properties = ::std::os::raw::c_int;
pub const TM_TT_PROP__ASM_REGULAR_STATE__ANIMATION: ::std::os::raw::c_int = 6;
pub type _bindgen_ty_22 = ::std::os::raw::c_int;
pub const TM_TT_VALUE__ASM_RANDOM_STATE__STRATEGY__DONT_REPEAT: ::std::os::raw::c_int = 0;
pub const TM_TT_VALUE__ASM_RANDOM_STATE__STRATEGY__INDEPENDENT_PICK: ::std::os::raw::c_int = 1;
pub const TM_TT_VALUE__ASM_RANDOM_STATE__STRATEGY__SHUFFLE: ::std::os::raw::c_int = 2;
pub type _bindgen_ty_23 = ::std::os::raw::c_int;
pub const TM_TT_PROP__ASM_RANDOM_STATE__STRATEGY: ::std::os::raw::c_int = 6;
pub const TM_TT_PROP__ASM_RANDOM_STATE__LOOP_CROSSFADE_TIME: ::std::os::raw::c_int = 7;
pub const TM_TT_PROP__ASM_RANDOM_STATE__ANIMATIONS: ::std::os::raw::c_int = 8;
pub type _bindgen_ty_24 = ::std::os::raw::c_int;
pub const TM_TT_PROP__ASM_RANDOM_STATE_ANIMATION__ANIMATION: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__ASM_RANDOM_STATE_ANIMATION__WEIGHT: ::std::os::raw::c_int = 1;
pub type _bindgen_ty_25 = ::std::os::raw::c_int;
pub const tm_tt_value__asm_blend_state__dimensions_TM_TT_VALUE__ASM_BLEND_STATE__DIMENSIONS__1D:
tm_tt_value__asm_blend_state__dimensions = 0;
pub const tm_tt_value__asm_blend_state__dimensions_TM_TT_VALUE__ASM_BLEND_STATE__DIMENSIONS__2D:
tm_tt_value__asm_blend_state__dimensions = 1;
pub type tm_tt_value__asm_blend_state__dimensions = ::std::os::raw::c_int;
pub const TM_TT_PROP__ASM_BLEND_STATE__DIMENSIONS: ::std::os::raw::c_int = 6;
pub const TM_TT_PROP__ASM_BLEND_STATE__VARIABLE_X: ::std::os::raw::c_int = 7;
pub const TM_TT_PROP__ASM_BLEND_STATE__VARIABLE_Y: ::std::os::raw::c_int = 8;
pub const TM_TT_PROP__ASM_BLEND_STATE__ANIMATIONS: ::std::os::raw::c_int = 9;
pub type _bindgen_ty_26 = ::std::os::raw::c_int;
pub const TM_TT_PROP__ASM_BLEND_STATE_ANIMATION__ANIMATION: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__ASM_BLEND_STATE_ANIMATION__X: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__ASM_BLEND_STATE_ANIMATION__Y: ::std::os::raw::c_int = 2;
pub type _bindgen_ty_27 = ::std::os::raw::c_int;
pub const tm_asm_transition_interface_properties_TM_TT_PROP__ASM_TRANSITION__NAME:
tm_asm_transition_interface_properties = 0;
pub const tm_asm_transition_interface_properties_TM_TT_PROP__ASM_TRANSITION__SORT_ORDER:
tm_asm_transition_interface_properties = 1;
pub const tm_asm_transition_interface_properties_TM_TT_PROP__ASM_TRANSITION__FROM_STATE:
tm_asm_transition_interface_properties = 2;
pub const tm_asm_transition_interface_properties_TM_TT_PROP__ASM_TRANSITION__TO_STATE:
tm_asm_transition_interface_properties = 3;
pub const tm_asm_transition_interface_properties_TM_TT_PROP__ASM_TRANSITION__FIRST_CUSTOM:
tm_asm_transition_interface_properties = 4;
pub type tm_asm_transition_interface_properties = ::std::os::raw::c_int;
pub const tm_tt_value__asm_regular_transition__on_TM_TT_VALUE__ASM_REGULAR_TRANSITION__ON__EVENT:
tm_tt_value__asm_regular_transition__on = 0;
pub const tm_tt_value__asm_regular_transition__on_TM_TT_VALUE__ASM_REGULAR_TRANSITION__ON__ANIMATION_FINISHED : tm_tt_value__asm_regular_transition__on = 1 ;
pub const tm_tt_value__asm_regular_transition__on_TM_TT_VALUE__ASM_REGULAR_TRANSITION__ON__CONDITION : tm_tt_value__asm_regular_transition__on = 2 ;
pub type tm_tt_value__asm_regular_transition__on = ::std::os::raw::c_int;
pub const TM_TT_PROP__ASM_REGULAR_TRANSITION__ON: ::std::os::raw::c_int = 4;
pub const TM_TT_PROP__ASM_REGULAR_TRANSITION__EVENT: ::std::os::raw::c_int = 5;
pub const TM_TT_PROP__ASM_REGULAR_TRANSITION__CONDITION: ::std::os::raw::c_int = 6;
pub const TM_TT_PROP__ASM_REGULAR_TRANSITION__CROSSFADE_TIME: ::std::os::raw::c_int = 7;
pub type _bindgen_ty_28 = ::std::os::raw::c_int;
pub const TM_TT_PROP__ASM_LAYER__NAME: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__ASM_LAYER__SORT_ORDER: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__ASM_LAYER__DEFAULT_STATE: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__ASM_LAYER__STATES: ::std::os::raw::c_int = 3;
pub const TM_TT_PROP__ASM_LAYER__TRANSITIONS: ::std::os::raw::c_int = 4;
pub type _bindgen_ty_29 = ::std::os::raw::c_int;
pub const TM_TT_PROP__ASM_EVENT__NAME: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__ASM_EVENT__SORT_ORDER: ::std::os::raw::c_int = 1;
pub type _bindgen_ty_30 = ::std::os::raw::c_int;
pub const TM_TT_PROP__ASM_VARIABLE__NAME: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__ASM_VARIABLE__SORT_ORDER: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__ASM_VARIABLE__DEFAULT: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__ASM_VARIABLE__MIN: ::std::os::raw::c_int = 3;
pub const TM_TT_PROP__ASM_VARIABLE__MAX: ::std::os::raw::c_int = 4;
pub const TM_TT_PROP__ASM_VARAIBLE__COMPUTED: ::std::os::raw::c_int = 5;
pub const TM_TT_PROP__ASM_VARIABLE__EXPRESSION: ::std::os::raw::c_int = 6;
pub type _bindgen_ty_31 = ::std::os::raw::c_int;
pub const TM_TT_PROP__ASM_BLEND_SET_WEIGHT__NAME: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__ASM_BLEND_SET_WEIGHT__WEIGHT: ::std::os::raw::c_int = 1;
pub type _bindgen_ty_32 = ::std::os::raw::c_int;
pub const TM_TT_PROP__ASM_BLEND_SET__NAME: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__ASM_BLEND_SET__SORT_ORDER: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__ASM_BLEND_SET__DEFAULT_WEIGHT: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__ASM_BLEND_SET__WEIGHTS: ::std::os::raw::c_int = 3;
pub type _bindgen_ty_33 = ::std::os::raw::c_int;
pub const TM_TT_PROP__ASM_MOTION_MIXER__SLIDERS: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__ASM_MOTION_MIXER__BUTTONS: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__ASM_MOTION_MIXER__VARIABLE_KEYS: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__ASM_MOTION_MIXER__EVENT_KEYS: ::std::os::raw::c_int = 3;
pub type _bindgen_ty_34 = ::std::os::raw::c_int;
pub const TM_TT_PROP__ASM_MOTION_MIXER_SLIDER__VARIABLE: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__ASM_MOTION_MIXER_SLIDER__SORT_ORDER: ::std::os::raw::c_int = 1;
pub type _bindgen_ty_35 = ::std::os::raw::c_int;
pub const TM_TT_PROP__ASM_MOTION_MIXER_BUTTON__EVENT: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__ASM_MOTION_MIXER_BUTTON__SORT_ORDER: ::std::os::raw::c_int = 1;
pub type _bindgen_ty_36 = ::std::os::raw::c_int;
pub const TM_TT_PROP__ASM_MOTION_MIXER_VARIABLE_KEY__SORT_ORDER: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__ASM_MOTION_MIXER_VARIABLE_KEY__KEY: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__ASM_MOTION_MIXER_VARIABLE_KEY__VARIABLE: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__ASM_MOTION_MIXER_VARIABLE_KEY__LERP_TIME: ::std::os::raw::c_int = 3;
pub type _bindgen_ty_37 = ::std::os::raw::c_int;
pub const TM_TT_PROP__ASM_MOTION_MIXER_EVENT_KEY__SORT_ORDER: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__ASM_MOTION_MIXER_EVENT_KEY__KEY: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__ASM_MOTION_MIXER_EVENT_KEY__EVENT: ::std::os::raw::c_int = 2;
pub type _bindgen_ty_38 = ::std::os::raw::c_int;
pub const TM_TT_PROP__ANIMATION_STATE_MACHINE__NAME: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__ANIMATION_STATE_MACHINE__PREVIEW_ENTITY: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__ANIMATION_STATE_MACHINE__LAYERS: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__ANIMATION_STATE_MACHINE__EVENTS: ::std::os::raw::c_int = 3;
pub const TM_TT_PROP__ANIMATION_STATE_MACHINE__VARIABLES: ::std::os::raw::c_int = 4;
pub const TM_TT_PROP__ANIMATION_STATE_MACHINE__BLEND_SETS: ::std::os::raw::c_int = 5;
pub const TM_TT_PROP__ANIMATION_STATE_MACHINE__MOTION_MIXER: ::std::os::raw::c_int = 6;
pub type _bindgen_ty_39 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_animation_state_machine_manager_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_animation_state_machine_o {
_unused: [u8; 0],
}
pub const TM_STATE_MACHINE__MAX_LAYERS: ::std::os::raw::c_int = 16;
pub type _bindgen_ty_40 = ::std::os::raw::c_int;
pub const TM_STATE_MACHINE__MAX_VARIABLES: ::std::os::raw::c_int = 64;
pub type _bindgen_ty_41 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_animation_state_machine_state_t {
pub num_layers: u32,
pub _padding_239: [::std::os::raw::c_char; 4usize],
pub layer_uuid: [tm_uuid_t; 16usize],
pub state_uuid: [tm_uuid_t; 16usize],
pub state_type_hash: [u64; 16usize],
pub state_name_hash: [u64; 16usize],
pub state_animation_time: [f64; 16usize],
pub num_variables: u32,
pub _padding_247: [::std::os::raw::c_char; 4usize],
pub variable_names: [u64; 64usize],
pub variable_values: [f32; 64usize],
}
impl Default for tm_animation_state_machine_state_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_animation_state_machine_api {
pub compile: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
sm_id: tm_tt_id_t,
vm: *mut ::std::os::raw::c_char,
allocator: *mut tm_allocator_i,
),
>,
pub create_manager: ::std::option::Option<
unsafe extern "C" fn(
allocator: *mut tm_allocator_i,
) -> *mut tm_animation_state_machine_manager_o,
>,
pub destroy_manager: ::std::option::Option<
unsafe extern "C" fn(manager: *mut tm_animation_state_machine_manager_o),
>,
pub create_state_machine: ::std::option::Option<
unsafe extern "C" fn(
manager: *mut tm_animation_state_machine_manager_o,
tt: *mut tm_the_truth_o,
data: *mut ::std::os::raw::c_void,
) -> *mut tm_animation_state_machine_o,
>,
pub destroy_state_machine:
::std::option::Option<unsafe extern "C" fn(sm: *mut tm_animation_state_machine_o)>,
pub state: ::std::option::Option<
unsafe extern "C" fn(
sm: *const tm_animation_state_machine_o,
) -> tm_animation_state_machine_state_t,
>,
pub set_state: ::std::option::Option<
unsafe extern "C" fn(
sm: *mut tm_animation_state_machine_o,
state: *const tm_animation_state_machine_state_t,
),
>,
pub event: ::std::option::Option<
unsafe extern "C" fn(sm: *mut tm_animation_state_machine_o, name_hash: u64),
>,
pub tick_state_machine:
::std::option::Option<unsafe extern "C" fn(sm: *mut tm_animation_state_machine_o, dt: f32)>,
pub tick: ::std::option::Option<
unsafe extern "C" fn(manager: *mut tm_animation_state_machine_manager_o, dt: f32),
>,
pub pose: ::std::option::Option<
unsafe extern "C" fn(sm: *mut tm_animation_state_machine_o) -> *mut tm_animation_pose_t,
>,
pub locomotion_delta: ::std::option::Option<
unsafe extern "C" fn(sm: *mut tm_animation_state_machine_o) -> tm_transform_t,
>,
pub get_variable: ::std::option::Option<
unsafe extern "C" fn(sm: *const tm_animation_state_machine_o, name: u64) -> f32,
>,
pub set_variable: ::std::option::Option<
unsafe extern "C" fn(sm: *mut tm_animation_state_machine_o, name: u64, value: f32),
>,
pub is_state_playing: ::std::option::Option<
unsafe extern "C" fn(sm: *const tm_animation_state_machine_o, name_hash: u64) -> bool,
>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union tm_entity_t {
pub __bindgen_anon_1: tm_entity_t__bindgen_ty_1,
pub u64_: u64,
_bindgen_union_align: u64,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_entity_t__bindgen_ty_1 {
pub index: u32,
pub generation: u32,
}
impl Default for tm_entity_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_set_entity_t {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_component_manager_o {
_unused: [u8; 0],
}
pub const TM_TT_PROP__ANIMATION_STATE_MACHINE_COMPONENT__STATE_MACHINE: ::std::os::raw::c_int = 0;
pub type _bindgen_ty_42 = ::std::os::raw::c_int;
pub const tm_animation_state_machine__locomotion_TM_ANIMATION_STATE_MACHINE__LOCOMOTION__DRIVE:
tm_animation_state_machine__locomotion = 0;
pub const tm_animation_state_machine__locomotion_TM_ANIMATION_STATE_MACHINE__LOCOMOTION__EXTERNAL : tm_animation_state_machine__locomotion = 1 ;
pub type tm_animation_state_machine__locomotion = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_animation_state_machine_component_t {
pub state_machine_id: tm_tt_id_t,
pub state_machine: *mut tm_animation_state_machine_o,
pub state_machine_data: *mut ::std::os::raw::c_char,
pub locomotion: u32,
pub locomotion_delta: tm_transform_t,
pub _padding_36: [::std::os::raw::c_char; 4usize],
}
impl Default for tm_animation_state_machine_component_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_animation_state_machine_component_api {
pub update:
::std::option::Option<unsafe extern "C" fn(man: *mut tm_component_manager_o, dt: f32)>,
pub reload: ::std::option::Option<
unsafe extern "C" fn(
man: *mut tm_component_manager_o,
e: tm_entity_t,
c: *mut tm_animation_state_machine_component_t,
),
>,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_bone_translation_api {
pub get_bone_translation_table: ::std::option::Option<
unsafe extern "C" fn(
hash_1: u64,
bone_names_1: *const u64,
n_1: u16,
hash_2: u64,
bone_names_2: *const u64,
n_2: u16,
) -> *mut u16,
>,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_expression_language_api {
pub compile: ::std::option::Option<
unsafe extern "C" fn(
source: *const ::std::os::raw::c_char,
variables: *const u64,
num_variables: u16,
ta: *mut tm_temp_allocator_i,
) -> *mut ::std::os::raw::c_char,
>,
pub is_error: ::std::option::Option<
unsafe extern "C" fn(
byte_code: *const ::std::os::raw::c_char,
) -> *const ::std::os::raw::c_char,
>,
pub is_constant: ::std::option::Option<
unsafe extern "C" fn(byte_code: *const ::std::os::raw::c_char, value: *mut f32) -> bool,
>,
pub used_variables: ::std::option::Option<
unsafe extern "C" fn(
byte_code: *const ::std::os::raw::c_char,
ta: *mut tm_temp_allocator_i,
) -> *mut u16,
>,
pub size: ::std::option::Option<
unsafe extern "C" fn(byte_code: *const ::std::os::raw::c_char) -> u32,
>,
pub run: ::std::option::Option<
unsafe extern "C" fn(
byte_code: *const ::std::os::raw::c_char,
variables: *const f32,
) -> f32,
>,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_state_graph_aspect_i {
pub prop_graph__nodes: u32,
pub prop_graph__transitions: u32,
pub prop_node__pos_x: u32,
pub prop_node__pos_y: u32,
pub prop_transition__from_node: u32,
pub prop_transition__to_node: u32,
pub node_aspect: u64,
pub transition_aspect: u64,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_state_graph_setup_t {
pub tt: *mut tm_the_truth_o,
pub undo_stack: *mut tm_undo_stack_i,
pub root_object: tm_tt_id_t,
pub aspect: *const tm_state_graph_aspect_i,
}
impl Default for tm_state_graph_setup_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_state_graph_node_aspect_i {
pub graph_title: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
id: tm_tt_id_t,
buffer: *mut ::std::os::raw::c_char,
size: u32,
) -> *const ::std::os::raw::c_char,
>,
pub spawn_title: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
type_: u64,
buffer: *mut ::std::os::raw::c_char,
size: u32,
) -> *const ::std::os::raw::c_char,
>,
pub spawn_category: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
type_: u64,
buffer: *mut ::std::os::raw::c_char,
size: u32,
) -> *const ::std::os::raw::c_char,
>,
pub draw: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
id: tm_tt_id_t,
ui: *mut tm_ui_o,
uistyle: *const tm_ui_style_t,
rect: tm_rect_t,
),
>,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_state_graph_transition_aspect_i {
pub graph_title: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
id: tm_tt_id_t,
buffer: *mut ::std::os::raw::c_char,
size: u32,
) -> *const ::std::os::raw::c_char,
>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_state_graph_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_state_graph_ui_res_t {
pub focus_changed: bool,
pub _padding_98: [::std::os::raw::c_char; 7usize],
pub focus: tm_tt_id_t,
pub selection_changed: bool,
pub _padding_105: [::std::os::raw::c_char; 7usize],
}
impl Default for tm_state_graph_ui_res_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_state_graph_api {
pub create_graph: ::std::option::Option<
unsafe extern "C" fn(
parent_allocator: *mut tm_allocator_i,
setup: *const tm_state_graph_setup_t,
) -> *mut tm_state_graph_o,
>,
pub destroy_graph: ::std::option::Option<unsafe extern "C" fn(graph: *mut tm_state_graph_o)>,
pub ui: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_state_graph_o,
ui: *mut tm_ui_o,
style: *const tm_ui_style_t,
rect: tm_rect_t,
tab_id: u64,
) -> tm_state_graph_ui_res_t,
>,
pub selected_objects: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_state_graph_o,
ta: *mut tm_temp_allocator_i,
) -> *const tm_tt_id_t,
>,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_assimp_api {
pub create_truth_types: ::std::option::Option<unsafe extern "C" fn(truth: *mut tm_the_truth_o)>,
pub import: ::std::option::Option<
unsafe extern "C" fn(
file: *const ::std::os::raw::c_char,
import: *const tm_asset_io_import,
),
>,
pub io_interface: ::std::option::Option<unsafe extern "C" fn() -> *mut tm_asset_io_i>,
pub migrate_from_assimp_to_dcc_asset:
::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o) -> bool>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_mixer_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_mixer_item_o {
_unused: [u8; 0],
}
pub const tm_mixer_positioning_enum_TM_MIXER_POSITIONING__2D: tm_mixer_positioning_enum = 0;
pub const tm_mixer_positioning_enum_TM_MIXER_POSITIONING__3D: tm_mixer_positioning_enum = 1;
pub const tm_mixer_positioning_enum_TM_MIXER_POSITIONING__MATRIX: tm_mixer_positioning_enum = 2;
pub type tm_mixer_positioning_enum = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_mixer_positioning_2d_t {
pub pan: f32,
pub channel_mask: u32,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_mixer_positioning_3d_t {
pub pos: tm_vec3_t,
pub min_distance: f32,
pub max_distance: f32,
pub spread: f32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_mixer_positioning_matrix_t {
pub matrix: *const f32,
}
impl Default for tm_mixer_positioning_matrix_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_mixer_positioning_t {
pub type_: tm_mixer_positioning_enum,
pub _padding_142: [::std::os::raw::c_char; 4usize],
pub __bindgen_anon_1: tm_mixer_positioning_t__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union tm_mixer_positioning_t__bindgen_ty_1 {
pub pos_2d: tm_mixer_positioning_2d_t,
pub pos_3d: tm_mixer_positioning_3d_t,
pub pos_matrix: tm_mixer_positioning_matrix_t,
_bindgen_union_align: [u64; 3usize],
}
impl Default for tm_mixer_positioning_t__bindgen_ty_1 {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
impl Default for tm_mixer_positioning_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_mixer_settings_t {
pub world: *mut ::std::os::raw::c_void,
pub volume: f32,
pub pitch: f32,
pub pos: tm_mixer_positioning_t,
}
impl Default for tm_mixer_settings_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub const TM_MIXER_MAX_CHANNELS: ::std::os::raw::c_int = 8;
pub type _bindgen_ty_43 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_mixer_render_t {
pub channels: [*const f32; 8usize],
}
impl Default for tm_mixer_render_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub const TM_MIXER_MAX_SAMPLER_USER_DATA_BYTES: ::std::os::raw::c_int = 256;
pub type _bindgen_ty_44 = ::std::os::raw::c_int;
pub type tm_mixer_sampler_f = ::std::option::Option<
unsafe extern "C" fn(
ud: *const ::std::os::raw::c_void,
offset: f64,
buffer: *mut f32,
num_samples: u32,
sample_frequency: f32,
) -> u32,
>;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_mixer_api {
pub create: ::std::option::Option<
unsafe extern "C" fn(allocator: *mut tm_allocator_i) -> *mut tm_mixer_o,
>,
pub destroy: ::std::option::Option<unsafe extern "C" fn(mixer: *mut tm_mixer_o)>,
pub default_mixer: ::std::option::Option<unsafe extern "C" fn() -> *mut tm_mixer_o>,
pub set_default_mixer: ::std::option::Option<unsafe extern "C" fn(mixer: *mut tm_mixer_o)>,
pub play: ::std::option::Option<
unsafe extern "C" fn(
mixer: *mut tm_mixer_o,
sampler: tm_mixer_sampler_f,
ud: *const ::std::os::raw::c_void,
ud_bytes: u32,
settings: *const tm_mixer_settings_t,
channel_mask: u32,
) -> *mut tm_mixer_item_o,
>,
pub play_sine_wave: ::std::option::Option<
unsafe extern "C" fn(
mixer: *mut tm_mixer_o,
tone: *const tm_tone_t,
settings: *const tm_mixer_settings_t,
) -> *mut tm_mixer_item_o,
>,
pub play_wav: ::std::option::Option<
unsafe extern "C" fn(
mixer: *mut tm_mixer_o,
tt: *mut tm_the_truth_o,
id: tm_tt_id_t,
loop_: bool,
settings: *const tm_mixer_settings_t,
) -> *mut tm_mixer_item_o,
>,
pub volume: ::std::option::Option<unsafe extern "C" fn(mi: *mut tm_mixer_item_o) -> f32>,
pub set_volume:
::std::option::Option<unsafe extern "C" fn(mi: *mut tm_mixer_item_o, volume: f32)>,
pub pitch: ::std::option::Option<unsafe extern "C" fn(mi: *mut tm_mixer_item_o) -> f32>,
pub set_pitch:
::std::option::Option<unsafe extern "C" fn(mi: *mut tm_mixer_item_o, pitch: f32)>,
pub offset: ::std::option::Option<unsafe extern "C" fn(mi: *mut tm_mixer_item_o) -> f64>,
pub set_offset:
::std::option::Option<unsafe extern "C" fn(mi: *mut tm_mixer_item_o, offset: f64)>,
pub positioning: ::std::option::Option<
unsafe extern "C" fn(mi: *mut tm_mixer_item_o) -> *const tm_mixer_positioning_t,
>,
pub set_positioning: ::std::option::Option<
unsafe extern "C" fn(mi: *mut tm_mixer_item_o, pos: *const tm_mixer_positioning_t),
>,
pub listener:
::std::option::Option<unsafe extern "C" fn(mixer: *mut tm_mixer_o) -> tm_transform_t>,
pub set_listener:
::std::option::Option<unsafe extern "C" fn(mixer: *mut tm_mixer_o, tm: tm_transform_t)>,
pub generation: ::std::option::Option<unsafe extern "C" fn(mi: *mut tm_mixer_item_o) -> u64>,
pub is_alive: ::std::option::Option<
unsafe extern "C" fn(mi: *mut tm_mixer_item_o, generation: u64) -> bool,
>,
pub pause: ::std::option::Option<unsafe extern "C" fn(mi: *mut tm_mixer_item_o)>,
pub unpause: ::std::option::Option<unsafe extern "C" fn(mi: *mut tm_mixer_item_o)>,
pub is_paused: ::std::option::Option<unsafe extern "C" fn(mi: *mut tm_mixer_item_o) -> bool>,
pub stop: ::std::option::Option<unsafe extern "C" fn(mi: *mut tm_mixer_item_o)>,
pub stop_world: ::std::option::Option<
unsafe extern "C" fn(mixer: *mut tm_mixer_o, world: *mut ::std::os::raw::c_void),
>,
pub pause_world: ::std::option::Option<
unsafe extern "C" fn(mixer: *mut tm_mixer_o, world: *mut ::std::os::raw::c_void),
>,
pub unpause_world: ::std::option::Option<
unsafe extern "C" fn(mixer: *mut tm_mixer_o, world: *mut ::std::os::raw::c_void),
>,
pub stop_all_sound: ::std::option::Option<unsafe extern "C" fn(mixer: *mut tm_mixer_o)>,
pub commit: ::std::option::Option<unsafe extern "C" fn(mixer: *mut tm_mixer_o)>,
pub render: ::std::option::Option<
unsafe extern "C" fn(
mixer: *mut tm_mixer_o,
num_samples: u32,
channel_mask: u32,
) -> tm_mixer_render_t,
>,
pub start_render_thread: ::std::option::Option<unsafe extern "C" fn(mixer: *mut tm_mixer_o)>,
}
pub const TM_SOUND_BACKEND_MAX_CHANNELS: ::std::os::raw::c_int = 8;
pub type _bindgen_ty_45 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_sound_backend_api {
pub num_speakers: ::std::option::Option<unsafe extern "C" fn() -> u32>,
pub channel_mask: ::std::option::Option<unsafe extern "C" fn() -> u32>,
pub remaining_samples: ::std::option::Option<unsafe extern "C" fn() -> u32>,
pub feed: ::std::option::Option<unsafe extern "C" fn(samples: *mut f32, num_samples: u32)>,
pub wait: ::std::option::Option<unsafe extern "C" fn(seconds: f32)>,
pub signal: ::std::option::Option<unsafe extern "C" fn()>,
}
pub const TM_TT_PROP__SOUND_SOURCE_COMPONENT__SOUND: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__SOUND_SOURCE_COMPONENT__VOLUME: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__SOUND_SOURCE_COMPONENT__PITCH: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__SOUND_SOURCE_COMPONENT__MIN_DISTANCE: ::std::os::raw::c_int = 3;
pub const TM_TT_PROP__SOUND_SOURCE_COMPONENT__MAX_DISTANCE: ::std::os::raw::c_int = 4;
pub const TM_TT_PROP__SOUND_SOURCE_COMPONENT__SPREAD: ::std::os::raw::c_int = 5;
pub type _bindgen_ty_46 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_sound_source_component_t {
pub sound_id: tm_tt_id_t,
pub volume_db: f32,
pub pitch_octaves: f32,
pub min_distance: f32,
pub max_distance: f32,
pub spread: f32,
pub _padding_42: [::std::os::raw::c_char; 4usize],
pub mixer_item: *mut tm_mixer_item_o,
}
impl Default for tm_sound_source_component_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub const tm_speaker_TM_SPEAKER__FRONT_LEFT: tm_speaker = 1;
pub const tm_speaker_TM_SPEAKER__FRONT_RIGHT: tm_speaker = 2;
pub const tm_speaker_TM_SPEAKER__FRONT_CENTER: tm_speaker = 4;
pub const tm_speaker_TM_SPEAKER__LOW_FREQUENCY: tm_speaker = 8;
pub const tm_speaker_TM_SPEAKER__BACK_LEFT: tm_speaker = 16;
pub const tm_speaker_TM_SPEAKER__BACK_RIGHT: tm_speaker = 32;
pub const tm_speaker_TM_SPEAKER__FRONT_LEFT_OF_CENTER: tm_speaker = 64;
pub const tm_speaker_TM_SPEAKER__FRONT_RIGHT_OF_CENTER: tm_speaker = 128;
pub const tm_speaker_TM_SPEAKER__BACK_CENTER: tm_speaker = 256;
pub const tm_speaker_TM_SPEAKER__SIDE_LEFT: tm_speaker = 512;
pub const tm_speaker_TM_SPEAKER__SIDE_RIGHT: tm_speaker = 1024;
pub const tm_speaker_TM_SPEAKER__TOP_CENTER: tm_speaker = 2048;
pub const tm_speaker_TM_SPEAKER__TOP_FRONT_LEFT: tm_speaker = 4096;
pub const tm_speaker_TM_SPEAKER__TOP_FRONT_CENTER: tm_speaker = 8192;
pub const tm_speaker_TM_SPEAKER__TOP_FRONT_RIGHT: tm_speaker = 16384;
pub const tm_speaker_TM_SPEAKER__TOP_BACK_LEFT: tm_speaker = 32768;
pub const tm_speaker_TM_SPEAKER__TOP_BACK_CENTER: tm_speaker = 65536;
pub const tm_speaker_TM_SPEAKER__TOP_BACK_RIGHT: tm_speaker = 131072;
pub const tm_speaker_TM_SPEAKER__END: tm_speaker = 262144;
pub type tm_speaker = ::std::os::raw::c_int;
pub const tm_speakers_TM_SPEAKERS__MONO: tm_speakers = 4;
pub const tm_speakers_TM_SPEAKERS__1POINT1: tm_speakers = 12;
pub const tm_speakers_TM_SPEAKERS__STEREO: tm_speakers = 3;
pub const tm_speakers_TM_SPEAKERS__2POINT1: tm_speakers = 11;
pub const tm_speakers_TM_SPEAKERS__3POINT0: tm_speakers = 7;
pub const tm_speakers_TM_SPEAKERS__3POINT1: tm_speakers = 15;
pub const tm_speakers_TM_SPEAKERS__QUAD: tm_speakers = 51;
pub const tm_speakers_TM_SPEAKERS__SURROUND: tm_speakers = 263;
pub const tm_speakers_TM_SPEAKERS__5POINT0: tm_speakers = 1543;
pub const tm_speakers_TM_SPEAKERS__5POINT1: tm_speakers = 63;
pub const tm_speakers_TM_SPEAKERS__7POINT0: tm_speakers = 1591;
pub const tm_speakers_TM_SPEAKERS__6POINT1: tm_speakers = 319;
pub const tm_speakers_TM_SPEAKERS__7POINT1: tm_speakers = 255;
pub type tm_speakers = ::std::os::raw::c_int;
extern "C" {
pub static tm_speakers_default_channel_mask: [u32; 9usize];
}
pub const tm_speaker_log_TM_SPEAKER_LOG__FRONT_LEFT: tm_speaker_log = 0;
pub const tm_speaker_log_TM_SPEAKER_LOG__FRONT_RIGHT: tm_speaker_log = 1;
pub const tm_speaker_log_TM_SPEAKER_LOG__FRONT_CENTER: tm_speaker_log = 2;
pub const tm_speaker_log_TM_SPEAKER_LOG__LOW_FREQUENCY: tm_speaker_log = 3;
pub const tm_speaker_log_TM_SPEAKER_LOG__BACK_LEFT: tm_speaker_log = 4;
pub const tm_speaker_log_TM_SPEAKER_LOG__BACK_RIGHT: tm_speaker_log = 5;
pub const tm_speaker_log_TM_SPEAKER_LOG__FRONT_LEFT_OF_CENTER: tm_speaker_log = 6;
pub const tm_speaker_log_TM_SPEAKER_LOG__FRONT_RIGHT_OF_CENTER: tm_speaker_log = 7;
pub const tm_speaker_log_TM_SPEAKER_LOG__BACK_CENTER: tm_speaker_log = 8;
pub const tm_speaker_log_TM_SPEAKER_LOG__SIDE_LEFT: tm_speaker_log = 9;
pub const tm_speaker_log_TM_SPEAKER_LOG__SIDE_RIGHT: tm_speaker_log = 10;
pub const tm_speaker_log_TM_SPEAKER_LOG__TOP_CENTER: tm_speaker_log = 11;
pub const tm_speaker_log_TM_SPEAKER_LOG__TOP_FRONT_LEFT: tm_speaker_log = 12;
pub const tm_speaker_log_TM_SPEAKER_LOG__TOP_FRONT_CENTER: tm_speaker_log = 13;
pub const tm_speaker_log_TM_SPEAKER_LOG__TOP_FRONT_RIGHT: tm_speaker_log = 14;
pub const tm_speaker_log_TM_SPEAKER_LOG__TOP_BACK_LEFT: tm_speaker_log = 15;
pub const tm_speaker_log_TM_SPEAKER_LOG__TOP_BACK_CENTER: tm_speaker_log = 16;
pub const tm_speaker_log_TM_SPEAKER_LOG__TOP_BACK_RIGHT: tm_speaker_log = 17;
pub const tm_speaker_log_TM_SPEAKER_LOG__END: tm_speaker_log = 18;
pub type tm_speaker_log = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_tone_t {
pub frequency: f32,
pub attack_time: f32,
pub decay_time: f32,
pub sustain_time: f32,
pub release_time: f32,
pub sustain_level: f32,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_tone_generator_api {
pub sample_sine_wave: ::std::option::Option<
unsafe extern "C" fn(
tone: *const tm_tone_t,
offset: f64,
buffer: *mut f32,
num_samples: u32,
buffer_frequency: f32,
) -> u32,
>,
}
pub const tm_tt_value__wav__format_TM_TT_VALUE__WAV__FORMAT__NONE: tm_tt_value__wav__format = 0;
pub const tm_tt_value__wav__format_TM_TT_VALUE__WAV__FORMAT__UNSIGNED_8BIT_PCM:
tm_tt_value__wav__format = 1;
pub const tm_tt_value__wav__format_TM_TT_VALUE__WAV__FORMAT__SIGNED_16BIT_PCM:
tm_tt_value__wav__format = 2;
pub const tm_tt_value__wav__format_TM_TT_VALUE__WAV__FORMAT__SIGNED_24BIT_PCM:
tm_tt_value__wav__format = 3;
pub const tm_tt_value__wav__format_TM_TT_VALUE__WAV__FORMAT__32BIT_FLOAT_PCM:
tm_tt_value__wav__format = 4;
pub const tm_tt_value__wav__format_TM_TT_VALUE__WAV__FORMAT__SIGNED_32BIT_PCM:
tm_tt_value__wav__format = 5;
pub const tm_tt_value__wav__format_TM_TT_VALUE__WAV__FORMAT__16BIT_FLOAT_PCM:
tm_tt_value__wav__format = 6;
pub type tm_tt_value__wav__format = ::std::os::raw::c_int;
pub const TM_TT_PROP__WAV__FREQUENCY: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__WAV__NUM_CHANNELS: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__WAV__FORMAT: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__WAV__CHANNEL_MASK: ::std::os::raw::c_int = 3;
pub const TM_TT_PROP__WAV__DATA: ::std::os::raw::c_int = 4;
pub type _bindgen_ty_47 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_wav_t {
pub frequency: u32,
pub num_channels: u32,
pub format: tm_tt_value__wav__format,
pub channel_mask: u32,
pub data: *const ::std::os::raw::c_void,
pub data_bytes: u64,
pub num_samples: u64,
pub loop_: bool,
pub _padding_41: [::std::os::raw::c_char; 7usize],
}
impl Default for tm_wav_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_wav_api {
pub read: ::std::option::Option<
unsafe extern "C" fn(tt: *mut tm_the_truth_o, id: tm_tt_id_t) -> tm_wav_t,
>,
pub sample: ::std::option::Option<
unsafe extern "C" fn(
wav: *const tm_wav_t,
offset: f64,
buffer: *mut f32,
num_samples: u32,
sample_frequency: f32,
) -> u32,
>,
pub read_samples: ::std::option::Option<
unsafe extern "C" fn(wav: *const tm_wav_t, offset: u64, buffer: *mut f32, num_samples: u32),
>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_cache_manager_o {
_unused: [u8; 0],
}
pub const tm_cache_invalidation_type_TM_CACHE_INVALIDATION_TYPE_UPDATE: tm_cache_invalidation_type =
0;
pub const tm_cache_invalidation_type_TM_CACHE_INVALIDATION_TYPE_REBUILD:
tm_cache_invalidation_type = 1;
pub type tm_cache_invalidation_type = ::std::os::raw::c_int;
pub type tm_cache_invalidation_callback = ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
type_: tm_cache_invalidation_type,
user_data: *mut ::std::os::raw::c_void,
tag: u64,
),
>;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_cache_manager_api {
pub init: ::std::option::Option<unsafe extern "C" fn(a: *mut tm_allocator_i)>,
pub shutdown: ::std::option::Option<unsafe extern "C" fn()>,
pub register_tag: ::std::option::Option<
unsafe extern "C" fn(
tag: u64,
display_name: *const ::std::os::raw::c_char,
callback: tm_cache_invalidation_callback,
),
>,
pub unregister_tag: ::std::option::Option<unsafe extern "C" fn(tag: u64)>,
pub update_tag: ::std::option::Option<
unsafe extern "C" fn(
tag: u64,
tt: *mut tm_the_truth_o,
user_data: *mut ::std::os::raw::c_void,
),
>,
pub rebuild_tag: ::std::option::Option<
unsafe extern "C" fn(
tag: u64,
tt: *mut tm_the_truth_o,
user_data: *mut ::std::os::raw::c_void,
),
>,
pub ui: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
ui: *mut tm_ui_o,
style: *const tm_ui_style_t,
rect: tm_rect_t,
),
>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_collaboration_discord_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_discord_friend_t {
pub user_id: u64,
pub username: *const ::std::os::raw::c_char,
}
impl Default for tm_discord_friend_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_collaboration_discord_api {
pub create: ::std::option::Option<
unsafe extern "C" fn(
coll: *mut tm_collaboration_o,
a: *mut tm_allocator_i,
) -> *mut tm_collaboration_discord_o,
>,
pub destroy: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_collaboration_discord_o)>,
pub check_available:
::std::option::Option<unsafe extern "C" fn(inst: *mut tm_collaboration_discord_o) -> bool>,
pub update: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_collaboration_discord_o)>,
pub host: ::std::option::Option<
unsafe extern "C" fn(inst: *mut tm_collaboration_discord_o, use_p2p_upnp: bool),
>,
pub invite: ::std::option::Option<
unsafe extern "C" fn(inst: *mut tm_collaboration_discord_o, user_id: u64),
>,
pub username: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_collaboration_discord_o,
) -> *const ::std::os::raw::c_char,
>,
pub get_friends_with_the_machinery_running: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_collaboration_discord_o,
ta: *mut tm_temp_allocator_i,
num: *mut u32,
) -> *mut tm_discord_friend_t,
>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_creation_graph_output_node_type_t {
pub node_name_hash: u64,
pub display_name: *const ::std::os::raw::c_char,
pub asset_tag: *const tm_asset_tag_t,
pub size: u64,
pub write_wire: ::std::option::Option<
unsafe extern "C" fn(
ctx: *mut tm_creation_graph_interpreter_context_t,
wire: u32,
data: *const ::std::os::raw::c_void,
),
>,
}
impl Default for tm_creation_graph_output_node_type_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_creation_graph_instance_t {
pub graph: tm_tt_id_t,
pub version: u64,
pub interpreter: *mut tm_creation_graph_interpreter_o,
pub data: *mut tm_creation_graph_instance_data_o,
pub output: *mut tm_creation_graph_output_data_t,
}
impl Default for tm_creation_graph_instance_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_creation_graph_output_data_t {
pub allocator: *mut tm_allocator_i,
pub output_node_types: *mut tm_creation_graph_output_node_type_t,
pub output_data: *mut *mut u8,
pub consumer: tm_creation_graph_instance_t,
pub dirty: bool,
pub _padding_48: [::std::os::raw::c_char; 7usize],
}
impl Default for tm_creation_graph_output_data_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_creation_graph_node_cache_t {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_creation_graph_draw_call_data_t {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_creation_graph_bounding_volume_data_t {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_creation_graph_image_data_t {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_renderer_resource_command_buffer_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_creation_graph_interpreter_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_shader_system_context_o {
_unused: [u8; 0],
}
pub type tm_compile_data_to_wire_f = ::std::option::Option<
unsafe extern "C" fn(
rc: *mut tm_creation_graph_instance_t,
wire: u32,
tt: *const tm_the_truth_o,
data_id: tm_tt_id_t,
to_type_hash: u64,
) -> bool,
>;
pub const TM_TT_PROP__CREATION_GRAPH__GRAPH: ::std::os::raw::c_int = 0;
pub type _bindgen_ty_48 = ::std::os::raw::c_int;
pub const TM_TT_PROP__CREATION_GRAPH__RESOURCE_REFERENCE__CREATION_GRAPH: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__CREATION_GRAPH__RESOURCE_REFERENCE__OUTPUT_NODE_TYPE_HASH:
::std::os::raw::c_int = 1;
pub const TM_TT_PROP__CREATION_GRAPH__RESOURCE_REFERENCE__OUTPUT_NODE_NAME: ::std::os::raw::c_int =
2;
pub type _bindgen_ty_49 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_creation_graph_destroy_instance_context_t {
pub manager_shutdown: bool,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_creation_graph_tick_context_t {
pub dt: f32,
pub _padding_85: [::std::os::raw::c_char; 4usize],
pub shader_context: *mut tm_shader_system_context_o,
}
impl Default for tm_creation_graph_tick_context_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_creation_graph_viewport_interact_context_t {
pub viewport: tm_rect_t,
pub transform: *const tm_transform_t,
pub input: *const tm_ui_input_state_t,
pub camera: *const tm_camera_t,
pub render_graph: *const tm_render_graph_o,
pub shader_context: *const tm_shader_system_context_o,
pub undo_stack: *mut tm_undo_stack_i,
}
impl Default for tm_creation_graph_viewport_interact_context_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_creation_graph_output_t {
pub version: u64,
pub num_output_objects: u32,
pub _padding_122: [::std::os::raw::c_char; 4usize],
pub output: *const ::std::os::raw::c_void,
}
impl Default for tm_creation_graph_output_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub const TM_CREATION_GRAPH_MAX_OUTPUT_NODE_TYPES: ::std::os::raw::c_int = 32;
pub type _bindgen_ty_50 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_creation_graph_all_outputs_t {
pub version: u64,
pub num_output_node_types: u32,
pub _padding_136: [::std::os::raw::c_char; 4usize],
pub output_node_type_hashes: [u64; 32usize],
pub output_node_type_display_names: [*const ::std::os::raw::c_char; 32usize],
}
impl Default for tm_creation_graph_all_outputs_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_creation_graph_blackboard_value_t {
_unused: [u8; 0],
}
pub const TM_CREATION_GRAPH_PRE_CMD: ::std::os::raw::c_int = 0;
pub const TM_CREATION_GRAPH_POST_CMD: ::std::os::raw::c_int = 1;
pub const TM_CREATION_GRAPH_MAX_RESOURCE_BUFFERS: ::std::os::raw::c_int = 2;
pub type _bindgen_ty_51 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_creation_graph_task_t {
pub f: ::std::option::Option<unsafe extern "C" fn(data: *mut ::std::os::raw::c_void, id: u64)>,
pub data: *mut ::std::os::raw::c_void,
pub debug_name: *const ::std::os::raw::c_char,
}
impl Default for tm_creation_graph_task_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_creation_graph_context_t {
pub rb: *mut tm_renderer_backend_i,
pub device_affinity_mask: u32,
pub _padding_167: [::std::os::raw::c_char; 4usize],
pub ta: *mut tm_temp_allocator_i,
pub requested_tasks: *mut *mut tm_creation_graph_task_t,
pub res_buf: [*mut tm_renderer_resource_command_buffer_o; 2usize],
pub cmd_buf: *mut tm_renderer_command_buffer_o,
pub event_context: *mut ::std::os::raw::c_void,
pub entity_id: u64,
pub entity_ctx: *mut tm_entity_context_o,
pub invalidate_node: tm_tt_id_t,
pub invalidate_cache_tag: u64,
pub shader_repository: *mut tm_shader_repository_o,
pub event_id: u64,
pub tt: *mut tm_the_truth_o,
pub shader_context: *mut tm_shader_system_context_o,
}
impl Default for tm_creation_graph_context_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_creation_graph_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_cached_node_result_t {
pub object: tm_tt_id_t,
pub validity_hash: u64,
}
impl Default for tm_cached_node_result_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_creation_graph_api {
pub create_manager: ::std::option::Option<unsafe extern "C" fn(allocator: *mut tm_allocator_i)>,
pub update_manager: ::std::option::Option<unsafe extern "C" fn()>,
pub destroy_manager: ::std::option::Option<unsafe extern "C" fn()>,
pub set_the_truth: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
pub create_truth_types: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
pub register_graph_nodes:
::std::option::Option<unsafe extern "C" fn(reg: *mut tm_api_registry_api, load: bool)>,
pub asset_browser_create_interface:
::std::option::Option<unsafe extern "C" fn() -> *mut tm_asset_browser_create_asset_i>,
pub create_instance: ::std::option::Option<
unsafe extern "C" fn(
asset: tm_tt_id_t,
context: *mut tm_creation_graph_context_t,
) -> tm_creation_graph_instance_t,
>,
pub destroy_instance: ::std::option::Option<
unsafe extern "C" fn(
instance: *mut tm_creation_graph_instance_t,
context: *mut tm_creation_graph_context_t,
),
>,
pub invalidate: ::std::option::Option<unsafe extern "C" fn(asset: tm_tt_id_t)>,
pub write_blackboard: ::std::option::Option<
unsafe extern "C" fn(
asset: tm_tt_id_t,
key_name: u64,
value: *const tm_creation_graph_blackboard_value_t,
),
>,
pub read_blackboard: ::std::option::Option<
unsafe extern "C" fn(
asset: tm_tt_id_t,
key_name: u64,
value: *mut tm_creation_graph_blackboard_value_t,
) -> bool,
>,
pub remove_blackboard:
::std::option::Option<unsafe extern "C" fn(asset: tm_tt_id_t, key_name: u64)>,
pub lock_resource_cache: ::std::option::Option<
unsafe extern "C" fn(
graph_id: tm_tt_id_t,
node_id: tm_tt_id_t,
) -> *mut tm_creation_graph_node_cache_t,
>,
pub unlock_resource_cache:
::std::option::Option<unsafe extern "C" fn(cache: *mut tm_creation_graph_node_cache_t)>,
pub add_listener:
::std::option::Option<unsafe extern "C" fn(asset: tm_tt_id_t, object: tm_tt_id_t)>,
pub tick_queue: ::std::option::Option<
unsafe extern "C" fn(
instance: *mut tm_creation_graph_instance_t,
dt: f32,
context: *mut tm_creation_graph_context_t,
),
>,
pub has_event: ::std::option::Option<
unsafe extern "C" fn(instance: *mut tm_creation_graph_instance_t, event_id: u64) -> bool,
>,
pub trigger_event: ::std::option::Option<
unsafe extern "C" fn(
instance: *mut tm_creation_graph_instance_t,
event_id: u64,
context: *mut tm_creation_graph_context_t,
),
>,
pub update_interface: ::std::option::Option<
unsafe extern "C" fn(
instance: *mut tm_creation_graph_instance_t,
event_id: u64,
context: *mut tm_creation_graph_context_t,
),
>,
pub lookup_cached_node_result: ::std::option::Option<
unsafe extern "C" fn(graph_id: tm_tt_id_t, node_id: tm_tt_id_t) -> tm_cached_node_result_t,
>,
pub set_cached_node_result: ::std::option::Option<
unsafe extern "C" fn(
graph_id: tm_tt_id_t,
node_id: tm_tt_id_t,
validity_hash: u64,
object: tm_tt_id_t,
),
>,
pub output: ::std::option::Option<
unsafe extern "C" fn(
instance: *mut tm_creation_graph_instance_t,
node_name_hash: u64,
context: *mut tm_creation_graph_context_t,
output_node_type: *mut *const tm_creation_graph_output_node_type_t,
) -> tm_creation_graph_output_t,
>,
pub all_outputs: ::std::option::Option<
unsafe extern "C" fn(
instance: *mut tm_creation_graph_instance_t,
context: *mut tm_creation_graph_context_t,
) -> tm_creation_graph_all_outputs_t,
>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_creation_graph_interpreter_wire_content_t {
pub type_info: u64,
pub n: u32,
pub size: u32,
pub data: *mut ::std::os::raw::c_void,
}
impl Default for tm_creation_graph_interpreter_wire_content_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_creation_graph_interpreter_context_t {
pub instance: *mut tm_creation_graph_instance_t,
pub node: u32,
pub _padding_54: [::std::os::raw::c_char; 4usize],
pub graph_id: tm_tt_id_t,
pub node_id: tm_tt_id_t,
pub node_type: *const tm_graph_node_type_i,
pub wires: *const u32,
}
impl Default for tm_creation_graph_interpreter_context_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub type tm_creation_graph_interpreter_run_node_f =
::std::option::Option<unsafe extern "C" fn(ctx: *mut tm_creation_graph_interpreter_context_t)>;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_creation_graph_interpreter_node_t {
pub f: tm_creation_graph_interpreter_run_node_f,
pub wires_index: u32,
pub _padding_91: [::std::os::raw::c_char; 4usize],
pub node_type: *const tm_graph_node_type_i,
pub graph_id: tm_tt_id_t,
pub node_id: tm_tt_id_t,
pub dependencies_index: u32,
pub _padding_108: [::std::os::raw::c_char; 4usize],
}
impl Default for tm_creation_graph_interpreter_node_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_creation_graph_interpreter_api {
pub create_graph_interpreter: ::std::option::Option<
unsafe extern "C" fn(
allocator: *mut tm_allocator_i,
) -> *mut tm_creation_graph_interpreter_o,
>,
pub destroy_graph_interpreter:
::std::option::Option<unsafe extern "C" fn(gr: *mut tm_creation_graph_interpreter_o)>,
pub set_graph: ::std::option::Option<
unsafe extern "C" fn(
gr: *mut tm_creation_graph_interpreter_o,
nodes: *const tm_creation_graph_interpreter_node_t,
num_nodes: u32,
num_wires: u32,
node_wires: *mut u32,
num_node_wires: u32,
dependencies: *mut u32,
num_dependencies: u32,
),
>,
pub default_instance: ::std::option::Option<
unsafe extern "C" fn(
gr: *mut tm_creation_graph_interpreter_o,
) -> tm_creation_graph_instance_t,
>,
pub active_instances: ::std::option::Option<
unsafe extern "C" fn(
gr: *mut tm_creation_graph_interpreter_o,
count: *mut u32,
) -> *mut *mut tm_creation_graph_instance_data_o,
>,
pub create_instance: ::std::option::Option<
unsafe extern "C" fn(
gr: *mut tm_creation_graph_interpreter_o,
) -> tm_creation_graph_instance_t,
>,
pub destroy_instance:
::std::option::Option<unsafe extern "C" fn(rc: *mut tm_creation_graph_instance_t)>,
pub run_node_at_index: ::std::option::Option<
unsafe extern "C" fn(rc: *mut tm_creation_graph_instance_t, node: u32),
>,
pub add_event_node: ::std::option::Option<
unsafe extern "C" fn(gr: *mut tm_creation_graph_interpreter_o, e: u64, node: u32),
>,
pub has_event: ::std::option::Option<
unsafe extern "C" fn(gr: *mut tm_creation_graph_interpreter_o, e: u64) -> bool,
>,
pub trigger_event:
::std::option::Option<unsafe extern "C" fn(rc: *mut tm_creation_graph_instance_t, e: u64)>,
pub trigger_wire: ::std::option::Option<
unsafe extern "C" fn(rc: *mut tm_creation_graph_instance_t, wire: u32),
>,
pub queue_wire: ::std::option::Option<
unsafe extern "C" fn(rc: *mut tm_creation_graph_instance_t, wire: u32, delay: f32),
>,
pub tick_queue:
::std::option::Option<unsafe extern "C" fn(rc: *mut tm_creation_graph_instance_t, dt: f32)>,
pub get_node_run_context: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_creation_graph_instance_t,
node: u32,
) -> tm_creation_graph_interpreter_context_t,
>,
pub read_wire: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_creation_graph_instance_t,
wire: u32,
) -> tm_creation_graph_interpreter_wire_content_t,
>,
pub read_wires: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_creation_graph_instance_t,
content: *mut tm_creation_graph_interpreter_wire_content_t,
wires: *const u32,
n: u32,
),
>,
pub read_wires_indirect: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_creation_graph_instance_t,
content: *mut *mut tm_creation_graph_interpreter_wire_content_t,
wires: *const u32,
n: u32,
),
>,
pub write_wire: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_creation_graph_instance_t,
wire: u32,
type_info: u64,
n: u32,
size: u32,
) -> *mut ::std::os::raw::c_void,
>,
pub read_variable: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_creation_graph_instance_t,
variable: u64,
) -> tm_creation_graph_interpreter_wire_content_t,
>,
pub write_variable: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_creation_graph_instance_t,
variable: u64,
n: u32,
size: u32,
) -> *mut ::std::os::raw::c_void,
>,
pub random_float:
::std::option::Option<unsafe extern "C" fn(rc: *mut tm_creation_graph_instance_t) -> f32>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_shader_repository_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_creation_graph_runtime_data_t {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_graph_aspect_i {
pub node_interface_name: *const ::std::os::raw::c_char,
pub io_type_interface_name: *const ::std::os::raw::c_char,
pub graph_object: ::std::option::Option<
unsafe extern "C" fn(tt: *const tm_the_truth_o, root_object: tm_tt_id_t) -> tm_tt_id_t,
>,
pub subgraph_type_hash: u64,
}
impl Default for tm_graph_aspect_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_graph_io_type_t {
pub type_hash: u64,
pub display_name: *const ::std::os::raw::c_char,
}
impl Default for tm_graph_io_type_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub const TM_TT_PROP__GRAPH__NODES: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__GRAPH__CONNECTIONS: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__GRAPH__DATA: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__GRAPH__COMMENTS: ::std::os::raw::c_int = 3;
pub const TM_TT_PROP__GRAPH__INTERFACE: ::std::os::raw::c_int = 4;
pub type _bindgen_ty_52 = ::std::os::raw::c_int;
pub const TM_TT_PROP__GRAPH_NODE__TYPE: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__GRAPH_NODE__LABEL: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__GRAPH_NODE__POSITION_X: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__GRAPH_NODE__POSITION_Y: ::std::os::raw::c_int = 3;
pub const TM_TT_PROP__GRAPH_NODE__WIDTH: ::std::os::raw::c_int = 4;
pub const TM_TT_PROP__GRAPH_NODE__SETTINGS: ::std::os::raw::c_int = 5;
pub type _bindgen_ty_53 = ::std::os::raw::c_int;
pub const TM_TT_PROP__GRAPH_CONNECTION__FROM_NODE: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__GRAPH_CONNECTION__TO_NODE: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__GRAPH_CONNECTION__FROM_CONNECTOR_HASH: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__GRAPH_CONNECTION__TO_CONNECTOR_HASH: ::std::os::raw::c_int = 3;
pub type _bindgen_ty_54 = ::std::os::raw::c_int;
pub const TM_TT_PROP__GRAPH_DATA__TO_NODE: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__GRAPH_DATA__TO_CONNECTOR_HASH: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__GRAPH_DATA__DATA: ::std::os::raw::c_int = 2;
pub type _bindgen_ty_55 = ::std::os::raw::c_int;
pub const TM_TT_PROP__GRAPH_COMMENT__TEXT: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__GRAPH_COMMENT__POSITION_X: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__GRAPH_COMMENT__POSITION_Y: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__GRAPH_COMMENT__FONT_SCALE: ::std::os::raw::c_int = 3;
pub const TM_TT_PROP__GRAPH_COMMENT__COLOR: ::std::os::raw::c_int = 4;
pub type _bindgen_ty_56 = ::std::os::raw::c_int;
pub const TM_TT_PROP__GRAPH_INTERFACE__INPUTS: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__GRAPH_INTERFACE__OUTPUTS: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__GRAPH_INTERFACE__LAST_ID: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__GRAPH_INTERFACE__CACHED_NODE_RESULT: ::std::os::raw::c_int = 3;
pub type _bindgen_ty_57 = ::std::os::raw::c_int;
pub const TM_TT_PROP__GRAPH_INPUT__DISPLAY_NAME: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__GRAPH_INPUT__ID: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__GRAPH_INPUT__TYPE_HASH: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__GRAPH_INPUT__VALUE_SET_BY_USER: ::std::os::raw::c_int = 3;
pub const TM_TT_PROP__GRAPH_INPUT__VALUE: ::std::os::raw::c_int = 4;
pub const TM_TT_PROP__GRAPH_INPUT__TOOLTIP: ::std::os::raw::c_int = 5;
pub const TM_TT_PROP__GRAPH_INPUT__PUBLIC: ::std::os::raw::c_int = 6;
pub type _bindgen_ty_58 = ::std::os::raw::c_int;
pub const TM_TT_PROP__GRAPH_OUTPUT__DISPLAY_NAME: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__GRAPH_OUTPUT__ID: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__GRAPH_OUTPUT__TYPE_HASH: ::std::os::raw::c_int = 2;
pub type _bindgen_ty_59 = ::std::os::raw::c_int;
pub const TM_TT_PROP__GRAPH_CACHED_NODE_RESULT__NODE: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__GRAPH_CACHED_NODE_RESULT__VALIDITY_HASH: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__GRAPH_CACHED_NODE_RESULT__OBJECT: ::std::os::raw::c_int = 2;
pub type _bindgen_ty_60 = ::std::os::raw::c_int;
pub const TM_TT_PROP__GRAPH_SETTINGS__GRAPH_UUID_A: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__GRAPH_SETTINGS__VIEW_POSITION: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__GRAPH_SETTINGS__VIEW_SCALE: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__GRAPH_SETTINGS__GRID_SNAPPING: ::std::os::raw::c_int = 3;
pub const TM_TT_PROP__GRAPH_SETTINGS__GRID_SIZE: ::std::os::raw::c_int = 4;
pub type _bindgen_ty_61 = ::std::os::raw::c_int;
pub const TM_GRAPH_MAX_CONNECTORS: ::std::os::raw::c_int = 16;
pub type _bindgen_ty_62 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_graph_connector_t {
pub name: *const ::std::os::raw::c_char,
pub type_hash: u64,
pub edit_type_hash: u64,
pub display_name: *const ::std::os::raw::c_char,
pub optional: bool,
pub _padding_227: [::std::os::raw::c_char; 7usize],
pub tooltip: *mut ::std::os::raw::c_char,
pub hidden: bool,
pub _padding_236: [::std::os::raw::c_char; 7usize],
}
impl Default for tm_graph_connector_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_graph_node_connectors_t {
pub in_: [tm_graph_connector_t; 16usize],
pub out: [tm_graph_connector_t; 16usize],
pub num_in: u32,
pub num_out: u32,
}
impl Default for tm_graph_node_connectors_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_graph_node_type_i {
pub name: *const ::std::os::raw::c_char,
pub display_name: *const ::std::os::raw::c_char,
pub category: *const ::std::os::raw::c_char,
pub static_connectors: tm_graph_node_connectors_t,
pub settings_type_hash: u64,
pub cache_tag: u64,
pub dynamic_connectors: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
graph_id: tm_tt_id_t,
node_data: *const tm_tt_id_t,
node_settings: tm_tt_id_t,
connectors: *mut tm_graph_node_connectors_t,
),
>,
pub render_background_callback: ::std::option::Option<
unsafe extern "C" fn(
nt: *const tm_graph_node_type_i,
bg_rect: tm_rect_t,
title_rect: tm_rect_t,
title_bg_color: tm_color_srgb_t,
ui: *mut tm_ui_o,
uistyle: *const tm_ui_style_t,
graph_scale: f32,
vbuffer: *mut tm_draw2d_vbuffer_t,
ibuffer: *mut tm_draw2d_ibuffer_t,
),
>,
}
impl Default for tm_graph_node_type_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_graph_node_cache_invalidation_context_t {
pub graph_id: tm_tt_id_t,
pub node_id: tm_tt_id_t,
}
impl Default for tm_graph_node_cache_invalidation_context_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_graph_drag_and_drop_i {
pub type_name: *const ::std::os::raw::c_char,
pub can_create_from: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
graph_id: tm_tt_id_t,
dragged_object: tm_tt_id_t,
) -> bool,
>,
pub setup_graph_node_from_dragged_object: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
graph_id: tm_tt_id_t,
node_id: tm_tt_id_t,
dragged_object: tm_tt_id_t,
undo_scope: tm_tt_undo_scope_t,
),
>,
}
impl Default for tm_graph_drag_and_drop_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_graph_ui_res_t {
pub focus_changed: bool,
pub selection_changed: bool,
pub _padding_338: [::std::os::raw::c_char; 6usize],
pub focus: tm_tt_id_t,
}
impl Default for tm_graph_ui_res_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_graph_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_graph_api {
pub create_truth_types: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
pub create_graph: ::std::option::Option<
unsafe extern "C" fn(
allocator: *mut tm_allocator_i,
tt: *mut tm_the_truth_o,
graph_id: tm_tt_id_t,
node_interface_name: *const ::std::os::raw::c_char,
undo_stack: *mut tm_undo_stack_i,
asset_root: tm_tt_id_t,
settings_tt: *mut tm_the_truth_o,
settings_object: tm_tt_id_t,
) -> *mut tm_graph_o,
>,
pub destroy_graph:
::std::option::Option<unsafe extern "C" fn(graph: *mut tm_graph_o, truth_destroyed: bool)>,
pub set_settings_object: ::std::option::Option<
unsafe extern "C" fn(
graph: *mut tm_graph_o,
settings_tt: *mut tm_the_truth_o,
settings_object: tm_tt_id_t,
),
>,
pub id: ::std::option::Option<unsafe extern "C" fn(graph: *mut tm_graph_o) -> tm_tt_id_t>,
pub ui: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_graph_o,
ui: *mut tm_ui_o,
style: *const tm_ui_style_t,
rect: tm_rect_t,
tab: *mut tm_tab_i,
) -> tm_graph_ui_res_t,
>,
pub menu: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_graph_o,
ui: *mut tm_ui_o,
style: *const tm_ui_style_t,
pos: tm_vec2_t,
),
>,
pub selected_objects: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_graph_o,
ta: *mut tm_temp_allocator_i,
) -> *const tm_tt_id_t,
>,
pub migrate_to_connector_hash: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
graphs: *mut tm_tt_id_t,
num_graphs: u32,
node_types: *const *const tm_graph_node_type_i,
num_node_types: u32,
) -> bool,
>,
pub needs_migrate_to_connector_hash:
::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o) -> bool>,
pub migrate_to_instantiated_connections: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
graphs: *mut tm_tt_id_t,
num_graphs: u32,
) -> bool,
>,
pub refresh_node_types: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_graph_o,
node_interface_name: *const ::std::os::raw::c_char,
),
>,
}
pub const TM_CREATION_GRAPH__STATIC_WIRE__SINK: ::std::os::raw::c_int = 0;
pub const TM_CREATION_GRAPH__STATIC_WIRE__CONTEXT: ::std::os::raw::c_int = 1;
pub const TM_CREATION_GRAPH__STATIC_WIRE__COUNT: ::std::os::raw::c_int = 2;
pub type _bindgen_ty_63 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_creation_graph_compile_context_t {
pub tt: *mut tm_the_truth_o,
pub graph_id: tm_tt_id_t,
pub settings_id: tm_tt_id_t,
pub instanced_settings_id: tm_tt_id_t,
pub asset_tag_uuid: u64,
}
impl Default for tm_creation_graph_compile_context_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_creation_graph_node_type_i {
pub __bindgen_padding_0: [u64; 232usize],
pub user_data: *mut ::std::os::raw::c_void,
pub run: ::std::option::Option<
unsafe extern "C" fn(ctx: *mut tm_creation_graph_interpreter_context_t),
>,
pub compile: ::std::option::Option<
unsafe extern "C" fn(
ctx: *mut tm_creation_graph_interpreter_context_t,
compile_ctx: *mut tm_creation_graph_compile_context_t,
),
>,
}
impl Default for tm_creation_graph_node_type_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_gpu_vertex_channel_t {
pub offset: u32,
pub stride: u16,
pub _padding_13: [::std::os::raw::c_char; 2usize],
pub format: u32,
pub buffer_handle: u32,
}
pub const TM_VERTEX_BUFFER_CHANNEL_POSITION: ::std::os::raw::c_int = 0;
pub const TM_VERTEX_BUFFER_CHANNEL_NORMAL0: ::std::os::raw::c_int = 1;
pub const TM_VERTEX_BUFFER_CHANNEL_NORMAL1: ::std::os::raw::c_int = 2;
pub const TM_VERTEX_BUFFER_CHANNEL_TANGENT0: ::std::os::raw::c_int = 3;
pub const TM_VERTEX_BUFFER_CHANNEL_TANGENT1: ::std::os::raw::c_int = 4;
pub const TM_VERTEX_BUFFER_CHANNEL_SKIN_INDICES0: ::std::os::raw::c_int = 5;
pub const TM_VERTEX_BUFFER_CHANNEL_SKIN_INDICES1: ::std::os::raw::c_int = 6;
pub const TM_VERTEX_BUFFER_CHANNEL_SKIN_BONES0: ::std::os::raw::c_int = 7;
pub const TM_VERTEX_BUFFER_CHANNEL_SKIN_BONES1: ::std::os::raw::c_int = 8;
pub const TM_VERTEX_BUFFER_CHANNEL_TEXCOORD0: ::std::os::raw::c_int = 9;
pub const TM_VERTEX_BUFFER_CHANNEL_TEXCOORD1: ::std::os::raw::c_int = 10;
pub const TM_VERTEX_BUFFER_CHANNEL_TEXCOORD2: ::std::os::raw::c_int = 11;
pub const TM_VERTEX_BUFFER_CHANNEL_TEXCOORD3: ::std::os::raw::c_int = 12;
pub const TM_VERTEX_BUFFER_CHANNEL_COLOR0: ::std::os::raw::c_int = 13;
pub const TM_VERTEX_BUFFER_CHANNEL_COLOR1: ::std::os::raw::c_int = 14;
pub const TM_VERTEX_BUFFER_CHANNEL_MAX_CHANNELS: ::std::os::raw::c_int = 16;
pub type _bindgen_ty_64 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_gpu_vertex_buffer_t {
pub active_channels_flag: u32,
pub num_vertices: u32,
pub num_vertex_sets: u32,
pub channels: [tm_gpu_vertex_channel_t; 16usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_gpu_geometry_t {
pub vfetch_system: *mut tm_shader_system_o,
pub vfetch_system_cbuffer: u32,
pub vfetch_system_rbinder: u32,
}
impl Default for tm_gpu_geometry_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub const TM_TT_PROP__IMAGE_FILTER_SETTINGS__COLOR_SPACE: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__IMAGE_FILTER_SETTINGS__FILTER: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__IMAGE_FILTER_SETTINGS__OVERRIDE_EXISTING_MIPS: ::std::os::raw::c_int = 2;
pub type _bindgen_ty_65 = ::std::os::raw::c_int;
pub const TM_TT_PROP__IMAGE_DESCRIPTION__TYPE: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__IMAGE_DESCRIPTION__PIXEL_FORMAT: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__IMAGE_DESCRIPTION__WIDTH: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__IMAGE_DESCRIPTION__HEIGHT: ::std::os::raw::c_int = 3;
pub const TM_TT_PROP__IMAGE_DESCRIPTION__DEPTH: ::std::os::raw::c_int = 4;
pub const TM_TT_PROP__IMAGE_DESCRIPTION__MIP_LEVELS: ::std::os::raw::c_int = 5;
pub const TM_TT_PROP__IMAGE_DESCRIPTION__LAYER_COUNT: ::std::os::raw::c_int = 6;
pub const TM_TT_PROP__IMAGE_DESCRIPTION__SAMPLE_COUNT: ::std::os::raw::c_int = 7;
pub type _bindgen_ty_66 = ::std::os::raw::c_int;
pub const TM_TT_PROP__IMAGE_ACRCHIVE__FILENAME: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__IMAGE_ACRCHIVE__VALIDITY_HASH: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__IMAGE_ACRCHIVE__DESCRIPTION: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__IMAGE_ACRCHIVE__BUFFER: ::std::os::raw::c_int = 3;
pub type _bindgen_ty_67 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_gpu_buffer_t {
pub validity_hash: u64,
pub size: u32,
pub usage_flags: u32,
pub handle: u32,
pub resource_state: u16,
pub _padding_14: [::std::os::raw::c_char; 2usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_shader_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_creation_graph_shader_instance_t {
pub shader: *mut tm_shader_o,
pub cbuf: u32,
pub rbinder: u32,
}
impl Default for tm_creation_graph_shader_instance_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_renderer_command_buffer_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_crunch_result_t {
pub data: *mut ::std::os::raw::c_void,
pub data_size: u32,
pub _padding_18: [::std::os::raw::c_char; 4usize],
}
impl Default for tm_crunch_result_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub type tm_crunch_progress = ::std::option::Option<
unsafe extern "C" fn(
phase_index: u32,
total_phases: u32,
subphase_index: u32,
total_subphases: u32,
user_data: *mut ::std::os::raw::c_void,
) -> bool,
>;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_crunch_api {
pub compress: ::std::option::Option<
unsafe extern "C" fn(
data: *mut ::std::os::raw::c_void,
width: u32,
height: u32,
srgb: bool,
format: u32,
ta: *mut tm_temp_allocator_i,
progress_func: tm_crunch_progress,
progress_func_data: *mut ::std::os::raw::c_void,
) -> tm_crunch_result_t,
>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_dcc_asset_geometry_t {
pub vertices: *mut tm_vec3_t,
pub indices: *mut u32,
}
impl Default for tm_dcc_asset_geometry_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_dcc_asset_api {
pub create_truth_types: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
pub truth_type_info:
::std::option::Option<unsafe extern "C" fn() -> *const dcc_asset_type_info_t>,
pub bounds: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
asset: tm_tt_id_t,
bounds: *mut tm_vec3_t,
include_node_positions: bool,
),
>,
pub geometry: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
asset: tm_tt_id_t,
ta: *mut tm_temp_allocator_i,
) -> tm_dcc_asset_geometry_t,
>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_entity_context_o {
_unused: [u8; 0],
}
pub const TM_TT_PROP__DCC_ASSET_COMPONENT__DCC_ASSET: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__DCC_ASSET_COMPONENT__VISIBILITY_FLAGS: ::std::os::raw::c_int = 1;
pub type _bindgen_ty_68 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_dcc_asset_component_api {
pub create_truth_types: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
pub create: ::std::option::Option<unsafe extern "C" fn(ctx: *mut tm_entity_context_o)>,
pub set_component_dcc_asset: ::std::option::Option<
unsafe extern "C" fn(component_data: *mut ::std::os::raw::c_void, dcc_asset: tm_tt_id_t),
>,
pub create_dcc_asset_scene_manager:
::std::option::Option<unsafe extern "C" fn(allocator: *mut tm_allocator_i)>,
pub update_dcc_asset_scene_manager: ::std::option::Option<unsafe extern "C" fn()>,
pub destroy_dcc_asset_scene_manager: ::std::option::Option<unsafe extern "C" fn()>,
pub set_the_truth: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
pub animation_scrubber_ui: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
asset: tm_tt_id_t,
entity_ctx: *mut tm_entity_context_o,
e: *const tm_entity_t,
p: *mut tm_animation_player_playing_o,
tab_id: u64,
ui: *mut tm_ui_o,
uistyle: *const tm_ui_style_t,
content_r: tm_rect_t,
toolbar_direction: u32,
),
>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_dcc_asset_gpu_resource_cache_o {
_unused: [u8; 0],
}
pub const TM_TT_PROP__DCC_ASSET_MESH__DCC_ASSET: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__DCC_ASSET_MESH__MESH: ::std::os::raw::c_int = 1;
pub type _bindgen_ty_69 = ::std::os::raw::c_int;
pub const TM_TT_PROP__DCC_ASSET_IMAGE__DCC_ASSET: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__DCC_ASSET_IMAGE__IMAGE: ::std::os::raw::c_int = 1;
pub type _bindgen_ty_70 = ::std::os::raw::c_int;
pub const TM_TT_PROP__DCC_ASSET_MATERIAL__DCC_ASSET: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__DCC_ASSET_MATERIAL__MATERIAL: ::std::os::raw::c_int = 1;
pub type _bindgen_ty_71 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_dcc_asset_creation_graph_api {
pub create_truth_types: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
pub compile_data_to_wire: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_creation_graph_instance_t,
wire: u32,
tt: *const tm_the_truth_o,
data_id: tm_tt_id_t,
to_type_hash: u64,
) -> bool,
>,
pub register_graph_nodes:
::std::option::Option<unsafe extern "C" fn(reg: *mut tm_api_registry_api, load: bool)>,
pub create_resource_manager:
::std::option::Option<unsafe extern "C" fn(allocator: *mut tm_allocator_i)>,
pub update_resource_manager: ::std::option::Option<unsafe extern "C" fn()>,
pub destroy_resource_manager: ::std::option::Option<unsafe extern "C" fn()>,
pub set_the_truth: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
pub resource_cache: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
asset: tm_tt_id_t,
wanted_version: u64,
) -> *mut tm_dcc_asset_gpu_resource_cache_o,
>,
pub buffer_handle: ::std::option::Option<
unsafe extern "C" fn(
resource_cache: *mut tm_dcc_asset_gpu_resource_cache_o,
tt: *const tm_the_truth_o,
object: tm_tt_id_t,
additional_usage_flags: u32,
backend: *mut tm_renderer_backend_i,
device_affinity_mask: u32,
res_buf: *mut tm_renderer_resource_command_buffer_o,
validity_hash: *mut u64,
) -> u32,
>,
pub image_handle: ::std::option::Option<
unsafe extern "C" fn(
resource_cache: *mut tm_dcc_asset_gpu_resource_cache_o,
tt: *const tm_the_truth_o,
object: tm_tt_id_t,
additional_usage_flags: u32,
backend: *mut tm_renderer_backend_i,
device_affinity_mask: u32,
res_buf: *mut tm_renderer_resource_command_buffer_o,
image_desc: *mut tm_renderer_image_buffer_t,
validity_hash: *mut u64,
context: *mut tm_creation_graph_context_t,
instance: *mut tm_creation_graph_instance_t,
) -> u32,
>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_dcc_asset_scene_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_dcc_asset_scene_instance_o {
pub instance_idx: u32,
pub _padding_24: [::std::os::raw::c_char; 4usize],
pub entity_id: u64,
pub transform_version: u32,
pub scene_to_world: tm_mat44_t,
pub front_face_cw: bool,
pub _padding_30: [::std::os::raw::c_char; 3usize],
pub last_transform_version: u32,
pub _padding_32: [::std::os::raw::c_char; 4usize],
pub shader: *mut tm_shader_o,
pub cbufs: *mut tm_shader_constant_buffer_instance_t,
}
impl Default for tm_dcc_asset_scene_instance_o {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_dcc_asset_renderer_shader_system_t {
pub systems: [*mut tm_shader_system_o; 2usize],
}
impl Default for tm_dcc_asset_renderer_shader_system_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub const TM_DCC_ASSET_RENDERER_SHADER_SYSTEM_OPAQUE: ::std::os::raw::c_int = 0;
pub const TM_DCC_ASSET_RENDERER_SHADER_SYSTEM_MASKED: ::std::os::raw::c_int = 1;
pub const TM_DCC_ASSET_RENDERER_SHADER_SYSTEM_TRANSPARENCY: ::std::os::raw::c_int = 2;
pub const TM_DCC_ASSET_RENDERER_SHADER_SYSTEM_MAX_SYSTEMS: ::std::os::raw::c_int = 3;
pub type _bindgen_ty_72 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_dcc_asset_renderer_frame_memory_thread_context_t {
pub p: *mut u8,
pub used: u64,
pub block_size: u64,
}
impl Default for tm_dcc_asset_renderer_frame_memory_thread_context_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_dcc_asset_renderer_api {
pub create: ::std::option::Option<
unsafe extern "C" fn(
rb: *mut tm_renderer_backend_i,
allocator: *mut tm_allocator_i,
shader_repository: *mut tm_shader_repository_o,
tt: *mut tm_the_truth_o,
asset: tm_tt_id_t,
) -> *mut tm_dcc_asset_scene_o,
>,
pub destroy: ::std::option::Option<
unsafe extern "C" fn(
scene: *mut tm_dcc_asset_scene_o,
res_buf: *mut tm_renderer_resource_command_buffer_o,
),
>,
pub refresh_instance: ::std::option::Option<
unsafe extern "C" fn(
scene: *mut tm_dcc_asset_scene_o,
instance: *mut tm_dcc_asset_scene_instance_o,
tt: *const tm_the_truth_o,
res_buf: *mut tm_renderer_resource_command_buffer_o,
allocator: *mut tm_allocator_i,
),
>,
pub update_instance_parameters: ::std::option::Option<
unsafe extern "C" fn(
scene: *mut tm_dcc_asset_scene_o,
instance: *mut tm_dcc_asset_scene_instance_o,
mem_context: *mut tm_dcc_asset_renderer_frame_memory_thread_context_t,
res_buf: *mut tm_renderer_resource_command_buffer_o,
entity_id: u64,
scene_to_world: *const tm_mat44_t,
last_scene_to_world: *const tm_mat44_t,
),
>,
pub render: ::std::option::Option<
unsafe extern "C" fn(
scene: *mut tm_dcc_asset_scene_o,
instance: *mut tm_dcc_asset_scene_instance_o,
tt: *const tm_the_truth_o,
context: *mut tm_shader_system_context_o,
res_buf: *mut tm_renderer_resource_command_buffer_o,
cmd_buf: *mut tm_renderer_command_buffer_o,
viewer: *const tm_ci_render_viewer_t,
systems: *const tm_dcc_asset_renderer_shader_system_t,
),
>,
}
pub const TM_TT_PROP__DCC_ASSET_POSITION__X: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__DCC_ASSET_POSITION__Y: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__DCC_ASSET_POSITION__Z: ::std::os::raw::c_int = 2;
pub type _bindgen_ty_73 = ::std::os::raw::c_int;
pub const TM_TT_PROP__DCC_ASSET_ROTATION__X: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__DCC_ASSET_ROTATION__Y: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__DCC_ASSET_ROTATION__Z: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__DCC_ASSET_ROTATION__W: ::std::os::raw::c_int = 3;
pub type _bindgen_ty_74 = ::std::os::raw::c_int;
pub const TM_TT_PROP__DCC_ASSET_SCALE__X: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__DCC_ASSET_SCALE__Y: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__DCC_ASSET_SCALE__Z: ::std::os::raw::c_int = 2;
pub type _bindgen_ty_75 = ::std::os::raw::c_int;
pub const TM_TT_PROP__DCC_ASSET_COLOR__R: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__DCC_ASSET_COLOR__G: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__DCC_ASSET_COLOR__B: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__DCC_ASSET_COLOR__A: ::std::os::raw::c_int = 3;
pub type _bindgen_ty_76 = ::std::os::raw::c_int;
pub const TM_TT_PROP__DCC_ASSET_BUFFER__NAME: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__DCC_ASSET_BUFFER__DATA: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__DCC_ASSET_BUFFER__STRIDE: ::std::os::raw::c_int = 2;
pub type _bindgen_ty_77 = ::std::os::raw::c_int;
pub const TM_TT_VALUE__DCC_ASSET_CAMERA__TYPE__NONE: ::std::os::raw::c_int = 0;
pub const TM_TT_VALUE__DCC_ASSET_CAMERA__TYPE__PERSPECTIVE: ::std::os::raw::c_int = 1;
pub const TM_TT_VALUE__DCC_ASSET_CAMERA__TYPE__ORTHOGRAPHIC: ::std::os::raw::c_int = 2;
pub type _bindgen_ty_78 = ::std::os::raw::c_int;
pub const TM_TT_PROP__DCC_ASSET_CAMERA__NAME: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__DCC_ASSET_CAMERA__TYPE: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__DCC_ASSET_CAMERA__ASPECT_RATIO: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__DCC_ASSET_CAMERA__YFOV: ::std::os::raw::c_int = 3;
pub const TM_TT_PROP__DCC_ASSET_CAMERA__ZNEAR: ::std::os::raw::c_int = 4;
pub const TM_TT_PROP__DCC_ASSET_CAMERA__ZFAR: ::std::os::raw::c_int = 5;
pub type _bindgen_ty_79 = ::std::os::raw::c_int;
pub const TM_TT_PROP__DCC_ASSET_LIGHT__NAME: ::std::os::raw::c_int = 0;
pub type _bindgen_ty_80 = ::std::os::raw::c_int;
pub const TM_TT_PROP__DCC_ASSET_ACCESSOR__BUFFER: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__DCC_ASSET_ACCESSOR__OFFSET: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__DCC_ASSET_ACCESSOR__COUNT: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__DCC_ASSET_ACCESSOR__IS_FLOAT: ::std::os::raw::c_int = 3;
pub const TM_TT_PROP__DCC_ASSET_ACCESSOR__IS_SIGNED: ::std::os::raw::c_int = 4;
pub const TM_TT_PROP__DCC_ASSET_ACCESSOR__IS_NORMALIZED: ::std::os::raw::c_int = 5;
pub const TM_TT_PROP__DCC_ASSET_ACCESSOR__BITS: ::std::os::raw::c_int = 6;
pub const TM_TT_PROP__DCC_ASSET_ACCESSOR__COMPONENT_COUNT: ::std::os::raw::c_int = 7;
pub type _bindgen_ty_81 = ::std::os::raw::c_int;
pub const TM_TT_VALUE__DCC_ASSET_VERTEX__SEMANTIC__NONE: ::std::os::raw::c_int = 0;
pub const TM_TT_VALUE__DCC_ASSET_VERTEX__SEMANTIC__POSITION: ::std::os::raw::c_int = 1;
pub const TM_TT_VALUE__DCC_ASSET_VERTEX__SEMANTIC__NORMAL: ::std::os::raw::c_int = 2;
pub const TM_TT_VALUE__DCC_ASSET_VERTEX__SEMANTIC__TANGENT: ::std::os::raw::c_int = 3;
pub const TM_TT_VALUE__DCC_ASSET_VERTEX__SEMANTIC__BINORMAL: ::std::os::raw::c_int = 4;
pub const TM_TT_VALUE__DCC_ASSET_VERTEX__SEMANTIC__TEXCOORD: ::std::os::raw::c_int = 5;
pub const TM_TT_VALUE__DCC_ASSET_VERTEX__SEMANTIC__COLOR: ::std::os::raw::c_int = 6;
pub const TM_TT_VALUE__DCC_ASSET_VERTEX__SEMANTIC__SKIN_DATA: ::std::os::raw::c_int = 7;
pub type _bindgen_ty_82 = ::std::os::raw::c_int;
pub const TM_TT_PROP__DCC_ASSET_ATTRIBUTE__SEMANTIC: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__DCC_ASSET_ATTRIBUTE__SET: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__DCC_ASSET_ATTRIBUTE__ACCESSOR: ::std::os::raw::c_int = 2;
pub type _bindgen_ty_83 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_dcc_asset_raw_image_header_t {
pub format: u32,
pub width: u32,
pub height: u32,
}
pub const TM_TT_VALUE__DCC_ASSET_IMAGE__TYPE__NONE: ::std::os::raw::c_int = 0;
pub const TM_TT_VALUE__DCC_ASSET_IMAGE__TYPE__JPEG: ::std::os::raw::c_int = 1;
pub const TM_TT_VALUE__DCC_ASSET_IMAGE__TYPE__TIFF: ::std::os::raw::c_int = 2;
pub const TM_TT_VALUE__DCC_ASSET_IMAGE__TYPE__PNG: ::std::os::raw::c_int = 3;
pub const TM_TT_VALUE__DCC_ASSET_IMAGE__TYPE__DDS: ::std::os::raw::c_int = 4;
pub const TM_TT_VALUE__DCC_ASSET_IMAGE__TYPE__EXR: ::std::os::raw::c_int = 5;
pub const TM_TT_VALUE__DCC_ASSET_IMAGE__TYPE__DCC_ASSET_RAW: ::std::os::raw::c_int = 6;
pub const TM_TT_VALUE__DCC_ASSET_IMAGE__TYPE__TGA: ::std::os::raw::c_int = 7;
pub const TM_TT_VALUE__DCC_ASSET_IMAGE__TYPE__UNKNOWN: ::std::os::raw::c_int = 8;
pub type _bindgen_ty_84 = ::std::os::raw::c_int;
pub const TM_TT_PROP__DCC_ASSET_IMAGE__NAME: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__DCC_ASSET_IMAGE__BUFFER: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__DCC_ASSET_IMAGE__TYPE: ::std::os::raw::c_int = 2;
pub type _bindgen_ty_85 = ::std::os::raw::c_int;
pub const TM_TT_VALUE__DCC_ASSET_TEXTURE__MAPPING__UV: ::std::os::raw::c_int = 0;
pub const TM_TT_VALUE__DCC_ASSET_TEXTURE__MAPPING__SPHERE: ::std::os::raw::c_int = 1;
pub const TM_TT_VALUE__DCC_ASSET_TEXTURE__MAPPING__CYLINDER: ::std::os::raw::c_int = 2;
pub const TM_TT_VALUE__DCC_ASSET_TEXTURE__MAPPING__BOX: ::std::os::raw::c_int = 3;
pub const TM_TT_VALUE__DCC_ASSET_TEXTURE__MAPPING__PLANE: ::std::os::raw::c_int = 4;
pub const TM_TT_VALUE__DCC_ASSET_TEXTURE__MAPPING__OTHER: ::std::os::raw::c_int = 5;
pub type _bindgen_ty_86 = ::std::os::raw::c_int;
pub const TM_TT_VALUE__DCC_ASSET_TEXTURE__ADDRESS_MODE__WRAP: ::std::os::raw::c_int = 0;
pub const TM_TT_VALUE__DCC_ASSET_TEXTURE__ADDRESS_MODE__CLAMP: ::std::os::raw::c_int = 1;
pub const TM_TT_VALUE__DCC_ASSET_TEXTURE__ADDRESS_MODE__DECAL: ::std::os::raw::c_int = 2;
pub const TM_TT_VALUE__DCC_ASSET_TEXTURE__ADDRESS_MODE__MIRROR: ::std::os::raw::c_int = 3;
pub type _bindgen_ty_87 = ::std::os::raw::c_int;
pub const TM_TT_PROP__DCC_ASSET_TEXTURE__IMAGE: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__DCC_ASSET_TEXTURE__MAPPING: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__DCC_ASSET_TEXTURE__UV_SET: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__DCC_ASSET_TEXTURE__ADDRESS_MODE: ::std::os::raw::c_int = 3;
pub type _bindgen_ty_88 = ::std::os::raw::c_int;
pub const TM_TT_PROP__DCC_ASSET_MATERIAL_PBR_MR__METALLIC_FACTOR: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__DCC_ASSET_MATERIAL_PBR_MR__ROUGHNESS_FACTOR: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__DCC_ASSET_MATERIAL_PBR_MR__METALLIC_ROUGHNESS_TEXTURE: ::std::os::raw::c_int =
2;
pub type _bindgen_ty_89 = ::std::os::raw::c_int;
pub const TM_TT_PROP__DCC_ASSET_MATERIAL_PBR_SG__GLOSSINESS_FACTOR: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__DCC_ASSET_MATERIAL_PBR_SG__SPECULAR_FACTOR: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__DCC_ASSET_MATERIAL_PBR_SG__SPECULAR_GLOSSINESS_TEXTURE:
::std::os::raw::c_int = 2;
pub type _bindgen_ty_90 = ::std::os::raw::c_int;
pub const TM_TT_VALUE__DCC_ASSET_MATERIAL__ALPHA_MODE__OPAQUE: ::std::os::raw::c_int = 0;
pub const TM_TT_VALUE__DCC_ASSET_MATERIAL__ALPHA_MODE__MASK: ::std::os::raw::c_int = 1;
pub const TM_TT_VALUE__DCC_ASSET_MATERIAL__ALPHA_MODE__BLEND: ::std::os::raw::c_int = 2;
pub type _bindgen_ty_91 = ::std::os::raw::c_int;
pub const TM_TT_PROP__DCC_ASSET_MATERIAL__NAME: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__DCC_ASSET_MATERIAL__BASE_COLOR_FACTOR: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__DCC_ASSET_MATERIAL__BASE_COLOR_TEXTURE: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__DCC_ASSET_MATERIAL__NORMAL_TEXTURE: ::std::os::raw::c_int = 3;
pub const TM_TT_PROP__DCC_ASSET_MATERIAL__OCCLUSION_TEXTURE: ::std::os::raw::c_int = 4;
pub const TM_TT_PROP__DCC_ASSET_MATERIAL__EMISSIVE_FACTOR: ::std::os::raw::c_int = 5;
pub const TM_TT_PROP__DCC_ASSET_MATERIAL__EMISSIVE_TEXTURE: ::std::os::raw::c_int = 6;
pub const TM_TT_PROP__DCC_ASSET_MATERIAL__PBR_METALLIC_ROUGHNESS: ::std::os::raw::c_int = 7;
pub const TM_TT_PROP__DCC_ASSET_MATERIAL__PBR_SPECULAR_GLOSSINESS: ::std::os::raw::c_int = 8;
pub const TM_TT_PROP__DCC_ASSET_MATERIAL__ALPHA_MODE: ::std::os::raw::c_int = 9;
pub const TM_TT_PROP__DCC_ASSET_MATERIAL__ALPHA_CUTOFF: ::std::os::raw::c_int = 10;
pub const TM_TT_PROP__DCC_ASSET_MATERIAL__DOUBLE_SIDED: ::std::os::raw::c_int = 11;
pub type _bindgen_ty_92 = ::std::os::raw::c_int;
pub const TM_TT_PROP__DCC_ASSET_BONE__INDEX: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__DCC_ASSET_BONE__NODE_NAME: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__DCC_ASSET_BONE__INVERSE_BIND_POSITION: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__DCC_ASSET_BONE__INVERSE_BIND_ROTATION: ::std::os::raw::c_int = 3;
pub const TM_TT_PROP__DCC_ASSET_BONE__INVERSE_BIND_SCALE: ::std::os::raw::c_int = 4;
pub type _bindgen_ty_93 = ::std::os::raw::c_int;
pub const TM_TT_VALUE__DCC_ASSET_MESH__PRIMITIVE_TYPE__POINTS: ::std::os::raw::c_int = 0;
pub const TM_TT_VALUE__DCC_ASSET_MESH__PRIMITIVE_TYPE__LINES: ::std::os::raw::c_int = 1;
pub const TM_TT_VALUE__DCC_ASSET_MESH__PRIMITIVE_TYPE__TRIANGLES: ::std::os::raw::c_int = 2;
pub const TM_TT_VALUE__DCC_ASSET_MESH__PRIMITIVE_TYPE__POLYGON: ::std::os::raw::c_int = 3;
pub const TM_TT_VALUE__DCC_ASSET_MESH__PRIMITIVE_TYPE__MIXED_OR_UNKNOWN: ::std::os::raw::c_int =
255;
pub type _bindgen_ty_94 = ::std::os::raw::c_int;
pub const TM_TT_PROP__DCC_ASSET_MESH__NAME: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__DCC_ASSET_MESH__PRIMITIVE_TYPE: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__DCC_ASSET_MESH__MATERIAL: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__DCC_ASSET_MESH__ATTRIBUTES: ::std::os::raw::c_int = 3;
pub const TM_TT_PROP__DCC_ASSET_MESH__INDICES: ::std::os::raw::c_int = 4;
pub const TM_TT_PROP__DCC_ASSET_MESH__BOUNDS_MIN: ::std::os::raw::c_int = 5;
pub const TM_TT_PROP__DCC_ASSET_MESH__BOUNDS_MAX: ::std::os::raw::c_int = 6;
pub const TM_TT_PROP__DCC_ASSET_MESH__BONES: ::std::os::raw::c_int = 7;
pub type _bindgen_ty_95 = ::std::os::raw::c_int;
pub const TM_TT_PROP__DCC_ASSET_NODE__NAME: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__DCC_ASSET_NODE__POSITION: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__DCC_ASSET_NODE__ROTATION: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__DCC_ASSET_NODE__SCALE: ::std::os::raw::c_int = 3;
pub const TM_TT_PROP__DCC_ASSET_NODE__CHILDREN: ::std::os::raw::c_int = 4;
pub const TM_TT_PROP__DCC_ASSET_NODE__MESHES: ::std::os::raw::c_int = 5;
pub const TM_TT_PROP__DCC_ASSET_NODE__CAMERAS: ::std::os::raw::c_int = 6;
pub const TM_TT_PROP__DCC_ASSET_NODE__LIGHTS: ::std::os::raw::c_int = 7;
pub type _bindgen_ty_96 = ::std::os::raw::c_int;
pub const TM_TT_PROP__DCC_ASSET_SCENE__NAME: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__DCC_ASSET_SCENE__ROOT_NODES: ::std::os::raw::c_int = 1;
pub type _bindgen_ty_97 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_tt_prop__dcc_asset_node_animation__float_key_t {
pub time: f32,
pub v: f32,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_tt_prop__dcc_asset_node_animation__vec3_key_t {
pub time: f32,
pub v: tm_vec3_t,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_tt_prop__dcc_asset_node_animation__quat_key_t {
pub time: f32,
pub q: tm_vec4_t,
}
pub const tm_tt_value__dcc_asset_node_animation__pre_post_state_TM_TT_VALUE__DCC_ASSET_NODE_ANIMATION__PRE_POST_STATE__DEFAULT : tm_tt_value__dcc_asset_node_animation__pre_post_state = 0 ;
pub const tm_tt_value__dcc_asset_node_animation__pre_post_state_TM_TT_VALUE__DCC_ASSET_NODE_ANIMATION__PRE_POST_STATE__CONSTANT : tm_tt_value__dcc_asset_node_animation__pre_post_state = 1 ;
pub const tm_tt_value__dcc_asset_node_animation__pre_post_state_TM_TT_VALUE__DCC_ASSET_NODE_ANIMATION__PRE_POST_STATE__LINEAR : tm_tt_value__dcc_asset_node_animation__pre_post_state = 2 ;
pub const tm_tt_value__dcc_asset_node_animation__pre_post_state_TM_TT_VALUE__DCC_ASSET_NODE_ANIMATION__PRE_POST_STATE__REPEAT : tm_tt_value__dcc_asset_node_animation__pre_post_state = 3 ;
pub type tm_tt_value__dcc_asset_node_animation__pre_post_state = ::std::os::raw::c_int;
pub const TM_TT_PROP__DCC_ASSET_NODE_ANIMATION__NAME: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__DCC_ASSET_NODE_ANIMATION__NODE: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__DCC_ASSET_NODE_ANIMATION__POSITION_KEYS: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__DCC_ASSET_NODE_ANIMATION__ROTATION_KEYS: ::std::os::raw::c_int = 3;
pub const TM_TT_PROP__DCC_ASSET_NODE_ANIMATION__SCALING_KEYS: ::std::os::raw::c_int = 4;
pub const TM_TT_PROP__DCC_ASSET_NODE_ANIMATION__PRE_STATE: ::std::os::raw::c_int = 5;
pub const TM_TT_PROP__DCC_ASSET_NODE_ANIMATION__POST_STATE: ::std::os::raw::c_int = 6;
pub type _bindgen_ty_98 = ::std::os::raw::c_int;
pub const TM_TT_PROP__DCC_ASSET_ANIMATION__NAME: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__DCC_ASSET_ANIMATION__DURATION: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__DCC_ASSET_ANIMATION__TICKS_PER_SECOND: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__DCC_ASSET_ANIMATION__NODE_ANIMATIONS: ::std::os::raw::c_int = 3;
pub type _bindgen_ty_99 = ::std::os::raw::c_int;
pub const TM_TT_PROP__DCC_ASSET_EXTRACTED_RESOURCE__OBJECT: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__DCC_ASSET_EXTRACTED_RESOURCE__RESOURCE: ::std::os::raw::c_int = 1;
pub type _bindgen_ty_100 = ::std::os::raw::c_int;
pub const TM_TT_PROP__DCC_ASSET_SETTINGS__IMPORT_SETTINGS: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__DCC_ASSET_SETTINGS__EXTRACT_IMAGES: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__DCC_ASSET_SETTINGS__EXTRACTED_IMAGES: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__DCC_ASSET_SETTINGS__EXTRACT_MATERIALS: ::std::os::raw::c_int = 3;
pub const TM_TT_PROP__DCC_ASSET_SETTINGS__EXTRACTED_MATERIALS: ::std::os::raw::c_int = 4;
pub const TM_TT_PROP__DCC_ASSET_SETTINGS__RIG_ENTITY: ::std::os::raw::c_int = 5;
pub const TM_TT_PROP__DCC_ASSET_SETTINGS__ENTITY: ::std::os::raw::c_int = 6;
pub type _bindgen_ty_101 = ::std::os::raw::c_int;
pub const TM_TT_PROP__DCC_ASSET__SCENE: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__DCC_ASSET__ACCESSORS: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__DCC_ASSET__BUFFERS: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__DCC_ASSET__CAMERAS: ::std::os::raw::c_int = 3;
pub const TM_TT_PROP__DCC_ASSET__LIGHTS: ::std::os::raw::c_int = 4;
pub const TM_TT_PROP__DCC_ASSET__IMAGES: ::std::os::raw::c_int = 5;
pub const TM_TT_PROP__DCC_ASSET__MATERIALS: ::std::os::raw::c_int = 6;
pub const TM_TT_PROP__DCC_ASSET__MESHES: ::std::os::raw::c_int = 7;
pub const TM_TT_PROP__DCC_ASSET__NODES: ::std::os::raw::c_int = 8;
pub const TM_TT_PROP__DCC_ASSET__SCENES: ::std::os::raw::c_int = 9;
pub const TM_TT_PROP__DCC_ASSET__ANIMATIONS: ::std::os::raw::c_int = 10;
pub const TM_TT_PROP__DCC_ASSET__SETTINGS: ::std::os::raw::c_int = 11;
pub type _bindgen_ty_102 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct dcc_asset_type_info_t {
pub position_type: u64,
pub rotation_type: u64,
pub scale_type: u64,
pub color_rgba_type: u64,
pub color_rgb_type: u64,
pub attribute_type: u64,
pub accessor_type: u64,
pub buffer_type: u64,
pub camera_type: u64,
pub light_type: u64,
pub bone_type: u64,
pub mesh_type: u64,
pub image_type: u64,
pub texture_type: u64,
pub pbr_mr_type: u64,
pub pbr_sg_type: u64,
pub material_type: u64,
pub node_type: u64,
pub scene_type: u64,
pub node_animation_type: u64,
pub animation_type: u64,
pub asset_type: u64,
pub extracted_resource_type: u64,
pub settings_type: u64,
}
pub const TM_TT_PROP__ENTITY_RIGGER_COMPONENT__DCC_ASSET: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__ENTITY_RIGGER_COMPONENT__MESH_CREATION_GRAPH: ::std::os::raw::c_int = 1;
pub type _bindgen_ty_103 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_entity_rigger_component_t {
pub dcc_asset: tm_tt_id_t,
}
impl Default for tm_entity_rigger_component_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_entity_rigger_component_api {
pub parse_scene_tree: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
dcc_asset: tm_tt_id_t,
ta: *mut tm_temp_allocator_i,
) -> *mut tm_scene_tree_node_t,
>,
pub rig_from_dcc_asset: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
parent_entity: tm_tt_id_t,
dcc_asset: tm_tt_id_t,
mesh_cg: tm_tt_id_t,
task_id: u64,
undo_scope: tm_tt_undo_scope_t,
) -> bool,
>,
}
pub const TM_TT_PROP__IMPORT_SETTINGS__DCC_ASSET__IMAGE_CG: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__IMPORT_SETTINGS__DCC_ASSET__MATERIAL_CG: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__IMPORT_SETTINGS__DCC_ASSET__MESH_CG: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__IMPORT_SETTINGS__DCC_ASSET__IMAGE_DIRECTORY: ::std::os::raw::c_int = 3;
pub const TM_TT_PROP__IMPORT_SETTINGS__DCC_ASSET__MATERIAL_DIRECTORY: ::std::os::raw::c_int = 4;
pub const TM_TT_PROP__IMPORT_SETTINGS__IMPORT__IMAGE_CG: ::std::os::raw::c_int = 5;
pub const TM_TT_PROP__IMPORT_SETTINGS__DROP__IMAGE_CG: ::std::os::raw::c_int = 6;
pub type _bindgen_ty_104 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_import_settings_api {
pub create_truth_types: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
pub asset_browser_create_interface:
::std::option::Option<unsafe extern "C" fn() -> *mut tm_asset_browser_create_asset_i>,
pub find_import_settings_for_asset: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
asset_root: tm_tt_id_t,
asset: tm_tt_id_t,
) -> tm_tt_id_t,
>,
pub find_import_settings_for_dir: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
asset_root: tm_tt_id_t,
dir: tm_tt_id_t,
) -> tm_tt_id_t,
>,
}
pub const TM_TT_PROP__BLOOM_COMPONENT__ENABLED: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__BLOOM_COMPONENT__THRESHOLD: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__BLOOM_COMPONENT__FALLOFF: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__BLOOM_COMPONENT__TINT: ::std::os::raw::c_int = 3;
pub type _bindgen_ty_105 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_bloom_component_t {
pub enabled: bool,
pub _padding_19: [::std::os::raw::c_char; 3usize],
pub threshold: f32,
pub falloff: f32,
pub tint: tm_vec3_t,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_shader_system_o {
_unused: [u8; 0],
}
pub const tm_default_render_pipe_module_TM_DEFAULT_RENDER_PIPE_MODULE_DEBUG:
tm_default_render_pipe_module = 0;
pub type tm_default_render_pipe_module = ::std::os::raw::c_int;
pub const tm_default_render_pipe_image_filter_content_TM_DEFAULT_RENDER_PIPE_FILTER_CONTENT_LINEAR : tm_default_render_pipe_image_filter_content = 0 ;
pub const tm_default_render_pipe_image_filter_content_TM_DEFAULT_RENDER_PIPE_FILTER_CONTENT_SRGB:
tm_default_render_pipe_image_filter_content = 1;
pub const tm_default_render_pipe_image_filter_content_TM_DEFAULT_RENDER_PIPE_FILTER_CONTENT_NORMAL_MAP : tm_default_render_pipe_image_filter_content = 2 ;
pub type tm_default_render_pipe_image_filter_content = ::std::os::raw::c_int;
pub const tm_default_render_pipe_image_filter_TM_DEFAULT_RENDER_PIPE_GENERATE_IMAGE_FILTER_MIPMAP_BOX : tm_default_render_pipe_image_filter = 0 ;
pub const tm_default_render_pipe_image_filter_TM_DEFAULT_RENDER_PIPE_GENERATE_IMAGE_FILTER_SPECULAR_IBL : tm_default_render_pipe_image_filter = 1 ;
pub const tm_default_render_pipe_image_filter_TM_DEFAULT_RENDER_PIPE_GENERATE_IMAGE_FILTER_DIFFUSE_IBL : tm_default_render_pipe_image_filter = 2 ;
pub type tm_default_render_pipe_image_filter = ::std::os::raw::c_int;
pub const TM_FILTER_IMAGE_PRE_CMD: ::std::os::raw::c_int = 0;
pub const TM_FILTER_IMAGE_POST_CMD: ::std::os::raw::c_int = 1;
pub const TM_FILTER_IMAGE_MAX_RESOURCE_BUFFERS: ::std::os::raw::c_int = 2;
pub type _bindgen_ty_106 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_default_render_pipe_api {
pub create_module: ::std::option::Option<
unsafe extern "C" fn(
pipe_module: tm_default_render_pipe_module,
allocator: *mut tm_allocator_i,
res_buf: *mut tm_renderer_resource_command_buffer_o,
) -> *mut tm_render_graph_module_o,
>,
pub destroy_module: ::std::option::Option<
unsafe extern "C" fn(
mod_: *mut tm_render_graph_module_o,
allocator: *mut tm_allocator_i,
res_buf: *mut tm_renderer_resource_command_buffer_o,
),
>,
pub filter_image: ::std::option::Option<
unsafe extern "C" fn(
backend: *mut tm_renderer_backend_i,
device_affinity_mask: u32,
res_buf: *mut *mut tm_renderer_resource_command_buffer_o,
cmd_buf: *mut tm_renderer_command_buffer_o,
shader_repository: *mut tm_shader_repository_o,
allocator: *mut tm_allocator_i,
input_image_description: *const tm_renderer_image_buffer_t,
input_resource: u32,
input_resource_state: u16,
output_resource: *mut u32,
output_image_description: *mut tm_renderer_image_buffer_t,
filter: tm_default_render_pipe_image_filter,
content: tm_default_render_pipe_image_filter_content,
release_input: bool,
),
>,
}
pub const TM_TT_PROP__EXPOSURE_COMPONENT__ENABLED: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__EXPOSURE_COMPONENT__METERING: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__EXPOSURE_COMPONENT__EXPOSURE_COMPENSATION: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__EXPOSURE_COMPONENT__MASK: ::std::os::raw::c_int = 3;
pub const TM_TT_PROP__EXPOSURE_COMPONENT__MIN_EV100: ::std::os::raw::c_int = 4;
pub const TM_TT_PROP__EXPOSURE_COMPONENT__MAX_EV100: ::std::os::raw::c_int = 5;
pub const TM_TT_PROP__EXPOSURE_COMPONENT__SPEED_UP: ::std::os::raw::c_int = 6;
pub const TM_TT_PROP__EXPOSURE_COMPONENT__SPEED_DOWN: ::std::os::raw::c_int = 7;
pub type _bindgen_ty_107 = ::std::os::raw::c_int;
pub const tm_exposure_metering_mode_TM_EXPOSURE_METERING_MODE_MANUAL: tm_exposure_metering_mode = 0;
pub const tm_exposure_metering_mode_TM_EXPOSURE_METERING_MODE_AUTOMATIC: tm_exposure_metering_mode =
1;
pub type tm_exposure_metering_mode = ::std::os::raw::c_int;
pub const tm_exposure_mask_mode_TM_EXPOSURE_MASK_CONSTANT: tm_exposure_mask_mode = 0;
pub const tm_exposure_mask_mode_TM_EXPOSURE_MASK_FAVOUR_CENTER: tm_exposure_mask_mode = 1;
pub type tm_exposure_mask_mode = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_exposure_component_t {
pub enabled: bool,
pub _padding_33: [::std::os::raw::c_char; 3usize],
pub metering_mode: tm_exposure_metering_mode,
pub exposure_compensation: f32,
pub mask_mode: tm_exposure_mask_mode,
pub min_ev100: f32,
pub max_ev100: f32,
pub speed_up: f32,
pub speed_down: f32,
}
impl Default for tm_exposure_component_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_image_handle_t {
_unused: [u8; 0],
}
pub const TM_TT_PROP__LIGHT_COMPONENT__TYPE: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__LIGHT_COMPONENT__COLOR: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__LIGHT_COMPONENT__INTENSITY: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__LIGHT_COMPONENT__SPOT_ANGLE_INNER: ::std::os::raw::c_int = 3;
pub const TM_TT_PROP__LIGHT_COMPONENT__SPOT_ANGLE_OUTER: ::std::os::raw::c_int = 4;
pub const TM_TT_PROP__LIGHT_COMPONENT__CAST_SHADOWS: ::std::os::raw::c_int = 5;
pub const TM_TT_PROP__LIGHT_COMPONENT__SHADOW_DEPTH_BIAS: ::std::os::raw::c_int = 6;
pub const TM_TT_PROP__LIGHT_COMPONENT__NUM_CASCADES: ::std::os::raw::c_int = 7;
pub const TM_TT_PROP__LIGHT_COMPONENT__SHADOW_DISTANCE: ::std::os::raw::c_int = 8;
pub const TM_TT_PROP__LIGHT_COMPONENT__UNIFORM_LOG_WEIGHT: ::std::os::raw::c_int = 9;
pub const TM_TT_PROP__LIGHT_COMPONENT__IBL_DIFFUSE: ::std::os::raw::c_int = 10;
pub const TM_TT_PROP__LIGHT_COMPONENT__IBL_SPECULAR: ::std::os::raw::c_int = 11;
pub const TM_TT_PROP__LIGHT_COMPONENT__AREA_EXTENT: ::std::os::raw::c_int = 12;
pub const TM_TT_PROP__LIGHT_COMPONENT__AREA_RADIUS: ::std::os::raw::c_int = 13;
pub type _bindgen_ty_108 = ::std::os::raw::c_int;
pub const TM_LIGHT_TYPE_POINT: ::std::os::raw::c_int = 0;
pub const TM_LIGHT_TYPE_SPOT: ::std::os::raw::c_int = 1;
pub const TM_LIGHT_TYPE_DIRECTIONAL: ::std::os::raw::c_int = 2;
pub const TM_LIGHT_TYPE_IBL: ::std::os::raw::c_int = 3;
pub const TM_LIGHT_TYPE_AREA_SPHERE: ::std::os::raw::c_int = 4;
pub const TM_LIGHT_TYPE_AREA_RECT: ::std::os::raw::c_int = 5;
pub const TM_LIGHT_TYPE_AREA_DISK: ::std::os::raw::c_int = 6;
pub type _bindgen_ty_109 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_light_component_t {
pub type_: u32,
pub color_rgb: tm_vec3_t,
pub intensity: f32,
pub spot_angle_inner: f32,
pub spot_angle_outer: f32,
pub extent: tm_vec2_t,
pub radius: f32,
pub cast_shadows: bool,
pub _padding_55: [::std::os::raw::c_char; 7usize],
pub shadow_depth_bias: f32,
pub shadow_distance: f32,
pub uniform_log_weight: f32,
pub num_cascades: u8,
pub _padding_60: [::std::os::raw::c_char; 3usize],
pub ibl_diffuse: tm_light_component_t__bindgen_ty_1,
pub ibl_specular: tm_light_component_t__bindgen_ty_2,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_light_component_t__bindgen_ty_1 {
pub asset: tm_tt_id_t,
pub version: u64,
}
impl Default for tm_light_component_t__bindgen_ty_1 {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_light_component_t__bindgen_ty_2 {
pub asset: tm_tt_id_t,
pub version: u64,
}
impl Default for tm_light_component_t__bindgen_ty_2 {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
impl Default for tm_light_component_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub const TM_TT_PROP__VOLUME_COMPONENT__TYPE: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__VOLUME_COMPONENT__BLEND_DISTANCE: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__VOLUME_COMPONENT__SPHERE_RADIUS: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__VOLUME_COMPONENT__BOX_LOWERBOUND: ::std::os::raw::c_int = 3;
pub const TM_TT_PROP__VOLUME_COMPONENT__BOX_UPPERBOUND: ::std::os::raw::c_int = 4;
pub type _bindgen_ty_110 = ::std::os::raw::c_int;
pub const tm_tt_volume_type_TM_TT_VOLUME_TYPE_SPHERE: tm_tt_volume_type = 0;
pub const tm_tt_volume_type_TM_TT_VOLUME_TYPE_BOX: tm_tt_volume_type = 1;
pub const tm_tt_volume_type_TM_TT_VOLUME_TYPE_BOX_EXTENT: tm_tt_volume_type = 2;
pub type tm_tt_volume_type = ::std::os::raw::c_int;
pub const tm_volume_type_TM_VOLUME_TYPE_SPHERE: tm_volume_type = 0;
pub const tm_volume_type_TM_VOLUME_TYPE_BOX: tm_volume_type = 1;
pub type tm_volume_type = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_volume_component_t {
pub type_: tm_volume_type,
pub blend_distance: f32,
pub sphere_radius: f32,
pub box_lower_bound: tm_vec3_t,
pub box_upper_bound: tm_vec3_t,
}
impl Default for tm_volume_component_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_volume_component_api {
pub contains: ::std::option::Option<
unsafe extern "C" fn(
inst: *const tm_volume_component_t,
transform: *const tm_transform_t,
points: *const tm_vec3_t,
result: *mut bool,
count: u32,
),
>,
pub contains_with_blend: ::std::option::Option<
unsafe extern "C" fn(
inst: *const tm_volume_component_t,
transform: *const tm_transform_t,
points: *const tm_vec3_t,
result: *mut f32,
count: u32,
),
>,
pub distance: ::std::option::Option<
unsafe extern "C" fn(
inst: *const tm_volume_component_t,
transform: *const tm_transform_t,
points: *const tm_vec3_t,
result: *mut f32,
count: u32,
),
>,
pub get_volume: ::std::option::Option<
unsafe extern "C" fn(
inst: *const tm_volume_component_t,
transform: *const tm_transform_t,
) -> f32,
>,
pub sort_volumes_from_point: ::std::option::Option<
unsafe extern "C" fn(
ctx: *mut tm_entity_context_o,
entities: *const tm_entity_t,
entity_transforms: *const tm_transform_component_t,
entity_indices: *const u32,
num_objects: u32,
point: tm_vec3_t,
volume_result: *mut *mut u32,
volume_weights: *mut *mut f32,
global_result: *mut *mut u32,
allocator: *mut tm_allocator_i,
),
>,
}
pub const tm_dxc_output_format_TM_DXC_OUTPUT_FORMAT_DXIL: tm_dxc_output_format = 0;
pub const tm_dxc_output_format_TM_DXC_OUTPUT_FORMAT_SPIRV: tm_dxc_output_format = 1;
pub type tm_dxc_output_format = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_dxc_shader_compiler_api {
pub load: ::std::option::Option<
unsafe extern "C" fn(dll_path: *const ::std::os::raw::c_char) -> bool,
>,
pub unload: ::std::option::Option<unsafe extern "C" fn()>,
pub compile: ::std::option::Option<
unsafe extern "C" fn(
source: *const ::std::os::raw::c_char,
entry_point: *const ::std::os::raw::c_char,
stage: u32,
output_format: tm_dxc_output_format,
result: *mut tm_renderer_shader_blob_t,
allocator: *mut tm_allocator_i,
) -> bool,
>,
pub preprocess: ::std::option::Option<
unsafe extern "C" fn(
source: *const ::std::os::raw::c_char,
preprocessed_source_blob: *mut tm_renderer_shader_blob_t,
allocator: *mut tm_allocator_i,
) -> bool,
>,
}
pub const TM_TT_PROP__ASSET_BROWSER__SELECTION: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__ASSET_BROWSER__CURRENT_DIRECTORY: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__ASSET_BROWSER__FOCUS: ::std::os::raw::c_int = 2;
pub type _bindgen_ty_111 = ::std::os::raw::c_int;
pub const tm_asset_save_status_TM_ASSET_SAVE_STATUS__SAVED: tm_asset_save_status = 0;
pub const tm_asset_save_status_TM_ASSET_SAVE_STATUS__MODIFIED: tm_asset_save_status = 1;
pub const tm_asset_save_status_TM_ASSET_SAVE_STATUS__CREATED: tm_asset_save_status = 2;
pub type tm_asset_save_status = ::std::os::raw::c_int;
pub const tm_asset_save_file_tree_modification_type_TM_ASSET_SAVE_FILE_TREE_MODIFICATION_TYPE__CREATED : tm_asset_save_file_tree_modification_type = 0 ;
pub const tm_asset_save_file_tree_modification_type_TM_ASSET_SAVE_FILE_TREE_MODIFICATION_TYPE__DELETED : tm_asset_save_file_tree_modification_type = 1 ;
pub const tm_asset_save_file_tree_modification_type_TM_ASSET_SAVE_FILE_TREE_MODIFICATION_TYPE__MOVED : tm_asset_save_file_tree_modification_type = 2 ;
pub const tm_asset_save_file_tree_modification_type_TM_ASSET_SAVE_FILE_TREE_MODIFICATION_TYPE__RENAMED : tm_asset_save_file_tree_modification_type = 3 ;
pub type tm_asset_save_file_tree_modification_type = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_asset_save_file_tree_modification_t {
pub item: tm_tt_id_t,
pub type_: tm_asset_save_file_tree_modification_type,
pub _padding_54: [::std::os::raw::c_char; 4usize],
pub original_name: *const ::std::os::raw::c_char,
pub original_directory: tm_tt_id_t,
}
impl Default for tm_asset_save_file_tree_modification_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_asset_save_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_asset_save_i {
pub inst: *mut tm_asset_save_o,
pub can_save_individual_assets:
::std::option::Option<unsafe extern "C" fn(inst: *mut tm_asset_save_o) -> bool>,
pub file_tree_modifications: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_asset_save_o,
ta: *mut tm_temp_allocator_i,
n: *mut u32,
) -> *mut tm_asset_save_file_tree_modification_t,
>,
pub status: ::std::option::Option<
unsafe extern "C" fn(inst: *mut tm_asset_save_o, asset: tm_tt_id_t) -> tm_asset_save_status,
>,
pub save_asset:
::std::option::Option<unsafe extern "C" fn(inst: *mut tm_asset_save_o, asset: tm_tt_id_t)>,
pub revert_asset: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_asset_save_o,
asset: tm_tt_id_t,
undo_scope: tm_tt_undo_scope_t,
),
>,
pub save_all: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_asset_save_o)>,
pub save_all_except: ::std::option::Option<
unsafe extern "C" fn(inst: *mut tm_asset_save_o, ignore: *mut tm_tt_id_t, num_ignore: u32),
>,
pub asset_root_path: ::std::option::Option<
unsafe extern "C" fn(inst: *const tm_asset_save_o) -> *const ::std::os::raw::c_char,
>,
}
impl Default for tm_asset_save_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_asset_browser_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_asset_browser_create_asset_i {
pub inst: *mut tm_asset_browser_create_asset_o,
pub menu_name: *const ::std::os::raw::c_char,
pub asset_name: *const ::std::os::raw::c_char,
pub create: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_asset_browser_create_asset_o,
tt: *mut tm_the_truth_o,
undo_scope: tm_tt_undo_scope_t,
) -> tm_tt_id_t,
>,
}
impl Default for tm_asset_browser_create_asset_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_asset_browser_open_asset_api {
pub inst: *mut tm_asset_browser_open_asset_o,
pub open: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_asset_browser_open_asset_o,
ui: *mut tm_ui_o,
tab: *mut tm_tab_i,
object: tm_tt_id_t,
),
>,
pub can_open: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_asset_browser_open_asset_o,
ui: *mut tm_ui_o,
object: tm_tt_id_t,
) -> bool,
>,
}
impl Default for tm_asset_browser_open_asset_api {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_asset_browser_add_asset_api {
pub inst: *mut tm_asset_browser_add_asset_o,
pub current_directory: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_asset_browser_add_asset_o,
ui: *mut tm_ui_o,
) -> tm_tt_id_t,
>,
pub exists: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_asset_browser_add_asset_o,
directory: tm_tt_id_t,
name: *const ::std::os::raw::c_char,
) -> tm_tt_id_t,
>,
pub add: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_asset_browser_add_asset_o,
directory: tm_tt_id_t,
object: tm_tt_id_t,
name: *const ::std::os::raw::c_char,
undo_scope: tm_tt_undo_scope_t,
select: bool,
ui: *mut tm_ui_o,
),
>,
pub add_directory: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_asset_browser_add_asset_o,
parent_directory: tm_tt_id_t,
name: *const ::std::os::raw::c_char,
undo_scope: tm_tt_undo_scope_t,
select: bool,
ui: *mut tm_ui_o,
) -> tm_tt_id_t,
>,
}
impl Default for tm_asset_browser_add_asset_api {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_asset_browser_select_asset_api {
pub inst: *mut tm_asset_browser_select_asset_o,
pub select_asset: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_asset_browser_select_asset_o,
tab: *mut tm_tab_i,
ui: *mut tm_ui_o,
asset: tm_tt_id_t,
),
>,
pub find_asset: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_asset_browser_select_asset_o,
ui: *mut tm_ui_o,
asset: tm_tt_id_t,
),
>,
}
impl Default for tm_asset_browser_select_asset_api {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_asset_browser_custom_menu_item_t {
pub ud: *mut ::std::os::raw::c_void,
pub menu_item: ::std::option::Option<
unsafe extern "C" fn(
item: *mut tm_ui_menu_item_t,
ud: *mut ::std::os::raw::c_void,
ab: *mut tm_asset_browser_o,
tt: *mut tm_the_truth_o,
asset_browser_object: tm_tt_id_t,
),
>,
pub menu_select: ::std::option::Option<
unsafe extern "C" fn(
ud: *mut ::std::os::raw::c_void,
ab: *mut tm_asset_browser_o,
ui: *mut tm_ui_o,
tt: *mut tm_the_truth_o,
asset_browser_object: tm_tt_id_t,
undo_stack: *mut tm_undo_stack_i,
),
>,
}
impl Default for tm_asset_browser_custom_menu_item_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_asset_browser_config_t {
pub tt: *mut tm_the_truth_o,
pub asset_browser: tm_tt_id_t,
pub undo_stack: *mut tm_undo_stack_i,
pub tab: *mut tm_tab_i,
pub open_ud: *mut ::std::os::raw::c_void,
pub open: ::std::option::Option<
unsafe extern "C" fn(
open_ud: *mut ::std::os::raw::c_void,
ui: *mut tm_ui_o,
tab: *mut tm_tab_i,
asset: tm_tt_id_t,
),
>,
pub num_custom_menu_items: u32,
pub _padding_227: [::std::os::raw::c_char; 4usize],
pub custom_menu_items: *const tm_asset_browser_custom_menu_item_t,
pub save_interface: *mut tm_asset_save_i,
}
impl Default for tm_asset_browser_config_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_asset_browser_ui_res_t {
pub focus_changed: bool,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_asset_browser_api {
pub create_asset_browser: ::std::option::Option<
unsafe extern "C" fn(
allocator: *mut tm_allocator_i,
config: *const tm_asset_browser_config_t,
) -> *mut tm_asset_browser_o,
>,
pub destroy_asset_browser:
::std::option::Option<unsafe extern "C" fn(asset_browser: *mut tm_asset_browser_o)>,
pub ui: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_asset_browser_o,
asset_root: tm_tt_id_t,
ui: *mut tm_ui_o,
style: *const tm_ui_style_t,
rect: tm_rect_t,
tab_id: u64,
) -> tm_asset_browser_ui_res_t,
>,
pub set_new_truth: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_asset_browser_o,
tt: *mut tm_the_truth_o,
asset_browser: tm_tt_id_t,
),
>,
pub menu: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_asset_browser_o,
asset_root: tm_tt_id_t,
ui: *mut tm_ui_o,
style: *const tm_ui_style_t,
pos: tm_vec2_t,
),
>,
pub process_dropped_os_files: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_asset_browser_o,
ui: *mut tm_ui_o,
asset_root: tm_tt_id_t,
files: *mut *mut ::std::os::raw::c_char,
num_files: u32,
),
>,
pub focused_object:
::std::option::Option<unsafe extern "C" fn(inst: *mut tm_asset_browser_o) -> tm_tt_id_t>,
pub selected_objects: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_asset_browser_o,
ta: *mut tm_temp_allocator_i,
) -> *const tm_tt_id_t,
>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_profiler_view_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_profiler_view_api {
pub create_profiler_view: ::std::option::Option<
unsafe extern "C" fn(allocator: *mut tm_allocator_i) -> *mut tm_profiler_view_o,
>,
pub destroy_profiler_view:
::std::option::Option<unsafe extern "C" fn(profiler_view: *mut tm_profiler_view_o)>,
pub ui: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_profiler_view_o,
ui: *mut tm_ui_o,
style: *const tm_ui_style_t,
rect: tm_rect_t,
tab_id: u64,
),
>,
pub start_recording: ::std::option::Option<
unsafe extern "C" fn(inst: *mut tm_profiler_view_o, with_history: bool),
>,
pub stop_recording: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_profiler_view_o)>,
pub is_recording:
::std::option::Option<unsafe extern "C" fn(inst: *mut tm_profiler_view_o) -> bool>,
pub menu: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_profiler_view_o,
ui: *mut tm_ui_o,
style: *const tm_ui_style_t,
pos: tm_vec2_t,
),
>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_properties_view_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_properties_ui_info_t {
pub last_hovered_focusable_control: u64,
pub last_hovered_context_menu_rect: tm_rect_t,
}
pub const tm_properties_metric_TM_PROPERTIES_METRIC_LABEL_WIDTH: tm_properties_metric = 0;
pub const tm_properties_metric_TM_PROPERTIES_METRIC_MARGIN: tm_properties_metric = 1;
pub const tm_properties_metric_TM_PROPERTIES_METRIC_ITEM_HEIGHT: tm_properties_metric = 2;
pub const tm_properties_metric_TM_PROPERTIES_METRIC_INDENT: tm_properties_metric = 3;
pub const tm_properties_metric_TM_PROPERTIES_METRIC_EDIT_WIDTH: tm_properties_metric = 4;
pub const tm_properties_metric_TM_PROPERTIES_METRIC_SUBOBJECT_LABEL_MARGIN: tm_properties_metric =
5;
pub const tm_properties_metric_TM_PROPERTIES_METRIC_CHECKBOX_CONTROL_WIDTH: tm_properties_metric =
6;
pub const tm_properties_metric_TM_PROPERTIES_METRIC_GROUP_RECT_PADDING: tm_properties_metric = 7;
pub const tm_properties_metric_TM_PROPERTIES_METRIC_GROUP_LABEL_LEFT_MARGIN: tm_properties_metric =
8;
pub const tm_properties_metric_TM_PROPERTIES_METRIC_MENU_WIDTH: tm_properties_metric = 9;
pub const tm_properties_metric_TM_PROPERTIES_METRIC_COLOR_PICKER_RGB_LABEL_SIZE:
tm_properties_metric = 10;
pub const tm_properties_metric_TM_PROPERTIES_METRIC_COLOR_PICKER_INPUT_SIZE: tm_properties_metric =
11;
pub const tm_properties_metric_TM_PROPERTIES_METRIC_COLOR_PICKER_HSV_LABEL_SIZE:
tm_properties_metric = 12;
pub const tm_properties_metric_TM_PROPERTIES_METRIC_COLOR_PICKER_SLIDER_MARGIN:
tm_properties_metric = 13;
pub const tm_properties_metric_TM_PROPERTIES_METRIC_COLOR_PICKER_SLIDER_KNOB_SIZE:
tm_properties_metric = 14;
pub const tm_properties_metric_TM_PROPERTIES_METRIC_NUM: tm_properties_metric = 15;
pub type tm_properties_metric = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_properties_ui_args_t {
pub pv: *mut tm_properties_view_o,
pub ui: *mut tm_ui_o,
pub uistyle: *mut tm_ui_style_t,
pub tab: *mut tm_tab_i,
pub tt: *mut tm_the_truth_o,
pub asset_root: tm_tt_id_t,
pub undo_stack: *mut tm_undo_stack_i,
pub metrics: *mut f32,
pub last_undo_scope: tm_tt_undo_scope_t,
}
impl Default for tm_properties_ui_args_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_properties_float_display_converter_i {
pub inst: *mut ::std::os::raw::c_void,
pub model_to_display: ::std::option::Option<
unsafe extern "C" fn(inst: *mut ::std::os::raw::c_void, v: f32) -> f32,
>,
pub display_to_model: ::std::option::Option<
unsafe extern "C" fn(inst: *mut ::std::os::raw::c_void, v: f32) -> f32,
>,
pub get_spinner_settings: ::std::option::Option<
unsafe extern "C" fn(inst: *mut ::std::os::raw::c_void, spinner: *mut tm_ui_spinner_t),
>,
}
impl Default for tm_properties_float_display_converter_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_properties_uint32_display_converter_i {
pub inst: *mut ::std::os::raw::c_void,
pub model_to_display: ::std::option::Option<
unsafe extern "C" fn(inst: *mut ::std::os::raw::c_void, v: u32) -> u32,
>,
pub display_to_model: ::std::option::Option<
unsafe extern "C" fn(inst: *mut ::std::os::raw::c_void, v: u32) -> u32,
>,
}
impl Default for tm_properties_uint32_display_converter_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_propeties_reference_picker_args_t {
pub tags: *const u64,
pub excludes: *const tm_tt_id_t,
pub num_tags: u32,
pub num_excludes: u32,
}
impl Default for tm_propeties_reference_picker_args_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_properties_aspect_i {
pub custom_ui: ::std::option::Option<
unsafe extern "C" fn(
args: *mut tm_properties_ui_args_t,
item_rect: tm_rect_t,
object: tm_tt_id_t,
indent: u32,
) -> f32,
>,
pub prototype_asset_picker_type_name:
::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o, o: tm_tt_id_t) -> u64>,
pub custom_subobject_ui: ::std::option::Option<
unsafe extern "C" fn(
args: *mut tm_properties_ui_args_t,
item_rect: tm_rect_t,
name: *const ::std::os::raw::c_char,
tooltip: *const ::std::os::raw::c_char,
subobject: tm_tt_id_t,
indent: u32,
) -> f32,
>,
pub custom_child_ui: ::std::option::Option<
unsafe extern "C" fn(
args: *mut tm_properties_ui_args_t,
item_rect: tm_rect_t,
parent: tm_tt_id_t,
child: tm_tt_id_t,
indent: u32,
) -> f32,
>,
pub get_type_display_name:
::std::option::Option<unsafe extern "C" fn() -> *const ::std::os::raw::c_char>,
pub get_display_name: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
object: tm_tt_id_t,
buffer: *mut ::std::os::raw::c_char,
size: u32,
),
>,
}
pub type tm_tt_prop_aspect__properties__asset_picker = *mut ::std::os::raw::c_char;
pub type tm_tt_prop_aspect__properties__custom_ui = ::std::option::Option<
unsafe extern "C" fn(
args: *mut tm_properties_ui_args_t,
item_rect: tm_rect_t,
name: *const ::std::os::raw::c_char,
tooltip: *const ::std::os::raw::c_char,
object: tm_tt_id_t,
indent: u32,
property: u32,
) -> f32,
>;
pub type tm_validate_aspect_i = ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
o: tm_tt_id_t,
property: u32,
value: *const ::std::os::raw::c_void,
) -> bool,
>;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_properties_view_config_t {
pub tt: *mut tm_the_truth_o,
pub undo_stack: *mut tm_undo_stack_i,
}
impl Default for tm_properties_view_config_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_properties_float_slider_t {
pub min: f32,
pub max: f32,
pub step: f32,
pub show_edit_box: bool,
pub _padding_310: [::std::os::raw::c_char; 3usize],
pub edit_min: f32,
pub edit_max: f32,
pub converter: *mut tm_properties_float_display_converter_i,
}
impl Default for tm_properties_float_slider_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_properties_view_api {
pub create_properties_view: ::std::option::Option<
unsafe extern "C" fn(
allocator: *mut tm_allocator_i,
config: *const tm_properties_view_config_t,
) -> *mut tm_properties_view_o,
>,
pub destroy_properties_view:
::std::option::Option<unsafe extern "C" fn(inst: *mut tm_properties_view_o)>,
pub set_object: ::std::option::Option<
unsafe extern "C" fn(inst: *mut tm_properties_view_o, object: tm_tt_id_t) -> bool,
>,
pub set_object_with_mask: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_properties_view_o,
object: tm_tt_id_t,
property_mask: u64,
) -> bool,
>,
pub set_objects: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_properties_view_o,
objects: *const tm_tt_id_t,
n: u32,
) -> bool,
>,
pub objects: ::std::option::Option<
unsafe extern "C" fn(inst: *mut tm_properties_view_o) -> *const tm_tt_id_t,
>,
pub ui: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_properties_view_o,
asset_root: tm_tt_id_t,
ui: *mut tm_ui_o,
style: *const tm_ui_style_t,
rect: tm_rect_t,
tab: *mut tm_tab_i,
),
>,
pub ui_info: ::std::option::Option<
unsafe extern "C" fn(inst: *mut tm_properties_view_o) -> *mut tm_properties_ui_info_t,
>,
pub metrics:
::std::option::Option<unsafe extern "C" fn(inst: *mut tm_properties_view_o) -> *mut f32>,
pub get_type_display_name: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
object_type: u64,
buffer: *mut ::std::os::raw::c_char,
size: u32,
),
>,
pub get_display_name: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
object: tm_tt_id_t,
buffer: *mut ::std::os::raw::c_char,
size: u32,
),
>,
pub ui_object: ::std::option::Option<
unsafe extern "C" fn(
args: *mut tm_properties_ui_args_t,
item_rect: tm_rect_t,
object: tm_tt_id_t,
indent: u32,
) -> f32,
>,
pub ui_object_default: ::std::option::Option<
unsafe extern "C" fn(
args: *mut tm_properties_ui_args_t,
item_rect: tm_rect_t,
object: tm_tt_id_t,
indent: u32,
) -> f32,
>,
pub ui_property: ::std::option::Option<
unsafe extern "C" fn(
args: *mut tm_properties_ui_args_t,
item_rect: tm_rect_t,
object: tm_tt_id_t,
indent: u32,
property: u32,
) -> f32,
>,
pub ui_property_with_name: ::std::option::Option<
unsafe extern "C" fn(
args: *mut tm_properties_ui_args_t,
item_rect: tm_rect_t,
name: *const ::std::os::raw::c_char,
tooltip: *const ::std::os::raw::c_char,
object: tm_tt_id_t,
indent: u32,
property: u32,
) -> f32,
>,
pub ui_property_default: ::std::option::Option<
unsafe extern "C" fn(
args: *mut tm_properties_ui_args_t,
item_rect: tm_rect_t,
object: tm_tt_id_t,
indent: u32,
property: u32,
) -> f32,
>,
pub ui_property_default_with_name: ::std::option::Option<
unsafe extern "C" fn(
args: *mut tm_properties_ui_args_t,
item_rect: tm_rect_t,
name: *const ::std::os::raw::c_char,
tooltip: *const ::std::os::raw::c_char,
object: tm_tt_id_t,
indent: u32,
property: u32,
) -> f32,
>,
pub ui_tree_item: ::std::option::Option<
unsafe extern "C" fn(
args: *mut tm_properties_ui_args_t,
key: u64,
rect: tm_rect_t,
indent: u32,
expanded_default: bool,
tooltip: *const ::std::os::raw::c_char,
) -> bool,
>,
pub ui_group: ::std::option::Option<
unsafe extern "C" fn(
args: *mut tm_properties_ui_args_t,
item_rect: tm_rect_t,
name: *const ::std::os::raw::c_char,
tooltip: *const ::std::os::raw::c_char,
object: tm_tt_id_t,
indent: u32,
expanded_default: bool,
is_expanded: *mut bool,
) -> f32,
>,
pub show_subobject_menu: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
undo_stack: *mut tm_undo_stack_i,
ui: *mut tm_ui_o,
uistyle: *mut tm_ui_style_t,
object: tm_tt_id_t,
property: u32,
sub: tm_tt_id_t,
pos: tm_vec2_t,
) -> tm_tt_undo_scope_t,
>,
pub begin_context_menu_scope:
::std::option::Option<unsafe extern "C" fn(pv: *mut tm_properties_view_o, rect: tm_rect_t)>,
pub end_context_menu_scope: ::std::option::Option<
unsafe extern "C" fn(
pv: *mut tm_properties_view_o,
out_id: *mut u64,
out_text: *mut *mut ::std::os::raw::c_char,
),
>,
pub selected_context_menu_item: ::std::option::Option<
unsafe extern "C" fn(
pv: *mut tm_properties_view_o,
out_id: *mut u64,
out_text: *mut *mut ::std::os::raw::c_char,
),
>,
pub add_context_menu_items: ::std::option::Option<
unsafe extern "C" fn(
pv: *mut tm_properties_view_o,
items: *const tm_ui_menu_item_t,
num_items: u32,
),
>,
pub context_menu:
::std::option::Option<unsafe extern "C" fn(args: *mut tm_properties_ui_args_t)>,
pub ui_bool: ::std::option::Option<
unsafe extern "C" fn(
args: *mut tm_properties_ui_args_t,
item_rect: tm_rect_t,
name: *const ::std::os::raw::c_char,
tooltip: *const ::std::os::raw::c_char,
object: tm_tt_id_t,
property: u32,
) -> f32,
>,
pub ui_uint32: ::std::option::Option<
unsafe extern "C" fn(
args: *mut tm_properties_ui_args_t,
item_rect: tm_rect_t,
name: *const ::std::os::raw::c_char,
tooltip: *const ::std::os::raw::c_char,
object: tm_tt_id_t,
property: u32,
converter: *mut tm_properties_uint32_display_converter_i,
) -> f32,
>,
pub ui_uint64: ::std::option::Option<
unsafe extern "C" fn(
args: *mut tm_properties_ui_args_t,
item_rect: tm_rect_t,
name: *const ::std::os::raw::c_char,
tooltip: *const ::std::os::raw::c_char,
object: tm_tt_id_t,
property: u32,
) -> f32,
>,
pub ui_float: ::std::option::Option<
unsafe extern "C" fn(
args: *mut tm_properties_ui_args_t,
item_rect: tm_rect_t,
name: *const ::std::os::raw::c_char,
tooltip: *const ::std::os::raw::c_char,
object: tm_tt_id_t,
property: u32,
converter: *const tm_properties_float_display_converter_i,
) -> f32,
>,
pub ui_double: ::std::option::Option<
unsafe extern "C" fn(
args: *mut tm_properties_ui_args_t,
item_rect: tm_rect_t,
name: *const ::std::os::raw::c_char,
tooltip: *const ::std::os::raw::c_char,
object: tm_tt_id_t,
property: u32,
) -> f32,
>,
pub ui_string: ::std::option::Option<
unsafe extern "C" fn(
args: *mut tm_properties_ui_args_t,
item_rect: tm_rect_t,
name: *const ::std::os::raw::c_char,
tooltip: *const ::std::os::raw::c_char,
object: tm_tt_id_t,
property: u32,
) -> f32,
>,
pub ui_reference: ::std::option::Option<
unsafe extern "C" fn(
args: *mut tm_properties_ui_args_t,
item_rect: tm_rect_t,
name: *const ::std::os::raw::c_char,
tooltip: *const ::std::os::raw::c_char,
object: tm_tt_id_t,
property: u32,
) -> f32,
>,
pub ui_reference_args: ::std::option::Option<
unsafe extern "C" fn(
args: *mut tm_properties_ui_args_t,
item_rect: tm_rect_t,
name: *const ::std::os::raw::c_char,
tooltip: *const ::std::os::raw::c_char,
object: tm_tt_id_t,
property: u32,
picker_args: *const tm_propeties_reference_picker_args_t,
) -> f32,
>,
pub ui_subobject: ::std::option::Option<
unsafe extern "C" fn(
args: *mut tm_properties_ui_args_t,
item_rect: tm_rect_t,
name: *const ::std::os::raw::c_char,
tooltip: *const ::std::os::raw::c_char,
object: tm_tt_id_t,
property: u32,
indent: u32,
expanded_by_default: bool,
) -> f32,
>,
pub ui_reference_set: ::std::option::Option<
unsafe extern "C" fn(
args: *mut tm_properties_ui_args_t,
item_rect: tm_rect_t,
name: *const ::std::os::raw::c_char,
tooltip: *const ::std::os::raw::c_char,
object: tm_tt_id_t,
property: u32,
indent: u32,
) -> f32,
>,
pub ui_subobject_set: ::std::option::Option<
unsafe extern "C" fn(
args: *mut tm_properties_ui_args_t,
item_rect: tm_rect_t,
name: *const ::std::os::raw::c_char,
tooltip: *const ::std::os::raw::c_char,
object: tm_tt_id_t,
property: u32,
indent: u32,
) -> f32,
>,
pub ui_subobject_set_item_header: ::std::option::Option<
unsafe extern "C" fn(
args: *mut tm_properties_ui_args_t,
item_rect: tm_rect_t,
object: tm_tt_id_t,
property: u32,
sub: tm_tt_id_t,
indent: u32,
expanded_by_default: bool,
) -> bool,
>,
pub ui_subobject_set_item: ::std::option::Option<
unsafe extern "C" fn(
args: *mut tm_properties_ui_args_t,
item_rect: tm_rect_t,
object: tm_tt_id_t,
property: u32,
sub: tm_tt_id_t,
indent: u32,
expanded_by_default: bool,
) -> f32,
>,
pub ui_subobject_direct: ::std::option::Option<
unsafe extern "C" fn(
args: *mut tm_properties_ui_args_t,
item_rect: tm_rect_t,
name: *const ::std::os::raw::c_char,
tooltip: *const ::std::os::raw::c_char,
parent: tm_tt_id_t,
subobject: tm_tt_id_t,
indent: u32,
expanded_by_default: bool,
) -> f32,
>,
pub ui_uint32_popup_picker: ::std::option::Option<
unsafe extern "C" fn(
args: *mut tm_properties_ui_args_t,
item_rect: tm_rect_t,
name: *const ::std::os::raw::c_char,
tooltip: *const ::std::os::raw::c_char,
object: tm_tt_id_t,
property: u32,
items: *mut *const ::std::os::raw::c_char,
num_items: u32,
) -> f32,
>,
pub ui_uint64_popup_picker: ::std::option::Option<
unsafe extern "C" fn(
args: *mut tm_properties_ui_args_t,
item_rect: tm_rect_t,
name: *const ::std::os::raw::c_char,
tooltip: *const ::std::os::raw::c_char,
object: tm_tt_id_t,
property: u32,
items: *mut *const ::std::os::raw::c_char,
items_values: *const u64,
num_items: u32,
) -> f32,
>,
pub ui_reference_popup_picker: ::std::option::Option<
unsafe extern "C" fn(
args: *mut tm_properties_ui_args_t,
item_rect: tm_rect_t,
name: *const ::std::os::raw::c_char,
tooltip: *const ::std::os::raw::c_char,
object: tm_tt_id_t,
property: u32,
items: *mut *const ::std::os::raw::c_char,
items_references: *const tm_tt_id_t,
num_items: u32,
) -> f32,
>,
pub ui_string_popup_picker: ::std::option::Option<
unsafe extern "C" fn(
args: *mut tm_properties_ui_args_t,
item_rect: tm_rect_t,
name: *const ::std::os::raw::c_char,
tooltip: *const ::std::os::raw::c_char,
object: tm_tt_id_t,
property: u32,
items: *mut *const ::std::os::raw::c_char,
num_items: u32,
) -> f32,
>,
pub ui_uint32_dropdown: ::std::option::Option<
unsafe extern "C" fn(
args: *mut tm_properties_ui_args_t,
item_rect: tm_rect_t,
name: *const ::std::os::raw::c_char,
tooltip: *const ::std::os::raw::c_char,
object: tm_tt_id_t,
property: u32,
items: *mut *const ::std::os::raw::c_char,
item_tooltips: *mut *const ::std::os::raw::c_char,
items_uint32: *const u32,
num_items: u32,
) -> f32,
>,
pub ui_uint64_dropdown: ::std::option::Option<
unsafe extern "C" fn(
args: *mut tm_properties_ui_args_t,
item_rect: tm_rect_t,
name: *const ::std::os::raw::c_char,
tooltip: *const ::std::os::raw::c_char,
object: tm_tt_id_t,
property: u32,
items: *mut *const ::std::os::raw::c_char,
item_tooltips: *mut *const ::std::os::raw::c_char,
items_uint64: *const u64,
num_items: u32,
) -> f32,
>,
pub ui_float_slider: ::std::option::Option<
unsafe extern "C" fn(
args: *mut tm_properties_ui_args_t,
item_rect: tm_rect_t,
name: *const ::std::os::raw::c_char,
tooltip: *const ::std::os::raw::c_char,
object: tm_tt_id_t,
property: u32,
slider: *const tm_properties_float_slider_t,
) -> f32,
>,
pub ui_vec2: ::std::option::Option<
unsafe extern "C" fn(
args: *mut tm_properties_ui_args_t,
item_rect: tm_rect_t,
name: *const ::std::os::raw::c_char,
tooltip: *const ::std::os::raw::c_char,
position: tm_tt_id_t,
) -> f32,
>,
pub ui_vec3: ::std::option::Option<
unsafe extern "C" fn(
args: *mut tm_properties_ui_args_t,
item_rect: tm_rect_t,
name: *const ::std::os::raw::c_char,
tooltip: *const ::std::os::raw::c_char,
position: tm_tt_id_t,
) -> f32,
>,
pub ui_vec4: ::std::option::Option<
unsafe extern "C" fn(
args: *mut tm_properties_ui_args_t,
item_rect: tm_rect_t,
name: *const ::std::os::raw::c_char,
tooltip: *const ::std::os::raw::c_char,
position: tm_tt_id_t,
) -> f32,
>,
pub ui_color_picker: ::std::option::Option<
unsafe extern "C" fn(
args: *mut tm_properties_ui_args_t,
item_rect: tm_rect_t,
name: *const ::std::os::raw::c_char,
tooltip: *const ::std::os::raw::c_char,
color: tm_tt_id_t,
) -> f32,
>,
pub ui_rotation: ::std::option::Option<
unsafe extern "C" fn(
args: *mut tm_properties_ui_args_t,
item_rect: tm_rect_t,
name: *const ::std::os::raw::c_char,
tooltip: *const ::std::os::raw::c_char,
rotation: tm_tt_id_t,
) -> f32,
>,
pub ui_visibility_flags: ::std::option::Option<
unsafe extern "C" fn(
args: *mut tm_properties_ui_args_t,
item_rect: tm_rect_t,
name: *const ::std::os::raw::c_char,
tooltip: *const ::std::os::raw::c_char,
object: tm_tt_id_t,
property: u32,
indent: u32,
) -> f32,
>,
pub ui_label: ::std::option::Option<
unsafe extern "C" fn(
args: *mut tm_properties_ui_args_t,
item_rect: tm_rect_t,
name: *const ::std::os::raw::c_char,
tooltip: *const ::std::os::raw::c_char,
) -> f32,
>,
pub ui_horizontal_line: ::std::option::Option<
unsafe extern "C" fn(args: *mut tm_properties_ui_args_t, item_rect: tm_rect_t) -> f32,
>,
pub ui_static_text: ::std::option::Option<
unsafe extern "C" fn(
args: *mut tm_properties_ui_args_t,
item_rect: tm_rect_t,
name: *const ::std::os::raw::c_char,
tooltip: *const ::std::os::raw::c_char,
text: *const ::std::os::raw::c_char,
) -> f32,
>,
pub ui_prototype: ::std::option::Option<
unsafe extern "C" fn(
args: *mut tm_properties_ui_args_t,
item_rect: tm_rect_t,
name: *const ::std::os::raw::c_char,
tooltip: *const ::std::os::raw::c_char,
parent: tm_tt_id_t,
property: u32,
subobject: tm_tt_id_t,
pick_type_hash: u64,
) -> f32,
>,
pub ui_open_path: ::std::option::Option<
unsafe extern "C" fn(
args: *mut tm_properties_ui_args_t,
item_rect: tm_rect_t,
name: *const ::std::os::raw::c_char,
tooltip: *const ::std::os::raw::c_char,
object: tm_tt_id_t,
property: u32,
extensions: *const ::std::os::raw::c_char,
description: *const ::std::os::raw::c_char,
) -> f32,
>,
pub ui_save_path: ::std::option::Option<
unsafe extern "C" fn(
args: *mut tm_properties_ui_args_t,
item_rect: tm_rect_t,
name: *const ::std::os::raw::c_char,
tooltip: *const ::std::os::raw::c_char,
object: tm_tt_id_t,
property: u32,
extensions: *const ::std::os::raw::c_char,
description: *const ::std::os::raw::c_char,
) -> f32,
>,
pub ui_color_button: ::std::option::Option<
unsafe extern "C" fn(
args: *mut tm_properties_ui_args_t,
color_button: *const tm_ui_button_t,
color: tm_tt_id_t,
) -> bool,
>,
pub ui_expanded_color_picker: ::std::option::Option<
unsafe extern "C" fn(
args: *mut tm_properties_ui_args_t,
item_rect: tm_rect_t,
color: tm_tt_id_t,
) -> f32,
>,
pub internal__copy_expanded_state: ::std::option::Option<
unsafe extern "C" fn(
pv: *mut tm_properties_view_o,
from_key: tm_tt_id_t,
to_key: tm_tt_id_t,
),
>,
pub ui_multi_object: ::std::option::Option<
unsafe extern "C" fn(
args: *mut tm_properties_ui_args_t,
item_rect: tm_rect_t,
parent_proxy: tm_tt_id_t,
property: u32,
objects: *const tm_tt_id_t,
n: u32,
indent: u32,
) -> f32,
>,
pub proxy_to_objects: ::std::option::Option<
unsafe extern "C" fn(pv: *mut tm_properties_view_o, proxy: tm_tt_id_t) -> *const tm_tt_id_t,
>,
pub multi_proxy: ::std::option::Option<
unsafe extern "C" fn(
pv: *mut tm_properties_view_o,
parent_proxy: tm_tt_id_t,
property: u32,
objects: *const tm_tt_id_t,
n: u32,
) -> tm_tt_id_t,
>,
pub get_property_value: ::std::option::Option<
unsafe extern "C" fn(
pv: *mut tm_properties_view_o,
object: tm_tt_id_t,
property: u32,
ta: *mut tm_temp_allocator_i,
) -> *const tm_tt_prop_value_t,
>,
pub was_changed: ::std::option::Option<
unsafe extern "C" fn(
args: *mut tm_properties_ui_args_t,
object: tm_tt_id_t,
property: u32,
) -> bool,
>,
pub popup_pick_with_categories: ::std::option::Option<
unsafe extern "C" fn(
args: *mut tm_properties_ui_args_t,
ui_id: u64,
pos: tm_vec2_t,
strings: *const *const ::std::os::raw::c_char,
categories: *const *const ::std::os::raw::c_char,
num_strings: u32,
pick_index: *mut u32,
) -> bool,
>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_tree_view_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_tree_view_children_t {
pub children: *const tm_tt_id_t,
pub child_count: u32,
pub property: u32,
pub aspect_reference_type: u32,
pub _padding_29: [::std::os::raw::c_char; 4usize],
}
impl Default for tm_tree_view_children_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_tree_view_aspect_i {
pub setup: ::std::option::Option<
unsafe extern "C" fn(
state: *mut ::std::os::raw::c_void,
tree: *mut tm_tree_view_o,
tt: *const tm_the_truth_o,
root: tm_tt_id_t,
),
>,
pub context_menu: ::std::option::Option<
unsafe extern "C" fn(
state: *mut ::std::os::raw::c_void,
tree: *mut tm_tree_view_o,
tt: *mut tm_the_truth_o,
undo_stack: *mut tm_undo_stack_i,
ui: *mut tm_ui_o,
uistyle: *const tm_ui_style_t,
pos: tm_vec2_t,
parent: *mut tm_tree_view_parent_t,
object: tm_tt_id_t,
object_property: u32,
),
>,
pub compute_node_properties: ::std::option::Option<
unsafe extern "C" fn(
state: *mut ::std::os::raw::c_void,
tree: *mut tm_tree_view_o,
tt: *mut tm_the_truth_o,
parent: *const tm_tree_view_parent_t,
object: tm_tt_id_t,
can_expand: *mut bool,
can_select: *mut bool,
can_drop: *mut bool,
can_drag: *mut bool,
expanded_key: *mut u64,
ta: *mut tm_temp_allocator_i,
),
>,
pub ui: ::std::option::Option<
unsafe extern "C" fn(
state: *mut ::std::os::raw::c_void,
tree: *mut tm_tree_view_o,
tt: *mut tm_the_truth_o,
ui: *mut tm_ui_o,
uistyle: *mut tm_ui_style_t,
object: tm_tt_id_t,
tree_has_focus: bool,
res: *mut tm_ui_tree_item_res_t,
can_drop: bool,
),
>,
pub icon: ::std::option::Option<
unsafe extern "C" fn(
state: *mut ::std::os::raw::c_void,
tree: *mut tm_tree_view_o,
tt: *mut tm_the_truth_o,
ui: *mut tm_ui_o,
uistyle: *const tm_ui_style_t,
object: tm_tt_id_t,
rect: tm_rect_t,
res: *mut tm_ui_tree_item_res_t,
) -> tm_rect_t,
>,
pub additional_elements: ::std::option::Option<
unsafe extern "C" fn(
state: *mut ::std::os::raw::c_void,
tree: *mut tm_tree_view_o,
tt: *mut tm_the_truth_o,
ui: *mut tm_ui_o,
uistyle: *const tm_ui_style_t,
object: tm_tt_id_t,
parent: *mut tm_tree_view_parent_t,
rect: tm_rect_t,
res: *mut tm_ui_tree_item_res_t,
metrics: *mut tm_ui_tree_item_metrics_t,
),
>,
pub display_name: ::std::option::Option<
unsafe extern "C" fn(
state: *mut ::std::os::raw::c_void,
tree: *mut tm_tree_view_o,
tt: *mut tm_the_truth_o,
object: tm_tt_id_t,
buffer: *mut ::std::os::raw::c_char,
buffer_size: u32,
),
>,
pub tooltip: ::std::option::Option<
unsafe extern "C" fn(
state: *mut ::std::os::raw::c_void,
tree: *mut tm_tree_view_o,
tt: *mut tm_the_truth_o,
ui: *mut tm_ui_o,
uistyle: *const tm_ui_style_t,
object: tm_tt_id_t,
),
>,
pub get_node_children: ::std::option::Option<
unsafe extern "C" fn(
state: *mut ::std::os::raw::c_void,
tree: *mut tm_tree_view_o,
tt: *mut tm_the_truth_o,
parent: *mut tm_tree_view_parent_t,
object: tm_tt_id_t,
ta: *mut tm_temp_allocator_i,
) -> *mut tm_tree_view_children_t,
>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_tree_view_setup_t {
pub allocator: *mut tm_allocator_i,
pub undo_stack: *mut tm_undo_stack_i,
pub tt: *mut tm_the_truth_o,
pub keyboard_interaction: ::std::option::Option<
unsafe extern "C" fn(
state: *mut ::std::os::raw::c_void,
tree: *mut tm_tree_view_o,
ui: *mut tm_ui_o,
is_first_responder: bool,
),
>,
pub toolbar: ::std::option::Option<
unsafe extern "C" fn(
state: *mut ::std::os::raw::c_void,
tree: *mut tm_tree_view_o,
tt: *mut tm_the_truth_o,
ui: *mut tm_ui_o,
uistyle: *const tm_ui_style_t,
rect: tm_rect_t,
is_first_responder: bool,
) -> tm_rect_t,
>,
pub root: tm_tt_id_t,
pub cache_tree_heights: bool,
pub _padding_103: [::std::os::raw::c_char; 7usize],
pub state: *mut ::std::os::raw::c_void,
}
impl Default for tm_tree_view_setup_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_tree_view_ui_res_t {
pub focus_changed: bool,
pub _padding_114: [::std::os::raw::c_char; 7usize],
pub focus: tm_tt_id_t,
pub selection_changed: bool,
pub focus_on_tree_background: bool,
pub _padding_124: [::std::os::raw::c_char; 6usize],
}
impl Default for tm_tree_view_ui_res_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_tree_view_parent_t {
pub id: tm_tt_id_t,
pub property: u32,
pub aspect_reference_type: u32,
pub parent: *mut tm_tree_view_parent_t,
pub pr: u32,
pub _padding_148: [::std::os::raw::c_char; 4usize],
pub expanded_key: u64,
}
impl Default for tm_tree_view_parent_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_tree_view_api {
pub create_tree_view: ::std::option::Option<
unsafe extern "C" fn(setup: *const tm_tree_view_setup_t) -> *mut tm_tree_view_o,
>,
pub destroy_tree_view: ::std::option::Option<unsafe extern "C" fn(tree: *mut tm_tree_view_o)>,
pub ui: ::std::option::Option<
unsafe extern "C" fn(
tree: *mut tm_tree_view_o,
ui: *mut tm_ui_o,
style: *const tm_ui_style_t,
rect: tm_rect_t,
) -> tm_tree_view_ui_res_t,
>,
pub property_group_object: ::std::option::Option<
unsafe extern "C" fn(object: tm_tt_id_t, property: u32) -> tm_tt_id_t,
>,
pub set_expanded: ::std::option::Option<
unsafe extern "C" fn(tree: *mut tm_tree_view_o, object: tm_tt_id_t, expanded: bool),
>,
pub is_expanded: ::std::option::Option<
unsafe extern "C" fn(tree: *mut tm_tree_view_o, object: tm_tt_id_t) -> bool,
>,
pub select:
::std::option::Option<unsafe extern "C" fn(tree: *mut tm_tree_view_o, object: tm_tt_id_t)>,
pub add_to_selection:
::std::option::Option<unsafe extern "C" fn(tree: *mut tm_tree_view_o, object: tm_tt_id_t)>,
pub scroll_to_object:
::std::option::Option<unsafe extern "C" fn(tree: *mut tm_tree_view_o, object: tm_tt_id_t)>,
pub deselect_all: ::std::option::Option<unsafe extern "C" fn(tree: *mut tm_tree_view_o)>,
pub rename:
::std::option::Option<unsafe extern "C" fn(tree: *mut tm_tree_view_o, object: tm_tt_id_t)>,
pub get_sorted_subobjects: ::std::option::Option<
unsafe extern "C" fn(
tree: *const tm_tree_view_o,
object: tm_tt_id_t,
property: u32,
ta: *mut tm_temp_allocator_i,
) -> *const tm_tt_id_t,
>,
pub selected_objects: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_tree_view_o,
ta: *mut tm_temp_allocator_i,
) -> *const tm_tt_id_t,
>,
pub get_root_object:
::std::option::Option<unsafe extern "C" fn(inst: *mut tm_tree_view_o) -> tm_tt_id_t>,
pub set_root_object:
::std::option::Option<unsafe extern "C" fn(inst: *mut tm_tree_view_o, object: tm_tt_id_t)>,
pub add_default_menu_items: ::std::option::Option<
unsafe extern "C" fn(
tree: *mut tm_tree_view_o,
parent: *mut tm_tree_view_parent_t,
object: tm_tt_id_t,
object_property: u32,
id_base: u64,
items: *mut *mut tm_ui_menu_item_t,
ta: *mut tm_temp_allocator_i,
),
>,
pub execute_menu_item: ::std::option::Option<
unsafe extern "C" fn(
tree: *mut tm_tree_view_o,
parent: *mut tm_tree_view_parent_t,
object: tm_tt_id_t,
object_property: u32,
id_base: u64,
res: *const tm_ui_menu_result_t,
),
>,
pub set_empty_text: ::std::option::Option<
unsafe extern "C" fn(tree: *mut tm_tree_view_o, text: *const ::std::os::raw::c_char),
>,
pub filter_nodes: ::std::option::Option<
unsafe extern "C" fn(
tree: *mut tm_tree_view_o,
node_type: u64,
text: *const ::std::os::raw::c_char,
case_unsensitive: bool,
),
>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_ui_popup_item_picker_t {
pub id: u64,
pub pos: tm_vec2_t,
pub search_text: *mut ::std::os::raw::c_char,
pub search_text_len: u32,
pub _padding_21: [::std::os::raw::c_char; 4usize],
pub strings: *const *const ::std::os::raw::c_char,
pub num_strings: u32,
pub _padding_26: [::std::os::raw::c_char; 4usize],
}
impl Default for tm_ui_popup_item_picker_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_ui_category_popup_item_picker_t {
pub id: u64,
pub pos: tm_vec2_t,
pub search_text: *mut ::std::os::raw::c_char,
pub search_text_len: u32,
pub _padding_36: [::std::os::raw::c_char; 4usize],
pub strings: *const *const ::std::os::raw::c_char,
pub categories: *const *const ::std::os::raw::c_char,
pub num_strings: u32,
pub _padding_42: [::std::os::raw::c_char; 4usize],
pub expanded: *mut tm_set_t,
}
impl Default for tm_ui_category_popup_item_picker_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_ui_popup_asset_picker_t {
pub id: u64,
pub pos: tm_vec2_t,
pub search_text: *mut ::std::os::raw::c_char,
pub search_text_len: u32,
pub _padding_54: [::std::os::raw::c_char; 4usize],
pub tt: *mut tm_the_truth_o,
pub asset_root: tm_tt_id_t,
pub type_hash: u64,
}
impl Default for tm_ui_popup_asset_picker_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_ui_popup_item_picker_api {
pub pick: ::std::option::Option<
unsafe extern "C" fn(
ui: *mut tm_ui_o,
uistyle_in: *const tm_ui_style_t,
c: *const tm_ui_popup_item_picker_t,
picked: *mut u32,
) -> bool,
>,
pub pick_with_categories: ::std::option::Option<
unsafe extern "C" fn(
ui: *mut tm_ui_o,
uistyle_in: *const tm_ui_style_t,
c: *const tm_ui_category_popup_item_picker_t,
picked: *mut u32,
) -> bool,
>,
pub pick_asset: ::std::option::Option<
unsafe extern "C" fn(
ui: *mut tm_ui_o,
uistyle_in: *const tm_ui_style_t,
c: *const tm_ui_popup_asset_picker_t,
asset: *mut tm_tt_id_t,
) -> bool,
>,
}
pub const TM_TT_PROP__CAMERA_COMPONENT__NEAR_PLANE: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__CAMERA_COMPONENT__FAR_PLANE: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__CAMERA_COMPONENT__VERTICAL_FOV: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__CAMERA_COMPONENT__TRANSLATION_SPEED: ::std::os::raw::c_int = 3;
pub const TM_TT_PROP__CAMERA_COMPONENT__ROTATION_SPEED: ::std::os::raw::c_int = 4;
pub const TM_TT_PROP__CAMERA_COMPONENT__TRANSLATION_DAMPING: ::std::os::raw::c_int = 5;
pub type _bindgen_ty_112 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_camera_component_t {
pub near_plane: f32,
pub far_plane: f32,
pub vertical_fov: f32,
pub translation_speed: f32,
pub rotation_speed: f32,
pub translation_damping: f32,
}
pub const TM_TT_PROP__ENTITY__NAME: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__ENTITY__COMPONENTS: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__ENTITY__CHILDREN: ::std::os::raw::c_int = 2;
pub type _bindgen_ty_113 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_component_mask_t {
pub bits: [u64; 16usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_entity_array_t {
pub entities: *mut tm_entity_t,
pub n: u32,
pub _padding_79: [::std::os::raw::c_char; 4usize],
}
impl Default for tm_entity_array_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
pub struct tm_entity_set_t {
pub total_entities: u32,
pub num_arrays: u32,
pub arrays: __IncompleteArrayField<tm_entity_array_t>,
}
impl Default for tm_entity_set_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_component_i {
pub name: *const ::std::os::raw::c_char,
pub bytes: u32,
pub _padding_103: [::std::os::raw::c_char; 4usize],
pub default_data: *const ::std::os::raw::c_void,
pub manager: *mut tm_component_manager_o,
pub components_created:
::std::option::Option<unsafe extern "C" fn(manager: *mut tm_component_manager_o)>,
pub load_asset: ::std::option::Option<
unsafe extern "C" fn(
manager: *mut tm_component_manager_o,
e: tm_entity_t,
data: *mut ::std::os::raw::c_void,
tt: *const tm_the_truth_o,
asset: tm_tt_id_t,
) -> bool,
>,
pub asset_loaded: ::std::option::Option<
unsafe extern "C" fn(
manager: *mut tm_component_manager_o,
e: tm_entity_t,
data: *mut ::std::os::raw::c_void,
),
>,
pub asset_loaded_sort_order: f64,
pub asset_reloaded: ::std::option::Option<
unsafe extern "C" fn(
manager: *mut tm_component_manager_o,
e: tm_entity_t,
data: *mut ::std::os::raw::c_void,
),
>,
pub add: ::std::option::Option<
unsafe extern "C" fn(
manager: *mut tm_component_manager_o,
e: tm_entity_t,
data: *mut ::std::os::raw::c_void,
),
>,
pub remove: ::std::option::Option<
unsafe extern "C" fn(
manager: *mut tm_component_manager_o,
e: tm_entity_t,
data: *mut ::std::os::raw::c_void,
),
>,
pub destroy: ::std::option::Option<unsafe extern "C" fn(manager: *mut tm_component_manager_o)>,
pub debug_draw: ::std::option::Option<
unsafe extern "C" fn(
manager: *mut tm_component_manager_o,
e: *mut tm_entity_t,
data: *mut *const ::std::os::raw::c_void,
n: u32,
pbuf: *mut tm_primitive_drawer_buffer_t,
vbuf: *mut tm_primitive_drawer_buffer_t,
allocator: *mut tm_allocator_i,
camera: *const tm_camera_t,
viewport: tm_rect_t,
),
>,
pub debug_draw_settings: tm_tt_id_t,
}
impl Default for tm_component_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_engine_update_array_t {
pub entities: *mut tm_entity_t,
pub components: [*mut ::std::os::raw::c_void; 16usize],
pub component_bytes: [u32; 16usize],
pub n: u32,
pub _padding_171: [::std::os::raw::c_char; 4usize],
}
impl Default for tm_engine_update_array_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_entity_blackboard_value_t {
pub id: u64,
pub __bindgen_anon_1: tm_entity_blackboard_value_t__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union tm_entity_blackboard_value_t__bindgen_ty_1 {
pub double_value: f64,
pub ptr_value: *mut ::std::os::raw::c_void,
_bindgen_union_align: u64,
}
impl Default for tm_entity_blackboard_value_t__bindgen_ty_1 {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
impl Default for tm_entity_blackboard_value_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
pub struct tm_engine_update_set_t {
pub engine: *const tm_engine_i,
pub total_entities: u32,
pub _padding_194: [::std::os::raw::c_char; 4usize],
pub blackboard_start: *const tm_entity_blackboard_value_t,
pub blackboard_end: *const tm_entity_blackboard_value_t,
pub num_arrays: u32,
pub _padding_198: [::std::os::raw::c_char; 4usize],
pub arrays: __IncompleteArrayField<tm_engine_update_array_t>,
}
impl Default for tm_engine_update_set_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_engine_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_engine_i {
pub name: *const ::std::os::raw::c_char,
pub disabled: bool,
pub _padding_215: [::std::os::raw::c_char; 3usize],
pub num_components: u32,
pub components: [u32; 16usize],
pub excludes: [bool; 16usize],
pub writes: [bool; 16usize],
pub inst: *mut tm_engine_o,
pub update: ::std::option::Option<
unsafe extern "C" fn(inst: *mut tm_engine_o, data: *mut tm_engine_update_set_t),
>,
pub filter: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_engine_o,
components: *const u32,
num_components: u32,
mask: *const tm_component_mask_t,
) -> bool,
>,
}
impl Default for tm_engine_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_entity_system_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_entity_system_i {
pub name: *const ::std::os::raw::c_char,
pub disabled: bool,
pub _padding_285: [::std::os::raw::c_char; 7usize],
pub inst: *mut tm_entity_system_o,
pub update: ::std::option::Option<
unsafe extern "C" fn(ctx: *mut tm_entity_context_o, inst: *mut tm_entity_system_o),
>,
}
impl Default for tm_entity_system_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub type tm_entity_simulation_i =
::std::option::Option<unsafe extern "C" fn(ctx: *mut tm_entity_context_o)>;
pub type tm_entity_create_component_i =
::std::option::Option<unsafe extern "C" fn(ctx: *mut tm_entity_context_o)>;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_entity_hot_reload_component_i {
pub name_hash: u64,
pub reload: ::std::option::Option<
unsafe extern "C" fn(ctx: *mut tm_entity_context_o, component: *mut tm_component_i),
>,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_entity_hot_reload_system_i {
pub name_hash: u64,
pub reload: ::std::option::Option<
unsafe extern "C" fn(ctx: *mut tm_entity_context_o, system: *mut tm_entity_system_i),
>,
}
pub const tm_entity_create_components_TM_ENTITY_CREATE_COMPONENTS_NONE:
tm_entity_create_components = 0;
pub const tm_entity_create_components_TM_ENTITY_CREATE_COMPONENTS_ALL: tm_entity_create_components =
1;
pub const tm_entity_create_components_TM_ENTITY_CREATE_COMPONENTS_EDITOR:
tm_entity_create_components = 2;
pub type tm_entity_create_components = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_entity_listener_i {
pub man: *mut tm_component_manager_o,
pub notify_e: tm_entity_t,
pub notify_c: u32,
pub _padding_344: [::std::os::raw::c_char; 4usize],
pub notify: ::std::option::Option<
unsafe extern "C" fn(
ctx: *mut tm_entity_context_o,
man: *mut tm_component_manager_o,
e: tm_entity_t,
c: *mut ::std::os::raw::c_void,
notify_e: tm_entity_t,
notify_c: *mut ::std::os::raw::c_void,
),
>,
}
impl Default for tm_entity_listener_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_entity_event_listener_i {
pub inst: *mut ::std::os::raw::c_void,
pub user_data: *mut ::std::os::raw::c_void,
pub notify: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut ::std::os::raw::c_void,
ctx: *mut tm_entity_context_o,
event: u64,
e: tm_entity_t,
event_data: *const ::std::os::raw::c_void,
event_data_bytes: u32,
user_data: *mut ::std::os::raw::c_void,
),
>,
}
impl Default for tm_entity_event_listener_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_entity_api {
pub create_truth_types: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
pub create_context: ::std::option::Option<
unsafe extern "C" fn(
a: *mut tm_allocator_i,
tt: *mut tm_the_truth_o,
create_components: tm_entity_create_components,
) -> *mut tm_entity_context_o,
>,
pub destroy_context: ::std::option::Option<unsafe extern "C" fn(ctx: *mut tm_entity_context_o)>,
pub register_component: ::std::option::Option<
unsafe extern "C" fn(ctx: *mut tm_entity_context_o, com: *const tm_component_i) -> u32,
>,
pub num_components:
::std::option::Option<unsafe extern "C" fn(ctx: *mut tm_entity_context_o) -> u32>,
pub component: ::std::option::Option<
unsafe extern "C" fn(ctx: *mut tm_entity_context_o, i: u32) -> *const tm_component_i,
>,
pub register_engine: ::std::option::Option<
unsafe extern "C" fn(ctx: *mut tm_entity_context_o, engine: *const tm_engine_i),
>,
pub registered_engines: ::std::option::Option<
unsafe extern "C" fn(ctx: *mut tm_entity_context_o, count: *mut u32) -> *mut tm_engine_i,
>,
pub register_system: ::std::option::Option<
unsafe extern "C" fn(ctx: *mut tm_entity_context_o, system: *const tm_entity_system_i),
>,
pub registered_systems: ::std::option::Option<
unsafe extern "C" fn(
ctx: *mut tm_entity_context_o,
count: *mut u32,
) -> *mut tm_entity_system_i,
>,
pub create_child_allocator: ::std::option::Option<
unsafe extern "C" fn(
ctx: *mut tm_entity_context_o,
name: *const ::std::os::raw::c_char,
a: *mut tm_allocator_i,
),
>,
pub destroy_child_allocator: ::std::option::Option<
unsafe extern "C" fn(ctx: *mut tm_entity_context_o, a: *mut tm_allocator_i),
>,
pub the_truth: ::std::option::Option<
unsafe extern "C" fn(ctx: *mut tm_entity_context_o) -> *mut tm_the_truth_o,
>,
pub unset_asset_root:
::std::option::Option<unsafe extern "C" fn(ctx: *mut tm_entity_context_o)>,
pub create_entity:
::std::option::Option<unsafe extern "C" fn(ctx: *mut tm_entity_context_o) -> tm_entity_t>,
pub batch_create_entity: ::std::option::Option<
unsafe extern "C" fn(ctx: *mut tm_entity_context_o, es: *mut tm_entity_t, n: u32),
>,
pub create_entity_from_mask: ::std::option::Option<
unsafe extern "C" fn(
ctx: *mut tm_entity_context_o,
mask: *const tm_component_mask_t,
) -> tm_entity_t,
>,
pub batch_create_entity_from_mask: ::std::option::Option<
unsafe extern "C" fn(
ctx: *mut tm_entity_context_o,
mask: *const tm_component_mask_t,
es: *mut tm_entity_t,
n: u32,
),
>,
pub create_entity_from_asset: ::std::option::Option<
unsafe extern "C" fn(ctx: *mut tm_entity_context_o, asset: tm_tt_id_t) -> tm_entity_t,
>,
pub batch_create_entity_from_asset: ::std::option::Option<
unsafe extern "C" fn(
ctx: *mut tm_entity_context_o,
asset: tm_tt_id_t,
es: *mut tm_entity_t,
n: u32,
),
>,
pub destroy_entity:
::std::option::Option<unsafe extern "C" fn(ctx: *mut tm_entity_context_o, e: tm_entity_t)>,
pub batch_destroy_entity: ::std::option::Option<
unsafe extern "C" fn(ctx: *mut tm_entity_context_o, es: *const tm_entity_t, n: u32),
>,
pub destroy_all_entities:
::std::option::Option<unsafe extern "C" fn(ctx: *mut tm_entity_context_o)>,
pub queue_destroy_entities: ::std::option::Option<
unsafe extern "C" fn(ctx: *mut tm_entity_context_o, es: *const tm_entity_t, n: u32),
>,
pub is_alive: ::std::option::Option<
unsafe extern "C" fn(ctx: *mut tm_entity_context_o, e: tm_entity_t) -> bool,
>,
pub num_entities:
::std::option::Option<unsafe extern "C" fn(ctx: *mut tm_entity_context_o) -> u32>,
pub entities_matching: ::std::option::Option<
unsafe extern "C" fn(
ctx: *mut tm_entity_context_o,
mask: *const tm_component_mask_t,
ta: *mut tm_temp_allocator_i,
) -> *mut tm_entity_set_t,
>,
pub flatten_set: ::std::option::Option<
unsafe extern "C" fn(entities: *mut tm_entity_t, set: *const tm_entity_set_t),
>,
pub lookup_component: ::std::option::Option<
unsafe extern "C" fn(ctx: *mut tm_entity_context_o, name_hash: u64) -> u32,
>,
pub component_manager: ::std::option::Option<
unsafe extern "C" fn(
ctx: *mut tm_entity_context_o,
component: u32,
) -> *mut tm_component_manager_o,
>,
pub create_component_mask: ::std::option::Option<
unsafe extern "C" fn(components: *const u32, n: u32) -> tm_component_mask_t,
>,
pub component_mask: ::std::option::Option<
unsafe extern "C" fn(
ctx: *mut tm_entity_context_o,
e: tm_entity_t,
) -> *const tm_component_mask_t,
>,
pub add_component: ::std::option::Option<
unsafe extern "C" fn(
ctx: *mut tm_entity_context_o,
e: tm_entity_t,
component: u32,
) -> *mut ::std::os::raw::c_void,
>,
pub get_component: ::std::option::Option<
unsafe extern "C" fn(
ctx: *mut tm_entity_context_o,
e: tm_entity_t,
component: u32,
) -> *mut ::std::os::raw::c_void,
>,
pub get_component_by_hash: ::std::option::Option<
unsafe extern "C" fn(
ctx: *mut tm_entity_context_o,
e: tm_entity_t,
name_hash: u64,
) -> *mut ::std::os::raw::c_void,
>,
pub remove_component: ::std::option::Option<
unsafe extern "C" fn(ctx: *mut tm_entity_context_o, e: tm_entity_t, component: u32),
>,
pub call_remove_on_all_entities:
::std::option::Option<unsafe extern "C" fn(ctx: *mut tm_entity_context_o, component: u32)>,
pub parent: ::std::option::Option<
unsafe extern "C" fn(ctx: *mut tm_entity_context_o, e: tm_entity_t) -> tm_entity_t,
>,
pub asset: ::std::option::Option<
unsafe extern "C" fn(ctx: *mut tm_entity_context_o, e: tm_entity_t) -> tm_tt_id_t,
>,
pub find_entity_from_asset: ::std::option::Option<
unsafe extern "C" fn(ctx: *mut tm_entity_context_o, asset: tm_tt_id_t) -> tm_entity_t,
>,
pub resolve_asset_reference: ::std::option::Option<
unsafe extern "C" fn(
ctx: *mut tm_entity_context_o,
e: tm_entity_t,
asset: tm_tt_id_t,
) -> tm_entity_t,
>,
pub resolve_path: ::std::option::Option<
unsafe extern "C" fn(
ctx: *mut tm_entity_context_o,
e: tm_entity_t,
path: *const ::std::os::raw::c_char,
) -> tm_entity_t,
>,
pub propagate_asset_changes:
::std::option::Option<unsafe extern "C" fn(ctx: *mut tm_entity_context_o)>,
pub propagate_listen_to: ::std::option::Option<
unsafe extern "C" fn(ctx: *mut tm_entity_context_o, e: tm_entity_t, object: tm_tt_id_t),
>,
pub set_blackboard_double: ::std::option::Option<
unsafe extern "C" fn(ctx: *mut tm_entity_context_o, id: u64, value: f64),
>,
pub set_blackboard_ptr: ::std::option::Option<
unsafe extern "C" fn(
ctx: *mut tm_entity_context_o,
id: u64,
value: *mut ::std::os::raw::c_void,
),
>,
pub has_blackboard:
::std::option::Option<unsafe extern "C" fn(ctx: *mut tm_entity_context_o, id: u64) -> bool>,
pub get_blackboard_double: ::std::option::Option<
unsafe extern "C" fn(ctx: *mut tm_entity_context_o, id: u64, def: f64) -> f64,
>,
pub get_blackboard_ptr: ::std::option::Option<
unsafe extern "C" fn(ctx: *mut tm_entity_context_o, id: u64) -> *mut ::std::os::raw::c_void,
>,
pub run_engine: ::std::option::Option<
unsafe extern "C" fn(ctx: *mut tm_entity_context_o, engine: *const tm_engine_i),
>,
pub update: ::std::option::Option<unsafe extern "C" fn(ctx: *mut tm_entity_context_o)>,
pub listen: ::std::option::Option<
unsafe extern "C" fn(
ctx: *mut tm_entity_context_o,
e: tm_entity_t,
c: u32,
listener: *const tm_entity_listener_i,
),
>,
pub unlisten: ::std::option::Option<
unsafe extern "C" fn(
ctx: *mut tm_entity_context_o,
e: tm_entity_t,
c: u32,
listener: *const tm_entity_listener_i,
),
>,
pub notify: ::std::option::Option<
unsafe extern "C" fn(
ctx: *mut tm_entity_context_o,
component: u32,
entities: *const tm_entity_t,
num_entities: u32,
),
>,
pub listen_event: ::std::option::Option<
unsafe extern "C" fn(
ctx: *mut tm_entity_context_o,
e: tm_entity_t,
event: u64,
listener: *const tm_entity_event_listener_i,
),
>,
pub unlisten_event: ::std::option::Option<
unsafe extern "C" fn(
ctx: *mut tm_entity_context_o,
e: tm_entity_t,
event: u64,
listener: *const tm_entity_event_listener_i,
),
>,
pub unlisten_all: ::std::option::Option<
unsafe extern "C" fn(ctx: *mut tm_entity_context_o, instance: *mut ::std::os::raw::c_void),
>,
pub notify_event: ::std::option::Option<
unsafe extern "C" fn(
ctx: *mut tm_entity_context_o,
event: u64,
e: *mut tm_entity_t,
entity_stride: u32,
data: *mut ::std::os::raw::c_void,
data_stride: u32,
n: u32,
),
>,
pub hot_reload: ::std::option::Option<unsafe extern "C" fn()>,
pub set_debug_draw: ::std::option::Option<
unsafe extern "C" fn(
ctx: *mut tm_entity_context_o,
component: u32,
tag: u64,
debug_draw: bool,
),
>,
pub has_debug_draw: ::std::option::Option<
unsafe extern "C" fn(ctx: *mut tm_entity_context_o, component: u32, tag: u64) -> bool,
>,
pub clear_debug_draw:
::std::option::Option<unsafe extern "C" fn(ctx: *mut tm_entity_context_o)>,
pub debug_draw: ::std::option::Option<
unsafe extern "C" fn(
ctx: *mut tm_entity_context_o,
pbuf: *mut tm_primitive_drawer_buffer_t,
vbuf: *mut tm_primitive_drawer_buffer_t,
allocator: *mut tm_allocator_i,
camera: *const tm_camera_t,
viewport: tm_rect_t,
),
>,
}
pub const TM_TT_PROP__LINK_COMPONENT__LOCAL_POSITION: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__LINK_COMPONENT__LOCAL_ROTATION: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__LINK_COMPONENT__LOCAL_SCALE: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__LINK_COMPONENT__SCENE_TREE_NODE: ::std::os::raw::c_int = 3;
pub type _bindgen_ty_114 = ::std::os::raw::c_int;
pub const TM_LINK_COMPONENT_NOT_LINKED_TO_SCENE_TREE_NODE: ::std::os::raw::c_int = -1;
pub type _bindgen_ty_115 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_link_component_t {
pub local_transform: tm_transform_t,
pub parent: tm_entity_t,
pub scene_tree_node_name: u64,
pub scene_tree_node_idx: u32,
pub _padding_45: [::std::os::raw::c_char; 4usize],
}
impl Default for tm_link_component_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_link_component_manager_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_link_component_api {
pub create: ::std::option::Option<
unsafe extern "C" fn(ctx: *mut tm_entity_context_o) -> *mut tm_link_component_manager_o,
>,
pub compose_transform: ::std::option::Option<
unsafe extern "C" fn(
world: *mut tm_transform_t,
local: *const tm_transform_t,
parent_world: *const tm_transform_t,
) -> *mut tm_transform_t,
>,
pub compute_local_transform: ::std::option::Option<
unsafe extern "C" fn(
local: *mut tm_transform_t,
world: *const tm_transform_t,
parent_world: *const tm_transform_t,
) -> *mut tm_transform_t,
>,
pub compute_parent_transform: ::std::option::Option<
unsafe extern "C" fn(
parent: *mut tm_transform_t,
world: *const tm_transform_t,
local: *const tm_transform_t,
) -> *mut tm_transform_t,
>,
pub transform: ::std::option::Option<
unsafe extern "C" fn(man: *mut tm_link_component_manager_o, e: tm_entity_t),
>,
pub link: ::std::option::Option<
unsafe extern "C" fn(
man: *mut tm_link_component_manager_o,
e: tm_entity_t,
parent: tm_entity_t,
),
>,
pub unlink: ::std::option::Option<
unsafe extern "C" fn(man: *mut tm_link_component_manager_o, e: tm_entity_t),
>,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_owner_component_t {
pub num_children: u32,
pub inst: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_owner_component_manager_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_owner_component_api {
pub create: ::std::option::Option<
unsafe extern "C" fn(ctx: *mut tm_entity_context_o) -> *mut tm_owner_component_manager_o,
>,
pub children: ::std::option::Option<
unsafe extern "C" fn(
manager: *const tm_owner_component_manager_o,
c: *const tm_owner_component_t,
children: *mut tm_entity_t,
),
>,
pub add_children: ::std::option::Option<
unsafe extern "C" fn(
manager: *mut tm_owner_component_manager_o,
c: *mut tm_owner_component_t,
e: *const tm_entity_t,
n: u32,
),
>,
pub remove_children: ::std::option::Option<
unsafe extern "C" fn(
manager: *mut tm_owner_component_manager_o,
c: *mut tm_owner_component_t,
e: *const tm_entity_t,
n: u32,
),
>,
pub remove_all_children: ::std::option::Option<
unsafe extern "C" fn(
manager: *mut tm_owner_component_manager_o,
c: *mut tm_owner_component_t,
),
>,
pub descendants: ::std::option::Option<
unsafe extern "C" fn(
manager: *const tm_owner_component_manager_o,
c: *const tm_owner_component_t,
ta: *mut tm_temp_allocator_i,
) -> *mut tm_entity_t,
>,
}
pub const TM_TT_PROP__SCENE_TREE_COMPONENT__NODES: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__SCENE_TREE_COMPONENT__NODE_NAMES: ::std::os::raw::c_int = 1;
pub type _bindgen_ty_116 = ::std::os::raw::c_int;
pub const TM_SCENE_TREE_COMPONENT_ROOT_NODE_PARENT: ::std::os::raw::c_int = -1;
pub type _bindgen_ty_117 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_scene_tree_node_t {
pub name: u64,
pub parent_idx: u32,
pub local_transform: tm_transform_t,
pub _padding_41: [::std::os::raw::c_char; 4usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_scene_tree_node_names_t {
pub hash: u64,
pub n: u32,
pub _padding_59: [::std::os::raw::c_char; 4usize],
pub node_names: *const u64,
}
impl Default for tm_scene_tree_node_names_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_scene_tree_component_manager_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_scene_tree_component_api {
pub setup_nodes: ::std::option::Option<
unsafe extern "C" fn(
manager: *mut tm_scene_tree_component_manager_o,
st: *mut tm_scene_tree_component_t,
nodes: *const tm_scene_tree_node_t,
num_nodes: u32,
debug_names: *const ::std::os::raw::c_char,
),
>,
pub node_names: ::std::option::Option<
unsafe extern "C" fn(st: *const tm_scene_tree_component_t) -> tm_scene_tree_node_names_t,
>,
pub node_index_from_name: ::std::option::Option<
unsafe extern "C" fn(
component: *const tm_scene_tree_component_t,
node_name: u64,
not_found: u32,
) -> u32,
>,
pub world_matrices: ::std::option::Option<
unsafe extern "C" fn(component: *const tm_scene_tree_component_t) -> *const tm_mat44_t,
>,
pub local_matrices: ::std::option::Option<
unsafe extern "C" fn(component: *const tm_scene_tree_component_t) -> *const tm_mat44_t,
>,
pub local_transform: ::std::option::Option<
unsafe extern "C" fn(
component: *const tm_scene_tree_component_t,
node_idx: u32,
) -> tm_transform_t,
>,
pub world_transform: ::std::option::Option<
unsafe extern "C" fn(
component: *const tm_scene_tree_component_t,
node_idx: u32,
) -> tm_transform_t,
>,
pub set_local_transform: ::std::option::Option<
unsafe extern "C" fn(
component: *mut tm_scene_tree_component_t,
node_idx: u32,
t: *const tm_transform_t,
),
>,
pub set_local_matrix: ::std::option::Option<
unsafe extern "C" fn(
component: *mut tm_scene_tree_component_t,
node_idx: u32,
tm: *const tm_mat44_t,
),
>,
pub transform: ::std::option::Option<
unsafe extern "C" fn(
st: *mut tm_scene_tree_component_t,
trans: *const tm_transform_t,
version: u64,
),
>,
}
pub const TM_TT_PROP__TAG_COMPONENT__TAGS: ::std::os::raw::c_int = 0;
pub type _bindgen_ty_118 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_tag_component_t {
pub first_ti: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_tag_component_manager_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_tag_component_api {
pub tag_assets: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
ta: *mut tm_temp_allocator_i,
) -> *mut tm_tt_id_t,
>,
pub create: ::std::option::Option<
unsafe extern "C" fn(ctx: *mut tm_entity_context_o) -> *mut tm_tag_component_manager_o,
>,
pub add_tag: ::std::option::Option<
unsafe extern "C" fn(tcm: *mut tm_tag_component_manager_o, e: tm_entity_t, tag: u64),
>,
pub remove_tag: ::std::option::Option<
unsafe extern "C" fn(tcm: *mut tm_tag_component_manager_o, e: tm_entity_t, tag: u64),
>,
pub has_tag: ::std::option::Option<
unsafe extern "C" fn(
tcm: *const tm_tag_component_manager_o,
e: tm_entity_t,
tag: u64,
) -> bool,
>,
pub find_all: ::std::option::Option<
unsafe extern "C" fn(
tcm: *const tm_tag_component_manager_o,
tag: u64,
ta: *mut tm_temp_allocator_i,
) -> *mut tm_entity_t,
>,
pub find_first: ::std::option::Option<
unsafe extern "C" fn(tcm: *const tm_tag_component_manager_o, tag: u64) -> tm_entity_t,
>,
}
pub const TM_TT_PROP__TRANSFORM_COMPONENT__POSITION: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__TRANSFORM_COMPONENT__ROTATION: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__TRANSFORM_COMPONENT__SCALE: ::std::os::raw::c_int = 2;
pub type _bindgen_ty_119 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_transform_component_t {
pub tm: tm_transform_t,
pub version: u32,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_transform_component_api {
pub create_truth_types: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
pub create: ::std::option::Option<unsafe extern "C" fn(ctx: *mut tm_entity_context_o)>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_window_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_gameplay_context_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_physx_scene_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_gameplay_state_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_gameplay_context_t {
pub state: *mut tm_gameplay_state_o,
pub dt: f32,
pub time: f32,
pub allocator: *mut tm_allocator_i,
pub entity_ctx: *mut tm_entity_context_o,
pub ui: *mut tm_ui_o,
pub uistyle: *mut tm_ui_style_t,
pub rect: tm_rect_t,
pub window: *mut tm_window_o,
pub tt: *mut tm_the_truth_o,
pub asset_root: tm_tt_id_t,
pub physx_scene: *mut tm_physx_scene_o,
pub octx: *mut tm_gameplay_context_o,
pub initialized: bool,
pub started: bool,
pub running_in_editor: bool,
pub _padding_75: [::std::os::raw::c_char; 5usize],
}
impl Default for tm_gameplay_context_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_gameplay_context_api {
pub init: ::std::option::Option<
unsafe extern "C" fn(
ctx: *mut tm_gameplay_context_t,
parent_allocator: *mut tm_allocator_i,
entity_ctx: *mut tm_entity_context_o,
),
>,
pub shutdown: ::std::option::Option<unsafe extern "C" fn(ctx: *mut tm_gameplay_context_t)>,
pub update: ::std::option::Option<unsafe extern "C" fn(ctx: *mut tm_gameplay_context_t)>,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_gameplay_entity_api {
pub get_transform: ::std::option::Option<
unsafe extern "C" fn(ctx: *const tm_gameplay_context_t, e: tm_entity_t) -> tm_transform_t,
>,
pub set_transform: ::std::option::Option<
unsafe extern "C" fn(
ctx: *mut tm_gameplay_context_t,
e: tm_entity_t,
tm: *const tm_transform_t,
),
>,
pub get_position: ::std::option::Option<
unsafe extern "C" fn(ctx: *const tm_gameplay_context_t, e: tm_entity_t) -> tm_vec3_t,
>,
pub set_position: ::std::option::Option<
unsafe extern "C" fn(ctx: *mut tm_gameplay_context_t, e: tm_entity_t, pos: tm_vec3_t),
>,
pub get_rotation: ::std::option::Option<
unsafe extern "C" fn(ctx: *const tm_gameplay_context_t, e: tm_entity_t) -> tm_vec4_t,
>,
pub set_rotation: ::std::option::Option<
unsafe extern "C" fn(ctx: *mut tm_gameplay_context_t, e: tm_entity_t, rot: tm_vec4_t),
>,
pub get_scale: ::std::option::Option<
unsafe extern "C" fn(ctx: *const tm_gameplay_context_t, e: tm_entity_t) -> tm_vec3_t,
>,
pub set_scale: ::std::option::Option<
unsafe extern "C" fn(ctx: *mut tm_gameplay_context_t, e: tm_entity_t, scl: tm_vec3_t),
>,
pub get_local_position: ::std::option::Option<
unsafe extern "C" fn(ctx: *const tm_gameplay_context_t, e: tm_entity_t) -> tm_vec3_t,
>,
pub get_local_transform: ::std::option::Option<
unsafe extern "C" fn(ctx: *const tm_gameplay_context_t, e: tm_entity_t) -> tm_transform_t,
>,
pub set_local_transform: ::std::option::Option<
unsafe extern "C" fn(
ctx: *mut tm_gameplay_context_t,
e: tm_entity_t,
tm: *const tm_transform_t,
),
>,
pub set_local_position: ::std::option::Option<
unsafe extern "C" fn(ctx: *mut tm_gameplay_context_t, e: tm_entity_t, pos: tm_vec3_t),
>,
pub get_local_rotation: ::std::option::Option<
unsafe extern "C" fn(ctx: *const tm_gameplay_context_t, e: tm_entity_t) -> tm_vec4_t,
>,
pub set_local_rotation: ::std::option::Option<
unsafe extern "C" fn(ctx: *mut tm_gameplay_context_t, e: tm_entity_t, rot: tm_vec4_t),
>,
pub get_local_scale: ::std::option::Option<
unsafe extern "C" fn(ctx: *const tm_gameplay_context_t, e: tm_entity_t) -> tm_vec3_t,
>,
pub set_local_scale: ::std::option::Option<
unsafe extern "C" fn(ctx: *mut tm_gameplay_context_t, e: tm_entity_t, scl: tm_vec3_t),
>,
pub add_tag: ::std::option::Option<
unsafe extern "C" fn(ctx: *mut tm_gameplay_context_t, e: tm_entity_t, tag: u64),
>,
pub remove_tag: ::std::option::Option<
unsafe extern "C" fn(ctx: *mut tm_gameplay_context_t, e: tm_entity_t, tag: u64),
>,
pub has_tag: ::std::option::Option<
unsafe extern "C" fn(ctx: *const tm_gameplay_context_t, e: tm_entity_t, tag: u64) -> bool,
>,
pub find_entity_with_tag: ::std::option::Option<
unsafe extern "C" fn(ctx: *const tm_gameplay_context_t, tag: u64) -> tm_entity_t,
>,
pub find_entities_with_tag: ::std::option::Option<
unsafe extern "C" fn(
ctx: *const tm_gameplay_context_t,
tag: u64,
ta: *mut tm_temp_allocator_i,
) -> *mut tm_entity_t,
>,
pub root_entity: ::std::option::Option<
unsafe extern "C" fn(ctx: *const tm_gameplay_context_t, e: tm_entity_t) -> tm_entity_t,
>,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_gameplay_physics_api {
pub get_collision_types: ::std::option::Option<
unsafe extern "C" fn(
ctx: *mut tm_gameplay_context_t,
name_to_collision_type: *mut tm_hash_u64_to_id_t,
),
>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_gameplay_api {
pub context: *mut tm_gameplay_context_api,
pub entity: *mut tm_gameplay_entity_api,
pub physics: *mut tm_gameplay_physics_api,
pub get_asset: ::std::option::Option<
unsafe extern "C" fn(
ctx: *const tm_gameplay_context_t,
path: *const ::std::os::raw::c_char,
) -> tm_tt_id_t,
>,
}
impl Default for tm_gameplay_api {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_gltf_uri_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_gltf_uri_i {
pub inst: *mut tm_gltf_uri_o,
pub size: ::std::option::Option<
unsafe extern "C" fn(inst: *mut tm_gltf_uri_o, uri: *const ::std::os::raw::c_char) -> u64,
>,
pub load: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_gltf_uri_o,
uri: *const ::std::os::raw::c_char,
data: *mut u8,
offset: u64,
size: u64,
) -> bool,
>,
}
impl Default for tm_gltf_uri_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_gltf_api {
pub import: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
gltf: *const ::std::os::raw::c_char,
ta: *mut tm_temp_allocator_i,
uri_loader: *mut tm_gltf_uri_i,
error: *mut tm_error_i,
) -> tm_tt_id_t,
>,
pub import_into: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
obj: *mut tm_the_truth_object_o,
gltf: *const ::std::os::raw::c_char,
ta: *mut tm_temp_allocator_i,
uri_loader: *mut tm_gltf_uri_i,
error: *mut tm_error_i,
) -> bool,
>,
pub migrate_from_gltf_to_dcc_asset:
::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o) -> bool>,
}
pub const TM_TT_PROP__SUBGRAPH_NODE__SUBGRAPH: ::std::os::raw::c_int = 0;
pub type _bindgen_ty_120 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_graph_imported_node_t {
pub position: tm_vec2_t,
pub type_: u32,
pub _padding_23: [::std::os::raw::c_char; 4usize],
pub display_name: *const ::std::os::raw::c_char,
pub width: f32,
pub _padding_29: [::std::os::raw::c_char; 4usize],
pub id: tm_tt_id_t,
pub prototype_relation: u32,
pub is_pure: bool,
pub _padding_39: [::std::os::raw::c_char; 3usize],
}
impl Default for tm_graph_imported_node_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_graph_imported_connection_t {
pub from_node: u32,
pub to_node: u32,
pub from_connector: u32,
pub to_connector: u32,
pub id: tm_tt_id_t,
pub prototype_relation: u32,
pub _padding_63: [::std::os::raw::c_char; 4usize],
pub in_conflict_with: tm_tt_id_t,
}
impl Default for tm_graph_imported_connection_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_graph_imported_data_t {
pub to_node: u32,
pub to_connector: u32,
pub id: tm_tt_id_t,
pub data_id: tm_tt_id_t,
pub prototype_relation: u32,
pub _padding_90: [::std::os::raw::c_char; 4usize],
pub in_conflict_with: tm_tt_id_t,
}
impl Default for tm_graph_imported_data_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_graph_imported_comment_t {
pub text: *const ::std::os::raw::c_char,
pub position: tm_vec2_t,
pub font_scale: f32,
pub color: tm_vec3_t,
pub id: tm_tt_id_t,
pub prototype_relation: u32,
pub _padding_119: [::std::os::raw::c_char; 4usize],
}
impl Default for tm_graph_imported_comment_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_graph_import_result_t {
pub nodes: *mut tm_graph_imported_node_t,
pub connections: *mut tm_graph_imported_connection_t,
pub datas: *mut tm_graph_imported_data_t,
pub comments: *mut tm_graph_imported_comment_t,
pub node_connectors: *mut tm_graph_node_connectors_t,
pub node_graph_ids: *mut tm_tt_id_t,
pub num_nodes: u32,
pub num_connections: u32,
pub num_datas: u32,
pub num_comments: u32,
}
impl Default for tm_graph_import_result_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_graph_importer_luts_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_graph_importer_api {
pub create_lookup_tables: ::std::option::Option<
unsafe extern "C" fn(
a: *mut tm_allocator_i,
types: *const tm_graph_node_type_i,
num_types: u32,
) -> *mut tm_graph_importer_luts_o,
>,
pub destroy_lookup_tables:
::std::option::Option<unsafe extern "C" fn(luts: *mut tm_graph_importer_luts_o)>,
pub import_shallow: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
graph_id: tm_tt_id_t,
types: *const tm_graph_node_type_i,
num_types: u32,
ta: *mut tm_temp_allocator_i,
luts: *const tm_graph_importer_luts_o,
) -> tm_graph_import_result_t,
>,
pub import_flattened: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
graph_id: tm_tt_id_t,
types: *const tm_graph_node_type_i,
num_types: u32,
ta: *mut tm_temp_allocator_i,
luts: *const tm_graph_importer_luts_o,
) -> tm_graph_import_result_t,
>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_graph_interpreter_o {
_unused: [u8; 0],
}
pub const TM_TT_PROP__GRAPH_COMPONENT__GRAPH: ::std::os::raw::c_int = 0;
pub type _bindgen_ty_121 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_graph_component_t {
pub gr: *mut tm_graph_interpreter_o,
}
impl Default for tm_graph_component_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub const TM_TT_PROP__ENTITY_GRAPH__GRAPH: ::std::os::raw::c_int = 0;
pub type _bindgen_ty_122 = ::std::os::raw::c_int;
pub type tm_graph_component_compile_data_i = ::std::option::Option<
unsafe extern "C" fn(
gr: *mut tm_graph_interpreter_o,
wire: u32,
tt: *const tm_the_truth_o,
data_id: tm_tt_id_t,
to_type_hash: u64,
) -> bool,
>;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_graph_component_api {
pub create_truth_types: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
pub create: ::std::option::Option<unsafe extern "C" fn(ctx: *mut tm_entity_context_o)>,
pub run_event:
::std::option::Option<unsafe extern "C" fn(ctx: *mut tm_entity_context_o, event: u64)>,
pub tick_queues: ::std::option::Option<unsafe extern "C" fn(ctx: *mut tm_entity_context_o)>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_graph_component_compile_context_t {
pub tt: *const tm_the_truth_o,
pub entity_asset_id: tm_tt_id_t,
pub graph_id: tm_tt_id_t,
pub settings_id: tm_tt_id_t,
pub connectors: *mut tm_graph_node_connectors_t,
}
impl Default for tm_graph_component_compile_context_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_graph_component_node_type_i {
pub __bindgen_padding_0: [u64; 232usize],
pub run: ::std::option::Option<unsafe extern "C" fn(ctx: *mut tm_graph_interpreter_context_t)>,
pub compile: ::std::option::Option<
unsafe extern "C" fn(
ctx: *mut tm_graph_interpreter_context_t,
compile_ctx: *mut tm_graph_component_compile_context_t,
),
>,
}
pub const TM_GRAPH_COMPONENT__STATIC_WIRE__SINK: ::std::os::raw::c_int = 0;
pub const TM_GRAPH_COMPONENT__STATIC_WIRE__ENTITY_CONTEXT: ::std::os::raw::c_int = 1;
pub const TM_GRAPH_COMPONENT__STATIC_WIRE__ENTITY: ::std::os::raw::c_int = 2;
pub const TM_GRAPH_COMPONENT__STATIC_WIRE__EVENT_DATA: ::std::os::raw::c_int = 3;
pub const TM_GRAPH_COMPONENT__STATIC_WIRE__USER_DATA: ::std::os::raw::c_int = 4;
pub const TM_GRAPH_COMPONENT__STATIC_WIRE__COUNT: ::std::os::raw::c_int = 5;
pub type _bindgen_ty_123 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_graph_interpreter_wire_content_t {
pub n: u32,
pub size: u32,
pub data: *mut ::std::os::raw::c_void,
}
impl Default for tm_graph_interpreter_wire_content_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_graph_interpreter_context_t {
pub interpreter: *mut tm_graph_interpreter_o,
pub node: u32,
pub _padding_55: [::std::os::raw::c_char; 4usize],
pub node_type: *const tm_graph_node_type_i,
pub wires: *const u32,
}
impl Default for tm_graph_interpreter_context_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub type tm_graph_interpreter_run_node_f =
::std::option::Option<unsafe extern "C" fn(ctx: *mut tm_graph_interpreter_context_t)>;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_graph_interpreter_node_t {
pub f: tm_graph_interpreter_run_node_f,
pub wires_index: u32,
pub _padding_86: [::std::os::raw::c_char; 4usize],
pub node_type: *const tm_graph_node_type_i,
pub dependencies_index: u32,
pub _padding_97: [::std::os::raw::c_char; 4usize],
}
impl Default for tm_graph_interpreter_node_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_graph_interpreter_api {
pub create_graph_interpreter: ::std::option::Option<
unsafe extern "C" fn(allocator: *mut tm_allocator_i) -> *mut tm_graph_interpreter_o,
>,
pub destroy_graph_interpreter:
::std::option::Option<unsafe extern "C" fn(gr: *mut tm_graph_interpreter_o)>,
pub set_graph: ::std::option::Option<
unsafe extern "C" fn(
gr: *mut tm_graph_interpreter_o,
nodes: *const tm_graph_interpreter_node_t,
num_nodes: u32,
num_wires: u32,
node_wires: *mut u32,
num_node_wires: u32,
dependencies: *mut u32,
num_dependencies: u32,
),
>,
pub run_node_at_index:
::std::option::Option<unsafe extern "C" fn(gr: *mut tm_graph_interpreter_o, node: u32)>,
pub add_event_node: ::std::option::Option<
unsafe extern "C" fn(gr: *mut tm_graph_interpreter_o, e: u64, node: u32),
>,
pub trigger_event:
::std::option::Option<unsafe extern "C" fn(gr: *mut tm_graph_interpreter_o, e: u64)>,
pub trigger_wire:
::std::option::Option<unsafe extern "C" fn(gr: *mut tm_graph_interpreter_o, wire: u32)>,
pub queue_wire: ::std::option::Option<
unsafe extern "C" fn(gr: *mut tm_graph_interpreter_o, wire: u32, delay: f32),
>,
pub tick_queue:
::std::option::Option<unsafe extern "C" fn(gr: *mut tm_graph_interpreter_o, dt: f32)>,
pub get_node_run_context: ::std::option::Option<
unsafe extern "C" fn(
gr: *mut tm_graph_interpreter_o,
node: u32,
) -> tm_graph_interpreter_context_t,
>,
pub read_wire: ::std::option::Option<
unsafe extern "C" fn(
gr: *mut tm_graph_interpreter_o,
wire: u32,
) -> tm_graph_interpreter_wire_content_t,
>,
pub read_wires: ::std::option::Option<
unsafe extern "C" fn(
gr: *mut tm_graph_interpreter_o,
content: *mut tm_graph_interpreter_wire_content_t,
wires: *const u32,
n: u32,
),
>,
pub read_wires_indirect: ::std::option::Option<
unsafe extern "C" fn(
gr: *mut tm_graph_interpreter_o,
content: *mut *mut tm_graph_interpreter_wire_content_t,
wires: *const u32,
n: u32,
),
>,
pub write_wire: ::std::option::Option<
unsafe extern "C" fn(
gr: *mut tm_graph_interpreter_o,
wire: u32,
n: u32,
size: u32,
) -> *mut ::std::os::raw::c_void,
>,
pub read_variable: ::std::option::Option<
unsafe extern "C" fn(
gr: *mut tm_graph_interpreter_o,
variable: u64,
) -> tm_graph_interpreter_wire_content_t,
>,
pub write_variable: ::std::option::Option<
unsafe extern "C" fn(
gr: *mut tm_graph_interpreter_o,
variable: u64,
n: u32,
size: u32,
) -> *mut ::std::os::raw::c_void,
>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_https_request_header_t {
pub name: *const ::std::os::raw::c_char,
pub value: *const ::std::os::raw::c_char,
}
impl Default for tm_https_request_header_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_https_request_fingerprint_t {
pub data: [::std::os::raw::c_char; 20usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_https_request_t {
pub method: *const ::std::os::raw::c_char,
pub host: *const ::std::os::raw::c_char,
pub hostaddr: u32,
pub port: u32,
pub path: *const ::std::os::raw::c_char,
pub num_headers: u32,
pub _padding_79: [::std::os::raw::c_char; 4usize],
pub headers: *const tm_https_request_header_t,
pub body: *const ::std::os::raw::c_char,
pub id: u64,
pub fingerprint: tm_https_request_fingerprint_t,
pub num_trust_anchors: u32,
pub trust_anchors: *const ::std::os::raw::c_void,
}
impl Default for tm_https_request_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub const tm_https_status_TM_HTTPS_STATUS__IN_PROGRESS: tm_https_status = 0;
pub const tm_https_status_TM_HTTPS_STATUS__ERROR: tm_https_status = 1;
pub const tm_https_status_TM_HTTPS_STATUS__SUCCESS: tm_https_status = 2;
pub const tm_https_status_TM_HTTPS_STATUS__NOT_OPEN: tm_https_status = 3;
pub const tm_https_status_TM_HTTPS_STATUS__NOT_FOUND: tm_https_status = 4;
pub type tm_https_status = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_https_response_header_t {
pub name: *const ::std::os::raw::c_char,
pub name_hash: u64,
pub value: *const ::std::os::raw::c_char,
}
impl Default for tm_https_response_header_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_https_response_t {
pub status: tm_https_status,
pub _padding_161: [::std::os::raw::c_char; 4usize],
pub error: *const ::std::os::raw::c_char,
pub raw_header: *const ::std::os::raw::c_char,
pub http_status_code: u32,
pub _padding_179: [::std::os::raw::c_char; 4usize],
pub http_status: *const ::std::os::raw::c_char,
pub headers: *mut tm_https_response_header_t,
pub content_length: u64,
pub content_received: u64,
pub body: *mut ::std::os::raw::c_char,
}
impl Default for tm_https_response_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_https_progress_t {
pub content_length: u64,
pub content_received: u64,
pub speed: f32,
pub cancel: bool,
pub _padding_225: [::std::os::raw::c_char; 3usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_https_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_https_api {
pub get: ::std::option::Option<
unsafe extern "C" fn(
req: *const tm_https_request_t,
ta: *mut tm_temp_allocator_i,
progress: *mut tm_https_progress_t,
) -> tm_https_response_t,
>,
pub get_to_file: ::std::option::Option<
unsafe extern "C" fn(
req: *const tm_https_request_t,
filename: *const ::std::os::raw::c_char,
ta: *mut tm_temp_allocator_i,
progress: *mut tm_https_progress_t,
) -> tm_https_response_t,
>,
pub create:
::std::option::Option<unsafe extern "C" fn(parent: *mut tm_allocator_i) -> *mut tm_https_o>,
pub destroy: ::std::option::Option<unsafe extern "C" fn(https: *mut tm_https_o)>,
pub open: ::std::option::Option<
unsafe extern "C" fn(https: *mut tm_https_o, req: *mut tm_https_request_t),
>,
pub response: ::std::option::Option<
unsafe extern "C" fn(
https: *mut tm_https_o,
req: *const tm_https_request_t,
) -> tm_https_response_t,
>,
pub close: ::std::option::Option<
unsafe extern "C" fn(https: *mut tm_https_o, req: *mut tm_https_request_t),
>,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_openvr_submit_data_t {
pub right_eye_bounds: tm_rect_t,
pub right_eye_resource: u32,
pub right_eye_resource_state: u16,
pub _padding_20: [::std::os::raw::c_char; 2usize],
pub left_eye_bounds: tm_rect_t,
pub left_eye_resource: u32,
pub left_eye_resource_state: u16,
pub _padding_29: [::std::os::raw::c_char; 2usize],
}
pub const TM_OPENVR_INVALID_CONTEXT: ::std::os::raw::c_int = 0;
pub type _bindgen_ty_124 = ::std::os::raw::c_int;
pub const tm_openvr_eye_TM_OPENVR_EYE_LEFT: tm_openvr_eye = 0;
pub const tm_openvr_eye_TM_OPENVR_EYE_RIGHT: tm_openvr_eye = 1;
pub type tm_openvr_eye = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_openvr_api {
pub load: ::std::option::Option<
unsafe extern "C" fn(dll_path: *const ::std::os::raw::c_char) -> bool,
>,
pub unload: ::std::option::Option<unsafe extern "C" fn()>,
pub init_context: ::std::option::Option<unsafe extern "C" fn() -> u32>,
pub shutdown_context: ::std::option::Option<unsafe extern "C" fn(context: u32)>,
pub update: ::std::option::Option<unsafe extern "C" fn(context: u32) -> bool>,
pub submit_vulkan: ::std::option::Option<
unsafe extern "C" fn(
context: u32,
vulkan_backend: *mut tm_vulkan_backend_i,
device_affinity: u32,
data: *const tm_openvr_submit_data_t,
) -> bool,
>,
pub wanted_image_size: ::std::option::Option<
unsafe extern "C" fn(context: u32, width: *mut u32, height: *mut u32),
>,
pub frustum_planes: ::std::option::Option<
unsafe extern "C" fn(
context: u32,
eye: tm_openvr_eye,
left: *mut f32,
right: *mut f32,
top: *mut f32,
bottom: *mut f32,
),
>,
pub head_to_eye_transform: ::std::option::Option<
unsafe extern "C" fn(context: u32, tm: *mut tm_mat44_t, eye: tm_openvr_eye),
>,
pub head_transform:
::std::option::Option<unsafe extern "C" fn(context: u32, tm: *mut tm_mat44_t)>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_display_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_os_display_api {
pub num_displays: ::std::option::Option<unsafe extern "C" fn() -> u32>,
pub display: ::std::option::Option<unsafe extern "C" fn(index: u32) -> *mut tm_display_o>,
pub os_display_rect:
::std::option::Option<unsafe extern "C" fn(display: *const tm_display_o) -> tm_rect_t>,
pub os_display_dpi_scale_factor:
::std::option::Option<unsafe extern "C" fn(display: *const tm_display_o) -> f32>,
pub refresh_display_enumeration: ::std::option::Option<unsafe extern "C" fn()>,
}
pub const tm_os_window_style_TM_OS_WINDOW_STYLE_VISIBLE: tm_os_window_style = 1;
pub const tm_os_window_style_TM_OS_WINDOW_STYLE_CENTERED: tm_os_window_style = 2;
pub const tm_os_window_style_TM_OS_WINDOW_STYLE_BORDERLESS: tm_os_window_style = 4;
pub const tm_os_window_style_TM_OS_WINDOW_STYLE_DPI_SCALING_AWARE: tm_os_window_style = 8;
pub type tm_os_window_style = ::std::os::raw::c_int;
pub const tm_os_window_state_TM_OS_WINDOW_STATE_MAXIMIZE: tm_os_window_state = 0;
pub const tm_os_window_state_TM_OS_WINDOW_STATE_MINIMIZE: tm_os_window_state = 1;
pub const tm_os_window_state_TM_OS_WINDOW_STATE_NORMAL: tm_os_window_state = 2;
pub type tm_os_window_state = ::std::os::raw::c_int;
pub const tm_os_window_cursor_mode_TM_OS_WINDOW_CURSOR_MODE_VISIBLE_AND_FREE:
tm_os_window_cursor_mode = 0;
pub const tm_os_window_cursor_mode_TM_OS_WINDOW_CURSOR_MODE_VISIBLE_AND_CONSTRAINED:
tm_os_window_cursor_mode = 1;
pub const tm_os_window_cursor_mode_TM_OS_WINDOW_CURSOR_MODE_HIDDEN_AND_LOCKED:
tm_os_window_cursor_mode = 2;
pub type tm_os_window_cursor_mode = ::std::os::raw::c_int;
pub const tm_os_window_cursor_TM_OS_WINDOW_CURSOR_DEFAULT: tm_os_window_cursor = 0;
pub const tm_os_window_cursor_TM_OS_WINDOW_CURSOR_POINTER: tm_os_window_cursor = 1;
pub const tm_os_window_cursor_TM_OS_WINDOW_CURSOR_TEXT: tm_os_window_cursor = 2;
pub const tm_os_window_cursor_TM_OS_WINDOW_CURSOR_MOVE: tm_os_window_cursor = 3;
pub const tm_os_window_cursor_TM_OS_WINDOW_CURSOR_ALL_SCROLL: tm_os_window_cursor = 4;
pub const tm_os_window_cursor_TM_OS_WINDOW_CURSOR_COL_RESIZE: tm_os_window_cursor = 5;
pub const tm_os_window_cursor_TM_OS_WINDOW_CURSOR_ROW_RESIZE: tm_os_window_cursor = 6;
pub const tm_os_window_cursor_TM_OS_WINDOW_CURSOR_EW_RESIZE: tm_os_window_cursor = 7;
pub const tm_os_window_cursor_TM_OS_WINDOW_CURSOR_NS_RESIZE: tm_os_window_cursor = 8;
pub const tm_os_window_cursor_TM_OS_WINDOW_CURSOR_NESW_RESIZE: tm_os_window_cursor = 9;
pub const tm_os_window_cursor_TM_OS_WINDOW_CURSOR_NWSE_RESIZE: tm_os_window_cursor = 10;
pub const tm_os_window_cursor_TM_OS_WINDOW_CURSOR_DRAG_AND_DROP: tm_os_window_cursor = 11;
pub const tm_os_window_cursor_TM_OS_WINDOW_CURSOR_DRAG_NO_DROP: tm_os_window_cursor = 12;
pub const tm_os_window_cursor_TM_OS_WINDOW_CURSOR_HIDE: tm_os_window_cursor = 13;
pub type tm_os_window_cursor = ::std::os::raw::c_int;
pub const tm_os_window_adjust_rect_TM_OS_WINDOW_ADJUST_RECT_TO_PIXELS: tm_os_window_adjust_rect = 0;
pub const tm_os_window_adjust_rect_TM_OS_WINDOW_ADJUST_RECT_TO_VIRTUAL: tm_os_window_adjust_rect =
1;
pub type tm_os_window_adjust_rect = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_window_platform_data_win32_o {
pub hwnd: u64,
pub hinstance: u64,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_window_platform_data_macosx_o {
pub nswindow: *mut ::std::os::raw::c_void,
}
impl Default for tm_window_platform_data_macosx_o {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_window_platform_data_o {
pub __bindgen_anon_1: tm_window_platform_data_o__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union tm_window_platform_data_o__bindgen_ty_1 {
pub win32: tm_window_platform_data_win32_o,
pub macosx: tm_window_platform_data_macosx_o,
_bindgen_union_align: [u64; 2usize],
}
impl Default for tm_window_platform_data_o__bindgen_ty_1 {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
impl Default for tm_window_platform_data_o {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_window_status_t {
pub has_focus: bool,
pub is_under_cursor: bool,
pub is_minimized: bool,
pub is_maximized: bool,
pub is_hidden: bool,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_window_update_result_t {
pub focus_changed: bool,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_os_dropped_file_t {
pub filename: *mut ::std::os::raw::c_char,
pub position: tm_vec2_t,
}
impl Default for tm_os_dropped_file_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_os_window_api {
pub create_window: ::std::option::Option<
unsafe extern "C" fn(
title: *const ::std::os::raw::c_char,
rect: tm_rect_t,
style_flags: tm_os_window_style,
center_display: *const tm_display_o,
) -> *mut tm_window_o,
>,
pub update_window: ::std::option::Option<
unsafe extern "C" fn(window: *mut tm_window_o) -> tm_window_update_result_t,
>,
pub wait: ::std::option::Option<unsafe extern "C" fn()>,
pub destroy_window: ::std::option::Option<unsafe extern "C" fn(window: *mut tm_window_o)>,
pub set_rect:
::std::option::Option<unsafe extern "C" fn(window: *mut tm_window_o, rect: tm_rect_t)>,
pub rect: ::std::option::Option<unsafe extern "C" fn(window: *const tm_window_o) -> tm_rect_t>,
pub dpi_scale_factor:
::std::option::Option<unsafe extern "C" fn(window: *const tm_window_o) -> f32>,
pub adjust_rect: ::std::option::Option<
unsafe extern "C" fn(
rect: tm_rect_t,
dpi_scale_factor: f32,
arg1: tm_os_window_adjust_rect,
) -> tm_rect_t,
>,
pub set_size: ::std::option::Option<
unsafe extern "C" fn(window: *mut tm_window_o, width: f32, height: f32),
>,
pub set_client_titlebar_area: ::std::option::Option<
unsafe extern "C" fn(window: *mut tm_window_o, left_margin: f32, right_margin: f32),
>,
pub has_user_requested_close:
::std::option::Option<unsafe extern "C" fn(window: *mut tm_window_o, reset: bool) -> bool>,
pub set_cursor_mode: ::std::option::Option<
unsafe extern "C" fn(window: *mut tm_window_o, cursor_mode: tm_os_window_cursor_mode),
>,
pub cursor_mode: ::std::option::Option<
unsafe extern "C" fn(window: *mut tm_window_o) -> tm_os_window_cursor_mode,
>,
pub set_cursor: ::std::option::Option<
unsafe extern "C" fn(window: *mut tm_window_o, cursor_mode: tm_os_window_cursor),
>,
pub cursor: ::std::option::Option<
unsafe extern "C" fn(window: *mut tm_window_o) -> tm_os_window_cursor,
>,
pub dropped_files: ::std::option::Option<
unsafe extern "C" fn(window: *mut tm_window_o) -> *const tm_os_dropped_file_t,
>,
pub status:
::std::option::Option<unsafe extern "C" fn(window: *mut tm_window_o) -> tm_window_status_t>,
pub platform_data: ::std::option::Option<
unsafe extern "C" fn(window: *const tm_window_o) -> tm_window_platform_data_o,
>,
pub window_from_point:
::std::option::Option<unsafe extern "C" fn(pos: tm_vec2_t) -> *mut tm_window_o>,
pub set_focus: ::std::option::Option<unsafe extern "C" fn(window: *mut tm_window_o)>,
pub set_window_state: ::std::option::Option<
unsafe extern "C" fn(window: *mut tm_window_o, state: tm_os_window_state),
>,
pub set_title: ::std::option::Option<
unsafe extern "C" fn(window: *mut tm_window_o, title: *const ::std::os::raw::c_char),
>,
}
pub const TM_TT_PROP__PHYSICS_BODY__MASS: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__PHYSICS_BODY__CENTER_OF_MASS: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__PHYSICS_BODY__INERTIA_TENSOR: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__PHYSICS_BODY__INERTIA_TENSOR_ROTATION: ::std::os::raw::c_int = 3;
pub const TM_TT_PROP__PHYSICS_BODY__KINEMATIC: ::std::os::raw::c_int = 4;
pub const TM_TT_PROP__PHYSICS_BODY__LINEAR_DAMPING: ::std::os::raw::c_int = 5;
pub const TM_TT_PROP__PHYSICS_BODY__ANGULAR_DAMPING: ::std::os::raw::c_int = 6;
pub const TM_TT_PROP__PHYSICS_BODY__DISABLE_GRAVITY: ::std::os::raw::c_int = 7;
pub const TM_TT_PROP__PHYSICS_BODY__ENABLE_CCD: ::std::os::raw::c_int = 8;
pub type _bindgen_ty_125 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_physics_body_component_t {
pub mass: f32,
pub center_of_mass: tm_vec3_t,
pub inertia_tensor: tm_vec3_t,
pub inertia_tensor_rotation: tm_vec4_t,
pub kinematic: bool,
pub disable_gravity: bool,
pub enable_ccd: bool,
pub _padding_32: [::std::os::raw::c_char; 1usize],
pub linear_damping: f32,
pub angular_damping: f32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_physics_body_compute_inertia_tensor_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_physics_body_compute_inertia_tensor_i {
pub inst: *mut tm_physics_body_compute_inertia_tensor_o,
pub compute: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_physics_body_compute_inertia_tensor_o,
tt: *mut tm_the_truth_o,
body: tm_tt_id_t,
mass: f32,
) -> tm_physics_body_component_t,
>,
}
impl Default for tm_physics_body_compute_inertia_tensor_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub const TM_TT_PROP__PHYSICS_COLLISION__COLLIDES_WITH: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__PHYSICS_COLLISION__NOTIFY_TOUCH_FOUND_WITH: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__PHYSICS_COLLISION__NOTIFY_TOUCH_PERSISTS_WITH: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__PHYSICS_COLLISION__NOTIFY_TOUCH_LOST_WITH: ::std::os::raw::c_int = 3;
pub type _bindgen_ty_126 = ::std::os::raw::c_int;
pub const tm_physics_joint_TM_PHYSICS_JOINT__NONE: tm_physics_joint = 0;
pub const tm_physics_joint_TM_PHYSICS_JOINT__FIXED: tm_physics_joint = 1;
pub const tm_physics_joint_TM_PHYSICS_JOINT__SPHERICAL: tm_physics_joint = 2;
pub const tm_physics_joint_TM_PHYSICS_JOINT__REVOLUTE: tm_physics_joint = 3;
pub const tm_physics_joint_TM_PHYSICS_JOINT__PRISMATIC: tm_physics_joint = 4;
pub const tm_physics_joint_TM_PHYSICS_JOINT__DISTANCE: tm_physics_joint = 5;
pub const tm_physics_joint_TM_PHYSICS_JOINT__D6: tm_physics_joint = 6;
pub type tm_physics_joint = ::std::os::raw::c_int;
pub const TM_TT_PROP__PHYSICS_JOINT_COMPONENT__JOINT: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__PHYSICS_JOINT_COMPONENT__BODY_0: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__PHYSICS_JOINT_COMPONENT__BODY_1: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__PHYSICS_JOINT_COMPONENT__LIMIT_ENABLED: ::std::os::raw::c_int = 3;
pub const TM_TT_PROP__PHYSICS_JOINT_COMPONENT__LIMIT_BOUNCE_THRESHOLD: ::std::os::raw::c_int = 4;
pub const TM_TT_PROP__PHYSICS_JOINT_COMPONENT__LIMIT_RESTITUTION: ::std::os::raw::c_int = 5;
pub const TM_TT_PROP__PHYSICS_JOINT_COMPONENT__LIMIT_STIFFNESS: ::std::os::raw::c_int = 6;
pub const TM_TT_PROP__PHYSICS_JOINT_COMPONENT__LIMIT_DAMPING: ::std::os::raw::c_int = 7;
pub const TM_TT_PROP__PHYSICS_JOINT_COMPONENT__BREAK_FORCE: ::std::os::raw::c_int = 8;
pub const TM_TT_PROP__PHYSICS_JOINT_COMPONENT__BREAK_TORQUE: ::std::os::raw::c_int = 9;
pub type _bindgen_ty_127 = ::std::os::raw::c_int;
pub const TM_TT_PROP__PHYSICS_JOINT__SPHERICAL__Y_ANGLE_LIMIT: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__PHYSICS_JOINT__SPHERICAL__Z_ANGLE_LIMIT: ::std::os::raw::c_int = 1;
pub type _bindgen_ty_128 = ::std::os::raw::c_int;
pub const TM_TT_PROP__PHYSICS_JOINT__REVOLUTE__LOWER_LIMIT: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__PHYSICS_JOINT__REVOLUTE__UPPER_LIMIT: ::std::os::raw::c_int = 1;
pub type _bindgen_ty_129 = ::std::os::raw::c_int;
pub const TM_TT_PROP__PHYSICS_JOINT__PRISMATIC__LOWER_LIMIT: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__PHYSICS_JOINT__PRISMATIC__UPPER_LIMIT: ::std::os::raw::c_int = 1;
pub type _bindgen_ty_130 = ::std::os::raw::c_int;
pub const TM_TT_PROP__PHYSICS_JOINT__DISTANCE__MIN: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__PHYSICS_JOINT__DISTANCE__MAX: ::std::os::raw::c_int = 1;
pub type _bindgen_ty_131 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_physics_joint_spherical_limits_t {
pub y_angle: f32,
pub z_angle: f32,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_physics_joint_revolute_limits_t {
pub lower: f32,
pub upper: f32,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_physics_joint_prismatic_limits_t {
pub lower: f32,
pub upper: f32,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_physics_joint_distance_limits_t {
pub min: f32,
pub max: f32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_physics_joint_component_t {
pub joint_type: u32,
pub _padding_99: [::std::os::raw::c_char; 4usize],
pub body_0: tm_entity_t,
pub body_1: tm_entity_t,
pub limit_enabled: bool,
pub _padding_102: [::std::os::raw::c_char; 3usize],
pub __bindgen_anon_1: tm_physics_joint_component_t__bindgen_ty_1,
pub limit_restitution: f32,
pub limit_bounce_threshold: f32,
pub limit_stiffness: f32,
pub limit_damping: f32,
pub break_force: f32,
pub break_torque: f32,
pub _padding_117: [::std::os::raw::c_char; 4usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union tm_physics_joint_component_t__bindgen_ty_1 {
pub spherical_limits: tm_physics_joint_spherical_limits_t,
pub revolute_limits: tm_physics_joint_revolute_limits_t,
pub prismatic_limits: tm_physics_joint_prismatic_limits_t,
pub distance_limits: tm_physics_joint_distance_limits_t,
_bindgen_union_align: [u32; 2usize],
}
impl Default for tm_physics_joint_component_t__bindgen_ty_1 {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
impl Default for tm_physics_joint_component_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub const TM_TT_PROP__PHYSICS_MATERIAL__STATIC_FRICTION: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__PHYSICS_MATERIAL__DYNAMIC_FRICTION: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__PHYSICS_MATERIAL__RESTITUTION: ::std::os::raw::c_int = 2;
pub type _bindgen_ty_132 = ::std::os::raw::c_int;
pub const TM_TT_PROP__PHYSICS_MOVER_COMPONENT__HEIGHT: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__PHYSICS_MOVER_COMPONENT__RADIUS: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__PHYSICS_MOVER_COMPONENT__COLLISION: ::std::os::raw::c_int = 2;
pub type _bindgen_ty_133 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_physics_mover_component_t {
pub height: f32,
pub radius: f32,
pub collision_id: tm_tt_id_t,
}
impl Default for tm_physics_mover_component_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub const tm_physics_shape_TM_PHYSICS_SHAPE__NONE: tm_physics_shape = 0;
pub const tm_physics_shape_TM_PHYSICS_SHAPE__SPHERE: tm_physics_shape = 1;
pub const tm_physics_shape_TM_PHYSICS_SHAPE__CAPSULE: tm_physics_shape = 2;
pub const tm_physics_shape_TM_PHYSICS_SHAPE__PLANE: tm_physics_shape = 3;
pub const tm_physics_shape_TM_PHYSICS_SHAPE__BOX: tm_physics_shape = 4;
pub const tm_physics_shape_TM_PHYSICS_SHAPE__CONVEX: tm_physics_shape = 5;
pub const tm_physics_shape_TM_PHYSICS_SHAPE__MESH: tm_physics_shape = 6;
pub type tm_physics_shape = ::std::os::raw::c_int;
pub const TM_TT_PROP__PHYSICS_SHAPE_COMPONENT__TYPE: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__PHYSICS_SHAPE_COMPONENT__SHAPE: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__PHYSICS_SHAPE_COMPONENT__MATERIAL: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__PHYSICS_SHAPE_COMPONENT__COLLISION: ::std::os::raw::c_int = 3;
pub const TM_TT_PROP__PHYSICS_SHAPE_COMPONENT__IS_TRIGGER: ::std::os::raw::c_int = 4;
pub type _bindgen_ty_134 = ::std::os::raw::c_int;
pub const TM_TT_PROP__PHYSICS_SHAPE__SPHERE__RADIUS: ::std::os::raw::c_int = 0;
pub type _bindgen_ty_135 = ::std::os::raw::c_int;
pub const TM_TT_PROP__PHYSICS_SHAPE__CAPSULE__RADIUS: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__PHYSICS_SHAPE__CAPSULE__HALF_HEIGHT: ::std::os::raw::c_int = 1;
pub type _bindgen_ty_136 = ::std::os::raw::c_int;
pub const TM_TT_PROP__PHYSICS_SHAPE__BOX__HALF_EXTENT: ::std::os::raw::c_int = 0;
pub type _bindgen_ty_137 = ::std::os::raw::c_int;
pub const TM_TT_PROP__PHYSICS_SHAPE__CONVEX__MESH: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__PHYSICS_SHAPE__CONVEX__FORMAT: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__PHYSICS_SHAPE__CONVEX__DATA: ::std::os::raw::c_int = 2;
pub type _bindgen_ty_138 = ::std::os::raw::c_int;
pub const TM_TT_PROP__PHYSICS_SHAPE__MESH__MESH: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__PHYSICS_SHAPE__MESH__FORMAT: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__PHYSICS_SHAPE__MESH__DATA: ::std::os::raw::c_int = 2;
pub type _bindgen_ty_139 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_physics_shape_sphere_t {
pub radius: f32,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_physics_shape_capsule_t {
pub radius: f32,
pub half_height: f32,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_physics_shape_box_t {
pub half_extent: tm_vec3_t,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_physics_shape_cooked_t {
pub format: *const ::std::os::raw::c_char,
pub data: *const u8,
pub size: u64,
}
impl Default for tm_physics_shape_cooked_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_physics_shape_material_t {
pub static_friction: f32,
pub dynamic_friction: f32,
pub restitution: f32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_physics_shape_component_t {
pub shape: u32,
pub _padding_106: [::std::os::raw::c_char; 4usize],
pub __bindgen_anon_1: tm_physics_shape_component_t__bindgen_ty_1,
pub material: tm_physics_shape_material_t,
pub _padding_116: [::std::os::raw::c_char; 4usize],
pub collision_id: tm_tt_id_t,
pub is_trigger: bool,
pub _padding_119: [::std::os::raw::c_char; 7usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union tm_physics_shape_component_t__bindgen_ty_1 {
pub sphere: tm_physics_shape_sphere_t,
pub capsule: tm_physics_shape_capsule_t,
pub box_: tm_physics_shape_box_t,
pub convex: tm_physics_shape_cooked_t,
pub mesh: tm_physics_shape_cooked_t,
_bindgen_union_align: [u64; 3usize],
}
impl Default for tm_physics_shape_component_t__bindgen_ty_1 {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
impl Default for tm_physics_shape_component_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_physics_shape_cooking_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_physics_shape_cooking_i {
pub inst: *mut tm_physics_shape_cooking_o,
pub cook_convex: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_physics_shape_cooking_o,
tt: *mut tm_the_truth_o,
convex: tm_tt_id_t,
undo_scope: tm_tt_undo_scope_t,
) -> *const ::std::os::raw::c_char,
>,
pub cook_mesh: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_physics_shape_cooking_o,
tt: *mut tm_the_truth_o,
mesh: tm_tt_id_t,
undo_scope: tm_tt_undo_scope_t,
) -> *const ::std::os::raw::c_char,
>,
}
impl Default for tm_physics_shape_cooking_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_physics_shape_drawing_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_physics_shape_drawing_i {
pub inst: *mut tm_physics_shape_drawing_o,
pub convex_lines: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_physics_shape_drawing_o,
convex: *const tm_physics_shape_cooked_t,
ta: *mut tm_temp_allocator_i,
) -> *const tm_vec3_t,
>,
pub mesh_lines: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_physics_shape_drawing_o,
mesh: *const tm_physics_shape_cooked_t,
ta: *mut tm_temp_allocator_i,
) -> *const tm_vec3_t,
>,
}
impl Default for tm_physics_shape_drawing_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_physics_shape_api {
pub load_component_from_truth: ::std::option::Option<
unsafe extern "C" fn(
c: *mut tm_physics_shape_component_t,
tt: *const tm_the_truth_o,
asset: tm_tt_id_t,
),
>,
}
pub type tm_physics_shape_geometry = ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
id: tm_tt_id_t,
ta: *mut tm_temp_allocator_i,
) -> tm_dcc_asset_geometry_t,
>;
pub const TM_TT_PROP__VELOCITY_COMPONENT__VELOCITY: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__VELOCITY_COMPONENT__ANGULAR_VELOCITY: ::std::os::raw::c_int = 1;
pub type _bindgen_ty_140 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_velocity_component_t {
pub velocity: tm_vec3_t,
pub angular_velocity: tm_vec3_t,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_physx_actor_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_physx_shape_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_physx_joint_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_physx_mover_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_physx_rigid_static_component_t {
pub actor: *mut tm_physx_actor_o,
}
impl Default for tm_physx_rigid_static_component_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_physx_rigid_body_component_t {
pub actor: *mut tm_physx_actor_o,
}
impl Default for tm_physx_rigid_body_component_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_physx_rigid_body_shape_component_t {
pub body_entity: tm_entity_t,
pub shape: *mut tm_physx_shape_o,
}
impl Default for tm_physx_rigid_body_shape_component_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_physx_joint_component_t {
pub joint: *mut tm_physx_joint_o,
}
impl Default for tm_physx_joint_component_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_physx_mover_component_t {
pub mover: *mut tm_physx_mover_o,
pub collision_idx: u32,
pub velocity: tm_vec3_t,
pub is_standing: bool,
pub _padding_66: [::std::os::raw::c_char; 7usize],
}
impl Default for tm_physx_mover_component_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub const TM_PHYSX_SCENE_FLAGS__EDITOR: ::std::os::raw::c_int = 1;
pub type _bindgen_ty_141 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_physx_raycast_flags_t {
pub ignore_static: bool,
pub ignore_dynamic: bool,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_physx_raycast_hit_t {
pub pos: tm_vec3_t,
pub normal: tm_vec3_t,
pub distance: f32,
pub _padding_97: [::std::os::raw::c_char; 4usize],
pub body: tm_entity_t,
pub shape: tm_entity_t,
}
impl Default for tm_physx_raycast_hit_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_physx_raycast_t {
pub has_block: bool,
pub _padding_111: [::std::os::raw::c_char; 7usize],
pub block: tm_physx_raycast_hit_t,
pub num_touches: u32,
pub _padding_118: [::std::os::raw::c_char; 4usize],
}
impl Default for tm_physx_raycast_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_physx_overlap_hit_t {
pub body: tm_entity_t,
pub shape: tm_entity_t,
}
impl Default for tm_physx_overlap_hit_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_physx_on_contact_t {
pub actor_0: tm_entity_t,
pub actor_1: tm_entity_t,
pub shape_0: tm_entity_t,
pub shape_1: tm_entity_t,
pub pos: tm_vec3_t,
pub normal: tm_vec3_t,
pub first_touch: bool,
pub lost_touch: bool,
pub _padding_158: [::std::os::raw::c_char; 6usize],
}
impl Default for tm_physx_on_contact_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_physx_on_trigger_t {
pub trigger_entity: tm_entity_t,
pub trigger_shape: tm_entity_t,
pub touched_entity: tm_entity_t,
pub touched_shape: tm_entity_t,
pub lost_touch: bool,
pub _padding_178: [::std::os::raw::c_char; 7usize],
}
impl Default for tm_physx_on_trigger_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_physx_on_joint_break_t {
pub joint: tm_entity_t,
}
impl Default for tm_physx_on_joint_break_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub const tm_physx_force_flags_TM_PHYSX_FORCE_FLAGS__FORCE: tm_physx_force_flags = 0;
pub const tm_physx_force_flags_TM_PHYSX_FORCE_FLAGS__IMPULSE: tm_physx_force_flags = 1;
pub const tm_physx_force_flags_TM_PHYSX_FORCE_FLAGS__ACCELERATION: tm_physx_force_flags = 2;
pub const tm_physx_force_flags_TM_PHYSX_FORCE_FLAGS__VELOCITY_CHANGE: tm_physx_force_flags = 3;
pub const tm_physx_force_flags_TM_PHYSX_FORCE_FLAGS__CONTINUOUS: tm_physx_force_flags = 4;
pub type tm_physx_force_flags = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_physx_scene_api {
pub create: ::std::option::Option<
unsafe extern "C" fn(ctx: *mut tm_entity_context_o, flags: u32) -> *mut tm_physx_scene_o,
>,
pub update: ::std::option::Option<unsafe extern "C" fn(physx: *mut tm_physx_scene_o, dt: f32)>,
pub visualize: ::std::option::Option<
unsafe extern "C" fn(
physx: *mut tm_physx_scene_o,
pbuffer: *mut tm_primitive_drawer_buffer_t,
vbuffer: *mut tm_primitive_drawer_buffer_t,
a: *mut tm_allocator_i,
),
>,
pub raycast: ::std::option::Option<
unsafe extern "C" fn(
physx: *mut tm_physx_scene_o,
from: tm_vec3_t,
dir: tm_vec3_t,
distance: f32,
collision_id: tm_tt_id_t,
flags: tm_physx_raycast_flags_t,
touches: *mut tm_physx_raycast_hit_t,
max_touches: u32,
) -> tm_physx_raycast_t,
>,
pub sweep: ::std::option::Option<
unsafe extern "C" fn(
physx: *mut tm_physx_scene_o,
shape: *const tm_physics_shape_component_t,
from: tm_vec3_t,
rot: tm_vec4_t,
dir: tm_vec3_t,
distance: f32,
collision_id: tm_tt_id_t,
flags: tm_physx_raycast_flags_t,
touches: *mut tm_physx_raycast_hit_t,
max_touches: u32,
) -> tm_physx_raycast_t,
>,
pub overlap: ::std::option::Option<
unsafe extern "C" fn(
physx: *mut tm_physx_scene_o,
shape: *const tm_physics_shape_component_t,
pos: tm_vec3_t,
rot: tm_vec4_t,
collision_id: tm_tt_id_t,
flags: tm_physx_raycast_flags_t,
touches: *mut tm_physx_overlap_hit_t,
max_touches: u32,
) -> u32,
>,
pub on_contact: ::std::option::Option<
unsafe extern "C" fn(physx: *mut tm_physx_scene_o) -> *mut tm_physx_on_contact_t,
>,
pub on_trigger: ::std::option::Option<
unsafe extern "C" fn(physx: *mut tm_physx_scene_o) -> *mut tm_physx_on_trigger_t,
>,
pub on_joint_break: ::std::option::Option<
unsafe extern "C" fn(physx: *mut tm_physx_scene_o) -> *mut tm_physx_on_joint_break_t,
>,
pub velocity: ::std::option::Option<
unsafe extern "C" fn(physx: *mut tm_physx_scene_o, e: tm_entity_t) -> tm_vec3_t,
>,
pub set_velocity: ::std::option::Option<
unsafe extern "C" fn(physx: *mut tm_physx_scene_o, e: tm_entity_t, vel: tm_vec3_t),
>,
pub angular_velocity: ::std::option::Option<
unsafe extern "C" fn(physx: *mut tm_physx_scene_o, e: tm_entity_t) -> tm_vec3_t,
>,
pub set_angular_velocity: ::std::option::Option<
unsafe extern "C" fn(physx: *mut tm_physx_scene_o, e: tm_entity_t, vel: tm_vec3_t),
>,
pub is_kinematic: ::std::option::Option<
unsafe extern "C" fn(physx: *mut tm_physx_scene_o, e: tm_entity_t) -> bool,
>,
pub set_kinematic: ::std::option::Option<
unsafe extern "C" fn(physx: *mut tm_physx_scene_o, e: tm_entity_t, is_kinematic: bool),
>,
pub add_force: ::std::option::Option<
unsafe extern "C" fn(
physx: *mut tm_physx_scene_o,
e: tm_entity_t,
force: tm_vec3_t,
flags: u32,
),
>,
pub add_torque: ::std::option::Option<
unsafe extern "C" fn(
physx: *mut tm_physx_scene_o,
e: tm_entity_t,
torque: tm_vec3_t,
flags: u32,
),
>,
pub add_force_at: ::std::option::Option<
unsafe extern "C" fn(
physx: *mut tm_physx_scene_o,
e: tm_entity_t,
force: tm_vec3_t,
pos: tm_vec3_t,
flags: u32,
),
>,
pub push: ::std::option::Option<
unsafe extern "C" fn(
physx: *mut tm_physx_scene_o,
e: tm_entity_t,
vel: tm_vec3_t,
mass: f32,
),
>,
pub push_at: ::std::option::Option<
unsafe extern "C" fn(
physx: *mut tm_physx_scene_o,
e: tm_entity_t,
vel: tm_vec3_t,
mass: f32,
pos: tm_vec3_t,
),
>,
pub break_joint:
::std::option::Option<unsafe extern "C" fn(physx: *mut tm_physx_scene_o, e: tm_entity_t)>,
pub is_joint_broken: ::std::option::Option<
unsafe extern "C" fn(physx: *mut tm_physx_scene_o, e: tm_entity_t) -> bool,
>,
}
pub const TM_RENDERER_STATE_BLOCK_TYPE_TESSELLATION: ::std::os::raw::c_int = 0;
pub const TM_RENDERER_STATE_BLOCK_TYPE_RASTER: ::std::os::raw::c_int = 1;
pub const TM_RENDERER_STATE_BLOCK_TYPE_DEPTH_STENCIL: ::std::os::raw::c_int = 2;
pub const TM_RENDERER_STATE_BLOCK_TYPE_TEXTURE_SAMPLER: ::std::os::raw::c_int = 3;
pub const TM_RENDERER_STATE_BLOCK_TYPE_RENDER_TARGET_BLEND: ::std::os::raw::c_int = 4;
pub const TM_RENDERER_STATE_BLOCK_TYPE_BLEND: ::std::os::raw::c_int = 5;
pub const TM_RENDERER_STATE_BLOCK_TYPE_MULTI_SAMPLE: ::std::os::raw::c_int = 6;
pub const TM_RENDERER_STATE_BLOCK_TYPE_MAX_STATE_BLOCK_TYPES: ::std::os::raw::c_int = 7;
pub type _bindgen_ty_142 = ::std::os::raw::c_int;
pub const TM_RENDERER_VALUE_TYPE_BOOL: ::std::os::raw::c_int = 0;
pub const TM_RENDERER_VALUE_TYPE_UINT32: ::std::os::raw::c_int = 1;
pub const TM_RENDERER_VALUE_TYPE_FLOAT32: ::std::os::raw::c_int = 2;
pub const TM_RENDERER_VALUE_TYPE_COMPARE_OP: ::std::os::raw::c_int = 3;
pub const TM_RENDERER_VALUE_TYPE_CULL: ::std::os::raw::c_int = 4;
pub const TM_RENDERER_VALUE_TYPE_FRONT_FACE: ::std::os::raw::c_int = 5;
pub const TM_RENDERER_VALUE_TYPE_POLYGON_MODE: ::std::os::raw::c_int = 6;
pub const TM_RENDERER_VALUE_TYPE_STENCIL_OP: ::std::os::raw::c_int = 7;
pub const TM_RENDERER_VALUE_TYPE_FILTER: ::std::os::raw::c_int = 8;
pub const TM_RENDERER_VALUE_TYPE_MIP_MODE: ::std::os::raw::c_int = 9;
pub const TM_RENDERER_VALUE_TYPE_ADDRESS_MODE: ::std::os::raw::c_int = 10;
pub const TM_RENDERER_VALUE_TYPE_BORDER_COLOR: ::std::os::raw::c_int = 11;
pub const TM_RENDERER_VALUE_TYPE_BLEND_FACTOR: ::std::os::raw::c_int = 12;
pub const TM_RENDERER_VALUE_TYPE_BLEND_OPERATION: ::std::os::raw::c_int = 13;
pub const TM_RENDERER_VALUE_TYPE_BLEND_WRITE_MASK: ::std::os::raw::c_int = 14;
pub const TM_RENDERER_VALUE_TYPE_LOGICAL_OPERATION: ::std::os::raw::c_int = 15;
pub const TM_RENDERER_VALUE_TYPE_STATE_BLOCK: ::std::os::raw::c_int = -16777216;
pub const TM_RENDERER_VALUE_TYPE_MAX_VALUE_TYPES: ::std::os::raw::c_int = -16777215;
pub type _bindgen_ty_143 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_renderer_shader_blob_t {
pub size: u64,
pub data: *mut u8,
}
impl Default for tm_renderer_shader_blob_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_renderer_image_subresource_layers_t {
pub first_layer: u16,
pub layer_count: u16,
pub first_mip: u16,
pub mip_levels: u16,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_renderer_image_offset_t {
pub x: u16,
pub y: u16,
pub z: u16,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_renderer_image_extent_t {
pub width: u16,
pub height: u16,
pub depth: u16,
}
pub const tm_renderer_queue_TM_RENDERER_QUEUE_GRAPHICS: tm_renderer_queue = 0;
pub const tm_renderer_queue_TM_RENDERER_QUEUE_COMPUTE: tm_renderer_queue = 1;
pub const tm_renderer_queue_TM_RENDERER_QUEUE_TRANSFER: tm_renderer_queue = 2;
pub type tm_renderer_queue = ::std::os::raw::c_int;
pub const tm_renderer_resource_load_op_TM_RENDERER_RESOURCE_LOAD_OP_LOAD:
tm_renderer_resource_load_op = 0;
pub const tm_renderer_resource_load_op_TM_RENDERER_RESOURCE_LOAD_OP_CLEAR:
tm_renderer_resource_load_op = 1;
pub const tm_renderer_resource_load_op_TM_RENDERER_RESOURCE_LOAD_OP_DISCARD:
tm_renderer_resource_load_op = 2;
pub type tm_renderer_resource_load_op = ::std::os::raw::c_int;
pub const tm_renderer_resource_store_op_TM_RENDERER_RESOURCE_STORE_OP_STORE:
tm_renderer_resource_store_op = 0;
pub const tm_renderer_resource_store_op_TM_RENDERER_RESOURCE_STORE_OP_DISCARD:
tm_renderer_resource_store_op = 1;
pub type tm_renderer_resource_store_op = ::std::os::raw::c_int;
pub const tm_renderer_resource_state_TM_RENDERER_RESOURCE_STATE_VERTEX_INPUT:
tm_renderer_resource_state = 1;
pub const tm_renderer_resource_state_TM_RENDERER_RESOURCE_STATE_RENDER_TARGET:
tm_renderer_resource_state = 2;
pub const tm_renderer_resource_state_TM_RENDERER_RESOURCE_STATE_UAV: tm_renderer_resource_state = 4;
pub const tm_renderer_resource_state_TM_RENDERER_RESOURCE_STATE_RESOURCE:
tm_renderer_resource_state = 8;
pub const tm_renderer_resource_state_TM_RENDERER_RESOURCE_STATE_VERTEX_SHADER:
tm_renderer_resource_state = 16;
pub const tm_renderer_resource_state_TM_RENDERER_RESOURCE_STATE_HULL_SHADER:
tm_renderer_resource_state = 32;
pub const tm_renderer_resource_state_TM_RENDERER_RESOURCE_STATE_DOMAIN_SHADER:
tm_renderer_resource_state = 64;
pub const tm_renderer_resource_state_TM_RENDERER_RESOURCE_STATE_GEOMETRY_SHADER:
tm_renderer_resource_state = 128;
pub const tm_renderer_resource_state_TM_RENDERER_RESOURCE_STATE_PIXEL_SHADER:
tm_renderer_resource_state = 256;
pub const tm_renderer_resource_state_TM_RENDERER_RESOURCE_STATE_COMPUTE_SHADER:
tm_renderer_resource_state = 512;
pub const tm_renderer_resource_state_TM_RENDERER_RESOURCE_STATE_COPY_SOURCE:
tm_renderer_resource_state = 1024;
pub const tm_renderer_resource_state_TM_RENDERER_RESOURCE_STATE_COPY_DESTINATION:
tm_renderer_resource_state = 2048;
pub const tm_renderer_resource_state_TM_RENDERER_RESOURCE_STATE_INDIRECT_ARGUMENT:
tm_renderer_resource_state = 4096;
pub const tm_renderer_resource_state_TM_RENDERER_RESOURCE_STATE_PRESENT:
tm_renderer_resource_state = 8192;
pub type tm_renderer_resource_state = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_renderer_command_buffer {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_renderer_render_pass_bind_render_target_t {
pub resource: u32,
pub aspect: u32,
pub initial_state: u16,
pub final_state: u16,
pub load_op: u8,
pub store_op: u8,
pub stencil_load_op: u8,
pub stencil_store_op: u8,
}
pub const TM_RENDERER_MAX_RENDER_TARGETS: ::std::os::raw::c_int = 8;
pub type _bindgen_ty_144 = ::std::os::raw::c_int;
pub const TM_RENDERER_MAX_QUEUE_FENCES: ::std::os::raw::c_int = 4;
pub type _bindgen_ty_145 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_renderer_scheduling_t {
pub wait_queue_fences: [u32; 4usize],
pub wait_device_affinity_masks: [u32; 4usize],
pub num_wait_fences: u32,
pub signal_queue_fence: u32,
pub signal_device_affinity_mask: u32,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_renderer_render_pass_bind_t {
pub device_affinity_mask: u32,
pub render_targets: [tm_renderer_render_pass_bind_render_target_t; 8usize],
pub depth_stencil_target: tm_renderer_render_pass_bind_render_target_t,
pub scheduling: tm_renderer_scheduling_t,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_renderer_queue_bind_t {
pub device_affinity_mask: u32,
pub queue_family: u8,
pub queue_index: u8,
pub _padding_154: [::std::os::raw::c_char; 2usize],
pub scheduling: tm_renderer_scheduling_t,
}
pub const TM_RENDERER_MAX_VIEWPORTS_SCISSOR_RECTS: ::std::os::raw::c_int = 8;
pub type _bindgen_ty_146 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_renderer_set_viewports_t {
pub viewports: [tm_renderer_set_viewports_t__bindgen_ty_1; 8usize],
pub num_viewports: u32,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_renderer_set_viewports_t__bindgen_ty_1 {
pub x: f32,
pub y: f32,
pub width: f32,
pub height: f32,
pub min_depth: f32,
pub max_depth: f32,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_renderer_set_scissor_rects_t {
pub rects: [tm_renderer_set_scissor_rects_t__bindgen_ty_1; 8usize],
pub num_rects: u32,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_renderer_set_scissor_rects_t__bindgen_ty_1 {
pub x: i32,
pub y: i32,
pub width: u32,
pub height: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_renderer_begin_statistics_t {
pub category: *const ::std::os::raw::c_char,
pub name: *const ::std::os::raw::c_char,
pub flags: u32,
pub _padding_197: [::std::os::raw::c_char; 4usize],
pub uid: u64,
pub backend_data: [u32; 8usize],
}
impl Default for tm_renderer_begin_statistics_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_renderer_end_statistics_t {
pub uid: u64,
pub backend_data: [u32; 8usize],
}
pub const tm_renderer_dispatch_type_TM_RENDERER_DISPATCH_TYPE_NORMAL: tm_renderer_dispatch_type = 0;
pub const tm_renderer_dispatch_type_TM_RENDERER_DISPATCH_TYPE_INDIRECT: tm_renderer_dispatch_type =
1;
pub type tm_renderer_dispatch_type = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_renderer_dispatch_command_t {
pub group_count: [u32; 3usize],
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_renderer_dispatch_indirect_command_t {
pub indirect_buffer: u32,
pub _padding_226: [::std::os::raw::c_char; 4usize],
pub offset: u64,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_renderer_compute_info_t {
pub dispatch_type: u8,
pub _padding_234: [::std::os::raw::c_char; 7usize],
pub __bindgen_anon_1: tm_renderer_compute_info_t__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union tm_renderer_compute_info_t__bindgen_ty_1 {
pub dispatch: tm_renderer_dispatch_command_t,
pub indirect: tm_renderer_dispatch_indirect_command_t,
_bindgen_union_align: [u64; 2usize],
}
impl Default for tm_renderer_compute_info_t__bindgen_ty_1 {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
impl Default for tm_renderer_compute_info_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub const tm_renderer_primitive_type_TM_RENDERER_PRIMITIVE_TYPE_TRIANGLE_LIST:
tm_renderer_primitive_type = 0;
pub const tm_renderer_primitive_type_TM_RENDERER_PRIMITIVE_TYPE_LINE_LIST:
tm_renderer_primitive_type = 1;
pub const tm_renderer_primitive_type_TM_RENDERER_PRIMITIVE_TYPE_POINT_LIST:
tm_renderer_primitive_type = 2;
pub const tm_renderer_primitive_type_TM_RENDERER_PRIMITIVE_TYPE_MAX_TYPES:
tm_renderer_primitive_type = 3;
pub type tm_renderer_primitive_type = ::std::os::raw::c_int;
pub const tm_renderer_draw_type_TM_RENDERER_DRAW_TYPE_NON_INDEXED: tm_renderer_draw_type = 0;
pub const tm_renderer_draw_type_TM_RENDERER_DRAW_TYPE_INDEXED: tm_renderer_draw_type = 1;
pub const tm_renderer_draw_type_TM_RENDERER_DRAW_TYPE_NON_INDEXED_INDIRECT: tm_renderer_draw_type =
2;
pub const tm_renderer_draw_type_TM_RENDERER_DRAW_TYPE_INDEXED_INDIRECT: tm_renderer_draw_type = 3;
pub type tm_renderer_draw_type = ::std::os::raw::c_int;
pub const tm_renderer_index_type_TM_RENDERER_INDEX_TYPE_UINT16: tm_renderer_index_type = 0;
pub const tm_renderer_index_type_TM_RENDERER_INDEX_TYPE_UINT32: tm_renderer_index_type = 1;
pub type tm_renderer_index_type = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_renderer_draw_command_t {
pub num_vertices: u32,
pub num_instances: u32,
pub first_vertex: u32,
pub first_instance: u32,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_renderer_draw_indexed_command_t {
pub num_indices: u32,
pub num_instances: u32,
pub first_index: u32,
pub vertex_offset: i32,
pub first_instance: u32,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_renderer_draw_indirect_command_t {
pub indirect_buffer: u32,
pub _padding_306: [::std::os::raw::c_char; 4usize],
pub offset: u64,
pub stride: u32,
pub num_draws: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_renderer_draw_call_info_t {
pub __bindgen_anon_1: tm_renderer_draw_call_info_t__bindgen_ty_1,
pub index_buffer: u32,
pub primitive_type: u8,
pub draw_type: u8,
pub index_type: u8,
pub _padding_337: [::std::os::raw::c_char; 1usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union tm_renderer_draw_call_info_t__bindgen_ty_1 {
pub non_indexed: tm_renderer_draw_command_t,
pub indexed: tm_renderer_draw_indexed_command_t,
pub indirect: tm_renderer_draw_indirect_command_t,
_bindgen_union_align: [u64; 3usize],
}
impl Default for tm_renderer_draw_call_info_t__bindgen_ty_1 {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
impl Default for tm_renderer_draw_call_info_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub const TM_RENDERER_MAX_RESOURCE_BINDERS: ::std::os::raw::c_int = 6;
pub const TM_RENDERER_MAX_PUSH_CONSTANTS: ::std::os::raw::c_int = 8;
pub const TM_RENDERER_MAX_SHADER_STATE_OVERRIDE_BLOCKS: ::std::os::raw::c_int = 4;
pub type _bindgen_ty_147 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_renderer_shader_state_override_blocks_t {
pub num_override_blocks: u8,
pub _padding_353: [::std::os::raw::c_char; 3usize],
pub shader_state_override_blocks: [u32; 4usize],
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_renderer_shader_resource_binders_t {
pub num_resource_binders: u8,
pub _padding_362: [::std::os::raw::c_char; 3usize],
pub resource_binders: [u32; 6usize],
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_renderer_shader_push_constants_t {
pub num_constants: u8,
pub _padding_371: [::std::os::raw::c_char; 3usize],
pub data: [u32; 8usize],
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_renderer_shader_info_t {
pub shader: u32,
pub state_override_blocks: tm_renderer_shader_state_override_blocks_t,
pub binders: tm_renderer_shader_resource_binders_t,
pub constants: tm_renderer_shader_push_constants_t,
pub sort_key: u64,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_renderer_shader_header_t {
pub shader: u32,
pub num_state_override_blocks: u16,
pub num_resource_binders: u16,
pub num_bytes_push_constants: u16,
pub _padding_398: [::std::os::raw::c_char; 2usize],
}
pub const tm_renderer_image_aspect_TM_RENDERER_IMAGE_ASPECT_DEFAULT: tm_renderer_image_aspect = 0;
pub const tm_renderer_image_aspect_TM_RENDERER_IMAGE_ASPECT_SRGB: tm_renderer_image_aspect = 1;
pub const tm_renderer_image_aspect_TM_RENDERER_IMAGE_ASPECT_DEPTH: tm_renderer_image_aspect = 2;
pub const tm_renderer_image_aspect_TM_RENDERER_IMAGE_ASPECT_STENCIL: tm_renderer_image_aspect = 3;
pub const tm_renderer_image_aspect_TM_RENDERER_IMAGE_ASPECT_ADDITONAL_VIEW:
tm_renderer_image_aspect = 134217728;
pub type tm_renderer_image_aspect = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_renderer_set_resource_t {
pub bind_point: u32,
pub resource_handle: u32,
pub resource_aspect_flag: u32,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_renderer_set_array_resources_t {
pub bind_point: u32,
pub first_element: u32,
pub n_handles: u32,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_renderer_update_buffer_command_t {
pub offset: u64,
pub size: u64,
pub device_affinity_mask: u32,
pub _padding_452: [::std::os::raw::c_char; 4usize],
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_renderer_update_image_buffer_command_t {
pub subresource: tm_renderer_image_subresource_layers_t,
pub offset: tm_renderer_image_offset_t,
pub extent: tm_renderer_image_extent_t,
pub _padding_461: [::std::os::raw::c_char; 4usize],
pub size: u64,
pub device_affinity_mask: u32,
pub _padding_466: [::std::os::raw::c_char; 4usize],
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_renderer_create_additional_image_views_t {
pub device_affinity_mask: u32,
pub num_views: u32,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_renderer_destroy_additional_image_views_t {
pub device_affinity_mask: u32,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_renderer_resource_barrier_header_t {
pub num_barriers: u32,
}
pub const tm_renderer_resource_barrier_flag_TM_RENDERER_RESOURCE_BARRIER_FLAG_IMAGE_ASPECT_STENCIL : tm_renderer_resource_barrier_flag = 1 ;
pub const tm_renderer_resource_barrier_flag_TM_RENDERER_RESOURCE_BARRIER_FLAG_SUBRESOURCE:
tm_renderer_resource_barrier_flag = 2;
pub type tm_renderer_resource_barrier_flag = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_renderer_resource_barrier_t {
pub resource_handle: u32,
pub source_state: u16,
pub destination_state: u16,
pub source_queue: u16,
pub destination_queue: u16,
pub barrier_flags: u16,
pub _padding_513: [::std::os::raw::c_char; 2usize],
pub __bindgen_anon_1: tm_renderer_resource_barrier_t__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union tm_renderer_resource_barrier_t__bindgen_ty_1 {
pub subresource_image: tm_renderer_resource_barrier_t__bindgen_ty_1__bindgen_ty_1,
pub subresource_buffer: tm_renderer_resource_barrier_t__bindgen_ty_1__bindgen_ty_2,
_bindgen_union_align: [u64; 2usize],
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_renderer_resource_barrier_t__bindgen_ty_1__bindgen_ty_1 {
pub first_layer: u16,
pub layer_count: u16,
pub first_mip_level: u16,
pub mip_count: u16,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_renderer_resource_barrier_t__bindgen_ty_1__bindgen_ty_2 {
pub offset: u64,
pub size: u64,
}
impl Default for tm_renderer_resource_barrier_t__bindgen_ty_1 {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
impl Default for tm_renderer_resource_barrier_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub const tm_renderer_copy_image_flags_TM_RENDERER_COPY_IMAGE_FLAG_IMAGE_ASPECT_STENCIL:
tm_renderer_copy_image_flags = 1;
pub const tm_renderer_copy_image_flags_TM_RENDERER_COPY_IMAGE_FLAG_SUBRESOURCE:
tm_renderer_copy_image_flags = 2;
pub type tm_renderer_copy_image_flags = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_renderer_copy_image_buffer_t {
pub source_resource: u32,
pub destination_resource: u32,
pub copy_flags: u16,
pub src_subresource_layers: tm_renderer_image_subresource_layers_t,
pub src_offset: tm_renderer_image_offset_t,
pub dst_subresource_layers: tm_renderer_image_subresource_layers_t,
pub dst_offset: tm_renderer_image_offset_t,
pub extent: tm_renderer_image_extent_t,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_renderer_copy_buffer_t {
pub source_resource: u32,
pub destination_resource: u32,
pub source_offset: u64,
pub destination_offset: u64,
pub size: u64,
}
pub const tm_renderer_read_image_flags_TM_RENDERER_READ_IMAGE_FLAG_IMAGE_ASPECT_STENCIL:
tm_renderer_read_image_flags = 1;
pub const tm_renderer_read_image_flags_TM_RENDERER_READ_IMAGE_FLAG_SUBRESOURCE:
tm_renderer_read_image_flags = 2;
pub type tm_renderer_read_image_flags = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_renderer_read_image_buffer_t {
pub device_affinity_mask: u32,
pub resource_handle: u32,
pub resource_state: u16,
pub resource_queue: u16,
pub read_flags: u16,
pub subresource_layers: tm_renderer_image_subresource_layers_t,
pub offset: tm_renderer_image_offset_t,
pub extent: tm_renderer_image_extent_t,
pub _padding_604: [::std::os::raw::c_char; 6usize],
pub bits: *mut ::std::os::raw::c_void,
pub size_bits: u64,
}
impl Default for tm_renderer_read_image_buffer_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_renderer_read_buffer_t {
pub device_affinity_mask: u32,
pub resource_handle: u32,
pub resource_state: u16,
pub resource_queue: u16,
pub _padding_622: [::std::os::raw::c_char; 4usize],
pub offset: u64,
pub size: u64,
pub bits: *mut ::std::os::raw::c_void,
}
impl Default for tm_renderer_read_buffer_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_device_memory_view_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_device_memory_view_api {
pub create: ::std::option::Option<
unsafe extern "C" fn(allocator: *mut tm_allocator_i) -> *mut tm_device_memory_view_o,
>,
pub destroy: ::std::option::Option<unsafe extern "C" fn(view: *mut tm_device_memory_view_o)>,
pub ui: ::std::option::Option<
unsafe extern "C" fn(
view: *mut tm_device_memory_view_o,
ui: *mut tm_ui_o,
uistyle: *const tm_ui_style_t,
content_r: tm_rect_t,
tab_id: u64,
),
>,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_nil_renderer_backend_api {
pub create: ::std::option::Option<
unsafe extern "C" fn(allocator: *mut tm_allocator_i) -> *mut tm_renderer_backend_i,
>,
pub destroy: ::std::option::Option<unsafe extern "C" fn(backend: *mut tm_renderer_backend_i)>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_renderer_api {
pub tm_renderer_memory_block_pool_o: *mut tm_renderer_memory_block_pool_o,
pub tm_renderer_command_buffer_pool_o: *mut tm_renderer_command_buffer_pool_o,
pub tm_renderer_resource_command_buffer_pool_o: *mut tm_renderer_resource_command_buffer_pool_o,
pub tm_renderer_command_buffer_pool_api: *mut tm_renderer_command_buffer_pool_api,
pub tm_renderer_command_buffer_api: *mut tm_renderer_command_buffer_api,
pub tm_renderer_command_buffer_sort_api: *mut tm_renderer_command_buffer_sort_api,
pub tm_renderer_resource_command_buffer_pool_api:
*mut tm_renderer_resource_command_buffer_pool_api,
pub tm_renderer_resource_command_buffer_api: *mut tm_renderer_resource_command_buffer_api,
}
impl Default for tm_renderer_api {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_renderer_init_api {
pub init: ::std::option::Option<
unsafe extern "C" fn(
allocator: *mut tm_allocator_i,
user_data_size: u64,
) -> *mut tm_renderer_api,
>,
pub shutdown: ::std::option::Option<unsafe extern "C" fn()>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_renderer_memory_statistics_allocation_t {
pub tag: *const ::std::os::raw::c_char,
pub offset: u64,
pub requested_size: u64,
pub allocated_size: u64,
}
impl Default for tm_renderer_memory_statistics_allocation_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_renderer_memory_statistics_allocator_t {
pub name: *const ::std::os::raw::c_char,
pub num_blocks: u32,
pub _padding_32: [::std::os::raw::c_char; 4usize],
pub block_size: [u64; 256usize],
}
impl Default for tm_renderer_memory_statistics_allocator_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_renderer_swap_chain_o {
pub opaque: u64,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_renderer_device_memory_o {
pub opaque: [u64; 6usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_renderer_backend_resource_allocator_i {
pub inst: *mut ::std::os::raw::c_void,
pub command_buffer_size_buffer: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut ::std::os::raw::c_void,
buffer: *const tm_renderer_buffer_t,
device_affinity_mask: u32,
) -> u32,
>,
pub command_buffer_size_image_buffer: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut ::std::os::raw::c_void,
image: *const tm_renderer_image_buffer_t,
device_affinity_mask: u32,
) -> u32,
>,
pub command_buffer_size_shader: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut ::std::os::raw::c_void,
shader: *const tm_renderer_shader_t,
device_affinity_mask: u32,
) -> u32,
>,
pub command_buffer_size_shader_state_override: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut ::std::os::raw::c_void,
state_override: *const tm_renderer_shader_state_override_t,
device_affinity_mask: u32,
) -> u32,
>,
pub command_buffer_size_sampler: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut ::std::os::raw::c_void,
sampler: *const tm_renderer_sampler_t,
device_affinity_mask: u32,
) -> u32,
>,
pub command_buffer_size_queue_fence: ::std::option::Option<
unsafe extern "C" fn(inst: *mut ::std::os::raw::c_void, device_affinity_mask: u32) -> u32,
>,
pub command_buffer_size_resource_binder: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut ::std::os::raw::c_void,
num_bind_points: u32,
device_affinity_mask: u32,
) -> u32,
>,
pub create_buffer: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut ::std::os::raw::c_void,
dest: *mut ::std::os::raw::c_void,
buffer: *const tm_renderer_buffer_t,
device_affinity_mask: u32,
) -> u32,
>,
pub create_image_buffer: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut ::std::os::raw::c_void,
dest: *mut ::std::os::raw::c_void,
image: *const tm_renderer_image_buffer_t,
device_affinity_mask: u32,
) -> u32,
>,
pub create_shader: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut ::std::os::raw::c_void,
dest: *mut ::std::os::raw::c_void,
shader: *const tm_renderer_shader_t,
device_affinity_mask: u32,
) -> u32,
>,
pub create_shader_state_override: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut ::std::os::raw::c_void,
dest: *mut ::std::os::raw::c_void,
state_override: *const tm_renderer_shader_state_override_t,
device_affinity_mask: u32,
) -> u32,
>,
pub create_sampler: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut ::std::os::raw::c_void,
dest: *mut ::std::os::raw::c_void,
sampler: *const tm_renderer_sampler_t,
device_affinity_mask: u32,
) -> u32,
>,
pub create_queue_fence: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut ::std::os::raw::c_void,
dest: *mut ::std::os::raw::c_void,
device_affinity_mask: u32,
) -> u32,
>,
pub create_resource_binder: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut ::std::os::raw::c_void,
dest: *mut ::std::os::raw::c_void,
bind_points: *const tm_renderer_resource_bind_point_t,
num_bind_points: u32,
device_affinity_mask: u32,
) -> u32,
>,
}
impl Default for tm_renderer_backend_resource_allocator_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_renderer_device_memory_allocator_i {
pub inst: *mut ::std::os::raw::c_void,
pub allocate_staging_memory_command: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut ::std::os::raw::c_void,
cmd_type: u32,
cmd_data: *mut ::std::os::raw::c_void,
device_affinity_mask: u32,
data: *mut *mut ::std::os::raw::c_void,
) -> tm_renderer_device_memory_o,
>,
pub allocate_staging_memory: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut ::std::os::raw::c_void,
size: u64,
device_affinity_mask: u32,
data: *mut *mut ::std::os::raw::c_void,
) -> tm_renderer_device_memory_o,
>,
pub allocate_resource_read_fence: ::std::option::Option<
unsafe extern "C" fn(inst: *mut ::std::os::raw::c_void, device_affinity_mask: u32) -> u32,
>,
}
impl Default for tm_renderer_device_memory_allocator_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_renderer_backend_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_renderer_backend_i {
pub inst: *mut tm_renderer_backend_o,
pub create_swap_chain: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_backend_o,
window: *mut tm_window_o,
device_affinity: u32,
) -> tm_renderer_swap_chain_o,
>,
pub destroy_swap_chain: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_backend_o,
swap_chain: tm_renderer_swap_chain_o,
),
>,
pub resize_swap_chain: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_backend_o,
swap_chain: tm_renderer_swap_chain_o,
width: u32,
height: u32,
),
>,
pub present_swap_chain: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_backend_o,
swap_chain: tm_renderer_swap_chain_o,
),
>,
pub swap_chain_resource: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_backend_o,
swap_chain: tm_renderer_swap_chain_o,
) -> u32,
>,
pub create_command_buffers: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_backend_o,
command_buffers: *mut *mut tm_renderer_command_buffer_o,
num_buffers: u32,
),
>,
pub submit_command_buffers: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_backend_o,
command_buffers: *mut *mut tm_renderer_command_buffer_o,
num_buffers: u32,
),
>,
pub destroy_command_buffers: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_backend_o,
command_buffers: *mut *mut tm_renderer_command_buffer_o,
num_buffers: u32,
),
>,
pub num_command_queues: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_backend_o,
queue_family: u8,
device_affinity_mask: u32,
) -> u8,
>,
pub supports_buffer: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_backend_o,
buffer: *const tm_renderer_buffer_t,
device_affinity_mask: u32,
) -> bool,
>,
pub supports_image_buffer: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_backend_o,
image: *const tm_renderer_image_buffer_t,
device_affinity_mask: u32,
) -> bool,
>,
pub create_resource_command_buffers: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_backend_o,
resource_buffers: *mut *mut tm_renderer_resource_command_buffer_o,
num_buffers: u32,
),
>,
pub submit_resource_command_buffers: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_backend_o,
resource_buffers: *mut *mut tm_renderer_resource_command_buffer_o,
num_buffers: u32,
),
>,
pub destroy_resource_command_buffers: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_backend_o,
resource_buffers: *mut *mut tm_renderer_resource_command_buffer_o,
num_buffers: u32,
),
>,
pub frame_begin: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_renderer_backend_o)>,
pub recycle_buffers:
::std::option::Option<unsafe extern "C" fn(inst: *mut tm_renderer_backend_o)>,
pub read_complete: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_backend_o,
read_fence: u32,
device_affinity_mask: u32,
) -> bool,
>,
pub hashed_backend_name:
::std::option::Option<unsafe extern "C" fn(inst: *mut tm_renderer_backend_o) -> u64>,
pub statistics_memory_allocators: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_backend_o,
device_affinity: u32,
allocators: *mut tm_renderer_memory_statistics_allocator_t,
) -> u32,
>,
pub statistics_memory_allocations: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_backend_o,
device_affinity: u32,
allocator: u32,
block: u32,
allocators: *mut tm_renderer_memory_statistics_allocation_t,
) -> u32,
>,
pub statistics: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_backend_o,
device_affinity: u32,
stats: *mut tm_renderer_statistics_t,
),
>,
}
impl Default for tm_renderer_backend_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_renderer_command_buffer_pool_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_renderer_index_buffer_bind_t {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_renderer_memory_block_pool_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_renderer_resource_command_buffer_pool_o {
_unused: [u8; 0],
}
pub const tm_renderer_command_TM_RENDERER_COMMAND_BIND_RENDER_PASS: tm_renderer_command = 0;
pub const tm_renderer_command_TM_RENDERER_COMMAND_SET_VIEWPORTS: tm_renderer_command = 1;
pub const tm_renderer_command_TM_RENDERER_COMMAND_SET_SCISSOR_RECTS: tm_renderer_command = 2;
pub const tm_renderer_command_TM_RENDERER_COMMAND_DRAW_CALL: tm_renderer_command = 3;
pub const tm_renderer_command_TM_RENDERER_COMMAND_BEGIN_STATISTICS: tm_renderer_command = 4;
pub const tm_renderer_command_TM_RENDERER_COMMAND_END_STATISTICS: tm_renderer_command = 5;
pub const tm_renderer_command_TM_RENDERER_COMMAND_BIND_QUEUE: tm_renderer_command = 6;
pub const tm_renderer_command_TM_RENDERER_COMMAND_COMPUTE: tm_renderer_command = 7;
pub const tm_renderer_command_TM_RENDERER_COMMAND_TRANSITION_RESOURCES: tm_renderer_command = 8;
pub const tm_renderer_command_TM_RENDERER_COMMAND_COPY_IMAGE_BUFFER: tm_renderer_command = 9;
pub const tm_renderer_command_TM_RENDERER_COMMAND_COPY_BUFFER: tm_renderer_command = 10;
pub const tm_renderer_command_TM_RENDERER_COMMAND_READ_IMAGE_BUFFER: tm_renderer_command = 11;
pub const tm_renderer_command_TM_RENDERER_COMMAND_READ_BUFFER: tm_renderer_command = 12;
pub type tm_renderer_command = ::std::os::raw::c_int;
pub const tm_renderer_map_flags_TM_RENDERER_MAP_FLAGS_CPU_CACHED: tm_renderer_map_flags = 1;
pub type tm_renderer_map_flags = ::std::os::raw::c_int;
pub const tm_renderer_statistics_flags_TM_RENDERER_GPU_TIMINGS: tm_renderer_statistics_flags = 1;
pub type tm_renderer_statistics_flags = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_renderer_commands_t {
pub sort_keys: *mut u64,
pub types: *mut u32,
pub data: *mut *mut ::std::os::raw::c_void,
}
impl Default for tm_renderer_commands_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_renderer_command_buffer_api {
pub bind_render_pass: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_command_buffer_o,
sort_key: u64,
render_pass: *const tm_renderer_render_pass_bind_t,
),
>,
pub set_viewports: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_command_buffer_o,
sort_key: u64,
viewports: *const tm_renderer_set_viewports_t,
),
>,
pub set_scissor_rects: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_command_buffer_o,
sort_key: u64,
rects: *const tm_renderer_set_scissor_rects_t,
),
>,
pub draw_calls: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_command_buffer_o,
sort_keys: *const u64,
draw_calls: *const tm_renderer_draw_call_info_t,
shaders: *const tm_renderer_shader_info_t,
num_draw_calls: u32,
),
>,
pub bind_queue: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_command_buffer_o,
sort_key: u64,
queue_bind: *const tm_renderer_queue_bind_t,
),
>,
pub begin_statistics_scope: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_command_buffer_o,
sort_key: u64,
category: *const ::std::os::raw::c_char,
name: *const ::std::os::raw::c_char,
flags: u32,
) -> u64,
>,
pub end_statistics_scope: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_command_buffer_o,
sort_key: u64,
statistics_scope: u64,
),
>,
pub compute_dispatches: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_command_buffer_o,
sort_keys: *const u64,
compute_dispatches: *const tm_renderer_compute_info_t,
shaders: *const tm_renderer_shader_info_t,
num_compute_dispatches: u32,
),
>,
pub transition_resources: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_command_buffer_o,
sort_key: u64,
barriers: *const tm_renderer_resource_barrier_t,
num_barriers: u32,
),
>,
pub copy_image_buffer: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_command_buffer_o,
sort_key: u64,
copy_image: *const tm_renderer_copy_image_buffer_t,
),
>,
pub copy_buffer: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_command_buffer_o,
sort_key: u64,
copy_buffer: *const tm_renderer_copy_buffer_t,
),
>,
pub read_image_buffer: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_command_buffer_o,
sort_key: u64,
read_image: *const tm_renderer_read_image_buffer_t,
) -> u32,
>,
pub read_buffer: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_command_buffer_o,
sort_key: u64,
read_buffer: *const tm_renderer_read_buffer_t,
) -> u32,
>,
pub num_commands: ::std::option::Option<
unsafe extern "C" fn(inst: *const tm_renderer_command_buffer_o) -> u32,
>,
pub commands: ::std::option::Option<
unsafe extern "C" fn(inst: *const tm_renderer_command_buffer_o) -> tm_renderer_commands_t,
>,
pub user_data: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_command_buffer_o,
) -> *mut ::std::os::raw::c_void,
>,
pub set_backend_allocator: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_command_buffer_o,
memory_allocator: *mut tm_renderer_device_memory_allocator_i,
),
>,
pub append_buffers: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_command_buffer_o,
buffers: *mut *mut tm_renderer_command_buffer_o,
num_buffers: u32,
),
>,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_renderer_command_buffer_pool_api {
pub create: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_command_buffer_pool_o,
) -> *mut tm_renderer_command_buffer_o,
>,
pub destroy: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_command_buffer_pool_o,
buffer: *mut tm_renderer_command_buffer_o,
),
>,
pub user_data_size: ::std::option::Option<
unsafe extern "C" fn(inst: *mut tm_renderer_command_buffer_pool_o) -> u64,
>,
}
extern "C" {
pub fn tm_renderer_create_command_buffer_pool(
backing_memory_block_pool: *mut tm_renderer_memory_block_pool_o,
user_data_size: u64,
allocator: *mut tm_allocator_i,
memory_tracker_scope: u32,
) -> *mut tm_renderer_command_buffer_pool_o;
}
extern "C" {
pub fn tm_renderer_destroy_command_buffer_pool(
pool: *mut tm_renderer_command_buffer_pool_o,
allocator: *mut tm_allocator_i,
memory_tracker_scope: u32,
);
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_renderer_command_buffer_sort_api {
pub sort_memory_needed: ::std::option::Option<
unsafe extern "C" fn(
buffers: *mut *const tm_renderer_command_buffer_o,
num_buffers: u32,
) -> u64,
>,
pub sort_commands: ::std::option::Option<
unsafe extern "C" fn(
buffers: *mut *const tm_renderer_command_buffer_o,
num_buffers: u32,
sort_memory: *mut ::std::os::raw::c_void,
sorted_output: *mut *mut tm_renderer_commands_t,
num_commands: *mut u32,
),
>,
}
pub const tm_renderer_resource_TM_RENDERER_RESOURCE_CREATE_BUFFER: tm_renderer_resource = 0;
pub const tm_renderer_resource_TM_RENDERER_RESOURCE_MAP_CREATE_BUFFER: tm_renderer_resource = 1;
pub const tm_renderer_resource_TM_RENDERER_RESOURCE_RESIZE_BUFFER: tm_renderer_resource = 2;
pub const tm_renderer_resource_TM_RENDERER_RESOURCE_UPDATE_BUFFER: tm_renderer_resource = 3;
pub const tm_renderer_resource_TM_RENDERER_RESOURCE_CREATE_IMAGE: tm_renderer_resource = 4;
pub const tm_renderer_resource_TM_RENDERER_RESOURCE_MAP_CREATE_IMAGE: tm_renderer_resource = 5;
pub const tm_renderer_resource_TM_RENDERER_RESOURCE_UPDATE_IMAGE: tm_renderer_resource = 6;
pub const tm_renderer_resource_TM_RENDERER_RESOURCE_CREATE_ADDITIONAL_IMAGE_VIEWS:
tm_renderer_resource = 7;
pub const tm_renderer_resource_TM_RENDERER_RESOURCE_DESTROY_ADDITIONAL_IMAGE_VIEWS:
tm_renderer_resource = 8;
pub const tm_renderer_resource_TM_RENDERER_RESOURCE_CREATE_SHADER: tm_renderer_resource = 9;
pub const tm_renderer_resource_TM_RENDERER_RESOURCE_CREATE_SHADER_STATE_OVERRIDE:
tm_renderer_resource = 10;
pub const tm_renderer_resource_TM_RENDERER_RESOURCE_CREATE_SAMPLER: tm_renderer_resource = 11;
pub const tm_renderer_resource_TM_RENDERER_RESOURCE_CREATE_QUEUE_FENCE: tm_renderer_resource = 12;
pub const tm_renderer_resource_TM_RENDERER_RESOURCE_CREATE_RESOURCE_BINDER: tm_renderer_resource =
13;
pub const tm_renderer_resource_TM_RENDERER_RESOURCE_SET_RESOURCE: tm_renderer_resource = 14;
pub const tm_renderer_resource_TM_RENDERER_RESOURCE_SET_ARRAY_RESOURCES: tm_renderer_resource = 15;
pub const tm_renderer_resource_TM_RENDERER_RESOURCE_DESTROY: tm_renderer_resource = 16;
pub const tm_renderer_resource_TM_RENDERER_RESOURCE_NUM_COMMAND_TYPES: tm_renderer_resource = 17;
pub type tm_renderer_resource = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_renderer_resource_commands_t {
pub types: *mut u32,
pub handles: *mut u32,
pub data: *mut *mut ::std::os::raw::c_void,
}
impl Default for tm_renderer_resource_commands_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_renderer_resource_command_buffer_api {
pub create_buffer: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_resource_command_buffer_o,
buffer: *const tm_renderer_buffer_t,
device_affinity_mask: u32,
) -> u32,
>,
pub map_create_buffer: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_resource_command_buffer_o,
buffer: *const tm_renderer_buffer_t,
device_affinity_mask: u32,
map_flags: u32,
data: *mut *mut ::std::os::raw::c_void,
) -> u32,
>,
pub resize_buffer: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_resource_command_buffer_o,
handle: u32,
size: u64,
),
>,
pub update_buffer: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_resource_command_buffer_o,
handle: u32,
offset: u64,
size: u64,
device_affinity_mask: u32,
map_flags: u32,
data: *mut *mut ::std::os::raw::c_void,
),
>,
pub create_image_buffer: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_resource_command_buffer_o,
image: *const tm_renderer_image_buffer_t,
device_affinity_mask: u32,
) -> u32,
>,
pub map_create_image_buffer: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_resource_command_buffer_o,
image: *const tm_renderer_image_buffer_t,
device_affinity_mask: u32,
map_flags: u32,
data: *mut *mut ::std::os::raw::c_void,
) -> u32,
>,
pub update_image_buffer: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_resource_command_buffer_o,
handle: u32,
format: u32,
subresource: *const tm_renderer_image_subresource_layers_t,
offset: *const tm_renderer_image_offset_t,
extent: *const tm_renderer_image_extent_t,
device_affinity_mask: u32,
map_flags: u32,
data: *mut *mut ::std::os::raw::c_void,
),
>,
pub create_additional_image_views: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_resource_command_buffer_o,
handle: u32,
device_affinity_mask: u32,
views: *const tm_renderer_additional_image_view_t,
num_views: u32,
),
>,
pub destroy_additional_image_views: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_resource_command_buffer_o,
handle: u32,
device_affinity_mask: u32,
),
>,
pub create_shader: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_resource_command_buffer_o,
shader: *const tm_renderer_shader_t,
device_affinity_mask: u32,
) -> u32,
>,
pub create_sampler: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_resource_command_buffer_o,
sampler: *const tm_renderer_sampler_t,
device_affinity_mask: u32,
) -> u32,
>,
pub create_shader_state_override: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_resource_command_buffer_o,
state_override: *const tm_renderer_shader_state_override_t,
device_affinity_mask: u32,
) -> u32,
>,
pub create_queue_fence: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_resource_command_buffer_o,
device_affinity_mask: u32,
) -> u32,
>,
pub create_resource_binder: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_resource_command_buffer_o,
bind_points: *const tm_renderer_resource_bind_point_t,
num_bind_points: u32,
device_affinity_mask: u32,
) -> u32,
>,
pub set_resource: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_resource_command_buffer_o,
resource_binder: u32,
bind_point: u32,
resource_handles: u32,
reosource_aspect_flags: u32,
),
>,
pub set_array_resources: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_resource_command_buffer_o,
resource_binder: u32,
bind_point: u32,
first_element: u32,
resource_handles: *const u32,
resource_aspect_flags: *const u32,
n_handles: u32,
),
>,
pub destroy_resource: ::std::option::Option<
unsafe extern "C" fn(inst: *mut tm_renderer_resource_command_buffer_o, handle: u32),
>,
pub num_commands: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_resource_command_buffer_o,
count_per_command_type: *mut u32,
) -> u32,
>,
pub commands: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_resource_command_buffer_o,
) -> tm_renderer_resource_commands_t,
>,
pub user_data: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_resource_command_buffer_o,
) -> *mut ::std::os::raw::c_void,
>,
pub set_backend_allocators: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_resource_command_buffer_o,
resource_allocator: *mut tm_renderer_backend_resource_allocator_i,
memory_allocator: *mut tm_renderer_device_memory_allocator_i,
),
>,
pub append_buffers: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_resource_command_buffer_o,
buffers: *mut *mut tm_renderer_resource_command_buffer_o,
num_buffers: u32,
),
>,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_renderer_resource_command_buffer_pool_api {
pub create: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_resource_command_buffer_pool_o,
) -> *mut tm_renderer_resource_command_buffer_o,
>,
pub destroy: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_resource_command_buffer_pool_o,
buffer: *mut tm_renderer_resource_command_buffer_o,
),
>,
pub user_data_size: ::std::option::Option<
unsafe extern "C" fn(inst: *mut tm_renderer_resource_command_buffer_pool_o) -> u64,
>,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_renderer_statistics_t {
pub non_indexed_draws: u64,
pub indexed_draws: u64,
pub non_indexed_indirect_draws: u64,
pub indexed_indirect_draws: u64,
pub compute_dispatches: u64,
pub compute_indirect_dispatches: u64,
pub primitive_count: u64,
pub pipeline_binds: u64,
pub resource_barriers: u64,
pub render_pass_binds: u64,
}
pub const tm_renderer_resource_type_TM_RENDERER_RESOURCE_TYPE_NOT_INITIALIZED:
tm_renderer_resource_type = 0;
pub const tm_renderer_resource_type_TM_RENDERER_RESOURCE_TYPE_BUFFER: tm_renderer_resource_type = 1;
pub const tm_renderer_resource_type_TM_RENDERER_RESOURCE_TYPE_IMAGE_BUFFER:
tm_renderer_resource_type = 2;
pub const tm_renderer_resource_type_TM_RENDERER_RESOURCE_TYPE_SAMPLER: tm_renderer_resource_type =
3;
pub const tm_renderer_resource_type_TM_RENDERER_RESOURCE_TYPE_QUEUE_FENCE:
tm_renderer_resource_type = 4;
pub const tm_renderer_resource_type_TM_RENDERER_RESOURCE_TYPE_SHADER: tm_renderer_resource_type = 5;
pub const tm_renderer_resource_type_TM_RENDERER_RESOURCE_TYPE_SHADER_STATE_OVERRIDE:
tm_renderer_resource_type = 6;
pub const tm_renderer_resource_type_TM_RENDERER_RESOURCE_TYPE_RESOURCE_BINDER:
tm_renderer_resource_type = 7;
pub const tm_renderer_resource_type_TM_RENDERER_RESOURCE_TYPE_BACK_BUFFER:
tm_renderer_resource_type = 8;
pub type tm_renderer_resource_type = ::std::os::raw::c_int;
pub const tm_renderer_buffer_usage_flags_TM_RENDERER_BUFFER_USAGE_UNIFORM:
tm_renderer_buffer_usage_flags = 1;
pub const tm_renderer_buffer_usage_flags_TM_RENDERER_BUFFER_USAGE_STORAGE:
tm_renderer_buffer_usage_flags = 2;
pub const tm_renderer_buffer_usage_flags_TM_RENDERER_BUFFER_USAGE_UPDATABLE:
tm_renderer_buffer_usage_flags = 4;
pub const tm_renderer_buffer_usage_flags_TM_RENDERER_BUFFER_USAGE_UAV:
tm_renderer_buffer_usage_flags = 8;
pub const tm_renderer_buffer_usage_flags_TM_RENDERER_BUFFER_USAGE_INDEX:
tm_renderer_buffer_usage_flags = 16;
pub const tm_renderer_buffer_usage_flags_TM_RENDERER_BUFFER_USAGE_VERTEX:
tm_renderer_buffer_usage_flags = 32;
pub const tm_renderer_buffer_usage_flags_TM_RENDERER_BUFFER_USAGE_INDIRECT:
tm_renderer_buffer_usage_flags = 64;
pub type tm_renderer_buffer_usage_flags = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_renderer_buffer_t {
pub size: u32,
pub usage_flags: tm_renderer_buffer_usage_flags,
pub debug_tag: *const ::std::os::raw::c_char,
}
impl Default for tm_renderer_buffer_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub const tm_renderer_image_buffer_usage_flags_TM_RENDERER_IMAGE_BUFFER_USAGE_RENDER_TARGET:
tm_renderer_image_buffer_usage_flags = 1;
pub const tm_renderer_image_buffer_usage_flags_TM_RENDERER_IMAGE_BUFFER_USAGE_UAV:
tm_renderer_image_buffer_usage_flags = 2;
pub type tm_renderer_image_buffer_usage_flags = ::std::os::raw::c_int;
pub const tm_renderer_image_type_TM_RENDERER_IMAGE_TYPE_1D: tm_renderer_image_type = 0;
pub const tm_renderer_image_type_TM_RENDERER_IMAGE_TYPE_2D: tm_renderer_image_type = 1;
pub const tm_renderer_image_type_TM_RENDERER_IMAGE_TYPE_3D: tm_renderer_image_type = 2;
pub const tm_renderer_image_type_TM_RENDERER_IMAGE_TYPE_CUBE: tm_renderer_image_type = 3;
pub const tm_renderer_image_type_TM_RENDERER_IMAGE_TYPE_MAX_VIEWS: tm_renderer_image_type = 4;
pub type tm_renderer_image_type = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub union tm_renderer_clear_value_t {
pub color: tm_renderer_clear_value_t_color,
pub depth_stencil: tm_renderer_clear_value_t_depth_stencil,
_bindgen_union_align: [u32; 4usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_renderer_clear_value_t_color {
pub __bindgen_anon_1: tm_renderer_clear_value_t_color__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union tm_renderer_clear_value_t_color__bindgen_ty_1 {
pub float32: [f32; 4usize],
pub int32: [i32; 4usize],
pub uint32: [u32; 4usize],
_bindgen_union_align: [u32; 4usize],
}
impl Default for tm_renderer_clear_value_t_color__bindgen_ty_1 {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
impl Default for tm_renderer_clear_value_t_color {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_renderer_clear_value_t_depth_stencil {
pub depth: f32,
pub stencil: u32,
}
impl Default for tm_renderer_clear_value_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_renderer_image_buffer_t {
pub type_: tm_renderer_image_type,
pub usage_flags: tm_renderer_image_buffer_usage_flags,
pub format: u32,
pub width: u32,
pub height: u32,
pub depth: u32,
pub mip_levels: u32,
pub layer_count: u32,
pub sample_count: u32,
pub clear_value: tm_renderer_clear_value_t,
pub _padding_117: [::std::os::raw::c_char; 4usize],
pub debug_tag: *const ::std::os::raw::c_char,
}
impl Default for tm_renderer_image_buffer_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_renderer_additional_image_view_t {
pub first_layer: u16,
pub layer_count: u16,
pub first_mip: u8,
pub mip_count: u8,
pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>,
pub _padding_152: [::std::os::raw::c_char; 1usize],
}
impl tm_renderer_additional_image_view_t {
#[inline]
pub fn aspect(&self) -> u8 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u8) }
}
#[inline]
pub fn set_aspect(&mut self, val: u8) {
unsafe {
let val: u8 = ::std::mem::transmute(val);
self._bitfield_1.set(0usize, 4u8, val as u64)
}
}
#[inline]
pub fn padding(&self) -> u8 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 4u8) as u8) }
}
#[inline]
pub fn set_padding(&mut self, val: u8) {
unsafe {
let val: u8 = ::std::mem::transmute(val);
self._bitfield_1.set(4usize, 4u8, val as u64)
}
}
#[inline]
pub fn new_bitfield_1(aspect: u8, padding: u8) -> __BindgenBitfieldUnit<[u8; 1usize], u8> {
let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> =
Default::default();
__bindgen_bitfield_unit.set(0usize, 4u8, {
let aspect: u8 = unsafe { ::std::mem::transmute(aspect) };
aspect as u64
});
__bindgen_bitfield_unit.set(4usize, 4u8, {
let padding: u8 = unsafe { ::std::mem::transmute(padding) };
padding as u64
});
__bindgen_bitfield_unit
}
}
pub const tm_renderer_shader_stage_TM_RENDERER_SHADER_STAGE_VERTEX: tm_renderer_shader_stage = 0;
pub const tm_renderer_shader_stage_TM_RENDERER_SHADER_STAGE_HULL: tm_renderer_shader_stage = 1;
pub const tm_renderer_shader_stage_TM_RENDERER_SHADER_STAGE_DOMAIN: tm_renderer_shader_stage = 2;
pub const tm_renderer_shader_stage_TM_RENDERER_SHADER_STAGE_GEOMETRY: tm_renderer_shader_stage = 3;
pub const tm_renderer_shader_stage_TM_RENDERER_SHADER_STAGE_PIXEL: tm_renderer_shader_stage = 4;
pub const tm_renderer_shader_stage_TM_RENDERER_SHADER_STAGE_COMPUTE: tm_renderer_shader_stage = 5;
pub const tm_renderer_shader_stage_TM_RENDERER_SHADER_STAGE_MAX: tm_renderer_shader_stage = 6;
pub type tm_renderer_shader_stage = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_renderer_shader_t {
pub tessellation_states: tm_renderer_shader_blob_t,
pub raster_states: tm_renderer_shader_blob_t,
pub depth_stencil_states: tm_renderer_shader_blob_t,
pub blend_states: tm_renderer_shader_blob_t,
pub multi_sample_states: tm_renderer_shader_blob_t,
pub stages: [tm_renderer_shader_blob_t; 6usize],
}
impl Default for tm_renderer_shader_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_renderer_sampler_t {
pub sampler_states: tm_renderer_shader_blob_t,
}
impl Default for tm_renderer_sampler_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_renderer_shader_state_override_t {
pub tessellation_states: tm_renderer_shader_blob_t,
pub raster_states: tm_renderer_shader_blob_t,
pub depth_stencil_states: tm_renderer_shader_blob_t,
pub blend_states: tm_renderer_shader_blob_t,
pub multi_sample_states: tm_renderer_shader_blob_t,
}
impl Default for tm_renderer_shader_state_override_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub const tm_renderer_shader_stage_flag_TM_RENDERER_SHADER_STAGE_FLAG_VERTEX:
tm_renderer_shader_stage_flag = 1;
pub const tm_renderer_shader_stage_flag_TM_RENDERER_SHADER_STAGE_FLAG_HULL:
tm_renderer_shader_stage_flag = 2;
pub const tm_renderer_shader_stage_flag_TM_RENDERER_SHADER_STAGE_FLAG_DOMAIN:
tm_renderer_shader_stage_flag = 4;
pub const tm_renderer_shader_stage_flag_TM_RENDERER_SHADER_STAGE_FLAG_GEOMETRY:
tm_renderer_shader_stage_flag = 8;
pub const tm_renderer_shader_stage_flag_TM_RENDERER_SHADER_STAGE_FLAG_PIXEL:
tm_renderer_shader_stage_flag = 16;
pub const tm_renderer_shader_stage_flag_TM_RENDERER_SHADER_STAGE_FLAG_COMPUTE:
tm_renderer_shader_stage_flag = 32;
pub const tm_renderer_shader_stage_flag_TM_RENDERER_SHADER_STAGE_FLAG_ALL:
tm_renderer_shader_stage_flag = 63;
pub type tm_renderer_shader_stage_flag = ::std::os::raw::c_int;
pub const tm_renderer_resource_bind_usage_flag_TM_RENDERER_RESOURCE_BIND_USAGE_FLAG_UAV:
tm_renderer_resource_bind_usage_flag = 1;
pub type tm_renderer_resource_bind_usage_flag = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_renderer_resource_bind_point_t {
pub bind_point: u32,
pub stage_flags: u32,
pub type_: u32,
pub view: u32,
pub usage: u32,
pub count: u32,
}
pub const TM_RENDERER_SHADER_SOURCE_LANGUAGE_HLSL: ::std::os::raw::c_int = 0;
pub type _bindgen_ty_148 = ::std::os::raw::c_int;
pub const TM_RENDERER_SHADER_COMPILER_STAGE_VERTEX: ::std::os::raw::c_int = 0;
pub const TM_RENDERER_SHADER_COMPILER_STAGE_HULL: ::std::os::raw::c_int = 1;
pub const TM_RENDERER_SHADER_COMPILER_STAGE_DOMAIN: ::std::os::raw::c_int = 2;
pub const TM_RENDERER_SHADER_COMPILER_STAGE_GEOMETRY: ::std::os::raw::c_int = 3;
pub const TM_RENDERER_SHADER_COMPILER_STAGE_PIXEL: ::std::os::raw::c_int = 4;
pub const TM_RENDERER_SHADER_COMPILER_STAGE_COMPUTE: ::std::os::raw::c_int = 5;
pub type _bindgen_ty_149 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_renderer_shader_compiler_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_renderer_state_value_pair_t {
pub state: u32,
pub _padding_32: [::std::os::raw::c_char; 4usize],
pub __bindgen_anon_1: tm_renderer_state_value_pair_t__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union tm_renderer_state_value_pair_t__bindgen_ty_1 {
pub enum_value: u32,
pub uint32_value: u32,
pub float_value: f32,
pub nested_states: *mut tm_renderer_state_value_pair_t,
_bindgen_union_align: u64,
}
impl Default for tm_renderer_state_value_pair_t__bindgen_ty_1 {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
impl Default for tm_renderer_state_value_pair_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub const TM_RENDERER_STATE_BLOCK_COMPLETE: ::std::os::raw::c_int = 0;
pub const TM_RENDERER_STATE_BLOCK_OVERRIDE: ::std::os::raw::c_int = 1;
pub type _bindgen_ty_150 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_renderer_shader_compiler_api {
pub init: ::std::option::Option<
unsafe extern "C" fn(allocator: *mut tm_allocator_i) -> *mut tm_renderer_shader_compiler_o,
>,
pub shutdown:
::std::option::Option<unsafe extern "C" fn(inst: *mut tm_renderer_shader_compiler_o)>,
pub num_state_block_types: ::std::option::Option<
unsafe extern "C" fn(inst: *mut tm_renderer_shader_compiler_o) -> u32,
>,
pub state_block_type: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_shader_compiler_o,
state_block_type_idx: u32,
) -> u32,
>,
pub state_block_name: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_shader_compiler_o,
state_block_type: u32,
) -> *const ::std::os::raw::c_char,
>,
pub num_states: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_shader_compiler_o,
state_block_type: u32,
) -> u32,
>,
pub state_name: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_shader_compiler_o,
state_block_type: u32,
state: u32,
) -> *const ::std::os::raw::c_char,
>,
pub value_type: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_shader_compiler_o,
state_block_type: u32,
state: u32,
) -> u32,
>,
pub num_values: ::std::option::Option<
unsafe extern "C" fn(inst: *mut tm_renderer_shader_compiler_o, value_type: u32) -> u32,
>,
pub value_name: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_shader_compiler_o,
value_type: u32,
value: u32,
) -> *const ::std::os::raw::c_char,
>,
pub enum_value: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_shader_compiler_o,
value_type: u32,
value: u32,
) -> u32,
>,
pub compile_state_block: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_shader_compiler_o,
bind_type: u32,
block_type: u32,
states: *const tm_renderer_state_value_pair_t,
num_raster_states: u32,
) -> tm_renderer_shader_blob_t,
>,
pub compile_shader: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_shader_compiler_o,
source: *const ::std::os::raw::c_char,
entry_point: *const ::std::os::raw::c_char,
source_language: u32,
stage: u32,
) -> tm_renderer_shader_blob_t,
>,
pub release_blob: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_renderer_shader_compiler_o,
blob: tm_renderer_shader_blob_t,
),
>,
}
extern "C" {
pub static mut tm_renderer_state_block_names: [*const ::std::os::raw::c_char; 7usize];
}
pub const TM_RENDERER_VALUE_BOOL_FALSE: ::std::os::raw::c_int = 0;
pub const TM_RENDERER_VALUE_BOOL_TRUE: ::std::os::raw::c_int = 1;
pub const TM_RENDERER_VALUE_BOOL_MAX_VALUES: ::std::os::raw::c_int = 2;
pub type _bindgen_ty_151 = ::std::os::raw::c_int;
extern "C" {
pub static mut tm_renderer_value_bool_names: [*const ::std::os::raw::c_char; 2usize];
}
pub const TM_RENDERER_COMPARE_OP_NEVER: ::std::os::raw::c_int = 0;
pub const TM_RENDERER_COMPARE_OP_LESS: ::std::os::raw::c_int = 1;
pub const TM_RENDERER_COMPARE_OP_EQUAL: ::std::os::raw::c_int = 2;
pub const TM_RENDERER_COMPARE_OP_LESS_OR_EQUAL: ::std::os::raw::c_int = 3;
pub const TM_RENDERER_COMPARE_OP_GREATER: ::std::os::raw::c_int = 4;
pub const TM_RENDERER_COMPARE_OP_NOT_EQUAL: ::std::os::raw::c_int = 5;
pub const TM_RENDERER_COMPARE_OP_GREATER_OR_EQUAL: ::std::os::raw::c_int = 6;
pub const TM_RENDERER_COMPARE_OP_MAX_VALUES: ::std::os::raw::c_int = 7;
pub type _bindgen_ty_152 = ::std::os::raw::c_int;
extern "C" {
pub static mut tm_renderer_value_compare_op_names: [*const ::std::os::raw::c_char; 7usize];
}
pub const TM_RENDERER_TESSELLATION_STATE_CONTROL_POINTS: ::std::os::raw::c_int = 0;
pub const TM_RENDERER_TESSELLATION_STATE_MAX_STATES: ::std::os::raw::c_int = 1;
pub type _bindgen_ty_153 = ::std::os::raw::c_int;
extern "C" {
pub static mut tm_renderer_tessellation_state_names: [*const ::std::os::raw::c_char; 1usize];
}
extern "C" {
pub static mut tm_renderer_tessellation_state_value_types: [u32; 1usize];
}
pub const TM_RENDERER_RASTER_STATE_CULL_MODE: ::std::os::raw::c_int = 0;
pub const TM_RENDERER_RASTER_STATE_FRONT_FACE: ::std::os::raw::c_int = 1;
pub const TM_RENDERER_RASTER_STATE_POLYGON_MODE: ::std::os::raw::c_int = 2;
pub const TM_RENDERER_RASTER_STATE_DEPTH_BIAS_ENABLE: ::std::os::raw::c_int = 3;
pub const TM_RENDERER_RASTER_STATE_DEPTH_BIAS_CONSTANT_FACTOR: ::std::os::raw::c_int = 4;
pub const TM_RENDERER_RASTER_STATE_DEPTH_BIAS_CLAMP: ::std::os::raw::c_int = 5;
pub const TM_RENDERER_RASTER_STATE_DEPTH_BIAS_SLOPE_FACTOR: ::std::os::raw::c_int = 6;
pub const TM_RENDERER_RASTER_STATE_MAX_STATES: ::std::os::raw::c_int = 7;
pub type _bindgen_ty_154 = ::std::os::raw::c_int;
extern "C" {
pub static mut tm_renderer_raster_state_names: [*const ::std::os::raw::c_char; 7usize];
}
extern "C" {
pub static mut tm_renderer_raster_state_value_types: [u32; 7usize];
}
pub const TM_RENDERER_RASTER_VALUE_CULL_NONE: ::std::os::raw::c_int = 0;
pub const TM_RENDERER_RASTER_VALUE_CULL_FRONT: ::std::os::raw::c_int = 1;
pub const TM_RENDERER_RASTER_VALUE_CULL_BACK: ::std::os::raw::c_int = 2;
pub const TM_RENDERER_RASTER_VALUE_CULL_MAX_VALUES: ::std::os::raw::c_int = 3;
pub type _bindgen_ty_155 = ::std::os::raw::c_int;
extern "C" {
pub static mut tm_renderer_raster_value_cull_names: [*const ::std::os::raw::c_char; 3usize];
}
pub const TM_RENDERER_RASTER_VALUE_FRONT_FACE_CW: ::std::os::raw::c_int = 0;
pub const TM_RENDERER_RASTER_VALUE_FRONT_FACE_CCW: ::std::os::raw::c_int = 1;
pub const TM_RENDERER_RASTER_VALUE_FRONT_FACE_MAX_VALUES: ::std::os::raw::c_int = 2;
pub type _bindgen_ty_156 = ::std::os::raw::c_int;
extern "C" {
pub static mut tm_renderer_raster_value_front_face_names:
[*const ::std::os::raw::c_char; 2usize];
}
pub const TM_RENDERER_RASTER_VALUE_POLYGON_MODE_FILL: ::std::os::raw::c_int = 0;
pub const TM_RENDERER_RASTER_VALUE_POLYGON_MODE_LINE: ::std::os::raw::c_int = 1;
pub const TM_RENDERER_RASTER_VALUE_POLYGON_MODE_POINT: ::std::os::raw::c_int = 2;
pub const TM_RENDERER_RASTER_VALUE_POLYGON_MODE_MAX_VALUES: ::std::os::raw::c_int = 3;
pub type _bindgen_ty_157 = ::std::os::raw::c_int;
extern "C" {
pub static mut tm_renderer_raster_value_polygon_names: [*const ::std::os::raw::c_char; 3usize];
}
pub const TM_RENDERER_DEPTH_STENCIL_STATE_DEPTH_TEST_ENABLE: ::std::os::raw::c_int = 0;
pub const TM_RENDERER_DEPTH_STENCIL_STATE_DEPTH_WRITE_ENABLE: ::std::os::raw::c_int = 1;
pub const TM_RENDERER_DEPTH_STENCIL_STATE_DEPTH_COMPARE_OP: ::std::os::raw::c_int = 2;
pub const TM_RENDERER_DEPTH_STENCIL_STATE_STENCIL_TEST_ENABLE: ::std::os::raw::c_int = 3;
pub const TM_RENDERER_DEPTH_STENCIL_STATE_STENCIL_FRONT_FAIL_OP: ::std::os::raw::c_int = 4;
pub const TM_RENDERER_DEPTH_STENCIL_STATE_STENCIL_FRONT_PASS_OP: ::std::os::raw::c_int = 5;
pub const TM_RENDERER_DEPTH_STENCIL_STATE_STENCIL_FRONT_DEPTH_FAIL_OP: ::std::os::raw::c_int = 6;
pub const TM_RENDERER_DEPTH_STENCIL_STATE_STENCIL_FRONT_COMPARE_OP: ::std::os::raw::c_int = 7;
pub const TM_RENDERER_DEPTH_STENCIL_STATE_STENCIL_FRONT_COMPARE_MASK: ::std::os::raw::c_int = 8;
pub const TM_RENDERER_DEPTH_STENCIL_STATE_STENCIL_FRONT_COMPARE_WRITE_MASK: ::std::os::raw::c_int =
9;
pub const TM_RENDERER_DEPTH_STENCIL_STATE_STENCIL_FRONT_REFERENCE: ::std::os::raw::c_int = 10;
pub const TM_RENDERER_DEPTH_STENCIL_STATE_STENCIL_BACK_FAIL_OP: ::std::os::raw::c_int = 11;
pub const TM_RENDERER_DEPTH_STENCIL_STATE_STENCIL_BACK_PASS_OP: ::std::os::raw::c_int = 12;
pub const TM_RENDERER_DEPTH_STENCIL_STATE_STENCIL_BACK_DEPTH_FAIL_OP: ::std::os::raw::c_int = 13;
pub const TM_RENDERER_DEPTH_STENCIL_STATE_STENCIL_BACK_COMPARE_OP: ::std::os::raw::c_int = 14;
pub const TM_RENDERER_DEPTH_STENCIL_STATE_STENCIL_BACK_COMPARE_MASK: ::std::os::raw::c_int = 15;
pub const TM_RENDERER_DEPTH_STENCIL_STATE_STENCIL_BACK_COMPARE_WRITE_MASK: ::std::os::raw::c_int =
16;
pub const TM_RENDERER_DEPTH_STENCIL_STATE_STENCIL_BACK_REFERENCE: ::std::os::raw::c_int = 17;
pub const TM_RENDERER_DEPTH_STENCIL_STATE_DEPTH_BOUND_TEST_ENABLE: ::std::os::raw::c_int = 18;
pub const TM_RENDERER_DEPTH_STENCIL_STATE_DEPTH_BOUND_MIN: ::std::os::raw::c_int = 19;
pub const TM_RENDERER_DEPTH_STENCIL_STATE_DEPTH_BOUND_MAX: ::std::os::raw::c_int = 20;
pub const TM_RENDERER_DEPTH_STENCIL_STATE_MAX_STATES: ::std::os::raw::c_int = 21;
pub type _bindgen_ty_158 = ::std::os::raw::c_int;
extern "C" {
pub static mut tm_renderer_depth_stencil_state_names: [*const ::std::os::raw::c_char; 21usize];
}
extern "C" {
pub static mut tm_renderer_depth_stencil_state_value_types: [u32; 21usize];
}
pub const TM_RENDERER_STENCIL_OP_KEEP: ::std::os::raw::c_int = 0;
pub const TM_RENDERER_STENCIL_OP_ZERO: ::std::os::raw::c_int = 1;
pub const TM_RENDERER_STENCIL_OP_REPLACE: ::std::os::raw::c_int = 2;
pub const TM_RENDERER_STENCIL_OP_INC_CLAMP: ::std::os::raw::c_int = 3;
pub const TM_RENDERER_STENCIL_OP_DEC_CLAMP: ::std::os::raw::c_int = 4;
pub const TM_RENDERER_STENCIL_OP_INVERT: ::std::os::raw::c_int = 5;
pub const TM_RENDERER_STENCIL_OP_INC_WRAP: ::std::os::raw::c_int = 6;
pub const TM_RENDERER_STENCIL_OP_DEC_WRAP: ::std::os::raw::c_int = 7;
pub const TM_RENDERER_STENCIL_OP_MAX_VALUES: ::std::os::raw::c_int = 8;
pub type _bindgen_ty_159 = ::std::os::raw::c_int;
extern "C" {
pub static mut tm_renderer_value_stencil_op_names: [*const ::std::os::raw::c_char; 8usize];
}
pub const TM_RENDERER_SAMPLER_STATE_MIN_FILTER: ::std::os::raw::c_int = 0;
pub const TM_RENDERER_SAMPLER_STATE_MAG_FILTER: ::std::os::raw::c_int = 1;
pub const TM_RENDERER_SAMPLER_STATE_MIP_MODE: ::std::os::raw::c_int = 2;
pub const TM_RENDERER_SAMPLER_STATE_ADDRESS_U: ::std::os::raw::c_int = 3;
pub const TM_RENDERER_SAMPLER_STATE_ADDRESS_V: ::std::os::raw::c_int = 4;
pub const TM_RENDERER_SAMPLER_STATE_ADDRESS_W: ::std::os::raw::c_int = 5;
pub const TM_RENDERER_SAMPLER_STATE_MIP_LOD_BIAS: ::std::os::raw::c_int = 6;
pub const TM_RENDERER_SAMPLER_STATE_ANISOTROPY_ENABLE: ::std::os::raw::c_int = 7;
pub const TM_RENDERER_SAMPLER_STATE_MAX_ANISOTROPY: ::std::os::raw::c_int = 8;
pub const TM_RENDERER_SAMPLER_STATE_COMPARE_ENABLE: ::std::os::raw::c_int = 9;
pub const TM_RENDERER_SAMPLER_STATE_COMPARE_OP: ::std::os::raw::c_int = 10;
pub const TM_RENDERER_SAMPLER_STATE_MIN_LOD: ::std::os::raw::c_int = 11;
pub const TM_RENDERER_SAMPLER_STATE_MAX_LOD: ::std::os::raw::c_int = 12;
pub const TM_RENDERER_SAMPLER_STATE_BORDER_COLOR: ::std::os::raw::c_int = 13;
pub const TM_RENDERER_SAMPLER_STATE_MAX_STATES: ::std::os::raw::c_int = 14;
pub type _bindgen_ty_160 = ::std::os::raw::c_int;
extern "C" {
pub static mut tm_renderer_sampler_state_names: [*const ::std::os::raw::c_char; 14usize];
}
extern "C" {
pub static mut tm_renderer_sampler_state_types: [u32; 14usize];
}
pub const TM_RENDERER_FILTER_POINT: ::std::os::raw::c_int = 0;
pub const TM_RENDERER_FILTER_LINEAR: ::std::os::raw::c_int = 1;
pub const TM_RENDERER_FILTER_MAX_VALUES: ::std::os::raw::c_int = 2;
pub type _bindgen_ty_161 = ::std::os::raw::c_int;
extern "C" {
pub static mut tm_renderer_value_filter_names: [*const ::std::os::raw::c_char; 2usize];
}
pub const TM_RENDERER_MIP_MODE_POINT: ::std::os::raw::c_int = 0;
pub const TM_RENDERER_MIP_MODE_LINEAR: ::std::os::raw::c_int = 1;
pub const TM_RENDERER_MIP_MODE_MAX_VALUES: ::std::os::raw::c_int = 2;
pub type _bindgen_ty_162 = ::std::os::raw::c_int;
extern "C" {
pub static mut tm_renderer_value_mip_mode_names: [*const ::std::os::raw::c_char; 2usize];
}
pub const TM_RENDERER_ADDRESS_MODE_WRAP: ::std::os::raw::c_int = 0;
pub const TM_RENDERER_ADDRESS_MODE_MIRROR_WRAP: ::std::os::raw::c_int = 1;
pub const TM_RENDERER_ADDRESS_MODE_CLAMP: ::std::os::raw::c_int = 2;
pub const TM_RENDERER_ADDRESS_MODE_CLAMP_BORDER_COLOR: ::std::os::raw::c_int = 3;
pub const TM_RENDERER_ADDRESS_MODE_MIRROR_CLAMP: ::std::os::raw::c_int = 4;
pub const TM_RENDERER_ADDRESS_MODE_MAX_VALUES: ::std::os::raw::c_int = 5;
pub type _bindgen_ty_163 = ::std::os::raw::c_int;
extern "C" {
pub static mut tm_renderer_value_address_mode_names: [*const ::std::os::raw::c_char; 5usize];
}
pub const TM_RENDERER_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK: ::std::os::raw::c_int = 0;
pub const TM_RENDERER_BORDER_COLOR_INT_TRANSPARENT_BLACK: ::std::os::raw::c_int = 1;
pub const TM_RENDERER_BORDER_COLOR_FLOAT_OPAQUE_BLACK: ::std::os::raw::c_int = 2;
pub const TM_RENDERER_BORDER_COLOR_INT_OPAQUE_BLACK: ::std::os::raw::c_int = 3;
pub const TM_RENDERER_BORDER_COLOR_FLOAT_OPAQUE_WHITE: ::std::os::raw::c_int = 4;
pub const TM_RENDERER_BORDER_COLOR_INT_OPAQUE_WHITE: ::std::os::raw::c_int = 5;
pub const TM_RENDERER_BORDER_COLOR_MAX_VALUES: ::std::os::raw::c_int = 6;
pub type _bindgen_ty_164 = ::std::os::raw::c_int;
extern "C" {
pub static mut tm_renderer_value_border_color_names: [*const ::std::os::raw::c_char; 6usize];
}
pub const TM_RENDERER_RENDER_TARGET_BLEND_STATE_BLEND_ENABLE: ::std::os::raw::c_int = 0;
pub const TM_RENDERER_RENDER_TARGET_BLEND_STATE_SOURCE_BLEND_FACTOR_COLOR: ::std::os::raw::c_int =
1;
pub const TM_RENDERER_RENDER_TARGET_BLEND_STATE_DESTINATION_BLEND_FACTOR_COLOR:
::std::os::raw::c_int = 2;
pub const TM_RENDERER_RENDER_TARGET_BLEND_STATE_BLEND_OP_COLOR: ::std::os::raw::c_int = 3;
pub const TM_RENDERER_RENDER_TARGET_BLEND_STATE_SOURCE_BLEND_FACTOR_ALPHA: ::std::os::raw::c_int =
4;
pub const TM_RENDERER_RENDER_TARGET_BLEND_STATE_DESTINATION_BLEND_FACTOR_ALPHA:
::std::os::raw::c_int = 5;
pub const TM_RENDERER_RENDER_TARGET_BLEND_STATE_BLEND_OP_ALPHA: ::std::os::raw::c_int = 6;
pub const TM_RENDERER_RENDER_TARGET_BLEND_STATE_WRITE_MASK: ::std::os::raw::c_int = 7;
pub const TM_RENDERER_RENDER_TARGET_BLEND_STATE_MAX_STATES: ::std::os::raw::c_int = 8;
pub type _bindgen_ty_165 = ::std::os::raw::c_int;
extern "C" {
pub static mut tm_renderer_render_target_blend_state_names:
[*const ::std::os::raw::c_char; 8usize];
}
extern "C" {
pub static mut tm_renderer_render_target_blend_state_types: [u32; 8usize];
}
pub const TM_RENDERER_BLEND_FACTOR_ZERO: ::std::os::raw::c_int = 0;
pub const TM_RENDERER_BLEND_FACTOR_ONE: ::std::os::raw::c_int = 1;
pub const TM_RENDERER_BLEND_FACTOR_SOURCE_COLOR: ::std::os::raw::c_int = 2;
pub const TM_RENDERER_BLEND_FACTOR_ONE_MINUS_SOURCE_COLOR: ::std::os::raw::c_int = 3;
pub const TM_RENDERER_BLEND_FACTOR_DESTINATION_COLOR: ::std::os::raw::c_int = 4;
pub const TM_RENDERER_BLEND_FACTOR_ONE_MINUS_DESTINATION_COLOR: ::std::os::raw::c_int = 5;
pub const TM_RENDERER_BLEND_FACTOR_SOURCE_ALPHA: ::std::os::raw::c_int = 6;
pub const TM_RENDERER_BLEND_FACTOR_ONE_MINUS_SOURCE_ALPHA: ::std::os::raw::c_int = 7;
pub const TM_RENDERER_BLEND_FACTOR_DESTINATION_ALPHA: ::std::os::raw::c_int = 8;
pub const TM_RENDERER_BLEND_FACTOR_ONE_MINUS_DESTINATION_ALPHA: ::std::os::raw::c_int = 9;
pub const TM_RENDERER_BLEND_FACTOR_CONSTANT_COLOR: ::std::os::raw::c_int = 10;
pub const TM_RENDERER_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR: ::std::os::raw::c_int = 11;
pub const TM_RENDERER_BLEND_FACTOR_CONSTANT_ALPHA: ::std::os::raw::c_int = 12;
pub const TM_RENDERER_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA: ::std::os::raw::c_int = 13;
pub const TM_RENDERER_BLEND_FACTOR_SOURCE_ALPHA_SATURATE: ::std::os::raw::c_int = 14;
pub const TM_RENDERER_BLEND_FACTOR_SOURCE1_COLOR: ::std::os::raw::c_int = 15;
pub const TM_RENDERER_BLEND_FACTOR_ONE_MINUS_SOURCE1_COLOR: ::std::os::raw::c_int = 16;
pub const TM_RENDERER_BLEND_FACTOR_SOURCE1_ALPHA: ::std::os::raw::c_int = 17;
pub const TM_RENDERER_BLEND_FACTOR_ONE_MINUS_SOURCE1_ALPHA: ::std::os::raw::c_int = 18;
pub const TM_RENDERER_BLEND_FACTOR_MAX_VALUES: ::std::os::raw::c_int = 19;
pub type _bindgen_ty_166 = ::std::os::raw::c_int;
extern "C" {
pub static mut tm_renderer_value_blend_factor_names: [*const ::std::os::raw::c_char; 19usize];
}
pub const TM_RENDERER_LOGICAL_OP_CLEAR: ::std::os::raw::c_int = 0;
pub const TM_RENDERER_LOGICAL_OP_AND: ::std::os::raw::c_int = 1;
pub const TM_RENDERER_LOGICAL_OP_AND_REVERSE: ::std::os::raw::c_int = 2;
pub const TM_RENDERER_LOGICAL_OP_COPY: ::std::os::raw::c_int = 3;
pub const TM_RENDERER_LOGICAL_OP_AND_INVERTED: ::std::os::raw::c_int = 4;
pub const TM_RENDERER_LOGICAL_OP_NO_OP: ::std::os::raw::c_int = 5;
pub const TM_RENDERER_LOGICAL_OP_XOR: ::std::os::raw::c_int = 6;
pub const TM_RENDERER_LOGICAL_OP_OR: ::std::os::raw::c_int = 7;
pub const TM_RENDERER_LOGICAL_OP_NOR: ::std::os::raw::c_int = 8;
pub const TM_RENDERER_LOGICAL_OP_EQUIVALENT: ::std::os::raw::c_int = 9;
pub const TM_RENDERER_LOGICAL_OP_INVERT: ::std::os::raw::c_int = 10;
pub const TM_RENDERER_LOGICAL_OP_OR_REVERSE: ::std::os::raw::c_int = 11;
pub const TM_RENDERER_LOGICAL_OP_COPY_INVERTED: ::std::os::raw::c_int = 12;
pub const TM_RENDERER_LOGICAL_OP_OR_INVERTED: ::std::os::raw::c_int = 13;
pub const TM_RENDERER_LOGICAL_OP_NAND: ::std::os::raw::c_int = 14;
pub const TM_RENDERER_LOGICAL_OP_SET: ::std::os::raw::c_int = 15;
pub const TM_RENDERER_LOGICAL_OP_MAX_VALUES: ::std::os::raw::c_int = 16;
pub type _bindgen_ty_167 = ::std::os::raw::c_int;
extern "C" {
pub static mut tm_renderer_value_logical_op_names: [*const ::std::os::raw::c_char; 16usize];
}
pub const TM_RENDERER_BLEND_OP_ADD: ::std::os::raw::c_int = 0;
pub const TM_RENDERER_BLEND_OP_SUBTRACT: ::std::os::raw::c_int = 1;
pub const TM_RENDERER_BLEND_OP_REVERSE_SUBTRACT: ::std::os::raw::c_int = 2;
pub const TM_RENDERER_BLEND_OP_MIN: ::std::os::raw::c_int = 3;
pub const TM_RENDERER_BLEND_OP_MAX: ::std::os::raw::c_int = 4;
pub const TM_RENDERER_BLEND_OP_MAX_VALUES: ::std::os::raw::c_int = 5;
pub type _bindgen_ty_168 = ::std::os::raw::c_int;
extern "C" {
pub static mut tm_renderer_value_blend_op_names: [*const ::std::os::raw::c_char; 5usize];
}
pub const TM_RENDERER_BLEND_WRITE_MASK_DISABLED: ::std::os::raw::c_int = 0;
pub const TM_RENDERER_BLEND_WRITE_MASK_RED: ::std::os::raw::c_int = 1;
pub const TM_RENDERER_BLEND_WRITE_MASK_GREEN: ::std::os::raw::c_int = 2;
pub const TM_RENDERER_BLEND_WRITE_MASK_BLUE: ::std::os::raw::c_int = 4;
pub const TM_RENDERER_BLEND_WRITE_MASK_ALPHA: ::std::os::raw::c_int = 8;
pub const TM_RENDERER_BLEND_WRITE_MASK_RED_GREEN: ::std::os::raw::c_int = 3;
pub const TM_RENDERER_BLEND_WRITE_MASK_RED_BLUE: ::std::os::raw::c_int = 5;
pub const TM_RENDERER_BLEND_WRITE_MASK_GREEN_BLUE: ::std::os::raw::c_int = 6;
pub const TM_RENDERER_BLEND_WRITE_MASK_RED_GREEN_BLUE: ::std::os::raw::c_int = 7;
pub const TM_RENDERER_BLEND_WRITE_MASK_RED_ALPHA: ::std::os::raw::c_int = 9;
pub const TM_RENDERER_BLEND_WRITE_MASK_GREEN_ALPHA: ::std::os::raw::c_int = 10;
pub const TM_RENDERER_BLEND_WRITE_MASK_RED_GREEN_ALPHA: ::std::os::raw::c_int = 9;
pub const TM_RENDERER_BLEND_WRITE_MASK_BLUE_ALPHA: ::std::os::raw::c_int = 12;
pub const TM_RENDERER_BLEND_WRITE_MASK_RED_BLUE_ALPHA: ::std::os::raw::c_int = 13;
pub const TM_RENDERER_BLEND_WRITE_MASK_GREEN_BLUE_ALPHA: ::std::os::raw::c_int = 14;
pub const TM_RENDERER_BLEND_WRITE_MASK_RED_GREEN_BLUE_ALPHA: ::std::os::raw::c_int = 15;
pub const TM_RENDERER_BLEND_WRITE_MASK_MAX_VALUES: ::std::os::raw::c_int = 16;
pub type _bindgen_ty_169 = ::std::os::raw::c_int;
extern "C" {
pub static mut tm_renderer_enum_value_write_mask: [u32; 16usize];
}
extern "C" {
pub static mut tm_renderer_value_write_mask_names: [*const ::std::os::raw::c_char; 16usize];
}
pub const TM_RENDERER_BLEND_STATE_LOGICAL_OPERATION_ENABLE: ::std::os::raw::c_int = 0;
pub const TM_RENDERER_BLEND_STATE_LOGICAL_OPERATION: ::std::os::raw::c_int = 1;
pub const TM_RENDERER_BLEND_STATE_RENDER_TARGET_0: ::std::os::raw::c_int = 2;
pub const TM_RENDERER_BLEND_STATE_RENDER_TARGET_1: ::std::os::raw::c_int = 3;
pub const TM_RENDERER_BLEND_STATE_RENDER_TARGET_2: ::std::os::raw::c_int = 4;
pub const TM_RENDERER_BLEND_STATE_RENDER_TARGET_3: ::std::os::raw::c_int = 5;
pub const TM_RENDERER_BLEND_STATE_RENDER_TARGET_4: ::std::os::raw::c_int = 6;
pub const TM_RENDERER_BLEND_STATE_RENDER_TARGET_5: ::std::os::raw::c_int = 7;
pub const TM_RENDERER_BLEND_STATE_RENDER_TARGET_6: ::std::os::raw::c_int = 8;
pub const TM_RENDERER_BLEND_STATE_RENDER_TARGET_7: ::std::os::raw::c_int = 9;
pub const TM_RENDERER_BLEND_STATE_MAX_STATES: ::std::os::raw::c_int = 10;
pub type _bindgen_ty_170 = ::std::os::raw::c_int;
extern "C" {
pub static mut tm_renderer_blend_state_names: [*const ::std::os::raw::c_char; 10usize];
}
extern "C" {
pub static mut tm_renderer_blend_state_types: [u32; 10usize];
}
pub const TM_RENDERER_MULTI_SAMPLE_SHADING_ENABLE: ::std::os::raw::c_int = 0;
pub const TM_RENDERER_MULTI_MIN_SAMPLE_SHADING: ::std::os::raw::c_int = 1;
pub const TM_RENDERER_MULTI_SAMPLE_ALPHA_TO_COVERAGE_ENABLE: ::std::os::raw::c_int = 2;
pub const TM_RENDERER_MULTI_SAMPLE_ALPHA_TO_ONE_ENABLE: ::std::os::raw::c_int = 3;
pub const TM_RENDERER_MULTI_SAMPLE_MAX_STATES: ::std::os::raw::c_int = 4;
pub type _bindgen_ty_171 = ::std::os::raw::c_int;
extern "C" {
pub static mut tm_renderer_multi_sample_state_names: [*const ::std::os::raw::c_char; 4usize];
}
extern "C" {
pub static mut tm_renderer_multi_sample_state_types: [u32; 4usize];
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_render_graph_setup_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_render_graph_execute_o {
_unused: [u8; 0],
}
pub const tm_render_graph_sort_key_TM_RENDER_GRAPH_SORT_SUB_MODULE_BITS_START:
tm_render_graph_sort_key = 0;
pub const tm_render_graph_sort_key_TM_RENDER_GRAPH_SORT_SUB_MODULE_BITS: tm_render_graph_sort_key =
8;
pub const tm_render_graph_sort_key_TM_RENDER_GRAPH_SORT_DEPTH_BITS_START: tm_render_graph_sort_key =
8;
pub const tm_render_graph_sort_key_TM_RENDER_GRAPH_SORT_DEPTH_BITS: tm_render_graph_sort_key = 16;
pub const tm_render_graph_sort_key_TM_RENDER_GRAPH_SORT_INTERNAL_PASS_BITS_START:
tm_render_graph_sort_key = 24;
pub const tm_render_graph_sort_key_TM_RENDER_GRAPH_SORT_INTERNAL_PASS_BITS:
tm_render_graph_sort_key = 27;
pub const tm_render_graph_sort_key_TM_RENDER_GRAPH_SORT_PASS_BITS_START: tm_render_graph_sort_key =
51;
pub const tm_render_graph_sort_key_TM_RENDER_GRAPH_SORT_PASS_BITS: tm_render_graph_sort_key = 11;
pub const tm_render_graph_sort_key_TM_RENDER_GRAPH_SORT_GRAPH_LOOP_BITS_START:
tm_render_graph_sort_key = 62;
pub const tm_render_graph_sort_key_TM_RENDER_GRAPH_SORT_GRAPH_LOOP_BITS: tm_render_graph_sort_key =
2;
pub type tm_render_graph_sort_key = ::std::os::raw::c_int;
pub const tm_render_graph_write_bind_flag_TM_RENDER_GRAPH_WRITE_BIND_FLAG_UAV:
tm_render_graph_write_bind_flag = 1;
pub const tm_render_graph_write_bind_flag_TM_RENDER_GRAPH_WRITE_BIND_FLAG_COLOR_TARGET:
tm_render_graph_write_bind_flag = 2;
pub const tm_render_graph_write_bind_flag_TM_RENDER_GRAPH_WRITE_BIND_FLAG_DEPTH_STENCIL_TARGET:
tm_render_graph_write_bind_flag = 4;
pub type tm_render_graph_write_bind_flag = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_render_graph_handle_t {
pub value: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union tm_render_graph_blackboard_value {
pub data: *mut ::std::os::raw::c_void,
pub float32: f32,
pub uint64: u64,
pub uint32: u32,
pub int64: i64,
pub int32: i32,
pub boolean: bool,
_bindgen_union_align: u64,
}
impl Default for tm_render_graph_blackboard_value {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_render_graph_viewer_t {
pub sort_key: u64,
pub visibility_mask: u64,
pub viewer_system: *mut tm_shader_system_o,
pub viewer_cbuffer: *mut tm_shader_constant_buffer_instance_t,
pub viewer_rbinder: *mut tm_shader_resource_binder_instance_t,
pub view: tm_mat44_t,
pub projection: tm_mat44_t,
pub near_plane: f32,
pub far_plane: f32,
}
impl Default for tm_render_graph_viewer_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_render_graph_api {
pub create: ::std::option::Option<
unsafe extern "C" fn(
sort_key: u64,
allocator: *mut tm_allocator_i,
shader_repository: *mut tm_shader_repository_o,
) -> *mut tm_render_graph_o,
>,
pub destroy: ::std::option::Option<unsafe extern "C" fn(graph: *mut tm_render_graph_o)>,
pub sort_key: ::std::option::Option<
unsafe extern "C" fn(graph: *const tm_render_graph_o, material_layer_name: u64) -> u64,
>,
pub register_gpu_image: ::std::option::Option<
unsafe extern "C" fn(
graph: *mut tm_render_graph_o,
name: u64,
resource: u32,
resource_state: u32,
image_desc: *const tm_renderer_image_buffer_t,
),
>,
pub register_gpu_buffer: ::std::option::Option<
unsafe extern "C" fn(
graph: *mut tm_render_graph_o,
name: u64,
resource: u32,
resource_state: u32,
buffer_desc: *const tm_renderer_buffer_t,
),
>,
pub write_blackboard: ::std::option::Option<
unsafe extern "C" fn(
graph: *mut tm_render_graph_o,
key: u64,
value: tm_render_graph_blackboard_value,
),
>,
pub read_blackboard: ::std::option::Option<
unsafe extern "C" fn(
graph: *const tm_render_graph_o,
key: u64,
value: *mut tm_render_graph_blackboard_value,
) -> bool,
>,
pub setup_passes: ::std::option::Option<
unsafe extern "C" fn(
graph: *mut tm_render_graph_o,
render_module: *mut tm_render_graph_module_o,
),
>,
pub validate_and_build: ::std::option::Option<
unsafe extern "C" fn(
graph: *mut tm_render_graph_o,
backend: *mut tm_renderer_backend_i,
device_affinity_mask: u32,
) -> bool,
>,
pub execute: ::std::option::Option<
unsafe extern "C" fn(
graph: *mut tm_render_graph_o,
backend: *mut tm_renderer_backend_i,
shader_context: *const tm_shader_system_context_o,
device_affinity_mask: u32,
) -> *mut tm_atomic_counter_o,
>,
pub resource_buffers: ::std::option::Option<
unsafe extern "C" fn(
graph: *const tm_render_graph_o,
resource_buffers: *mut *mut tm_renderer_resource_command_buffer_o,
num_resource_buffers: *mut u32,
),
>,
pub command_buffers: ::std::option::Option<
unsafe extern "C" fn(
graph: *const tm_render_graph_o,
command_buffers: *mut *mut tm_renderer_command_buffer_o,
num_command_buffers: *mut u32,
),
>,
pub viewers: ::std::option::Option<
unsafe extern "C" fn(
graph: *mut tm_render_graph_o,
viewers: *mut tm_render_graph_viewer_t,
num_viewers: *mut u32,
),
>,
pub backend_handle: ::std::option::Option<
unsafe extern "C" fn(
graph: *const tm_render_graph_o,
graph_handle: tm_render_graph_handle_t,
) -> u32,
>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_render_graph_module_editor_submenu_i {
pub submenu_name: *const ::std::os::raw::c_char,
pub inst: *mut ::std::os::raw::c_void,
pub submenu: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut ::std::os::raw::c_void,
ui: *mut tm_ui_o,
uistyle: *const tm_ui_style_t,
submenu_pos: tm_vec2_t,
),
>,
}
impl Default for tm_render_graph_module_editor_submenu_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_render_graph_module_api {
pub create: ::std::option::Option<
unsafe extern "C" fn(
allocator: *mut tm_allocator_i,
name: *const ::std::os::raw::c_char,
) -> *mut tm_render_graph_module_o,
>,
pub destroy: ::std::option::Option<
unsafe extern "C" fn(
render_module: *mut tm_render_graph_module_o,
res_buf: *mut tm_renderer_resource_command_buffer_o,
),
>,
pub add_pass: ::std::option::Option<
unsafe extern "C" fn(
render_module: *mut tm_render_graph_module_o,
pass: *mut tm_render_graph_pass_i,
),
>,
pub add_extension_point: ::std::option::Option<
unsafe extern "C" fn(
render_module: *mut tm_render_graph_module_o,
extension_point_name: u64,
),
>,
pub insert_extension: ::std::option::Option<
unsafe extern "C" fn(
render_module: *mut tm_render_graph_module_o,
extension_point_name: u64,
extension: *mut tm_render_graph_module_o,
ordering_weight: f32,
) -> bool,
>,
pub add_sub_module: ::std::option::Option<
unsafe extern "C" fn(
render_module: *mut tm_render_graph_module_o,
shader_layer_name: u64,
sub_module: *mut tm_render_graph_module_o,
),
>,
pub init_passes: ::std::option::Option<
unsafe extern "C" fn(
render_module: *mut tm_render_graph_module_o,
res_buf: *mut tm_renderer_resource_command_buffer_o,
),
>,
pub set_editor_submenu_interface: ::std::option::Option<
unsafe extern "C" fn(
render_module: *mut tm_render_graph_module_o,
submenu_i: *mut tm_render_graph_module_editor_submenu_i,
),
>,
pub editor_submenu: ::std::option::Option<
unsafe extern "C" fn(
render_module: *mut tm_render_graph_module_o,
ui: *mut tm_ui_o,
uistyle: *const tm_ui_style_t,
submenu_pos: tm_vec2_t,
),
>,
pub create_persistent_gpu_image: ::std::option::Option<
unsafe extern "C" fn(
render_module: *mut tm_render_graph_module_o,
name: u64,
image_desc: *const tm_renderer_image_buffer_t,
inherits: u64,
),
>,
pub create_persistent_gpu_buffer: ::std::option::Option<
unsafe extern "C" fn(
render_module: *mut tm_render_graph_module_o,
name: u64,
buffer_desc: *const tm_renderer_buffer_t,
inherits: u64,
),
>,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_render_graph_setup_api {
pub external_resource: ::std::option::Option<
unsafe extern "C" fn(
graph_setup: *mut tm_render_graph_setup_o,
name: u64,
) -> tm_render_graph_handle_t,
>,
pub image_desc: ::std::option::Option<
unsafe extern "C" fn(
graph_setup: *mut tm_render_graph_setup_o,
handle: tm_render_graph_handle_t,
) -> *const tm_renderer_image_buffer_t,
>,
pub buffer_desc: ::std::option::Option<
unsafe extern "C" fn(
graph_setup: *mut tm_render_graph_setup_o,
handle: tm_render_graph_handle_t,
) -> *const tm_renderer_buffer_t,
>,
pub shader_repository: ::std::option::Option<
unsafe extern "C" fn(
graph_setup: *mut tm_render_graph_setup_o,
) -> *mut tm_shader_repository_o,
>,
pub create_gpu_images: ::std::option::Option<
unsafe extern "C" fn(
graph_setup: *mut tm_render_graph_setup_o,
image_descs: *const tm_renderer_image_buffer_t,
num_images: u32,
handles: *mut tm_render_graph_handle_t,
),
>,
pub create_gpu_buffers: ::std::option::Option<
unsafe extern "C" fn(
graph_setup: *mut tm_render_graph_setup_o,
buffer_descs: *const tm_renderer_buffer_t,
num_buffers: u32,
handles: *mut tm_render_graph_handle_t,
),
>,
pub read_gpu_resource: ::std::option::Option<
unsafe extern "C" fn(
graph_setup: *mut tm_render_graph_setup_o,
handle: tm_render_graph_handle_t,
wanted_resource_state: u32,
),
>,
pub write_gpu_resource: ::std::option::Option<
unsafe extern "C" fn(
graph_setup: *mut tm_render_graph_setup_o,
handle: tm_render_graph_handle_t,
write_bind_flags: u32,
wanted_resource_state: u32,
load_op: u32,
bind_slot: u32,
blackboard_key: u64,
),
>,
pub set_active: ::std::option::Option<
unsafe extern "C" fn(graph_setup: *mut tm_render_graph_setup_o, state: bool),
>,
pub set_output: ::std::option::Option<
unsafe extern "C" fn(graph_setup: *mut tm_render_graph_setup_o, state: bool),
>,
pub set_request_async_compute: ::std::option::Option<
unsafe extern "C" fn(graph_setup: *mut tm_render_graph_setup_o, state: bool),
>,
pub set_request_multi_gpu: ::std::option::Option<
unsafe extern "C" fn(graph_setup: *mut tm_render_graph_setup_o, device_affinity_mask: u32),
>,
pub expose_as_material_layer: ::std::option::Option<
unsafe extern "C" fn(graph_setup: *mut tm_render_graph_setup_o, layer_name: u64),
>,
pub write_blackboard: ::std::option::Option<
unsafe extern "C" fn(
graph_setup: *mut tm_render_graph_setup_o,
key: u64,
value: tm_render_graph_blackboard_value,
),
>,
pub read_blackboard: ::std::option::Option<
unsafe extern "C" fn(
graph_setup: *mut tm_render_graph_setup_o,
key: u64,
value: *mut tm_render_graph_blackboard_value,
) -> bool,
>,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_render_graph_layer_sort_key_t {
pub layer_name: u64,
pub sort_key: u64,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_render_graph_execute_api {
pub default_command_buffer: ::std::option::Option<
unsafe extern "C" fn(
graph_execute: *mut tm_render_graph_execute_o,
) -> *mut tm_renderer_command_buffer_o,
>,
pub default_resource_command_buffer: ::std::option::Option<
unsafe extern "C" fn(
graph_execute: *mut tm_render_graph_execute_o,
) -> *mut tm_renderer_resource_command_buffer_o,
>,
pub shader_context: ::std::option::Option<
unsafe extern "C" fn(
graph_execute: *mut tm_render_graph_execute_o,
) -> *const tm_shader_system_context_o,
>,
pub device_affinity_mask: ::std::option::Option<
unsafe extern "C" fn(graph_execute: *mut tm_render_graph_execute_o) -> u32,
>,
pub backend_handle: ::std::option::Option<
unsafe extern "C" fn(
graph_execute: *mut tm_render_graph_execute_o,
graph_handle: tm_render_graph_handle_t,
) -> u32,
>,
pub run_sub_module: ::std::option::Option<
unsafe extern "C" fn(
graph_execute: *mut tm_render_graph_execute_o,
sub_module_name: u64,
sort_key: u64,
commands: *mut tm_renderer_command_buffer_o,
),
>,
pub read_blackboard: ::std::option::Option<
unsafe extern "C" fn(
graph_execute: *mut tm_render_graph_execute_o,
key: u64,
value: *mut tm_render_graph_blackboard_value,
) -> bool,
>,
pub append_viewers: ::std::option::Option<
unsafe extern "C" fn(
graph_execute: *mut tm_render_graph_execute_o,
viewers: *const tm_render_graph_viewer_t,
num_viewers: u32,
),
>,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_render_graph_pass_api {
pub init_pass: ::std::option::Option<
unsafe extern "C" fn(
const_data: *mut ::std::os::raw::c_void,
allocator: *mut tm_allocator_i,
res_buf: *mut tm_renderer_resource_command_buffer_o,
),
>,
pub shutdown_pass: ::std::option::Option<
unsafe extern "C" fn(
const_data: *mut ::std::os::raw::c_void,
allocator: *mut tm_allocator_i,
res_buf: *mut tm_renderer_resource_command_buffer_o,
),
>,
pub setup_pass: ::std::option::Option<
unsafe extern "C" fn(
const_data: *const ::std::os::raw::c_void,
runtime_data: *mut ::std::os::raw::c_void,
graph_setup: *mut tm_render_graph_setup_o,
),
>,
pub execute_pass: ::std::option::Option<
unsafe extern "C" fn(
const_data: *const ::std::os::raw::c_void,
runtime_data: *mut ::std::os::raw::c_void,
sort_key: u64,
graph_execute: *mut tm_render_graph_execute_o,
),
>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_render_graph_pass_i {
pub const_data: *mut ::std::os::raw::c_void,
pub const_data_size: u64,
pub runtime_data_size: u64,
pub profiling_scope: *const ::std::os::raw::c_char,
pub api: tm_render_graph_pass_api,
}
impl Default for tm_render_graph_pass_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_render_graph_module_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_render_graph_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_shader_context_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_render_pipeline_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_render_pipeline_update_frame_parameters_t {
pub last_time: f32,
pub time: f32,
pub delta_time: f32,
pub frame_number: u32,
pub selection_outline_color: tm_vec4_t,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_render_pipeline_shader_system_t {
pub system: *mut tm_shader_system_o,
pub constants: *mut tm_shader_constant_buffer_instance_t,
pub resources: *mut tm_shader_resource_binder_instance_t,
}
impl Default for tm_render_pipeline_shader_system_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub const tm_render_pipeline_global_shader_system_TM_RENDER_PIPELINE_FRAME_PARAMETERS:
tm_render_pipeline_global_shader_system = 0;
pub const tm_render_pipeline_global_shader_system_TM_RENDER_PIPELINE_EDITOR_SELECTION:
tm_render_pipeline_global_shader_system = 1;
pub const tm_render_pipeline_global_shader_system_TM_RENDER_PIPELINE_DYNAMIC_OBJECT:
tm_render_pipeline_global_shader_system = 2;
pub const tm_render_pipeline_global_shader_system_TM_RENDER_PIPELINE_LIGHTING_SYSTEM:
tm_render_pipeline_global_shader_system = 3;
pub const tm_render_pipeline_global_shader_system_TM_RENDER_PIPELINE_SHADER_SYSTEMS_MAX:
tm_render_pipeline_global_shader_system = 4;
pub type tm_render_pipeline_global_shader_system = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_render_pipeline_api {
pub name: ::std::option::Option<unsafe extern "C" fn() -> *const ::std::os::raw::c_char>,
pub create: ::std::option::Option<
unsafe extern "C" fn(
allocator: *mut tm_allocator_i,
res_buf: *mut tm_renderer_resource_command_buffer_o,
) -> *mut tm_render_pipeline_o,
>,
pub destroy: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_render_pipeline_o,
res_buf: *mut tm_renderer_resource_command_buffer_o,
),
>,
pub main_module: ::std::option::Option<
unsafe extern "C" fn(inst: *mut tm_render_pipeline_o) -> *mut tm_render_graph_module_o,
>,
pub begin: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_render_pipeline_o,
graph: *mut tm_render_graph_o,
context: *mut tm_shader_system_context_o,
),
>,
pub end: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_render_pipeline_o,
graph: *mut tm_render_graph_o,
context: *mut tm_shader_system_context_o,
),
>,
pub editor_submenu: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_render_pipeline_o,
ui: *mut tm_ui_o,
uistyle: *const tm_ui_style_t,
submenu_pos: tm_vec2_t,
),
>,
pub global_shader_system: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_render_pipeline_o,
system_id: tm_render_pipeline_global_shader_system,
system: *mut tm_render_pipeline_shader_system_t,
) -> bool,
>,
pub update_frame_parameters: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_render_pipeline_o,
frame_params: *const tm_render_pipeline_update_frame_parameters_t,
res_buf: *mut tm_renderer_resource_command_buffer_o,
),
>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_render_pipeline_i {
pub inst: *mut tm_render_pipeline_o,
pub api: *mut tm_render_pipeline_api,
}
impl Default for tm_render_pipeline_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_shadow_map_manager_o {
_unused: [u8; 0],
}
pub const TM_SHADOW_LIGHT_TYPE_POINT: ::std::os::raw::c_int = 0;
pub const TM_SHADOW_LIGHT_TYPE_SPOT: ::std::os::raw::c_int = 1;
pub const TM_SHADOW_LIGHT_TYPE_DIRECTIONAL: ::std::os::raw::c_int = 2;
pub type _bindgen_ty_172 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_shadow_mapping_input_t {
pub tm: tm_mat44_t,
pub type_: u32,
pub __bindgen_anon_1: tm_shadow_mapping_input_t__bindgen_ty_1,
pub depth_bias: f32,
pub _padding_40: [::std::os::raw::c_char; 4usize],
pub shadow_data_offset: *mut u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union tm_shadow_mapping_input_t__bindgen_ty_1 {
pub directional: tm_shadow_mapping_input_t__bindgen_ty_1__bindgen_ty_1,
pub point_spot: tm_shadow_mapping_input_t__bindgen_ty_1__bindgen_ty_2,
_bindgen_union_align: [u32; 3usize],
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_shadow_mapping_input_t__bindgen_ty_1__bindgen_ty_1 {
pub num_cascades: u32,
pub shadow_distance: f32,
pub uniform_log_weight: f32,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_shadow_mapping_input_t__bindgen_ty_1__bindgen_ty_2 {
pub near_range: f32,
pub far_range: f32,
pub spot_angle_outer: f32,
}
impl Default for tm_shadow_mapping_input_t__bindgen_ty_1 {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
impl Default for tm_shadow_mapping_input_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_shadow_mapping_api {
pub create_manager: ::std::option::Option<
unsafe extern "C" fn(
allocator: *mut tm_allocator_i,
viewer_system: *mut tm_shader_system_o,
visibility_mask: u64,
shadow_atlas_width: u32,
shadow_atlas_height: u32,
res_buf: *mut tm_renderer_resource_command_buffer_o,
) -> *mut tm_shadow_map_manager_o,
>,
pub destroy_manager: ::std::option::Option<
unsafe extern "C" fn(
manager: *mut tm_shadow_map_manager_o,
res_buf: *mut tm_renderer_resource_command_buffer_o,
),
>,
pub shadow_passes: ::std::option::Option<
unsafe extern "C" fn(
mod_: *mut tm_render_graph_module_o,
shadow_map_manager: *mut tm_shadow_map_manager_o,
blackboard_lighting_system_name: u64,
),
>,
}
pub const TM_MAX_RENDER_TARGETS: ::std::os::raw::c_int = 8;
pub const TM_MAX_UAVS: ::std::os::raw::c_int = 8;
pub type _bindgen_ty_173 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_pass_render_target_t {
pub name: u64,
pub load_op: u8,
pub store_op: u8,
pub create: bool,
pub _padding_30: [::std::os::raw::c_char; 5usize],
pub inherits: u64,
pub scale: [f32; 3usize],
pub _padding_35: [::std::os::raw::c_char; 4usize],
pub __bindgen_anon_1: tm_pass_render_target_t__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union tm_pass_render_target_t__bindgen_ty_1 {
pub desc: *mut tm_renderer_image_buffer_t,
pub opaque: [u8; 64usize],
_bindgen_union_align: [u64; 8usize],
}
impl Default for tm_pass_render_target_t__bindgen_ty_1 {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
impl Default for tm_pass_render_target_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_pass_buffer_write_t {
pub name: u64,
pub usage_flags: u8,
pub create: bool,
pub _padding_54: [::std::os::raw::c_char; 2usize],
pub size: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_material_pass_setup_t {
pub output_pass: bool,
pub _padding_64: [::std::os::raw::c_char; 7usize],
pub color_targets: [tm_pass_render_target_t; 8usize],
pub depth_stencil_target: tm_pass_render_target_t,
pub layer_name: u64,
}
impl Default for tm_material_pass_setup_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub const TM_FULLSCREEN_PASS_MAX_INPUT_RESOURCES_PER_SLOT: ::std::os::raw::c_int = 8;
pub const TM_FULLSCREEN_PASS_MAX_INPUT_SLOTS: ::std::os::raw::c_int = 4;
pub type _bindgen_ty_174 = ::std::os::raw::c_int;
pub const tm_fullscreen_pass_type_TM_FULLSCREEN_PASS_TYPE__GRAPHICS: tm_fullscreen_pass_type = 0;
pub const tm_fullscreen_pass_type_TM_FULLSCREEN_PASS_TYPE__COMPUTE: tm_fullscreen_pass_type = 1;
pub type tm_fullscreen_pass_type = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_fullscreen_pass_input_resource_t {
pub name: u64,
pub view_aspect_flag: u32,
pub _padding_90: [::std::os::raw::c_char; 4usize],
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_fullscreen_pass_input_slot_resources_t {
pub slot_name: u64,
pub bind_flag_name: u64,
pub resources: [tm_fullscreen_pass_input_resource_t; 8usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_fullscreen_pass_setup_t {
pub output_pass: bool,
pub type_: u8,
pub _padding_112: [::std::os::raw::c_char; 2usize],
pub group_count: [u32; 3usize],
pub input_slots: [tm_fullscreen_pass_input_slot_resources_t; 4usize],
pub color_targets: [tm_pass_render_target_t; 8usize],
pub depth_stencil_target: tm_pass_render_target_t,
pub buffer_writes: [tm_pass_buffer_write_t; 8usize],
pub shader: u64,
}
impl Default for tm_fullscreen_pass_setup_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_debug_visualization_pass_setup_t {
pub color_target: u64,
pub shader: u64,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_debug_visualization_resources_t {
pub resources: [tm_debug_visualization_resources_t__bindgen_ty_1; 16usize],
pub num_resources: u32,
pub _padding_156: [::std::os::raw::c_char; 4usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_debug_visualization_resources_t__bindgen_ty_1 {
pub name: u64,
pub view_aspect_flag: u32,
pub contents: tm_debug_visualization_resources_t__bindgen_ty_1__bindgen_ty_1,
}
pub const tm_debug_visualization_resources_t__bindgen_ty_1_CONTENT_COLOR_RGB:
::std::os::raw::c_int = 0;
pub const tm_debug_visualization_resources_t__bindgen_ty_1_CONTENT_COLOR_A: ::std::os::raw::c_int =
1;
pub const tm_debug_visualization_resources_t__bindgen_ty_1_CONTENT_NORMALS: ::std::os::raw::c_int =
2;
pub const tm_debug_visualization_resources_t__bindgen_ty_1_CONTENT_SHADOW_MAP:
::std::os::raw::c_int = 3;
pub const tm_debug_visualization_resources_t__bindgen_ty_1_CONTENT_PIXEL_VELOCITY:
::std::os::raw::c_int = 4;
pub const tm_debug_visualization_resources_t__bindgen_ty_1_CONTENT_EV100: ::std::os::raw::c_int = 5;
pub const tm_debug_visualization_resources_t__bindgen_ty_1_CONTENT_NAN_INF: ::std::os::raw::c_int =
6;
pub type tm_debug_visualization_resources_t__bindgen_ty_1__bindgen_ty_1 = ::std::os::raw::c_int;
impl Default for tm_debug_visualization_resources_t__bindgen_ty_1 {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
impl Default for tm_debug_visualization_resources_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub type tm_custom_fullscreen_setup = ::std::option::Option<
unsafe extern "C" fn(
const_data: *const ::std::os::raw::c_void,
runtime_data: *mut ::std::os::raw::c_void,
graph_setup: *mut tm_render_graph_setup_o,
),
>;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_render_graph_toolbox_api {
pub fullscreen_pass: ::std::option::Option<
unsafe extern "C" fn(
module: *mut tm_render_graph_module_o,
setup: *mut tm_fullscreen_pass_setup_t,
profiling_scope: *const ::std::os::raw::c_char,
),
>,
pub custom_fullscreen_pass: ::std::option::Option<
unsafe extern "C" fn(
module: *mut tm_render_graph_module_o,
setup: tm_custom_fullscreen_setup,
const_data: *const ::std::os::raw::c_void,
const_data_size: u32,
profiling_scope: *const ::std::os::raw::c_char,
),
>,
pub material_pass: ::std::option::Option<
unsafe extern "C" fn(
module: *mut tm_render_graph_module_o,
setup: *mut tm_material_pass_setup_t,
profiling_scope: *const ::std::os::raw::c_char,
),
>,
pub debug_visualization_pass: ::std::option::Option<
unsafe extern "C" fn(
module: *mut tm_render_graph_module_o,
setup: *mut tm_debug_visualization_pass_setup_t,
profiling_scope: *const ::std::os::raw::c_char,
),
>,
pub setup_render_target_writes: ::std::option::Option<
unsafe extern "C" fn(
color_targets: *const tm_pass_render_target_t,
depth_stencil_target: *const tm_pass_render_target_t,
buffer_writes: *const tm_pass_buffer_write_t,
graph_setup: *mut tm_render_graph_setup_o,
),
>,
pub setup_render_target_descs: ::std::option::Option<
unsafe extern "C" fn(
color_targets: *mut tm_pass_render_target_t,
depth_stencil_target: *mut tm_pass_render_target_t,
),
>,
pub setup_fullscreen_pass: ::std::option::Option<
unsafe extern "C" fn(
setup: *mut tm_fullscreen_pass_setup_t,
runtime_data: *mut ::std::os::raw::c_void,
graph_setup: *mut tm_render_graph_setup_o,
),
>,
pub image_desc: ::std::option::Option<
unsafe extern "C" fn(
graph_setup: *mut tm_render_graph_setup_o,
resource_name: u64,
) -> *const tm_renderer_image_buffer_t,
>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_component_shader_system_t {
pub active_viewer_mask: u64,
pub system: *mut tm_shader_system_o,
pub constants: *mut tm_shader_constant_buffer_instance_t,
pub resources: *mut tm_shader_resource_binder_instance_t,
}
impl Default for tm_component_shader_system_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_component_shader_system_i {
pub name_hash: u64,
pub update_system: ::std::option::Option<
unsafe extern "C" fn(
ctx: *mut tm_entity_context_o,
entity: tm_entity_t,
component: *mut ::std::os::raw::c_void,
entity_transform: *const tm_mat44_t,
res_buf: *mut tm_renderer_resource_command_buffer_o,
device_affinity_mask: u32,
system: *mut tm_component_shader_system_t,
) -> bool,
>,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_component_shader_system_api {
pub update_systems: ::std::option::Option<
unsafe extern "C" fn(
system_components: *const u32,
systems: *mut *mut tm_component_shader_system_i,
n_systems: u32,
ctx: *mut tm_entity_context_o,
entity: tm_entity_t,
entity_transform: *const tm_mat44_t,
res_buf: *mut tm_renderer_resource_command_buffer_o,
device_affinity_mask: u32,
active_systems: *mut tm_component_shader_system_t,
) -> u32,
>,
pub components: ::std::option::Option<
unsafe extern "C" fn(
systems: *mut *mut tm_component_shader_system_i,
n_systems: u32,
ctx: *mut tm_entity_context_o,
ta: *mut tm_temp_allocator_i,
) -> *const u32,
>,
}
pub const TM_TT_PROP__CUBEMAP_CAPTURE_COMPONENT__CAPTURE_INTERFACE: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__CUBEMAP_CAPTURE_COMPONENT__OUTPUT_IMAGE: ::std::os::raw::c_int = 1;
pub type _bindgen_ty_175 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_cubemap_capture_component_t {
pub image_asset: tm_tt_id_t,
}
impl Default for tm_cubemap_capture_component_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_cubemap_capture_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_cubemap_capture_api {
pub capture: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_cubemap_capture_o,
entity: tm_tt_id_t,
resource: u32,
resource_state: u16,
output_desc: *const tm_renderer_image_buffer_t,
device_affinity_mask: u32,
),
>,
pub interface_name: ::std::option::Option<
unsafe extern "C" fn(inst: *mut tm_cubemap_capture_o) -> *const ::std::os::raw::c_char,
>,
pub interface_uid:
::std::option::Option<unsafe extern "C" fn(inst: *mut tm_cubemap_capture_o) -> u64>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_cubemap_capture_i {
pub inst: *mut tm_cubemap_capture_o,
pub api: *mut tm_cubemap_capture_api,
}
impl Default for tm_cubemap_capture_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_gpu_picking_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_gpu_picking_api {
pub create: ::std::option::Option<
unsafe extern "C" fn(
allocator: *mut tm_allocator_i,
res_buf: *mut tm_renderer_resource_command_buffer_o,
picking_system: *mut tm_shader_system_o,
clear_picking_buffer_shader: *mut tm_shader_o,
) -> *mut tm_gpu_picking_o,
>,
pub destroy: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_gpu_picking_o,
res_buf: *mut tm_renderer_resource_command_buffer_o,
),
>,
pub update_cpu: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_gpu_picking_o,
rb: *mut tm_renderer_backend_i,
device_affinity_mask: u32,
activate_system: bool,
cursor_position: tm_vec2_t,
opacity_threshold: f32,
result: *mut u64,
) -> bool,
>,
pub update_gpu: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_gpu_picking_o,
context: *mut tm_shader_system_context_o,
res_buf: *mut tm_renderer_resource_command_buffer_o,
cmd_buf: *mut tm_renderer_command_buffer_o,
device_affinity_mask: u32,
resolution_scale: f32,
),
>,
}
pub const TM_TT_PROP__GRID_SETTINGS__CELL_SIZE: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__GRID_SETTINGS__EXTENT: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__GRID_SETTINGS__INFINITE: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__GRID_SETTINGS__THIN_LINES_COLOR: ::std::os::raw::c_int = 3;
pub const TM_TT_PROP__GRID_SETTINGS__THICK_LINES_COLOR: ::std::os::raw::c_int = 4;
pub type _bindgen_ty_176 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_visual_grid_t {
pub tm: tm_mat44_t,
pub grid_extent: f32,
pub cell_size: f32,
pub infinite: bool,
pub thin_lines_color: tm_color_srgb_t,
pub thick_lines_color: tm_color_srgb_t,
pub _padding_38: [::std::os::raw::c_char; 3usize],
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_grid_renderer_api {
pub create_truth_types: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
pub read_from_truth_settings: ::std::option::Option<
unsafe extern "C" fn(
grid: *mut tm_visual_grid_t,
tt: *mut tm_the_truth_o,
grid_settings: tm_tt_id_t,
),
>,
pub render: ::std::option::Option<
unsafe extern "C" fn(
context: *const tm_shader_system_context_o,
grid_shader: *mut tm_shader_o,
grid: *const tm_visual_grid_t,
res_buf: *mut tm_renderer_resource_command_buffer_o,
cmd_buf: *mut tm_renderer_command_buffer_o,
sort_key: u64,
),
>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_tab_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_image_inspector_data_t {
pub render_handle: u32,
pub _padding_19: [::std::os::raw::c_char; 4usize],
pub desc: *const tm_renderer_image_buffer_t,
pub srgb: bool,
pub display_channels_rgba: [bool; 4usize],
pub _padding_30: [::std::os::raw::c_char; 3usize],
pub checker_colors: [u32; 2usize],
pub mip_level: u32,
pub slice: u32,
pub dpi_scale_factor: f32,
pub origo: tm_vec2_t,
pub zoom: f32,
}
impl Default for tm_image_inspector_data_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_image_inspector_api {
pub render: ::std::option::Option<
unsafe extern "C" fn(
shader: *mut tm_shader_o,
data: *const tm_image_inspector_data_t,
system_context: *const tm_shader_system_context_o,
res_buf: *mut tm_renderer_resource_command_buffer_o,
cmd_buf: *mut tm_renderer_command_buffer_o,
sort_key: u64,
),
>,
}
pub const tm_primitive_drawer_type_TM_PRIMITIVE_DRAWER_LINES: tm_primitive_drawer_type = 0;
pub const tm_primitive_drawer_type_TM_PRIMITIVE_DRAWER_SPHERE: tm_primitive_drawer_type = 1;
pub const tm_primitive_drawer_type_TM_PRIMITIVE_DRAWER_CONE: tm_primitive_drawer_type = 2;
pub const tm_primitive_drawer_type_TM_PRIMITIVE_DRAWER_TRIANGLES: tm_primitive_drawer_type = 3;
pub const tm_primitive_drawer_type_TM_PRIMITIVE_DRAWER_FILLED_TRIANGLES: tm_primitive_drawer_type =
4;
pub type tm_primitive_drawer_type = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_primitive_drawer_buffer_t {
pub buffer: *mut u8,
pub bytes: u32,
pub bytes_allocated: u32,
}
impl Default for tm_primitive_drawer_buffer_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub const TM_PRIMITIVE_DRAWER__OK: ::std::os::raw::c_int = 0;
pub const TM_PRIMITIVE_DRAWER__PBUFFER_FULL: ::std::os::raw::c_int = 1;
pub const TM_PRIMITIVE_DRAWER__VBUFFER_FULL: ::std::os::raw::c_int = 2;
pub type _bindgen_ty_177 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_primitive_drawer_api {
pub stroke_lines: ::std::option::Option<
unsafe extern "C" fn(
pbuffer: *mut tm_primitive_drawer_buffer_t,
vbuffer: *mut tm_primitive_drawer_buffer_t,
tm: *const tm_mat44_t,
vertices: *const tm_vec3_t,
num_lines: u32,
color: tm_color_srgb_t,
line_width: f32,
) -> u32,
>,
pub stroke_polyline: ::std::option::Option<
unsafe extern "C" fn(
pbuffer: *mut tm_primitive_drawer_buffer_t,
vbuffer: *mut tm_primitive_drawer_buffer_t,
tm: *const tm_mat44_t,
vertices: *const tm_vec3_t,
num_vertices: u32,
color: tm_color_srgb_t,
line_width: f32,
) -> u32,
>,
pub stroke_triangles: ::std::option::Option<
unsafe extern "C" fn(
pbuffer: *mut tm_primitive_drawer_buffer_t,
vbuffer: *mut tm_primitive_drawer_buffer_t,
tm: *const tm_mat44_t,
vertices: *const tm_vec3_t,
num_vertices: u32,
indices: *const u32,
num_indices: u32,
color: tm_color_srgb_t,
line_width: f32,
) -> u32,
>,
pub stroke_rect: ::std::option::Option<
unsafe extern "C" fn(
pbuffer: *mut tm_primitive_drawer_buffer_t,
vbuffer: *mut tm_primitive_drawer_buffer_t,
tm: *const tm_mat44_t,
width: f32,
height: f32,
color: tm_color_srgb_t,
line_width: f32,
) -> u32,
>,
pub stroke_ellipse: ::std::option::Option<
unsafe extern "C" fn(
pbuffer: *mut tm_primitive_drawer_buffer_t,
vbuffer: *mut tm_primitive_drawer_buffer_t,
tm: *const tm_mat44_t,
width: f32,
height: f32,
divisions: u32,
color: tm_color_srgb_t,
line_width: f32,
) -> u32,
>,
pub stroke_cuboid: ::std::option::Option<
unsafe extern "C" fn(
pbuffer: *mut tm_primitive_drawer_buffer_t,
vbuffer: *mut tm_primitive_drawer_buffer_t,
tm: *const tm_mat44_t,
lower_bound: tm_vec3_t,
upper_bound: tm_vec3_t,
color: tm_color_srgb_t,
line_width: f32,
) -> u32,
>,
pub stroke_sphere: ::std::option::Option<
unsafe extern "C" fn(
pbuffer: *mut tm_primitive_drawer_buffer_t,
tm: *const tm_mat44_t,
radius: f32,
segments: u32,
parts: u32,
color: tm_color_srgb_t,
line_width: f32,
) -> u32,
>,
pub stroke_cone: ::std::option::Option<
unsafe extern "C" fn(
pbuffer: *mut tm_primitive_drawer_buffer_t,
tm: *const tm_mat44_t,
length: f32,
radius: f32,
segments: u32,
bars: u32,
color: tm_color_srgb_t,
line_width: f32,
) -> u32,
>,
pub stroke_octasphere: ::std::option::Option<
unsafe extern "C" fn(
pbuffer: *mut tm_primitive_drawer_buffer_t,
vbuffer: *mut tm_primitive_drawer_buffer_t,
tm: *const tm_mat44_t,
r: f32,
d: tm_vec3_t,
n: u32,
color: tm_color_srgb_t,
line_width: f32,
) -> u32,
>,
pub fill_triangles: ::std::option::Option<
unsafe extern "C" fn(
pbuffer: *mut tm_primitive_drawer_buffer_t,
vbuffer: *mut tm_primitive_drawer_buffer_t,
tm: *const tm_mat44_t,
vertices: *const tm_vec3_t,
num_vertices: u32,
indices: *const u32,
num_indices: u32,
color: tm_color_srgb_t,
) -> u32,
>,
pub reserve: ::std::option::Option<
unsafe extern "C" fn(
pbuffer: *mut tm_primitive_drawer_buffer_t,
p_bytes: u32,
vbuffer: *mut tm_primitive_drawer_buffer_t,
v_bytes: u32,
allocator: *mut tm_allocator_i,
),
>,
pub grow: ::std::option::Option<
unsafe extern "C" fn(
pbuffer: *mut tm_primitive_drawer_buffer_t,
vbuffer: *mut tm_primitive_drawer_buffer_t,
res: u32,
allocator: *mut tm_allocator_i,
),
>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_primitive_renderer_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_primitive_renderer_api {
pub create: ::std::option::Option<
unsafe extern "C" fn(
allocator: *mut tm_allocator_i,
res_buf: *mut tm_renderer_resource_command_buffer_o,
) -> *mut tm_primitive_renderer_o,
>,
pub destroy: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_primitive_renderer_o,
res_buf: *mut tm_renderer_resource_command_buffer_o,
),
>,
pub render: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_primitive_renderer_o,
pbuffer: *const tm_primitive_drawer_buffer_t,
vbuffer: *const tm_primitive_drawer_buffer_t,
shader: *mut tm_shader_o,
shader_context: *const tm_shader_system_context_o,
sort_key: u64,
res_buf: *mut tm_renderer_resource_command_buffer_o,
cmd_buf: *mut tm_renderer_command_buffer_o,
),
>,
}
pub const TM_TT_PROP__RENDER_COMPONENT__CREATION_GRAPH: ::std::os::raw::c_int = 0;
pub type _bindgen_ty_178 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_render_component_public_t {
pub update_shader_variables: bool,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_render_component_api {
pub draw_call: ::std::option::Option<
unsafe extern "C" fn(
c: *mut tm_render_component_public_t,
name: u64,
) -> *const tm_creation_graph_draw_call_data_t,
>,
}
pub const TM_TT_PROP__SKINNING_COMPONENT__BONES: ::std::os::raw::c_int = 0;
pub type _bindgen_ty_179 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_bone_t {
pub name: u64,
pub bone_idx: u32,
pub inverse_bind: tm_transform_t,
pub _padding_29: [::std::os::raw::c_char; 4usize],
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_skinning_component_api {
pub update_system: ::std::option::Option<
unsafe extern "C" fn(
ctx: *mut tm_entity_context_o,
entity: tm_entity_t,
component: *mut ::std::os::raw::c_void,
entity_transform: *const tm_mat44_t,
res_buf: *mut tm_renderer_resource_command_buffer_o,
device_affinity_mask: u32,
system: *mut tm_component_shader_system_t,
) -> bool,
>,
}
pub const TM_TT_PROP__SCULPT_COMPONENT__VISIBILITY_FLAGS: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__SCULPT_COMPONENT__NUM_BOXES: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__SCULPT_COMPONENT__BOXES_POS: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__SCULPT_COMPONENT__BOXES_ROT: ::std::os::raw::c_int = 3;
pub const TM_TT_PROP__SCULPT_COMPONENT__BOXES_SIZE: ::std::os::raw::c_int = 4;
pub const TM_TT_PROP__SCULPT_COMPONENT__BOXES_COLOR: ::std::os::raw::c_int = 5;
pub const TM_TT_PROP__SCULPT_COMPONENT__BOXES_PARENT: ::std::os::raw::c_int = 6;
pub const TM_TT_PROP__SCULPT_COMPONENT__SELECTION: ::std::os::raw::c_int = 7;
pub const TM_TT_PROP__SCULPT_COMPONENT__DRAW_COLOR: ::std::os::raw::c_int = 8;
pub type _bindgen_ty_180 = ::std::os::raw::c_int;
pub const TM_TT_PROP__SCULPT_COMPONENT_SELECTION__INDICES: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__SCULPT_COMPONENT_SELECTION__POSITION: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__SCULPT_COMPONENT_SELECTION__ROTATION: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__SCULPT_COMPONENT_SELECTION__EXTENT: ::std::os::raw::c_int = 3;
pub const TM_TT_PROP__SCULPT_COMPONENT_SELECTION__COLOR: ::std::os::raw::c_int = 4;
pub type _bindgen_ty_181 = ::std::os::raw::c_int;
pub const tm_sculpt_component__select_sub_tool_TM_SCULPT_COMPONENT__SELECT_SUB_TOOL__MOVE:
tm_sculpt_component__select_sub_tool = 0;
pub const tm_sculpt_component__select_sub_tool_TM_SCULPT_COMPONENT__SELECT_SUB_TOOL__ROTATE:
tm_sculpt_component__select_sub_tool = 1;
pub const tm_sculpt_component__select_sub_tool_TM_SCULPT_COMPONENT__SELECT_SUB_TOOL__SCALE:
tm_sculpt_component__select_sub_tool = 2;
pub const tm_sculpt_component__select_sub_tool_TM_SCULPT_COMPONENT__SELECT_SUB_TOOL__COUNT:
tm_sculpt_component__select_sub_tool = 3;
pub type tm_sculpt_component__select_sub_tool = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_sculpt_component__select_tool_settings_t {
pub sub_tool: tm_sculpt_component__select_sub_tool,
pub _padding_62: [::std::os::raw::c_char; 4usize],
pub move_settings: *const tm_gizmo__move_settings_t,
pub rotate_settings: *const tm_gizmo__rotate_settings_t,
pub scale_settings: *const tm_gizmo__scale_settings_t,
}
impl Default for tm_sculpt_component__select_tool_settings_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_sculpt_component__select_tool_results_t {
pub gizmo_showing: bool,
pub _padding_77: [::std::os::raw::c_char; 3usize],
pub gizmo_pos: tm_vec3_t,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_sculpt_component_api {
pub box_place_tool: ::std::option::Option<
unsafe extern "C" fn(
ctx: *mut tm_entity_context_o,
e: tm_entity_t,
ui: *mut tm_ui_o,
uistyle: *const tm_ui_style_t,
viewport_rect: tm_rect_t,
viewport_id: u64,
camera: *const tm_camera_t,
undo_stack: *mut tm_undo_stack_i,
),
>,
pub box_drag_tool: ::std::option::Option<
unsafe extern "C" fn(
ctx: *mut tm_entity_context_o,
e: tm_entity_t,
ui: *mut tm_ui_o,
uistyle: *const tm_ui_style_t,
viewport_rect: tm_rect_t,
viewport_id: u64,
camera: *const tm_camera_t,
pbuffer: *mut tm_primitive_drawer_buffer_t,
vbuffer: *mut tm_primitive_drawer_buffer_t,
move_settings: *const tm_gizmo__move_settings_t,
undo_stack: *mut tm_undo_stack_i,
),
>,
pub box_select_tool: ::std::option::Option<
unsafe extern "C" fn(
ctx: *mut tm_entity_context_o,
e: tm_entity_t,
ui: *mut tm_ui_o,
uistyle: *const tm_ui_style_t,
viewport_rect: tm_rect_t,
viewport_id: u64,
tab_id: u64,
camera: *const tm_camera_t,
pbuffer: *mut tm_primitive_drawer_buffer_t,
vbuffer: *mut tm_primitive_drawer_buffer_t,
settings: *const tm_sculpt_component__select_tool_settings_t,
undo_stack: *mut tm_undo_stack_i,
) -> tm_sculpt_component__select_tool_results_t,
>,
}
pub const tm_shader_constant_type_TM_SHADER_CONSTANT_TYPE_BOOL: tm_shader_constant_type = 0;
pub const tm_shader_constant_type_TM_SHADER_CONSTANT_TYPE_INT: tm_shader_constant_type = 1;
pub const tm_shader_constant_type_TM_SHADER_CONSTANT_TYPE_UINT: tm_shader_constant_type = 2;
pub const tm_shader_constant_type_TM_SHADER_CONSTANT_TYPE_HALF: tm_shader_constant_type = 3;
pub const tm_shader_constant_type_TM_SHADER_CONSTANT_TYPE_FLOAT: tm_shader_constant_type = 4;
pub const tm_shader_constant_type_TM_SHADER_CONSTANT_TYPE_DOUBLE: tm_shader_constant_type = 5;
pub const tm_shader_constant_type_TM_SHADER_CONSTANT_TYPE_STRUCT: tm_shader_constant_type = 6;
pub const tm_shader_constant_type_TM_SHADER_CONSTANT_TYPE_DEPTH: tm_shader_constant_type = 7;
pub const tm_shader_constant_type_TM_SHADER_CONSTANT_TYPE_STENCIL_REF: tm_shader_constant_type = 8;
pub const tm_shader_constant_type_TM_SHADER_CONSTANT_TYPE_MAX_TYPES: tm_shader_constant_type = 9;
pub type tm_shader_constant_type = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_shader_constant_t {
pub __bindgen_anon_1: tm_shader_constant_t__bindgen_ty_1,
pub type_: tm_shader_constant_type,
pub __bindgen_anon_2: tm_shader_constant_t__bindgen_ty_2,
pub elements: u32,
pub _padding_38: [::std::os::raw::c_char; 4usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union tm_shader_constant_t__bindgen_ty_1 {
pub name: *const ::std::os::raw::c_char,
pub hashed_name: u64,
_bindgen_union_align: u64,
}
impl Default for tm_shader_constant_t__bindgen_ty_1 {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union tm_shader_constant_t__bindgen_ty_2 {
pub __bindgen_anon_1: tm_shader_constant_t__bindgen_ty_2__bindgen_ty_1,
pub struct_size: u32,
_bindgen_union_align: u32,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_shader_constant_t__bindgen_ty_2__bindgen_ty_1 {
pub rows: u8,
pub columns: u8,
}
impl Default for tm_shader_constant_t__bindgen_ty_2 {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
impl Default for tm_shader_constant_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub const tm_shader_resource_type_TM_SHADER_RESOURCE_TYPE_BUFFER: tm_shader_resource_type = 0;
pub const tm_shader_resource_type_TM_SHADER_RESOURCE_TYPE_TEXTURE_1D: tm_shader_resource_type = 1;
pub const tm_shader_resource_type_TM_SHADER_RESOURCE_TYPE_TEXTURE_2D: tm_shader_resource_type = 2;
pub const tm_shader_resource_type_TM_SHADER_RESOURCE_TYPE_TEXTURE_3D: tm_shader_resource_type = 3;
pub const tm_shader_resource_type_TM_SHADER_RESOURCE_TYPE_TEXTURE_CUBE: tm_shader_resource_type = 4;
pub const tm_shader_resource_type_TM_SHADER_RESOURCE_TYPE_TEXTURE_1D_ARRAY:
tm_shader_resource_type = 5;
pub const tm_shader_resource_type_TM_SHADER_RESOURCE_TYPE_TEXTURE_2D_ARRAY:
tm_shader_resource_type = 6;
pub const tm_shader_resource_type_TM_SHADER_RESOURCE_TYPE_TEXTURE_CUBE_ARRAY:
tm_shader_resource_type = 7;
pub const tm_shader_resource_type_TM_SHADER_RESOURCE_TYPE_SAMPLER: tm_shader_resource_type = 8;
pub const tm_shader_resource_type_TM_SHADER_RESOURCE_TYPE_SAMPLER_COMPARISON:
tm_shader_resource_type = 9;
pub const tm_shader_resource_type_TM_SHADER_RESOURCE_TYPE_MAX_TYPES: tm_shader_resource_type = 10;
pub type tm_shader_resource_type = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_shader_resource_t {
pub __bindgen_anon_1: tm_shader_resource_t__bindgen_ty_1,
pub element_type: *const ::std::os::raw::c_char,
pub static_resource_name: *const ::std::os::raw::c_char,
pub static_resource: u32,
pub elements: u32,
pub type_: tm_shader_resource_type,
pub requested_view_aspect: u8,
pub uav: bool,
pub _padding_71: [::std::os::raw::c_char; 2usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union tm_shader_resource_t__bindgen_ty_1 {
pub name: *const ::std::os::raw::c_char,
pub hashed_name: u64,
_bindgen_union_align: u64,
}
impl Default for tm_shader_resource_t__bindgen_ty_1 {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
impl Default for tm_shader_resource_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub const tm_shader_system_semantic_type_TM_SHADER_SYSTEM_SEMANTIC_POSITION:
tm_shader_system_semantic_type = 0;
pub const tm_shader_system_semantic_type_TM_SHADER_SYSTEM_SEMANTIC_DISPATCH_THREAD_ID:
tm_shader_system_semantic_type = 1;
pub const tm_shader_system_semantic_type_TM_SHADER_SYSTEM_SEMANTIC_GROUP_ID:
tm_shader_system_semantic_type = 2;
pub const tm_shader_system_semantic_type_TM_SHADER_SYSTEM_SEMANTIC_GROUP_INDEX:
tm_shader_system_semantic_type = 3;
pub const tm_shader_system_semantic_type_TM_SHADER_SYSTEM_SEMANTIC_GROUP_THREAD_ID:
tm_shader_system_semantic_type = 4;
pub const tm_shader_system_semantic_type_TM_SHADER_SYSTEM_SEMANTIC_INSTANCE_ID:
tm_shader_system_semantic_type = 5;
pub const tm_shader_system_semantic_type_TM_SHADER_SYSTEM_SEMANTIC_PRIMITIVE_ID:
tm_shader_system_semantic_type = 6;
pub const tm_shader_system_semantic_type_TM_SHADER_SYSTEM_SEMANTIC_VERTEX_ID:
tm_shader_system_semantic_type = 7;
pub const tm_shader_system_semantic_type_TM_SHADER_SYSTEM_SEMANTIC_IS_FRONT_FACE_ID:
tm_shader_system_semantic_type = 8;
pub const tm_shader_system_semantic_type_TM_SHADER_SYSTEM_SEMANTIC_OUTPUT_CONTROL_POINT_ID:
tm_shader_system_semantic_type = 9;
pub const tm_shader_system_semantic_type_TM_SHADER_SYSTEM_SEMANTIC_DOMAIN_LOCATION:
tm_shader_system_semantic_type = 10;
pub const tm_shader_system_semantic_type_TM_SHADER_SYSTEM_SEMANTIC_MAX_SEMANTICS:
tm_shader_system_semantic_type = 11;
pub type tm_shader_system_semantic_type = ::std::os::raw::c_int;
pub const tm_shader_interpolation_modifier_type_TM_SHADER_INTERPOLATION_MODIFIER_LINEAR:
tm_shader_interpolation_modifier_type = 0;
pub const tm_shader_interpolation_modifier_type_TM_SHADER_INTERPOLATION_MODIFIER_CENTROID:
tm_shader_interpolation_modifier_type = 1;
pub const tm_shader_interpolation_modifier_type_TM_SHADER_INTERPOLATION_MODIFIER_NOINTERPOLATION:
tm_shader_interpolation_modifier_type = 2;
pub const tm_shader_interpolation_modifier_type_TM_SHADER_INTERPOLATION_MODIFIER_NOPERSPECTIVE:
tm_shader_interpolation_modifier_type = 3;
pub const tm_shader_interpolation_modifier_type_TM_SHADER_INTERPOLATION_MODIFIER_SAMPLE:
tm_shader_interpolation_modifier_type = 4;
pub const tm_shader_interpolation_modifier_type_TM_SHADER_INTERPOLATION_MODIFIER_MAX_MODIFIERS:
tm_shader_interpolation_modifier_type = 5;
pub type tm_shader_interpolation_modifier_type = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_shader_stage_export_t {
pub requested: bool,
pub _padding_101: [::std::os::raw::c_char; 7usize],
pub constant: tm_shader_constant_t,
pub interpolation_modifier: u32,
pub _padding_104: [::std::os::raw::c_char; 4usize],
}
impl Default for tm_shader_stage_export_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub const tm_shader_tess_attribute_domain_TM_SHADER_TESS_ATTRIBUTE_DOMAIN_VALUE_TRIANGLE:
tm_shader_tess_attribute_domain = 0;
pub const tm_shader_tess_attribute_domain_TM_SHADER_TESS_ATTRIBUTE_DOMAIN_VALUE_QUAD:
tm_shader_tess_attribute_domain = 1;
pub const tm_shader_tess_attribute_domain_TM_SHADER_TESS_ATTRIBUTE_DOMAIN_VALUE_ISOLINE:
tm_shader_tess_attribute_domain = 2;
pub const tm_shader_tess_attribute_domain_TM_SHADER_TESS_ATTRIBUTE_DOMAIN_VALUE_MAX_VALUES:
tm_shader_tess_attribute_domain = 3;
pub type tm_shader_tess_attribute_domain = ::std::os::raw::c_int;
pub const tm_shader_hull_attribute_output_topology_TM_SHADER_HULL_ATTRIBUTE_OUTPUT_VALUE_POINT:
tm_shader_hull_attribute_output_topology = 0;
pub const tm_shader_hull_attribute_output_topology_TM_SHADER_HULL_ATTRIBUTE_OUTPUT_VALUE_LINE:
tm_shader_hull_attribute_output_topology = 1;
pub const tm_shader_hull_attribute_output_topology_TM_SHADER_HULL_ATTRIBUTE_OUTPUT_VALUE_TRIANGLE_CW : tm_shader_hull_attribute_output_topology = 2 ;
pub const tm_shader_hull_attribute_output_topology_TM_SHADER_HULL_ATTRIBUTE_OUTPUT_VALUE_TRIANGLE_CCW : tm_shader_hull_attribute_output_topology = 3 ;
pub const tm_shader_hull_attribute_output_topology_TM_SHADER_HULL_ATTRIBUTE_OUTPUT_VALUE_MAX_VALUES : tm_shader_hull_attribute_output_topology = 4 ;
pub type tm_shader_hull_attribute_output_topology = ::std::os::raw::c_int;
pub const tm_shader_hull_attribute_partitioning_TM_SHADER_HULL_ATTRIBUTE_PARTITIONING_VALUE_INTEGER : tm_shader_hull_attribute_partitioning = 0 ;
pub const tm_shader_hull_attribute_partitioning_TM_SHADER_HULL_ATTRIBUTE_PARTITIONING_VALUE_FRACTIONAL_EVEN : tm_shader_hull_attribute_partitioning = 1 ;
pub const tm_shader_hull_attribute_partitioning_TM_SHADER_HULL_ATTRIBUTE_PARTITIONING_VALUE_FRACTIONAL_ODD : tm_shader_hull_attribute_partitioning = 2 ;
pub const tm_shader_hull_attribute_partitioning_TM_SHADER_HULL_ATTRIBUTE_PARTITIONING_VALUE_POW2:
tm_shader_hull_attribute_partitioning = 3;
pub const tm_shader_hull_attribute_partitioning_TM_SHADER_HULL_ATTRIBUTE_PARTITIONING_VALUE_MAX_VALUES : tm_shader_hull_attribute_partitioning = 4 ;
pub type tm_shader_hull_attribute_partitioning = ::std::os::raw::c_int;
pub const tm_shader_attribute_type_TM_SHADER_GEOMETRY_ATTRIBUTE_INSTANCE: tm_shader_attribute_type =
0;
pub const tm_shader_attribute_type_TM_SHADER_TESS_ATTRIBUTE_DOMAIN: tm_shader_attribute_type = 1;
pub const tm_shader_attribute_type_TM_SHADER_HULL_ATTRIBUTE_MAX_TESS_FACTOR:
tm_shader_attribute_type = 2;
pub const tm_shader_attribute_type_TM_SHADER_HULL_ATTRIBUTE_OUTPUT_CONTROL_POINTS:
tm_shader_attribute_type = 3;
pub const tm_shader_attribute_type_TM_SHADER_HULL_ATTRIBUTE_OUTPUT_TOPOLOGY:
tm_shader_attribute_type = 4;
pub const tm_shader_attribute_type_TM_SHADER_HULL_ATTRIBUTE_PARTITIONING: tm_shader_attribute_type =
5;
pub const tm_shader_attribute_type_TM_SHADER_HULL_ATTRIBUTE_PATCH_CONSTANT_FUNCTION:
tm_shader_attribute_type = 6;
pub const tm_shader_attribute_type_TM_SHADER_PIXEL_ATTRIBUTE_EARLY_DEPTH_STENCIL:
tm_shader_attribute_type = 7;
pub const tm_shader_attribute_type_TM_SHADER_COMPUTE_ATTRIBUTE_NUM_THREADS:
tm_shader_attribute_type = 8;
pub const tm_shader_attribute_type_TM_SHADER_ATTRIBUTE_MAX_ATTRIBUTES: tm_shader_attribute_type = 9;
pub type tm_shader_attribute_type = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_shader_stage_attribute_t {
pub type_: tm_shader_attribute_type,
pub _padding_170: [::std::os::raw::c_char; 4usize],
pub __bindgen_anon_1: tm_shader_stage_attribute_t__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union tm_shader_stage_attribute_t__bindgen_ty_1 {
pub boolean: bool,
pub values: [u32; 4usize],
pub value: u32,
_bindgen_union_align: [u32; 4usize],
}
impl Default for tm_shader_stage_attribute_t__bindgen_ty_1 {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
impl Default for tm_shader_stage_attribute_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
extern "C" {
pub static tm_shader_constant_type_to_bytes: [u32; 9usize];
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union tm_shader_system_cl_type_t {
pub uint64: u64,
pub boolean: bool,
_bindgen_union_align: u64,
}
impl Default for tm_shader_system_cl_type_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_shader_system_io_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_shader_blob_header_t {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_creation_graph_update_shader_constant_resource_t {
pub draw_calls: *const tm_creation_graph_output_t,
pub cbuffers: *const tm_shader_constant_buffer_instance_t,
pub io_interface: tm_tt_id_t,
pub entity_id: u64,
pub entity_ctx: *mut tm_entity_context_o,
}
impl Default for tm_creation_graph_update_shader_constant_resource_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_shader_declaration_o {
_unused: [u8; 0],
}
pub const TM_SHADER_STAGE_VERTEX: ::std::os::raw::c_int = 1;
pub const TM_SHADER_STAGE_HULL: ::std::os::raw::c_int = 2;
pub const TM_SHADER_STAGE_DOMAIN: ::std::os::raw::c_int = 4;
pub const TM_SHADER_STAGE_GEOMETRY: ::std::os::raw::c_int = 8;
pub const TM_SHADER_STAGE_PIXEL: ::std::os::raw::c_int = 16;
pub const TM_SHADER_STAGE_COMPUTE: ::std::os::raw::c_int = 32;
pub const TM_SHADER_STAGE_ALL: ::std::os::raw::c_int = 63;
pub const TM_SHADER_STAGE_MAX_STAGES: ::std::os::raw::c_int = 6;
pub type _bindgen_ty_182 = ::std::os::raw::c_int;
pub const TM_SHADER_SYSTEM_MAX_PASSES: ::std::os::raw::c_int = 16;
pub type _bindgen_ty_183 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_shader_declaration_api {
pub clear: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_shader_declaration_o)>,
pub append_render_states: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_shader_declaration_o,
block_type: u32,
states: *const tm_renderer_state_value_pair_t,
num_states: u32,
),
>,
pub append_serialized_render_states: ::std::option::Option<
unsafe extern "C" fn(inst: *mut tm_shader_declaration_o, block_type: u32, data: *const u8),
>,
pub append_static_sampler_states: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_shader_declaration_o,
state_block_name_hash: u64,
states: *const tm_renderer_state_value_pair_t,
num_states: u32,
),
>,
pub request_channel: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_shader_declaration_o,
stage_flag: u32,
channel_name: *const ::std::os::raw::c_char,
),
>,
pub set_constant: ::std::option::Option<
unsafe extern "C" fn(inst: *mut tm_shader_declaration_o, constant: tm_shader_constant_t),
>,
pub set_resource: ::std::option::Option<
unsafe extern "C" fn(inst: *mut tm_shader_declaration_o, resource: tm_shader_resource_t),
>,
pub set_stage_export: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_shader_declaration_o,
stage_flag: u32,
stage_export: tm_shader_stage_export_t,
),
>,
pub set_stage_system_semantic_import: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_shader_declaration_o,
stage_flag: u32,
type_: tm_shader_system_semantic_type,
),
>,
pub set_stage_system_semantic_export: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_shader_declaration_o,
stage_flag: u32,
type_: tm_shader_system_semantic_type,
),
>,
pub set_stage_attribute: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_shader_declaration_o,
stage_flag: u32,
attr: tm_shader_stage_attribute_t,
),
>,
pub append_patch_code: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_shader_declaration_o,
domain: u32,
code: *const ::std::os::raw::c_char,
source_file: *const ::std::os::raw::c_char,
source_line: u32,
),
>,
pub append_code: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_shader_declaration_o,
stage_flag: u32,
code: *const ::std::os::raw::c_char,
source_file: *const ::std::os::raw::c_char,
source_line: u32,
),
>,
pub append_common_code: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_shader_declaration_o,
code: *const ::std::os::raw::c_char,
source_file: *const ::std::os::raw::c_char,
source_line: u32,
),
>,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_shader_system_api {
pub create_context: ::std::option::Option<
unsafe extern "C" fn(
allocator: *mut tm_allocator_i,
render_graph: *mut tm_render_graph_o,
) -> *mut tm_shader_system_context_o,
>,
pub clone_context: ::std::option::Option<
unsafe extern "C" fn(
src_context: *const tm_shader_system_context_o,
allocator: *mut tm_allocator_i,
) -> *mut tm_shader_system_context_o,
>,
pub destroy_context:
::std::option::Option<unsafe extern "C" fn(context: *mut tm_shader_system_context_o)>,
pub set_render_graph: ::std::option::Option<
unsafe extern "C" fn(
context: *mut tm_shader_system_context_o,
render_graph: *mut tm_render_graph_o,
),
>,
pub activate_system: ::std::option::Option<
unsafe extern "C" fn(
context: *mut tm_shader_system_context_o,
system: *mut tm_shader_system_o,
cbuffer_instances: *const tm_shader_constant_buffer_instance_t,
num_cbuffer_instances: u32,
rbinder_instances: *const tm_shader_resource_binder_instance_t,
num_rbinder_instances: u32,
),
>,
pub deactivate_system: ::std::option::Option<
unsafe extern "C" fn(
context: *mut tm_shader_system_context_o,
system: *mut tm_shader_system_o,
),
>,
}
pub const TM_SHADER_SYSTEM_UNINITIALIZED_INSTANCE: ::std::os::raw::c_int = -1;
pub type _bindgen_ty_184 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_shader_constant_buffer_instance_t {
pub instance_id: u32,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_shader_resource_binder_instance_t {
pub instance_id: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_shader_constant_update_t {
pub instance_id: u32,
pub constant_offset: u32,
pub first_byte: u32,
pub num_bytes: u32,
pub data: *const ::std::os::raw::c_void,
}
impl Default for tm_shader_constant_update_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_shader_resource_update_t {
pub instance_id: u32,
pub resource_slot: u32,
pub first_resource: u32,
pub num_resources: u32,
pub resources: *const u32,
pub resources_view_aspect_flags: *const u32,
}
impl Default for tm_shader_resource_update_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_shader_io_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_shader_api {
pub create_constant_buffer_instances: ::std::option::Option<
unsafe extern "C" fn(
io: *mut tm_shader_io_o,
num_instances: u32,
result: *mut tm_shader_constant_buffer_instance_t,
),
>,
pub create_constant_buffer_instances_from_template: ::std::option::Option<
unsafe extern "C" fn(
io: *mut tm_shader_io_o,
resource_buffer: *mut tm_renderer_resource_command_buffer_o,
num_instances: u32,
result: *mut tm_shader_constant_buffer_instance_t,
cbuf_template: tm_shader_constant_buffer_instance_t,
),
>,
pub destroy_constant_buffer_instances: ::std::option::Option<
unsafe extern "C" fn(
io: *mut tm_shader_io_o,
instances: *mut tm_shader_constant_buffer_instance_t,
num_instances: u32,
),
>,
pub create_resource_binder_instances: ::std::option::Option<
unsafe extern "C" fn(
io: *mut tm_shader_io_o,
num_instances: u32,
result: *mut tm_shader_resource_binder_instance_t,
),
>,
pub destroy_resource_binder_instances: ::std::option::Option<
unsafe extern "C" fn(
io: *mut tm_shader_io_o,
instances: *mut tm_shader_resource_binder_instance_t,
num_instances: u32,
),
>,
pub reflect_constants: ::std::option::Option<
unsafe extern "C" fn(
io: *mut tm_shader_io_o,
num_constants: *mut u32,
constants: *mut tm_shader_constant_t,
constant_offsets: *mut u32,
),
>,
pub lookup_constant: ::std::option::Option<
unsafe extern "C" fn(
io: *mut tm_shader_io_o,
name: u64,
constant: *mut tm_shader_constant_t,
constant_offset: *mut u32,
) -> bool,
>,
pub update_constants: ::std::option::Option<
unsafe extern "C" fn(
io: *mut tm_shader_io_o,
resource_buffer: *mut tm_renderer_resource_command_buffer_o,
constant_updates: *const tm_shader_constant_update_t,
num_updates: u32,
),
>,
pub update_constants_raw: ::std::option::Option<
unsafe extern "C" fn(
io: *mut tm_shader_io_o,
resource_buffer: *mut tm_renderer_resource_command_buffer_o,
instance_ids: *const u32,
data: *mut *const ::std::os::raw::c_void,
offset: u32,
size: u32,
num_updates: u32,
),
>,
pub update_constant_buffer_instances_from_template: ::std::option::Option<
unsafe extern "C" fn(
io: *mut tm_shader_io_o,
resource_buffer: *mut tm_renderer_resource_command_buffer_o,
num_instances: u32,
instances: *mut tm_shader_constant_buffer_instance_t,
cbuf_template: tm_shader_constant_buffer_instance_t,
),
>,
pub reflect_resources: ::std::option::Option<
unsafe extern "C" fn(
io: *mut tm_shader_io_o,
num_resources: *mut u32,
resources: *mut tm_shader_resource_t,
resource_slots: *mut u32,
),
>,
pub lookup_resource: ::std::option::Option<
unsafe extern "C" fn(
io: *mut tm_shader_io_o,
name: u64,
resource: *mut tm_shader_resource_t,
resource_slot: *mut u32,
) -> bool,
>,
pub update_resources: ::std::option::Option<
unsafe extern "C" fn(
io: *mut tm_shader_io_o,
resource_buffer: *mut tm_renderer_resource_command_buffer_o,
resource_updates: *mut tm_shader_resource_update_t,
num_updates: u32,
),
>,
pub max_passes: ::std::option::Option<unsafe extern "C" fn(shader: *mut tm_shader_o) -> u8>,
pub assemble_shader_infos: ::std::option::Option<
unsafe extern "C" fn(
shader: *mut tm_shader_o,
state_override_blocks: *const u32,
num_state_override_blocks: u32,
context: *const tm_shader_system_context_o,
visibility_context: u64,
resource_buffer: *mut tm_renderer_resource_command_buffer_o,
cbuf_instances: *const tm_shader_constant_buffer_instance_t,
rbinder_instances: *const tm_shader_resource_binder_instance_t,
num_shaders: u32,
results: *mut tm_renderer_shader_info_t,
) -> u8,
>,
pub shader_io: ::std::option::Option<
unsafe extern "C" fn(shader: *mut tm_shader_o) -> *mut tm_shader_io_o,
>,
pub system_io: ::std::option::Option<
unsafe extern "C" fn(system: *mut tm_shader_system_o) -> *mut tm_shader_io_o,
>,
pub name: ::std::option::Option<unsafe extern "C" fn(shader: *mut tm_shader_o) -> u64>,
}
pub const tm_shader_state_overrides_TM_SHADER_STATE_OVERRIDE_DOUBLE_SIDED:
tm_shader_state_overrides = 0;
pub const tm_shader_state_overrides_TM_SHADER_STATE_OVERRIDE_FRONT_FACE_CW:
tm_shader_state_overrides = 1;
pub const tm_shader_state_overrides_TM_SHADER_STATE_OVERRIDE_MAX_SHADER_STATE_OVERRIDES:
tm_shader_state_overrides = 2;
pub type tm_shader_state_overrides = ::std::os::raw::c_int;
pub const tm_shader_system_background_status_TM_SHADER_SYSTEM_BACKGROUND_CREATE_STATUS_SUCCESS:
tm_shader_system_background_status = 0;
pub const tm_shader_system_background_status_TM_SHADER_SYSTEM_BACKGROUND_CREATE_STATUS_CANCEL:
tm_shader_system_background_status = 1;
pub const tm_shader_system_background_status_TM_SHADER_SYSTEM_BACKGROUND_CREATE_STATUS_ERROR:
tm_shader_system_background_status = 2;
pub type tm_shader_system_background_status = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_shader_system_background_create_i {
pub user_data: *mut ::std::os::raw::c_void,
pub done: ::std::option::Option<
unsafe extern "C" fn(
status: tm_shader_system_background_status,
blob: *const tm_shader_blob_header_t,
blob_size: u64,
user_data: *mut ::std::os::raw::c_void,
),
>,
}
impl Default for tm_shader_system_background_create_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_shader_repository_api {
pub create: ::std::option::Option<
unsafe extern "C" fn(
system_io: *mut tm_shader_system_io_o,
a: *mut tm_allocator_i,
backend: *mut tm_renderer_backend_i,
shader_compiler_api: *mut tm_renderer_shader_compiler_api,
tt: *mut tm_the_truth_o,
) -> *mut tm_shader_repository_o,
>,
pub destroy: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_shader_repository_o,
resource_buffer: *mut tm_renderer_resource_command_buffer_o,
),
>,
pub set_the_truth: ::std::option::Option<
unsafe extern "C" fn(inst: *mut tm_shader_repository_o, tt: *mut tm_the_truth_o),
>,
pub create_truth_types: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
pub import_truth_declaration_from_config: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_shader_repository_o,
config: *const tm_config_i,
pi: *const tm_json_parse_info_t,
name: u64,
validity_hash: u64,
time_stamp: *const tm_file_time_o,
filename: *const ::std::os::raw::c_char,
) -> tm_tt_id_t,
>,
pub destroy_truth_declaration:
::std::option::Option<unsafe extern "C" fn(inst: *mut tm_shader_repository_o, name: u64)>,
pub lookup_truth_declaration: ::std::option::Option<
unsafe extern "C" fn(inst: *mut tm_shader_repository_o, name: u64) -> tm_tt_id_t,
>,
pub lookup_declaration_validity_hash: ::std::option::Option<
unsafe extern "C" fn(inst: *mut tm_shader_repository_o, id: tm_tt_id_t) -> u64,
>,
pub load_shader_declaration: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_shader_repository_o,
declaration: *mut tm_shader_declaration_o,
id: tm_tt_id_t,
),
>,
pub last_modified: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_shader_repository_o,
id: tm_tt_id_t,
modified: *mut tm_file_time_o,
),
>,
pub host_save_state: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_shader_repository_o,
carray: *mut *mut ::std::os::raw::c_char,
a: *mut tm_allocator_i,
),
>,
pub client_load_state: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_shader_repository_o,
tt: *mut tm_the_truth_o,
state: *mut *const ::std::os::raw::c_char,
),
>,
pub create_shader_declaration: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_shader_repository_o,
a: *mut tm_allocator_i,
) -> *mut tm_shader_declaration_o,
>,
pub destroy_shader_declaration: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_shader_repository_o,
declaration: *mut tm_shader_declaration_o,
),
>,
pub generate_system_includes: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_shader_repository_o,
output_path: *const ::std::os::raw::c_char,
),
>,
pub update_shaders_from_directory: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_shader_repository_o,
dir: *const ::std::os::raw::c_char,
recursive: bool,
allocator: *mut tm_allocator_i,
res_buf: *mut tm_renderer_resource_command_buffer_o,
),
>,
pub allocator: ::std::option::Option<
unsafe extern "C" fn(inst: *mut tm_shader_repository_o) -> *mut tm_allocator_i,
>,
pub refresh_truth_shaders:
::std::option::Option<unsafe extern "C" fn(inst: *mut tm_shader_repository_o)>,
pub lookup_or_create_shader: ::std::option::Option<
unsafe extern "C" fn(inst: *mut tm_shader_repository_o, name: u64) -> *mut tm_shader_o,
>,
pub lookup_or_create_system: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_shader_repository_o,
name: u64,
) -> *mut tm_shader_system_o,
>,
pub create_shader_from_blob: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_shader_repository_o,
res_buf: *mut tm_renderer_resource_command_buffer_o,
shader_blob: *const tm_shader_blob_header_t,
) -> *mut tm_shader_o,
>,
pub compile_shader: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_shader_repository_o,
res_buf: *mut tm_renderer_resource_command_buffer_o,
shader: *mut tm_shader_o,
active_shader_stages: u32,
active_systems_bitmask: u64,
active_system_names: *const u64,
active_systems: *mut *const tm_shader_declaration_o,
num_active_systems: u32,
declarations: *mut *const tm_shader_declaration_o,
num_declarations: u32,
validity_hash: u64,
) -> bool,
>,
pub create_from_declaration: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_shader_repository_o,
res_buf: *mut tm_renderer_resource_command_buffer_o,
declaration: tm_tt_id_t,
name: u64,
generated_code: *mut tm_shader_declaration_o,
creation_graph_data: *const tm_shader_creation_graph_data_o,
) -> bool,
>,
pub background_create_from_declaration: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_shader_repository_o,
declaration: tm_tt_id_t,
name: u64,
generated_code: *mut tm_shader_declaration_o,
creation_graph_data: *const tm_shader_creation_graph_data_o,
callback: *const tm_shader_system_background_create_i,
),
>,
pub destroy_shader:
::std::option::Option<unsafe extern "C" fn(inst: *mut tm_shader_repository_o, name: u64)>,
pub destroy_system:
::std::option::Option<unsafe extern "C" fn(inst: *mut tm_shader_repository_o, name: u64)>,
pub lookup_shader: ::std::option::Option<
unsafe extern "C" fn(inst: *mut tm_shader_repository_o, name: u64) -> *mut tm_shader_o,
>,
pub lookup_system: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_shader_repository_o,
name: u64,
) -> *mut tm_shader_system_o,
>,
pub recycle_resources:
::std::option::Option<unsafe extern "C" fn(inst: *mut tm_shader_repository_o)>,
pub shader_state_override: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_shader_repository_o,
state_override: tm_shader_state_overrides,
) -> u32,
>,
pub lookup_shader_blob: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_shader_repository_o,
name: u64,
size: *mut u64,
) -> *const tm_shader_blob_header_t,
>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_connector_type_t {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_shader_creation_graph_data_o {
pub allocator: *mut tm_allocator_i,
pub connected_inputs: *mut bool,
pub actions: *mut tm_tt_id_t,
pub settings: *mut tm_tt_id_t,
}
impl Default for tm_shader_creation_graph_data_o {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_shader_creation_graph_api {
pub create_truth_types: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
pub compile_data_to_wire: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_creation_graph_instance_t,
wire: u32,
tt: *const tm_the_truth_o,
data_id: tm_tt_id_t,
to_type_hash: u64,
) -> bool,
>,
pub node_from_declaration: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
declaration: tm_tt_id_t,
node: *mut tm_creation_graph_node_type_i,
a: *mut tm_allocator_i,
),
>,
pub register_static_graph_nodes:
::std::option::Option<unsafe extern "C" fn(reg: *mut tm_api_registry_api, load: bool)>,
pub wire_result_as_string: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
ta: *mut tm_temp_allocator_i,
cw: *const tm_creation_graph_interpreter_wire_content_t,
requested_type: *const tm_connector_type_t,
) -> *const ::std::os::raw::c_char,
>,
}
pub const TM_TT_PROP__SHADER_REPOSITORY__DECLARATIONS: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__SHADER_REPOSITORY__MATERIALS: ::std::os::raw::c_int = 1;
pub type _bindgen_ty_185 = ::std::os::raw::c_int;
pub const TM_TT_PROP__SHADER_DECLARATION__NAME: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__SHADER_DECLARATION__COMPILABLE: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__SHADER_DECLARATION__SYSTEM: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__SHADER_DECLARATION__CREATION_GRAPH_NODE: ::std::os::raw::c_int = 3;
pub const TM_TT_PROP__SHADER_DECLARATION__INCLUDES: ::std::os::raw::c_int = 4;
pub const TM_TT_PROP__SHADER_DECLARATION__VARIATIONS: ::std::os::raw::c_int = 5;
pub const TM_TT_PROP__SHADER_DECLARATION__COMPILE_CONFIGURATIONS: ::std::os::raw::c_int = 6;
pub const TM_TT_PROP__SHADER_DECLARATION__COMPILE_CONTEXTS: ::std::os::raw::c_int = 7;
pub const TM_TT_PROP__SHADER_DECLARATION__FILENAME: ::std::os::raw::c_int = 8;
pub const TM_TT_PROP__SHADER_DECLARATION__VALIDITY_HASH: ::std::os::raw::c_int = 9;
pub const TM_TT_PROP__SHADER_DECLARATION__LAST_MODIFIED: ::std::os::raw::c_int = 10;
pub const TM_TT_PROP__SHADER_DECLARATION__REQUESTS: ::std::os::raw::c_int = 11;
pub const TM_TT_PROP__SHADER_DECLARATION__CONSTANTS: ::std::os::raw::c_int = 12;
pub const TM_TT_PROP__SHADER_DECLARATION__RESOURCES: ::std::os::raw::c_int = 13;
pub const TM_TT_PROP__SHADER_DECLARATION__RENDER_STATE_BLOCKS: ::std::os::raw::c_int = 14;
pub const TM_TT_PROP__SHADER_DECLARATION__SAMPLER_STATE_BLOCKS: ::std::os::raw::c_int = 15;
pub const TM_TT_PROP__SHADER_DECLARATION__COMMON_CODE: ::std::os::raw::c_int = 16;
pub const TM_TT_PROP__SHADER_DECLARATION__COMMON_CODE_LINE_NUMBER: ::std::os::raw::c_int = 17;
pub const TM_TT_PROP__SHADER_DECLARATION__FUNCTION_CODE: ::std::os::raw::c_int = 18;
pub const TM_TT_PROP__SHADER_DECLARATION__FUNCTION_CODE_LINE_NUMBER: ::std::os::raw::c_int = 19;
pub const TM_TT_PROP__SHADER_DECLARATION__VERTEX_CODE: ::std::os::raw::c_int = 20;
pub const TM_TT_PROP__SHADER_DECLARATION__VERTEX_CODE_LINE_NUMBER: ::std::os::raw::c_int = 21;
pub const TM_TT_PROP__SHADER_DECLARATION__VERTEX_STAGE_EXPORTS: ::std::os::raw::c_int = 22;
pub const TM_TT_PROP__SHADER_DECLARATION__VERTEX_SYSTEM_SEMANTICS_IMPORTS: ::std::os::raw::c_int =
23;
pub const TM_TT_PROP__SHADER_DECLARATION__VERTEX_SYSTEM_SEMANTICS_EXPORTS: ::std::os::raw::c_int =
24;
pub const TM_TT_PROP__SHADER_DECLARATION__VERTEX_STAGE_ATTRIBUTES: ::std::os::raw::c_int = 25;
pub const TM_TT_PROP__SHADER_DECLARATION__HULL_CODE: ::std::os::raw::c_int = 26;
pub const TM_TT_PROP__SHADER_DECLARATION__HULL_CODE_LINE_NUMBER: ::std::os::raw::c_int = 27;
pub const TM_TT_PROP__SHADER_DECLARATION__HULL_STAGE_EXPORTS: ::std::os::raw::c_int = 28;
pub const TM_TT_PROP__SHADER_DECLARATION__HULL_SYSTEM_SEMANTICS_IMPORTS: ::std::os::raw::c_int = 29;
pub const TM_TT_PROP__SHADER_DECLARATION__HULL_SYSTEM_SEMANTICS_EXPORTS: ::std::os::raw::c_int = 30;
pub const TM_TT_PROP__SHADER_DECLARATION__HULL_STAGE_ATTRIBUTES: ::std::os::raw::c_int = 31;
pub const TM_TT_PROP__SHADER_DECLARATION__HULL_PATCH: ::std::os::raw::c_int = 32;
pub const TM_TT_PROP__SHADER_DECLARATION__HULL_PATCH_LINE_NUMBER: ::std::os::raw::c_int = 33;
pub const TM_TT_PROP__SHADER_DECLARATION__HULL_CONDITION: ::std::os::raw::c_int = 34;
pub const TM_TT_PROP__SHADER_DECLARATION__DOMAIN_CODE: ::std::os::raw::c_int = 35;
pub const TM_TT_PROP__SHADER_DECLARATION__DOMAIN_CODE_LINE_NUMBER: ::std::os::raw::c_int = 36;
pub const TM_TT_PROP__SHADER_DECLARATION__DOMAIN_STAGE_EXPORTS: ::std::os::raw::c_int = 37;
pub const TM_TT_PROP__SHADER_DECLARATION__DOMAIN_SYSTEM_SEMANTICS_IMPORTS: ::std::os::raw::c_int =
38;
pub const TM_TT_PROP__SHADER_DECLARATION__DOMAIN_SYSTEM_SEMANTICS_EXPORTS: ::std::os::raw::c_int =
39;
pub const TM_TT_PROP__SHADER_DECLARATION__DOMAIN_STAGE_ATTRIBUTES: ::std::os::raw::c_int = 40;
pub const TM_TT_PROP__SHADER_DECLARATION__DOMAIN_CONDITION: ::std::os::raw::c_int = 41;
pub const TM_TT_PROP__SHADER_DECLARATION__GEOMETRY_CODE: ::std::os::raw::c_int = 42;
pub const TM_TT_PROP__SHADER_DECLARATION__GEOMETRY_CODE_LINE_NUMBER: ::std::os::raw::c_int = 43;
pub const TM_TT_PROP__SHADER_DECLARATION__GEOMETRY_STAGE_EXPORTS: ::std::os::raw::c_int = 44;
pub const TM_TT_PROP__SHADER_DECLARATION__GEOMETRY_SYSTEM_SEMANTICS_IMPORTS: ::std::os::raw::c_int =
45;
pub const TM_TT_PROP__SHADER_DECLARATION__GEOMETRY_SYSTEM_SEMANTICS_EXPORTS: ::std::os::raw::c_int =
46;
pub const TM_TT_PROP__SHADER_DECLARATION__GEOMETRY_STAGE_ATTRIBUTES: ::std::os::raw::c_int = 47;
pub const TM_TT_PROP__SHADER_DECLARATION__GEOMETRY_CONDITION: ::std::os::raw::c_int = 48;
pub const TM_TT_PROP__SHADER_DECLARATION__PIXEL_CODE: ::std::os::raw::c_int = 49;
pub const TM_TT_PROP__SHADER_DECLARATION__PIXEL_CODE_LINE_NUMBER: ::std::os::raw::c_int = 50;
pub const TM_TT_PROP__SHADER_DECLARATION__PIXEL_STAGE_EXPORTS: ::std::os::raw::c_int = 51;
pub const TM_TT_PROP__SHADER_DECLARATION__PIXEL_SYSTEM_SEMANTICS_IMPORTS: ::std::os::raw::c_int =
52;
pub const TM_TT_PROP__SHADER_DECLARATION__PIXEL_SYSTEM_SEMANTICS_EXPORTS: ::std::os::raw::c_int =
53;
pub const TM_TT_PROP__SHADER_DECLARATION__PIXEL_STAGE_ATTRIBUTES: ::std::os::raw::c_int = 54;
pub const TM_TT_PROP__SHADER_DECLARATION__COMPUTE_CODE: ::std::os::raw::c_int = 55;
pub const TM_TT_PROP__SHADER_DECLARATION__COMPUTE_CODE_LINE_NUMBER: ::std::os::raw::c_int = 56;
pub const TM_TT_PROP__SHADER_DECLARATION__COMPUTE_STAGE_EXPORTS: ::std::os::raw::c_int = 57;
pub const TM_TT_PROP__SHADER_DECLARATION__COMPUTE_SYSTEM_SEMANTICS_IMPORTS: ::std::os::raw::c_int =
58;
pub const TM_TT_PROP__SHADER_DECLARATION__COMPUTE_SYSTEM_SEMANTICS_EXPORTS: ::std::os::raw::c_int =
59;
pub const TM_TT_PROP__SHADER_DECLARATION__COMPUTE_STAGE_ATTRIBUTES: ::std::os::raw::c_int = 60;
pub type _bindgen_ty_186 = ::std::os::raw::c_int;
pub const TM_TT_PROP__RENDER_STATE_BLOCK__TYPE: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__RENDER_STATE_BLOCK__STATES: ::std::os::raw::c_int = 1;
pub type _bindgen_ty_187 = ::std::os::raw::c_int;
pub const TM_TT_PROP__SAMPLER_STATE_BLOCK__NAME: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__SAMPLER_STATE_BLOCK__STATES: ::std::os::raw::c_int = 1;
pub type _bindgen_ty_188 = ::std::os::raw::c_int;
pub const TM_TT_PROP__SHADER_REQUEST__TYPE_NAME: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__SHADER_REQUEST__CHANNEL_NAME: ::std::os::raw::c_int = 1;
pub type _bindgen_ty_189 = ::std::os::raw::c_int;
pub const TM_TT_PROP__SHADER_CONSTANT__NAME: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__SHADER_CONSTANT__TYPE: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__SHADER_CONSTANT__ROWS: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__SHADER_CONSTANT__COLUMNS: ::std::os::raw::c_int = 3;
pub const TM_TT_PROP__SHADER_CONSTANT__STRUCT_SIZE: ::std::os::raw::c_int = 4;
pub const TM_TT_PROP__SHADER_CONSTANT__ELEMENTS: ::std::os::raw::c_int = 5;
pub type _bindgen_ty_190 = ::std::os::raw::c_int;
pub const TM_TT_PROP__SHADER_RESOURCE__NAME: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__SHADER_RESOURCE__TYPE: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__SHADER_RESOURCE__ELEMENT_TYPE: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__SHADER_RESOURCE__ELEMENTS: ::std::os::raw::c_int = 3;
pub const TM_TT_PROP__SHADER_RESOURCE__STATIC_RESOURCE: ::std::os::raw::c_int = 4;
pub const TM_TT_PROP__SHADER_RESOURCE__UAV: ::std::os::raw::c_int = 5;
pub type _bindgen_ty_191 = ::std::os::raw::c_int;
pub const TM_TT_PROP__STAGE_EXPORT__CONSTANT: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__STAGE_EXPORT__INTERPOLATION_MODIFIER: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__STAGE_EXPORT__CHANNEL_REQUESTED: ::std::os::raw::c_int = 2;
pub type _bindgen_ty_192 = ::std::os::raw::c_int;
pub const TM_TT_PROP__INCLUDE__NAME: ::std::os::raw::c_int = 0;
pub type _bindgen_ty_193 = ::std::os::raw::c_int;
pub const TM_TT_PROP__VARIATION__SYSTEMS: ::std::os::raw::c_int = 0;
pub type _bindgen_ty_194 = ::std::os::raw::c_int;
pub const TM_TT_PROP__VARIATION__SYSTEM__NAME: ::std::os::raw::c_int = 0;
pub type _bindgen_ty_195 = ::std::os::raw::c_int;
pub const TM_TT_PROP__COMPILE_CONFIGURATION__NAME: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__COMPILE_CONFIGURATION__VARIATIONS: ::std::os::raw::c_int = 1;
pub type _bindgen_ty_196 = ::std::os::raw::c_int;
pub const TM_TT_PROP__COMPILE_BRANCH__CONDITION: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__COMPILE_BRANCH__THEN: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__COMPILE_BRANCH__ELSE: ::std::os::raw::c_int = 2;
pub type _bindgen_ty_197 = ::std::os::raw::c_int;
pub const TM_TT_PROP__PASS_CONDITION__SYSTEMS_ACTIVE: ::std::os::raw::c_int = 0;
pub type _bindgen_ty_198 = ::std::os::raw::c_int;
pub const TM_TT_PROP__PASS__LAYER: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__PASS__CONDITION: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__PASS__ENABLE_SYSTEMS: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__PASS__RENDER_STATE_BLOCKS: ::std::os::raw::c_int = 3;
pub const TM_TT_PROP__PASS__COMPILE_CONFIGURATION: ::std::os::raw::c_int = 4;
pub type _bindgen_ty_199 = ::std::os::raw::c_int;
pub const TM_TT_PROP__COMPILE_CONTEXT__NAME: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__COMPILE_CONTEXT__PASSES: ::std::os::raw::c_int = 1;
pub type _bindgen_ty_200 = ::std::os::raw::c_int;
pub const TM_TT_PROP__SHADER_SYSTEM_COMPILED_RESULT__NAME: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__SHADER_SYSTEM_COMPILED_RESULT__BUFFER: ::std::os::raw::c_int = 1;
pub type _bindgen_ty_201 = ::std::os::raw::c_int;
pub const TM_TT_PROP__SHADER_SYSTEM__CONSTANT_NODE__VALUE_TYPE_HASH: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__SHADER_SYSTEM__CONSTANT_NODE__VALUE: ::std::os::raw::c_int = 1;
pub type _bindgen_ty_202 = ::std::os::raw::c_int;
pub const TM_TT_PROP__CREATION_GRAPH_NODE_RESOURCE_ASPECT__RESOURCE: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__CREATION_GRAPH_NODE_RESOURCE_ASPECT__ASPECT: ::std::os::raw::c_int = 1;
pub type _bindgen_ty_203 = ::std::os::raw::c_int;
pub const TM_TT_PROP__CREATION_GRAPH_NODE_DEFINE__NAME: ::std::os::raw::c_int = 0;
pub type _bindgen_ty_204 = ::std::os::raw::c_int;
pub const TM_TT_PROP__CREATION_GRAPH_NODE_ACTION__NAME_HASH: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__CREATION_GRAPH_NODE_ACTION__RESOURCE_ASPECTS: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__CREATION_GRAPH_NODE_ACTION__DEFINES: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__CREATION_GRAPH_NODE_ACTION__REQUESTS: ::std::os::raw::c_int = 3;
pub const TM_TT_PROP__CREATION_GRAPH_NODE_ACTION__ENABLE_SYSTEMS: ::std::os::raw::c_int = 4;
pub const TM_TT_PROP__CREATION_GRAPH_NODE_ACTION__RENDER_STATE_BLOCKS: ::std::os::raw::c_int = 5;
pub type _bindgen_ty_205 = ::std::os::raw::c_int;
pub const TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR_SETTING_OPTION__DISPLAY_NAME:
::std::os::raw::c_int = 0;
pub const TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR_SETTING_OPTION__DISPLAY_TOOLTIP:
::std::os::raw::c_int = 1;
pub const TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR_SETTING_OPTION__ACTION: ::std::os::raw::c_int =
2;
pub type _bindgen_ty_206 = ::std::os::raw::c_int;
pub const TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR_SETTING__DISPLAY_NAME: ::std::os::raw::c_int =
0;
pub const TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR_SETTING__DISPLAY_TOOLTIP:
::std::os::raw::c_int = 1;
pub const TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR_SETTING__SETTING_CONDITION:
::std::os::raw::c_int = 2;
pub const TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR_SETTING__OPTIONS: ::std::os::raw::c_int = 3;
pub const TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR_SETTING__BOOL_ACTION: ::std::os::raw::c_int =
4;
pub type _bindgen_ty_207 = ::std::os::raw::c_int;
pub const TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR_SETTINGS__OBJECT_TYPE_HASH:
::std::os::raw::c_int = 0;
pub const TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR_SETTINGS__SETTINGS: ::std::os::raw::c_int = 1;
pub type _bindgen_ty_208 = ::std::os::raw::c_int;
pub const TM_SHADER_SYSTEM__NODE_CONNECTOR__EVALUATION_STAGE__VERTEX: ::std::os::raw::c_int = 0;
pub const TM_SHADER_SYSTEM__NODE_CONNECTOR__EVALUATION_STAGE__HULL: ::std::os::raw::c_int = 1;
pub const TM_SHADER_SYSTEM__NODE_CONNECTOR__EVALUATION_STAGE__DOMAIN: ::std::os::raw::c_int = 2;
pub const TM_SHADER_SYSTEM__NODE_CONNECTOR__EVALUATION_STAGE__GEOMETRY: ::std::os::raw::c_int = 3;
pub const TM_SHADER_SYSTEM__NODE_CONNECTOR__EVALUATION_STAGE__PIXEL: ::std::os::raw::c_int = 4;
pub const TM_SHADER_SYSTEM__NODE_CONNECTOR__EVALUATION_STAGE__COMPUTE: ::std::os::raw::c_int = 5;
pub const TM_SHADER_SYSTEM__NODE_CONNECTOR__EVALUATION_STAGE__MAX_STAGES: ::std::os::raw::c_int = 6;
pub type _bindgen_ty_209 = ::std::os::raw::c_int;
extern "C" {
pub static mut tm_shader_system__node__connector__evaluation_stage_names:
[*const ::std::os::raw::c_char; 6usize];
}
pub const TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR__NAME: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR__DISPLAY_NAME: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR__DISPLAY_TOOLTIP: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR__TARGET_NAME: ::std::os::raw::c_int = 3;
pub const TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR__TARGET_ELEMENT: ::std::os::raw::c_int = 4;
pub const TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR__CONNECTOR_FLAG: ::std::os::raw::c_int = 5;
pub const TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR__IS_OPTIONAL: ::std::os::raw::c_int = 6;
pub const TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR__IS_FUNCTION: ::std::os::raw::c_int = 7;
pub const TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR__TYPE: ::std::os::raw::c_int = 8;
pub const TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR__ROWS: ::std::os::raw::c_int = 9;
pub const TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR__COLUMNS: ::std::os::raw::c_int = 10;
pub const TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR__TYPE_OF: ::std::os::raw::c_int = 11;
pub const TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR__EVALUATION_STAGE: ::std::os::raw::c_int = 12;
pub const TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR__SETTINGS: ::std::os::raw::c_int = 13;
pub type _bindgen_ty_210 = ::std::os::raw::c_int;
pub const TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR__TYPE_OF__CONNECTOR: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR__TYPE_OF__REQUESTED_CHANNEL:
::std::os::raw::c_int = 1;
pub type _bindgen_ty_211 = ::std::os::raw::c_int;
pub const TM_TT_PROP__CREATION_GRAPH_NODE__DECLARATION_NAME: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__CREATION_GRAPH_NODE__NODE_NAME: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__CREATION_GRAPH_NODE__DISPLAY_NAME: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__CREATION_GRAPH_NODE__CATEGORY: ::std::os::raw::c_int = 3;
pub const TM_TT_PROP__CREATION_GRAPH_NODE__ACTIONS: ::std::os::raw::c_int = 4;
pub const TM_TT_PROP__CREATION_GRAPH_NODE__INPUTS: ::std::os::raw::c_int = 5;
pub const TM_TT_PROP__CREATION_GRAPH_NODE__OUTPUTS: ::std::os::raw::c_int = 6;
pub type _bindgen_ty_212 = ::std::os::raw::c_int;
pub const TM_TT_PROP__RUNNER_SETTINGS__PROJECT: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__RUNNER_SETTINGS__WORLD_ENTITY: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__RUNNER_SETTINGS__SHADERS_DIR: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__RUNNER_SETTINGS__PLUGINS_DIR: ::std::os::raw::c_int = 3;
pub const TM_TT_PROP__RUNNER_SETTINGS__WINDOW_TITLE: ::std::os::raw::c_int = 4;
pub type _bindgen_ty_213 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_runner_settings_api {
pub create_truth_types: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_simulate_context_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_simulate_context_api {
pub create: ::std::option::Option<
unsafe extern "C" fn(
allocator: *mut tm_allocator_i,
entity_ctx: *mut tm_entity_context_o,
) -> *mut tm_simulate_context_o,
>,
pub destroy:
::std::option::Option<unsafe extern "C" fn(simulate_ctx: *mut tm_simulate_context_o)>,
pub camera: ::std::option::Option<
unsafe extern "C" fn(simulate_ctx: *const tm_simulate_context_o) -> tm_entity_t,
>,
pub set_camera: ::std::option::Option<
unsafe extern "C" fn(simulate_ctx: *mut tm_simulate_context_o, camera: tm_entity_t),
>,
}
pub const tm_tt_value__statistics_graph__type_TM_TT_VALUE__STATISTICS_GRAPH__NONE:
tm_tt_value__statistics_graph__type = 0;
pub const tm_tt_value__statistics_graph__type_TM_TT_VALUE__STATISTICS_GRAPH__TABLE:
tm_tt_value__statistics_graph__type = 1;
pub const tm_tt_value__statistics_graph__type_TM_TT_VALUE__STATISTICS_GRAPH__LINE_GRAPH:
tm_tt_value__statistics_graph__type = 2;
pub type tm_tt_value__statistics_graph__type = ::std::os::raw::c_int;
pub const TM_TT_PROP__STATISTICS_GRAPH__NAME: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__STATISTICS_GRAPH__TYPE: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__STATISTICS_GRAPH__HISTORY: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__STATISTICS_GRAPH__Y_RANGE_AUTO: ::std::os::raw::c_int = 3;
pub const TM_TT_PROP__STATISTICS_GRAPH__Y_MIN: ::std::os::raw::c_int = 4;
pub const TM_TT_PROP__STATISTICS_GRAPH__Y_MAX: ::std::os::raw::c_int = 5;
pub const TM_TT_PROP__STATISTICS_GRAPH__SOURCES: ::std::os::raw::c_int = 6;
pub type _bindgen_ty_214 = ::std::os::raw::c_int;
pub const TM_TT_PROP__STATISTICS_GRAPH_SOURCE__NAME: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__STATISTICS_GRAPH_SOURCE__SOURCE: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__STATISTICS_GRAPH_SOURCE__COLOR: ::std::os::raw::c_int = 2;
pub type _bindgen_ty_215 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_statistics_graph_api {
pub ui: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
settings: tm_tt_id_t,
ui: *mut tm_ui_o,
uistyle: *const tm_ui_style_t,
rect: tm_rect_t,
) -> bool,
>,
pub create_default_settings: ::std::option::Option<
unsafe extern "C" fn(tt: *mut tm_the_truth_o, ui: *mut tm_ui_o) -> tm_tt_id_t,
>,
}
pub const TM_STATISTICS_SOURCE_MAX_FRAMES: ::std::os::raw::c_int = 1024;
pub type _bindgen_ty_216 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_statistics_source_t {
pub name: *const ::std::os::raw::c_char,
pub default_title: *const ::std::os::raw::c_char,
pub values: *mut f64,
pub frame_value: f64,
}
impl Default for tm_statistics_source_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_statistics_source_api {
pub source: ::std::option::Option<
unsafe extern "C" fn(
name: *const ::std::os::raw::c_char,
default_title: *const ::std::os::raw::c_char,
) -> *mut f64,
>,
pub push_frame: ::std::option::Option<unsafe extern "C" fn()>,
pub is_paused: ::std::option::Option<unsafe extern "C" fn() -> bool>,
pub set_paused: ::std::option::Option<unsafe extern "C" fn(paused: bool)>,
pub read: ::std::option::Option<
unsafe extern "C" fn(
source: *const ::std::os::raw::c_char,
) -> *const tm_statistics_source_t,
>,
pub sources: ::std::option::Option<
unsafe extern "C" fn(count: *mut u32) -> *const tm_statistics_source_t,
>,
pub num_frames: ::std::option::Option<unsafe extern "C" fn() -> u64>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_asset_preview_api__ui_args_t {
pub tt: *mut tm_the_truth_o,
pub asset: tm_tt_id_t,
pub entity_ctx: *mut tm_entity_context_o,
pub entity: *const tm_entity_t,
pub viewer_render_info: *mut tm_viewer_render_info_t,
pub lighting_environment_settings: *mut tm_lighting_environment_settings_t,
pub tab_id: u64,
pub ui: *mut tm_ui_o,
pub uistyle: *const tm_ui_style_t,
pub content_r: tm_rect_t,
}
impl Default for tm_asset_preview_api__ui_args_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_asset_preview_api {
pub create: ::std::option::Option<
unsafe extern "C" fn(allocator: *mut tm_allocator_i) -> *mut tm_asset_preview_o,
>,
pub destroy: ::std::option::Option<
unsafe extern "C" fn(inst: *mut tm_asset_preview_o, allocator: *mut tm_allocator_i),
>,
pub create_entity: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_asset_preview_o,
tt: *mut tm_the_truth_o,
asset: tm_tt_id_t,
entity_ctx: *mut tm_entity_context_o,
result: *mut tm_entity_t,
),
>,
pub intercept_focus: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_asset_preview_o,
tt: *mut tm_the_truth_o,
root_asset: tm_tt_id_t,
entity_ctx: *mut tm_entity_context_o,
entity: *const tm_entity_t,
focus_asset: tm_tt_id_t,
) -> bool,
>,
pub reload: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_asset_preview_o,
tt: *mut tm_the_truth_o,
asset: tm_tt_id_t,
entity_ctx: *mut tm_entity_context_o,
entity: *mut tm_entity_t,
) -> bool,
>,
pub render: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_asset_preview_o,
tt: *mut tm_the_truth_o,
asset: tm_tt_id_t,
args: *const tm_render_args_t,
),
>,
pub ui: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_asset_preview_o,
args: *const tm_asset_preview_api__ui_args_t,
),
>,
pub toolbars: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_asset_preview_o,
n: *mut u32,
args: *const tm_asset_preview_api__ui_args_t,
) -> *mut tm_tab_toolbar_i,
>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_asset_preview_i {
pub api: *mut tm_asset_preview_api,
pub inst: *mut tm_asset_preview_o,
}
impl Default for tm_asset_preview_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_asset_scene_api {
pub create: ::std::option::Option<
unsafe extern "C" fn(allocator: *mut tm_allocator_i) -> *mut tm_asset_scene_o,
>,
pub destroy: ::std::option::Option<
unsafe extern "C" fn(inst: *mut tm_asset_scene_o, allocator: *mut tm_allocator_i),
>,
pub droppable: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_asset_scene_o,
tt: *mut tm_the_truth_o,
asset: tm_tt_id_t,
) -> bool,
>,
pub create_entity: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_asset_scene_o,
tt: *mut tm_the_truth_o,
asset: tm_tt_id_t,
ctx: *mut tm_entity_context_o,
parent_entity: tm_tt_id_t,
name: *const ::std::os::raw::c_char,
pos: tm_vec3_t,
scl: tm_vec3_t,
undo_scope: tm_tt_undo_scope_t,
) -> tm_tt_id_t,
>,
pub bound_entity_asset: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_asset_scene_o,
tt: *const tm_the_truth_o,
asset: tm_tt_id_t,
bounds: *mut tm_vec3_t,
),
>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_asset_scene_i {
pub api: *mut tm_asset_scene_api,
pub inst: *mut tm_asset_scene_o,
}
impl Default for tm_asset_scene_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub const camera_controller_mode_MODE_NONE: camera_controller_mode = 0;
pub const camera_controller_mode_MODE_FREE_FLIGHT: camera_controller_mode = 1;
pub const camera_controller_mode_MODE_MAYA_SPIN: camera_controller_mode = 2;
pub const camera_controller_mode_MODE_MAYA_ZOOM: camera_controller_mode = 3;
pub const camera_controller_mode_MODE_MAYA_PAN: camera_controller_mode = 4;
pub type camera_controller_mode = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_camera_controller_component_t {
pub disable_input: bool,
pub _padding_24: [::std::os::raw::c_char; 3usize],
pub mode: camera_controller_mode,
pub translation: tm_vec3_t,
pub damped_translation: tm_vec3_t,
pub rotation: tm_vec2_t,
pub focus_point: tm_vec3_t,
pub zoom: f32,
pub spin: tm_vec2_t,
pub pan: tm_vec2_t,
}
impl Default for tm_camera_controller_component_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_camera_controller_component_manager_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_camera_controller_component_api {
pub create: ::std::option::Option<
unsafe extern "C" fn(
ctx: *mut tm_entity_context_o,
) -> *mut tm_camera_controller_component_manager_o,
>,
pub feed_ui_input: ::std::option::Option<
unsafe extern "C" fn(
manager: *mut tm_camera_controller_component_manager_o,
ui: *mut tm_ui_o,
in_area: bool,
),
>,
pub register_engines: ::std::option::Option<
unsafe extern "C" fn(manager: *mut tm_camera_controller_component_manager_o),
>,
}
pub type tm_ci_editor_properties_ui_f = ::std::option::Option<
unsafe extern "C" fn(
args: *mut tm_properties_ui_args_t,
item_rect: tm_rect_t,
object: tm_tt_id_t,
indent: u32,
) -> f32,
>;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_ci_editor_ui_icon_i {
pub unicode: ::std::option::Option<unsafe extern "C" fn() -> *const ::std::os::raw::c_char>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_ci_viewport_interact {
pub tt: *mut tm_the_truth_o,
pub entity_ctx: *mut tm_entity_context_o,
pub entity: tm_tt_id_t,
pub component: tm_tt_id_t,
pub ui: *mut tm_ui_o,
pub uistyle: *const tm_ui_style_t,
pub primitive_buffer: *mut tm_primitive_drawer_buffer_t,
pub vertex_buffer: *mut tm_primitive_drawer_buffer_t,
pub allocator: *mut tm_allocator_i,
pub camera: *const tm_camera_t,
pub viewport_r: tm_rect_t,
pub viewport_id: u64,
pub tab_id: u64,
pub undo_stack: *mut tm_undo_stack_i,
pub active_tool_id: u64,
pub move_settings: *const tm_gizmo__move_settings_t,
pub rotate_settings: *const tm_gizmo__rotate_settings_t,
pub scale_settings: *const tm_gizmo__scale_settings_t,
pub editor: *mut ::std::os::raw::c_void,
pub set_selection: ::std::option::Option<
unsafe extern "C" fn(editor: *mut ::std::os::raw::c_void, item_t: tm_tt_id_t),
>,
}
impl Default for tm_ci_viewport_interact {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_ci_viewport_interact_result {
pub hide_gizmo: bool,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_ci_toolbar {
pub active_tool_id: u64,
pub editor: *mut ::std::os::raw::c_void,
pub set_active_tool:
::std::option::Option<unsafe extern "C" fn(editor: *mut ::std::os::raw::c_void, id: u64)>,
}
impl Default for tm_ci_toolbar {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_ci_editor_ui_i {
pub disabled: ::std::option::Option<unsafe extern "C" fn() -> bool>,
pub category: ::std::option::Option<unsafe extern "C" fn() -> *const ::std::os::raw::c_char>,
pub icon_interface:
::std::option::Option<unsafe extern "C" fn() -> *mut tm_ci_editor_ui_icon_i>,
pub gizmo_priority: f32,
pub _padding_90: [::std::os::raw::c_char; 4usize],
pub gizmo_get_transform: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
ctx: *mut tm_entity_context_o,
entity: tm_tt_id_t,
component: tm_tt_id_t,
object: tm_tt_id_t,
world: *mut tm_transform_t,
local: *mut tm_transform_t,
) -> bool,
>,
pub gizmo_set_transform: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
ctx: *mut tm_entity_context_o,
entity: tm_tt_id_t,
component: tm_tt_id_t,
object: tm_tt_id_t,
local: *const tm_transform_t,
undo_scope: tm_tt_undo_scope_t,
),
>,
pub gizmo_duplicate: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
ctx: *mut tm_entity_context_o,
entity: tm_tt_id_t,
component: tm_tt_id_t,
object: tm_tt_id_t,
undo_scope: tm_tt_undo_scope_t,
) -> tm_tt_id_t,
>,
pub override_properties: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
other_component: tm_tt_id_t,
) -> tm_ci_editor_properties_ui_f,
>,
pub viewport_interact: ::std::option::Option<
unsafe extern "C" fn(vi: *const tm_ci_viewport_interact) -> tm_ci_viewport_interact_result,
>,
pub create: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
type_: u64,
undo_scope: tm_tt_undo_scope_t,
) -> tm_tt_id_t,
>,
pub toolbar: ::std::option::Option<
unsafe extern "C" fn(ci: *const tm_ci_toolbar) -> *mut tm_tab_toolbar_i,
>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_ci_render_viewer_t {
pub sort_key: u64,
pub visibility_mask: u64,
pub visibility_context: u64,
pub viewer_system: *mut tm_shader_system_o,
pub viewer_cbuffer: *mut tm_shader_constant_buffer_instance_t,
pub viewer_rbinder: *mut tm_shader_resource_binder_instance_t,
}
impl Default for tm_ci_render_viewer_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_ci_render_i {
pub init: ::std::option::Option<
unsafe extern "C" fn(
manager: *mut tm_component_manager_o,
entities: *const tm_entity_t,
entity_indices: *const u32,
render_component_data: *mut *mut ::std::os::raw::c_void,
num_renderables: u32,
),
>,
pub render: ::std::option::Option<
unsafe extern "C" fn(
manager: *mut tm_component_manager_o,
args: *mut tm_render_args_t,
viewers: *const tm_ci_render_viewer_t,
num_viewers: u32,
entities: *const tm_entity_t,
entity_transforms: *const tm_transform_component_t,
entity_selection_state: *const bool,
entity_indices: *const u32,
render_component_data: *mut *mut ::std::os::raw::c_void,
num_renderables: u32,
frustum_visibility: *const u8,
),
>,
pub bounding_volume_type:
::std::option::Option<unsafe extern "C" fn(manager: *mut tm_component_manager_o) -> u32>,
pub fill_bounding_volume_buffer: ::std::option::Option<
unsafe extern "C" fn(
manager: *mut tm_component_manager_o,
entities: *const tm_entity_t,
entity_transforms: *const tm_transform_component_t,
entity_indices: *const u32,
render_component_data: *mut *mut ::std::os::raw::c_void,
num_renderables: u32,
bv_buffer: *mut u8,
),
>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_ci_render_gather_callback_args_t {
pub allocator: *mut tm_allocator_i,
pub selected_entities_lookup: *const tm_set_entity_t,
pub hidden_entities_lookup: *const tm_set_entity_t,
pub ignored_entities_lookup: *const tm_set_entity_t,
pub render_component_names: [u64; 64usize],
pub render_interfaces: [*mut tm_ci_render_i; 64usize],
pub num_render_components: u32,
pub render_component_data_strides: [u32; 64usize],
pub _padding_54: [::std::os::raw::c_char; 4usize],
pub component_managers: [*mut tm_component_manager_o; 64usize],
pub entity_selection_state: *mut bool,
pub entity_ignore_state: *mut bool,
pub entity_transforms: *mut tm_transform_component_t,
pub entities: *mut tm_entity_t,
pub component_data: [*mut *mut ::std::os::raw::c_void; 64usize],
pub entity_indices: [*mut u32; 64usize],
pub num_renderables_per_component: [u32; 64usize],
}
impl Default for tm_ci_render_gather_callback_args_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_ci_shader_i {
pub init: ::std::option::Option<
unsafe extern "C" fn(
manager: *mut tm_component_manager_o,
entities: *const tm_entity_t,
entity_indices: *const u32,
shader_component_data: *mut *mut ::std::os::raw::c_void,
num_shader_datas: u32,
),
>,
pub graph_module_inject: ::std::option::Option<
unsafe extern "C" fn(
manager: *mut tm_component_manager_o,
module: *mut tm_render_graph_module_o,
),
>,
pub bounding_volume_type:
::std::option::Option<unsafe extern "C" fn(manager: *mut tm_component_manager_o) -> u32>,
pub fill_bounding_volume_buffer: ::std::option::Option<
unsafe extern "C" fn(
manager: *mut tm_component_manager_o,
entity_transforms: *const tm_transform_t,
entity_indices: *const u32,
component_data: *mut *mut ::std::os::raw::c_void,
num_components: u32,
bv_buffer: *mut u8,
),
>,
pub update: ::std::option::Option<
unsafe extern "C" fn(
manager: *mut tm_component_manager_o,
args: *mut tm_render_args_t,
entities: *const tm_entity_t,
entity_transforms: *const tm_transform_component_t,
entity_indices: *const u32,
component_data: *mut *mut ::std::os::raw::c_void,
num_components: u32,
frustum_visibility: *const u8,
),
>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_ci_shader_data_gather_callback_args_t {
pub allocator: *mut tm_allocator_i,
pub hidden_entities_lookup: *const tm_set_entity_t,
pub shader_component_names: [u64; 15usize],
pub shader_interfaces: [*mut tm_ci_shader_i; 15usize],
pub num_shader_components: u32,
pub shader_component_data_strides: [u32; 15usize],
pub component_managers: [*mut tm_component_manager_o; 15usize],
pub entity_transforms: *mut tm_transform_component_t,
pub entities: *mut tm_entity_t,
pub component_data: [*mut *mut ::std::os::raw::c_void; 15usize],
pub entity_indices: [*mut u32; 15usize],
pub num_shader_data_per_component: [u32; 15usize],
pub _padding_56: [::std::os::raw::c_char; 4usize],
}
impl Default for tm_ci_shader_data_gather_callback_args_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_culling_viewer_t {
pub visibility_mask: u64,
pub frustum_planes: [tm_vec4_t; 6usize],
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_frustum_culling_api {
pub viewer_from_projection_mat: ::std::option::Option<
unsafe extern "C" fn(
view_tm: *const tm_mat44_t,
projection_tm: *const tm_mat44_t,
visibility_mask: u64,
) -> tm_culling_viewer_t,
>,
pub calc_size_of_objects_buffer:
::std::option::Option<unsafe extern "C" fn(bv_type: u32, num_objects: u32) -> u32>,
pub calc_size_of_results_buffer:
::std::option::Option<unsafe extern "C" fn(num_viewers: u32, num_objects: u32) -> u32>,
pub cull: ::std::option::Option<
unsafe extern "C" fn(
viewers: *const tm_culling_viewer_t,
num_viewers: u32,
bv_type: u32,
objects: *const u8,
num_objects: u32,
results: *mut u8,
ta: *mut tm_temp_allocator_i,
) -> *mut tm_atomic_counter_o,
>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_render_context_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_render_context_api {
pub create: ::std::option::Option<
unsafe extern "C" fn(allocator: *mut tm_allocator_i) -> *mut tm_render_context_o,
>,
pub destroy: ::std::option::Option<unsafe extern "C" fn(context: *mut tm_render_context_o)>,
pub append_resource_buffers: ::std::option::Option<
unsafe extern "C" fn(
context: *mut tm_render_context_o,
res_buffers: *mut *mut tm_renderer_resource_command_buffer_o,
num_buffers: u32,
),
>,
pub append_command_buffers: ::std::option::Option<
unsafe extern "C" fn(
context: *mut tm_render_context_o,
cmd_buffers: *mut *mut tm_renderer_command_buffer_o,
num_buffers: u32,
),
>,
pub resource_buffers: ::std::option::Option<
unsafe extern "C" fn(
context: *mut tm_render_context_o,
res_buffers: *mut *mut tm_renderer_resource_command_buffer_o,
) -> u32,
>,
pub command_buffers: ::std::option::Option<
unsafe extern "C" fn(
context: *mut tm_render_context_o,
cmd_buffers: *mut *mut tm_renderer_command_buffer_o,
) -> u32,
>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_render_args_t {
pub camera_tm: tm_transform_t,
pub context: *mut tm_render_context_o,
pub render_backend: *mut tm_renderer_backend_i,
pub shader_repository: *mut tm_shader_repository_o,
pub device_affinity_mask: u32,
pub _padding_61: [::std::os::raw::c_char; 4usize],
pub default_resource_buffer: *mut tm_renderer_resource_command_buffer_o,
pub default_command_buffer: *mut tm_renderer_command_buffer_o,
pub render_graph: *mut tm_render_graph_o,
pub render_pipeline: *mut tm_render_pipeline_i,
pub shader_context: *const tm_shader_system_context_o,
}
impl Default for tm_render_args_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_lighting_environment_settings_t {
pub enabled: bool,
pub _padding_27: [::std::os::raw::c_char; 7usize],
pub asset: tm_tt_id_t,
pub spawned_entity: tm_entity_t,
pub search_buf: [::std::os::raw::c_char; 1024usize],
}
impl Default for tm_lighting_environment_settings_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_scene_common_api {
pub init_camera: ::std::option::Option<
unsafe extern "C" fn(camera: *mut tm_transform_t, translation: tm_vec3_t),
>,
pub camera_frame_bounds: ::std::option::Option<
unsafe extern "C" fn(
camera: *mut tm_transform_t,
camera_y_fov: f32,
bounds: *const tm_vec3_t,
translation_speed: *mut f32,
focus_point: *mut tm_vec3_t,
),
>,
pub find_component_render_interfaces: ::std::option::Option<
unsafe extern "C" fn(
entity_ctx: *mut tm_entity_context_o,
transform_component: u32,
tt: *const tm_the_truth_o,
allocator: *mut tm_allocator_i,
selection: *const tm_tt_id_t,
selection_n: u64,
ignore: *const tm_entity_t,
ignore_n: u64,
include_entities_without_render_components: bool,
res: *mut tm_ci_render_gather_callback_args_t,
),
>,
pub bound_assets: ::std::option::Option<
unsafe extern "C" fn(
entity_ctx: *mut tm_entity_context_o,
transform_component: u32,
tt: *const tm_the_truth_o,
ignore: *const tm_entity_t,
ignore_n: u64,
bounds: *mut tm_vec3_t,
include_origo: bool,
),
>,
pub bound_selected_assets: ::std::option::Option<
unsafe extern "C" fn(
entity_ctx: *mut tm_entity_context_o,
transform_component: u32,
tt: *const tm_the_truth_o,
selection: *const tm_tt_id_t,
selection_n: u64,
ignore: *const tm_entity_t,
ignore_n: u64,
bounds: *mut tm_vec3_t,
include_origo: bool,
),
>,
pub bound_entity_asset: ::std::option::Option<
unsafe extern "C" fn(tt: *const tm_the_truth_o, entity: tm_tt_id_t, bounds: *mut tm_vec3_t),
>,
pub find_shader_data_engine_update: ::std::option::Option<
unsafe extern "C" fn(inst: *mut tm_engine_o, data: *mut tm_engine_update_set_t),
>,
pub gather_shader_data_filter: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_engine_o,
components: *const u32,
num_components: u32,
mask: *const tm_component_mask_t,
) -> bool,
>,
pub find_renderables_engine_update: ::std::option::Option<
unsafe extern "C" fn(inst: *mut tm_engine_o, data: *mut tm_engine_update_set_t),
>,
pub gather_renderables_filter: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_engine_o,
components: *const u32,
num_components: u32,
mask: *const tm_component_mask_t,
) -> bool,
>,
pub add_default_light_source: ::std::option::Option<
unsafe extern "C" fn(entity_ctx: *mut tm_entity_context_o) -> tm_entity_t,
>,
pub has_any_light_source:
::std::option::Option<unsafe extern "C" fn(ctx: *mut tm_entity_context_o) -> bool>,
pub viewport_visualization_toolbar: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
entity_ctx: *mut tm_entity_context_o,
le_settings: *mut tm_lighting_environment_settings_t,
render_pipeline: *mut tm_render_pipeline_i,
ui: *mut tm_ui_o,
uistyle: *const tm_ui_style_t,
toolbar_r: tm_rect_t,
toolbar_direction: u32,
) -> tm_rect_t,
>,
pub place_entity: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
entity: tm_tt_id_t,
ctx: *mut tm_entity_context_o,
parent_entity: tm_tt_id_t,
pos: tm_vec3_t,
scl: tm_vec3_t,
undo_scope: tm_tt_undo_scope_t,
),
>,
}
pub type tm_viewer_render_callback_f = ::std::option::Option<
unsafe extern "C" fn(inst: *mut ::std::os::raw::c_void, args: *const tm_render_args_t),
>;
pub type tm_viewer_gather_shader_data_callback_f = ::std::option::Option<
unsafe extern "C" fn(
inst: *mut ::std::os::raw::c_void,
args: *mut tm_ci_shader_data_gather_callback_args_t,
),
>;
pub type tm_viewer_gather_render_callback_f = ::std::option::Option<
unsafe extern "C" fn(
inst: *mut ::std::os::raw::c_void,
args: *mut tm_ci_render_gather_callback_args_t,
),
>;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_viewer_render_args_t {
pub camera_tm: tm_transform_t,
pub near_plane: f32,
pub far_plane: f32,
pub vertical_fov: f32,
pub simulation_speed: f32,
pub render_pipeline_api: *mut tm_render_pipeline_api,
pub final_target_resource_state: u16,
pub _padding_49: [::std::os::raw::c_char; 2usize],
pub rect: tm_rect_t,
pub dpi_scale_factor: f32,
pub editor_visibility_flags: u64,
pub native_resolution: bool,
pub _padding_63: [::std::os::raw::c_char; 3usize],
pub wanted_gpu: u32,
pub capture_target_resource: u32,
pub capture_target_resource_surface: u32,
pub capture_target_resource_state: u16,
pub _padding_78: [::std::os::raw::c_char; 6usize],
pub render_callback: tm_viewer_render_callback_f,
pub render_callback_inst: *mut ::std::os::raw::c_void,
pub gather_shader_data_callback: tm_viewer_gather_shader_data_callback_f,
pub gather_shader_data_callback_inst: *mut ::std::os::raw::c_void,
pub gather_render_callback: tm_viewer_gather_render_callback_f,
pub gather_render_callback_inst: *mut ::std::os::raw::c_void,
pub gpu_picking: *mut tm_gpu_picking_o,
}
impl Default for tm_viewer_render_args_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_viewer_render_info_t {
pub target_width: u32,
pub target_height: u32,
pub dpi_scale_factor: f32,
pub vr_context: u32,
pub camera: *const tm_camera_t,
pub render_pipeline: *mut tm_render_pipeline_i,
}
impl Default for tm_viewer_render_info_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_viewer_api {
pub request_render: ::std::option::Option<
unsafe extern "C" fn(
viewer: *mut tm_viewer_o,
args: *const tm_viewer_render_args_t,
info: *mut tm_viewer_render_info_t,
res_buf: *mut tm_renderer_resource_command_buffer_o,
cmd_buf: *mut tm_renderer_command_buffer_o,
) -> u32,
>,
pub pipeline: ::std::option::Option<
unsafe extern "C" fn(viewer: *mut tm_viewer_o) -> *mut tm_render_pipeline_i,
>,
pub reset_render_pipeline:
::std::option::Option<unsafe extern "C" fn(viewer: *mut tm_viewer_o)>,
pub set_render_pipeline_api: ::std::option::Option<
unsafe extern "C" fn(viewer: *mut tm_viewer_o, pipeline_api: *mut tm_render_pipeline_api),
>,
pub screenshot: ::std::option::Option<unsafe extern "C" fn(viewer: *mut tm_viewer_o)>,
pub init_vr:
::std::option::Option<unsafe extern "C" fn(viewer: *mut tm_viewer_o, activate: bool)>,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_viewer_manager_api {
pub create_manager: ::std::option::Option<
unsafe extern "C" fn(
allocator: *mut tm_allocator_i,
render_backend: *mut tm_renderer_backend_i,
shader_repository: *mut tm_shader_repository_o,
main_device_affinity: u32,
default_visibility_context: *mut tm_visibility_context_o,
viewport_visibility_flag: u64,
) -> *mut tm_viewer_manager_o,
>,
pub destroy_manager: ::std::option::Option<
unsafe extern "C" fn(
manager: *mut tm_viewer_manager_o,
res_buf: *mut tm_renderer_resource_command_buffer_o,
),
>,
pub create: ::std::option::Option<
unsafe extern "C" fn(manager: *mut tm_viewer_manager_o) -> *mut tm_viewer_o,
>,
pub destroy: ::std::option::Option<
unsafe extern "C" fn(
manager: *mut tm_viewer_manager_o,
viewer: *mut tm_viewer_o,
res_buf: *mut tm_renderer_resource_command_buffer_o,
),
>,
pub viewers: ::std::option::Option<
unsafe extern "C" fn(manager: *mut tm_viewer_manager_o) -> *mut *mut tm_viewer_o,
>,
pub render: ::std::option::Option<
unsafe extern "C" fn(
manager: *mut tm_viewer_manager_o,
shader_context: *const tm_shader_system_context_o,
tt: *const tm_the_truth_o,
frame_params: *const tm_render_pipeline_update_frame_parameters_t,
),
>,
}
pub const TM_TT_PROP__CLIPBOARD__OBJECTS: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__CLIPBOARD__IS_CUT: ::std::os::raw::c_int = 1;
pub type _bindgen_ty_217 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_ui_clipboard_api {
pub setup_the_truth: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
pub cut: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
objects: *const tm_tt_id_t,
count: u32,
undo_stack: *mut tm_undo_stack_i,
),
>,
pub copy: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
objects: *const tm_tt_id_t,
count: u32,
undo_stack: *mut tm_undo_stack_i,
),
>,
pub empty: ::std::option::Option<
unsafe extern "C" fn(tt: *mut tm_the_truth_o, undo_scope: tm_tt_undo_scope_t),
>,
pub cut_objects: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
ta: *mut tm_temp_allocator_i,
) -> *const tm_tt_id_t,
>,
pub copied_objects: ::std::option::Option<
unsafe extern "C" fn(
tt: *const tm_the_truth_o,
ta: *mut tm_temp_allocator_i,
) -> *const tm_tt_id_t,
>,
pub truth: ::std::option::Option<unsafe extern "C" fn() -> *const tm_the_truth_o>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_docking_tabwell_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_ui_renderer_o {
_unused: [u8; 0],
}
pub const tm_tab_focus_event_TM_TAB_FOCUS_EVENT__FOCUS: tm_tab_focus_event = 0;
pub const tm_tab_focus_event_TM_TAB_FOCUS_EVENT__OPEN: tm_tab_focus_event = 1;
pub type tm_tab_focus_event = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_tab_vt_root_t {
pub tt: *mut tm_the_truth_o,
pub root: tm_tt_id_t,
pub counter: u64,
}
impl Default for tm_tab_vt_root_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_docking_feed_events_args_t {
pub window_ui: *mut tm_ui_o,
pub window_rect: tm_rect_t,
pub window_dpi_scale_factor: f32,
pub window_has_focus: bool,
pub window_under_cursor: bool,
pub _padding_89: [::std::os::raw::c_char; 2usize],
}
impl Default for tm_docking_feed_events_args_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub const TM_TT_PROP__DOCKING_SETTINGS__TOOLBARS_SETTINGS: ::std::os::raw::c_int = 0;
pub type _bindgen_ty_218 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_tab_vt {
pub name: *const ::std::os::raw::c_char,
pub name_hash: u64,
pub create_menu_name:
::std::option::Option<unsafe extern "C" fn() -> *const ::std::os::raw::c_char>,
pub create: ::std::option::Option<
unsafe extern "C" fn(context: *mut tm_tab_create_context_t) -> *mut tm_tab_i,
>,
pub destroy: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_tab_o)>,
pub ui: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_tab_o,
font: u32,
font_info: *const tm_font_t,
font_scale: f32,
ui: *mut tm_ui_o,
rect: tm_rect_t,
),
>,
pub hidden_update: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_tab_o)>,
pub title: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_tab_o,
ui: *mut tm_ui_o,
) -> *const ::std::os::raw::c_char,
>,
pub set_root: ::std::option::Option<
unsafe extern "C" fn(inst: *mut tm_tab_o, tt: *mut tm_the_truth_o, root: tm_tt_id_t),
>,
pub root: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_tab_o) -> tm_tab_vt_root_t>,
pub can_close: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_tab_o) -> bool>,
pub focus_event: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_tab_o,
from: *mut tm_tab_i,
event: tm_tab_focus_event,
tt: *mut tm_the_truth_o,
object: tm_tt_id_t,
selection: *const tm_tt_id_t,
selection_n: u32,
),
>,
pub feed_events: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_tab_o,
events: *const tm_input_event_t,
count: u32,
args: *mut tm_docking_feed_events_args_t,
),
>,
pub process_dropped_os_files: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_tab_o,
ui: *mut tm_ui_o,
files: *mut *mut ::std::os::raw::c_char,
num_files: u32,
),
>,
pub toolbars: ::std::option::Option<
unsafe extern "C" fn(inst: *mut tm_tab_o, n: *mut u32) -> *mut tm_tab_toolbar_i,
>,
pub cant_be_pinned: bool,
pub run_as_job: bool,
pub _padding_222: [::std::os::raw::c_char; 6usize],
}
impl Default for tm_tab_vt {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_tab_i {
pub vt: *mut tm_tab_vt,
pub inst: *mut tm_tab_o,
pub root_id: u64,
}
impl Default for tm_tab_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub const tm_docking_tabwell_split_TM_DOCKING_TABWELL_SPLIT_NONE: tm_docking_tabwell_split = 0;
pub const tm_docking_tabwell_split_TM_DOCKING_TABWELL_SPLIT_RIGHT: tm_docking_tabwell_split = 1;
pub const tm_docking_tabwell_split_TM_DOCKING_TABWELL_SPLIT_LEFT: tm_docking_tabwell_split = 2;
pub const tm_docking_tabwell_split_TM_DOCKING_TABWELL_SPLIT_TOP: tm_docking_tabwell_split = 3;
pub const tm_docking_tabwell_split_TM_DOCKING_TABWELL_SPLIT_BOTTOM: tm_docking_tabwell_split = 4;
pub type tm_docking_tabwell_split = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_docking_tab_info_t {
pub tab: *mut tm_tab_i,
pub ui: *mut tm_ui_o,
pub visible: bool,
pub _padding_260: [::std::os::raw::c_char; 7usize],
pub last_focused: tm_clock_o,
pub pin_type: u32,
pub _padding_267: [::std::os::raw::c_char; 4usize],
}
impl Default for tm_docking_tab_info_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub const TM_DOCKING_MAX_TABS_IN_TABWELL: ::std::os::raw::c_int = 32;
pub type _bindgen_ty_219 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_docking_tabwell_info_t {
pub left: *mut tm_docking_tabwell_o,
pub right: *mut tm_docking_tabwell_o,
pub top: *mut tm_docking_tabwell_o,
pub bottom: *mut tm_docking_tabwell_o,
pub bias: f32,
pub num_tabs: u32,
pub tabs: [*mut tm_tab_i; 32usize],
pub last_rect: tm_rect_t,
}
impl Default for tm_docking_tabwell_info_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_docking_find_tab_t {
pub tab: *mut tm_tab_i,
pub ui: *mut tm_ui_o,
}
impl Default for tm_docking_find_tab_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_docking_find_tab_opt_t {
pub from_tab: *mut tm_tab_i,
pub to_tab: *mut tm_tab_i,
pub in_ui: *mut tm_ui_o,
pub find_asset_tt: *mut tm_the_truth_o,
pub find_asset: tm_tt_id_t,
pub exclude_pinned: bool,
pub _padding_319: [::std::os::raw::c_char; 7usize],
}
impl Default for tm_docking_find_tab_opt_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_docking_api {
pub create_truth_types: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
pub add_ui: ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o, r: tm_rect_t)>,
pub remove_ui: ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o)>,
pub root:
::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o) -> *mut tm_docking_tabwell_o>,
pub split_tabwell: ::std::option::Option<
unsafe extern "C" fn(
parent: *mut tm_docking_tabwell_o,
split: tm_docking_tabwell_split,
bias: f32,
sibling: *mut *mut tm_docking_tabwell_o,
) -> *mut tm_docking_tabwell_o,
>,
pub add_tab: ::std::option::Option<
unsafe extern "C" fn(
ui: *mut tm_ui_o,
tabwell: *mut tm_docking_tabwell_o,
tab: *mut tm_tab_i,
),
>,
pub remove_tab: ::std::option::Option<unsafe extern "C" fn(tab: *mut tm_tab_i)>,
pub move_tab: ::std::option::Option<
unsafe extern "C" fn(
tab: *mut tm_tab_i,
ui: *mut tm_ui_o,
tabwell: *mut tm_docking_tabwell_o,
),
>,
pub clear: ::std::option::Option<unsafe extern "C" fn()>,
pub feed_events: ::std::option::Option<
unsafe extern "C" fn(
events: *const tm_input_event_t,
count: u32,
args: *mut tm_docking_feed_events_args_t,
),
>,
pub ui: ::std::option::Option<
unsafe extern "C" fn(
ui: *mut tm_ui_o,
ui_renderer: *mut tm_ui_renderer_o,
rect: tm_rect_t,
font: u32,
font_info: *const tm_font_t,
font_scale: f32,
ui_has_focus: bool,
dropped_files: *const tm_os_dropped_file_t,
num_dropped_files: u32,
context: *mut tm_tab_create_context_t,
settings_tt: *mut tm_the_truth_o,
settings_obj: tm_tt_id_t,
),
>,
pub is_dragging_tab:
::std::option::Option<unsafe extern "C" fn(pos: *mut tm_vec2_t) -> *mut tm_tab_i>,
pub should_create_new_ui_for_tab: ::std::option::Option<
unsafe extern "C" fn(
create_context: *mut tm_tab_create_context_t,
rect: *mut tm_rect_t,
) -> *mut tm_tab_i,
>,
pub focused_tabwell:
::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o) -> *mut tm_docking_tabwell_o>,
pub focused_tab: ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o) -> *mut tm_tab_i>,
pub tabwell_info: ::std::option::Option<
unsafe extern "C" fn(tw: *mut tm_docking_tabwell_o) -> tm_docking_tabwell_info_t,
>,
pub tab_info: ::std::option::Option<
unsafe extern "C" fn(
tabs: *mut tm_docking_tab_info_t,
n: u32,
filter_ui: *mut tm_ui_o,
filter_visible: bool,
) -> u32,
>,
pub root_history: ::std::option::Option<
unsafe extern "C" fn(tab: *mut tm_tab_i, n: *mut u32) -> *mut tm_tab_vt_root_t,
>,
pub clear_root_history_with_greater_counter:
::std::option::Option<unsafe extern "C" fn(tab: *mut tm_tab_i, counter: u64)>,
pub tab_ui: ::std::option::Option<unsafe extern "C" fn(tab: *mut tm_tab_i) -> *mut tm_ui_o>,
pub can_remove_ui: ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o) -> bool>,
pub set_focus_tab:
::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o, tab: *mut tm_tab_i)>,
pub close_focused_tab: ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o) -> bool>,
pub close_all_tabs: ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o)>,
pub send_focus_event: ::std::option::Option<
unsafe extern "C" fn(
from: *mut tm_tab_i,
event: tm_tab_focus_event,
tt: *mut tm_the_truth_o,
object: tm_tt_id_t,
selection: *const tm_tt_id_t,
selection_n: u32,
),
>,
pub destroy_truth: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
pub find_tab: ::std::option::Option<
unsafe extern "C" fn(
type_name_hash: u64,
opt: *const tm_docking_find_tab_opt_t,
) -> tm_docking_find_tab_t,
>,
pub find_tabs: ::std::option::Option<
unsafe extern "C" fn(
type_name_hash: u64,
ta: *mut tm_temp_allocator_i,
) -> *mut tm_docking_find_tab_t,
>,
pub pin_type: ::std::option::Option<unsafe extern "C" fn(tab: *mut tm_tab_i) -> u32>,
pub pin_object: ::std::option::Option<
unsafe extern "C" fn(tab: *mut tm_tab_i, tt: *mut tm_the_truth_o, root: tm_tt_id_t),
>,
pub draw_toolbars: ::std::option::Option<
unsafe extern "C" fn(
tab: *mut tm_tab_i,
ui: *mut tm_ui_o,
tab_r: tm_rect_t,
font: u32,
font_info: *const tm_font_t,
font_scale: f32,
settings_tt: *mut tm_the_truth_o,
settings_obj: tm_tt_id_t,
) -> tm_rect_t,
>,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_ui_drag_api {
pub start_dragging:
::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o, object: tm_tt_id_t)>,
pub start_dragging_multiple_objects: ::std::option::Option<
unsafe extern "C" fn(
tt: *mut tm_the_truth_o,
objects: *const tm_tt_id_t,
object_count: u64,
),
>,
pub single_dragged_object:
::std::option::Option<unsafe extern "C" fn(tt: *const tm_the_truth_o) -> tm_tt_id_t>,
pub all_dragged_objects:
::std::option::Option<unsafe extern "C" fn(tt: *const tm_the_truth_o) -> *mut tm_tt_id_t>,
pub dragged_truth: ::std::option::Option<unsafe extern "C" fn() -> *const tm_the_truth_o>,
pub stop_dragging: ::std::option::Option<unsafe extern "C" fn()>,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_font_glyph_t {
pub texture: u32,
pub uv: tm_rect_t,
pub offset: tm_vec2_t,
pub xadvance: f32,
pub glyph_segments_offset: u32,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_font_glyph_line_segment_t {
pub p0: tm_vec2_t,
pub p1: tm_vec2_t,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_font_glyph_bezier_segment_t {
pub p0: tm_vec2_t,
pub p1: tm_vec2_t,
pub c: tm_vec2_t,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_font_range_t {
pub start: u32,
pub n: u32,
}
pub const TM_FONT_MAX_BAKED_SCALES: ::std::os::raw::c_int = 8;
pub type _bindgen_ty_220 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_font_t {
pub num_glyphs: u32,
pub _padding_86: [::std::os::raw::c_char; 4usize],
pub glyphs: *mut tm_font_glyph_t,
pub glyphs_segments_size: u32,
pub _padding_93: [::std::os::raw::c_char; 4usize],
pub glyphs_segments: *mut u8,
pub num_ranges: u32,
pub em: f32,
pub ranges: *mut tm_font_range_t,
pub num_font_scales: u32,
pub font_scales: [f32; 8usize],
pub ascent: [f32; 8usize],
pub descent: [f32; 8usize],
pub line_gap: [f32; 8usize],
pub ex: [f32; 8usize],
pub cap_height: [f32; 8usize],
pub _padding_134: [::std::os::raw::c_char; 4usize],
}
impl Default for tm_font_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub const TM_DRAW2D__FEATHER__DEFAULT: ::std::os::raw::c_int = 0;
pub const TM_DRAW2D__FEATHER__NONE: ::std::os::raw::c_int = 1;
pub type _bindgen_ty_221 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_draw2d_style_t {
pub color: tm_color_srgb_t,
pub line_width: f32,
pub feather_width: f32,
pub feather: u32,
pub clip: u32,
pub font: u32,
pub font_info: *const tm_font_t,
pub font_scale: f32,
pub include_alpha: bool,
pub _padding_175: [::std::os::raw::c_char; 3usize],
}
impl Default for tm_draw2d_style_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_draw2d_vbuffer_t {
pub vbuffer: *mut u8,
pub vbytes: u32,
pub vbytes_allocated: u32,
}
impl Default for tm_draw2d_vbuffer_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_draw2d_ibuffer_t {
pub ibuffer: *mut u32,
pub in_: u32,
pub in_allocated: u32,
}
impl Default for tm_draw2d_ibuffer_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub const TM_DRAW2D_AUX_DATA_TYPE_GRID: ::std::os::raw::c_int = 3;
pub type _bindgen_ty_222 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_draw2d_aux_data_grid_t {
pub offset: tm_vec2_t,
pub cell_size: f32,
pub thin_lines_color: tm_color_srgb_t,
pub thick_lines_color: tm_color_srgb_t,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_draw2d_api {
pub add_clip_rect: ::std::option::Option<
unsafe extern "C" fn(vbuffer: *mut tm_draw2d_vbuffer_t, clip: tm_rect_t) -> u32,
>,
pub add_sub_clip_rect: ::std::option::Option<
unsafe extern "C" fn(
vbuffer: *mut tm_draw2d_vbuffer_t,
parent: u32,
clip: tm_rect_t,
) -> u32,
>,
pub clip_rect: ::std::option::Option<
unsafe extern "C" fn(vbuffer: *mut tm_draw2d_vbuffer_t, clip: u32) -> tm_rect_t,
>,
pub add_font: ::std::option::Option<
unsafe extern "C" fn(vbuffer: *mut tm_draw2d_vbuffer_t, font: *const tm_font_t) -> u32,
>,
pub fill_rect: ::std::option::Option<
unsafe extern "C" fn(
vbuffer: *mut tm_draw2d_vbuffer_t,
ibuffer: *mut tm_draw2d_ibuffer_t,
style: *const tm_draw2d_style_t,
r: tm_rect_t,
),
>,
pub fill_rect_feathered: ::std::option::Option<
unsafe extern "C" fn(
vbuffer: *mut tm_draw2d_vbuffer_t,
ibuffer: *mut tm_draw2d_ibuffer_t,
style: *const tm_draw2d_style_t,
r: tm_rect_t,
),
>,
pub stroke_rect: ::std::option::Option<
unsafe extern "C" fn(
vbuffer: *mut tm_draw2d_vbuffer_t,
ibuffer: *mut tm_draw2d_ibuffer_t,
style: *const tm_draw2d_style_t,
r: tm_rect_t,
),
>,
pub textured_rect: ::std::option::Option<
unsafe extern "C" fn(
vbuffer: *mut tm_draw2d_vbuffer_t,
ibuffer: *mut tm_draw2d_ibuffer_t,
style: *const tm_draw2d_style_t,
r: tm_rect_t,
texture: u32,
uv: tm_rect_t,
),
>,
pub aux_rect: ::std::option::Option<
unsafe extern "C" fn(
vbuffer: *mut tm_draw2d_vbuffer_t,
ibuffer: *mut tm_draw2d_ibuffer_t,
style: *const tm_draw2d_style_t,
r: tm_rect_t,
aux_data_type: u32,
aux_data: *const ::std::os::raw::c_void,
aux_data_size: u32,
),
>,
pub gradient_rect: ::std::option::Option<
unsafe extern "C" fn(
vbuffer: *mut tm_draw2d_vbuffer_t,
ibuffer: *mut tm_draw2d_ibuffer_t,
style: *const tm_draw2d_style_t,
r: tm_rect_t,
colors: *mut tm_color_srgb_t,
),
>,
pub fill_rounded_rect: ::std::option::Option<
unsafe extern "C" fn(
vbuffer: *mut tm_draw2d_vbuffer_t,
ibuffer: *mut tm_draw2d_ibuffer_t,
style: *const tm_draw2d_style_t,
r: tm_rect_t,
radius: f32,
),
>,
pub stroke_rounded_rect: ::std::option::Option<
unsafe extern "C" fn(
vbuffer: *mut tm_draw2d_vbuffer_t,
ibuffer: *mut tm_draw2d_ibuffer_t,
style: *const tm_draw2d_style_t,
r: tm_rect_t,
radius: f32,
),
>,
pub fill_circle: ::std::option::Option<
unsafe extern "C" fn(
vbuffer: *mut tm_draw2d_vbuffer_t,
ibuffer: *mut tm_draw2d_ibuffer_t,
style: *const tm_draw2d_style_t,
pos: tm_vec2_t,
radius: f32,
),
>,
pub stroke_circle: ::std::option::Option<
unsafe extern "C" fn(
vbuffer: *mut tm_draw2d_vbuffer_t,
ibuffer: *mut tm_draw2d_ibuffer_t,
style: *const tm_draw2d_style_t,
pos: tm_vec2_t,
radius: f32,
),
>,
pub fill_triangles: ::std::option::Option<
unsafe extern "C" fn(
vbuffer: *mut tm_draw2d_vbuffer_t,
ibuffer: *mut tm_draw2d_ibuffer_t,
style: *const tm_draw2d_style_t,
points: *const tm_vec2_t,
num_points: u32,
indices: *const u32,
num_indices: u32,
),
>,
pub fill_convex_polyline: ::std::option::Option<
unsafe extern "C" fn(
vbuffer: *mut tm_draw2d_vbuffer_t,
ibuffer: *mut tm_draw2d_ibuffer_t,
style: *const tm_draw2d_style_t,
points: *const tm_vec2_t,
num_points: u32,
),
>,
pub stroke_polyline: ::std::option::Option<
unsafe extern "C" fn(
vbuffer: *mut tm_draw2d_vbuffer_t,
ibuffer: *mut tm_draw2d_ibuffer_t,
style: *const tm_draw2d_style_t,
points: *const tm_vec2_t,
num_points: u32,
closed: bool,
),
>,
pub stroke_polyline_widths: ::std::option::Option<
unsafe extern "C" fn(
vbuffer: *mut tm_draw2d_vbuffer_t,
ibuffer: *mut tm_draw2d_ibuffer_t,
style: *const tm_draw2d_style_t,
points: *const tm_vec2_t,
widths: *const f32,
num_points: u32,
closed: bool,
),
>,
pub bezier_path: ::std::option::Option<
unsafe extern "C" fn(
curve: *const tm_vec2_t,
num_curve_points: u32,
tolerance: f32,
ta: *mut tm_temp_allocator_i,
num_points: *mut u32,
allocated_points: *mut u32,
) -> *mut tm_vec2_t,
>,
pub fill_convex_bezier: ::std::option::Option<
unsafe extern "C" fn(
vbuffer: *mut tm_draw2d_vbuffer_t,
ibuffer: *mut tm_draw2d_ibuffer_t,
style: *const tm_draw2d_style_t,
curve: *const tm_vec2_t,
num_curve_points: u32,
tolerance: f32,
ta: *mut tm_temp_allocator_i,
),
>,
pub stroke_bezier: ::std::option::Option<
unsafe extern "C" fn(
vbuffer: *mut tm_draw2d_vbuffer_t,
ibuffer: *mut tm_draw2d_ibuffer_t,
style: *const tm_draw2d_style_t,
curve: *const tm_vec2_t,
num_curve_points: u32,
closed: bool,
tolerance: f32,
ta: *mut tm_temp_allocator_i,
),
>,
pub draw_glyphs: ::std::option::Option<
unsafe extern "C" fn(
vbuffer: *mut tm_draw2d_vbuffer_t,
ibuffer: *mut tm_draw2d_ibuffer_t,
style: *const tm_draw2d_style_t,
pos: tm_vec2_t,
glyphs: *const u16,
num_glyphs: u32,
) -> f32,
>,
pub draw_glyphs_rotated: ::std::option::Option<
unsafe extern "C" fn(
vbuffer: *mut tm_draw2d_vbuffer_t,
ibuffer: *mut tm_draw2d_ibuffer_t,
style: *const tm_draw2d_style_t,
pos: tm_vec2_t,
glyphs: *const u16,
num_glyphs: u32,
x: tm_vec2_t,
y: tm_vec2_t,
) -> f32,
>,
pub merge_buffers: ::std::option::Option<
unsafe extern "C" fn(
to_vbuffer: *mut tm_draw2d_vbuffer_t,
to_ibuffers: *mut *mut tm_draw2d_ibuffer_t,
from_vbuffer: *const tm_draw2d_vbuffer_t,
from_ibuffers: *const *mut tm_draw2d_ibuffer_t,
num_ibuffers: u32,
),
>,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_font_api {
pub glyphs: ::std::option::Option<
unsafe extern "C" fn(
font: *const tm_font_t,
glyphs: *mut u16,
codepoints: *const u32,
size: u32,
),
>,
pub metrics: ::std::option::Option<
unsafe extern "C" fn(
font: *const tm_font_t,
font_scale: f32,
glyphs: *const u16,
num_glyphs: u32,
) -> tm_rect_t,
>,
pub metrics_array: ::std::option::Option<
unsafe extern "C" fn(
font: *const tm_font_t,
font_scale: f32,
pos_x: *mut f32,
rects: *mut tm_rect_t,
glyphs: *const u16,
num_glyphs: u32,
) -> tm_rect_t,
>,
pub line: ::std::option::Option<
unsafe extern "C" fn(
font: *const tm_font_t,
font_scale: f32,
line_width: *mut f32,
glyphs: *const u16,
num_glyphs: u32,
) -> u32,
>,
pub rescale_font:
::std::option::Option<unsafe extern "C" fn(font: *mut tm_font_t, scale_factor: f32)>,
pub glyph_set_from_scale: ::std::option::Option<
unsafe extern "C" fn(
font: *const tm_font_t,
font_scale: f32,
new_font_scale: *mut f32,
) -> u32,
>,
pub first_glyph_of_set: ::std::option::Option<
unsafe extern "C" fn(font: *const tm_font_t, set: u32) -> *const tm_font_glyph_t,
>,
}
pub const tm_draw2d_primitive_TM_DRAW2D_PRIMITIVE_TRIANGLE: tm_draw2d_primitive = 67108864;
pub const tm_draw2d_primitive_TM_DRAW2D_PRIMITIVE_RECT: tm_draw2d_primitive = 134217728;
pub const tm_draw2d_primitive_TM_DRAW2D_PRIMITIVE_RECT_TEXTURED: tm_draw2d_primitive = 201326592;
pub const tm_draw2d_primitive_TM_DRAW2D_PRIMITIVE_RECT_AUX_DATA: tm_draw2d_primitive = 268435456;
pub const tm_draw2d_primitive_TM_DRAW2D_PRIMITIVE_GLYPH: tm_draw2d_primitive = -2147483648;
pub type tm_draw2d_primitive = ::std::os::raw::c_int;
pub const tm_draw2d_corner_TM_DRAW2D_CORNER_TL: tm_draw2d_corner = 0;
pub const tm_draw2d_corner_TM_DRAW2D_CORNER_TR: tm_draw2d_corner = 16777216;
pub const tm_draw2d_corner_TM_DRAW2D_CORNER_BL: tm_draw2d_corner = 33554432;
pub const tm_draw2d_corner_TM_DRAW2D_CORNER_BR: tm_draw2d_corner = 50331648;
pub type tm_draw2d_corner = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_draw2d_triangle_vertex_t {
pub pos: tm_vec2_t,
pub color: tm_color_srgb_t,
pub clip: u32,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_draw2d_rect_vertex_t {
pub rect: tm_rect_t,
pub color: tm_color_srgb_t,
pub clip: u32,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_draw2d_rect_textured_vertex_t {
pub rect: tm_rect_t,
pub tint: tm_color_srgb_t,
pub clip: u32,
pub texture: u32,
pub uv: tm_rect_t,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_draw2d_glyph_range_vertex_t {
pub origin: tm_vec2_t,
pub color: tm_color_srgb_t,
pub scale: f32,
pub clip: u32,
pub font: u32,
pub x: tm_vec2_t,
pub y: tm_vec2_t,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_draw2d_glyph_vertex_t {
pub x_offset: f32,
pub glyph: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct font_library_t {
_unused: [u8; 0],
}
extern "C" {
pub fn create_font_library(allocator: *mut tm_allocator_i) -> *mut font_library_t;
}
extern "C" {
pub fn destroy_font_library(lib: *mut font_library_t);
}
extern "C" {
pub fn font_library_add_ttf(
lib: *mut font_library_t,
file: *const ::std::os::raw::c_char,
) -> u32;
}
extern "C" {
pub fn font_library_lookup(
lib: *const font_library_t,
font: u32,
size: u32,
display_dpi: f32,
) -> *const tm_font_t;
}
extern "C" {
pub fn font_library_generate(
lib: *mut font_library_t,
tm_res_buf_api: *mut tm_renderer_resource_command_buffer_api,
font_texture_id: u32,
texture_handle: *mut u32,
res_buf: *mut tm_renderer_resource_command_buffer_o,
device_affinity: u32,
font: u32,
size: u32,
scales: *const f32,
n_scales: u32,
display_dpi: f32,
) -> *mut tm_font_t;
}
pub const tm_gizmo__move_result_TM_GIZMO__MOVE_RESULT__NO_MOVE: tm_gizmo__move_result = 0;
pub const tm_gizmo__move_result_TM_GIZMO__MOVE_RESULT__PREVIEW: tm_gizmo__move_result = 1;
pub const tm_gizmo__move_result_TM_GIZMO__MOVE_RESULT__COMMIT: tm_gizmo__move_result = 2;
pub const tm_gizmo__move_result_TM_GIZMO__MOVE_RESULT__DUPLICATE: tm_gizmo__move_result = 3;
pub type tm_gizmo__move_result = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_gizmo__move_settings_t {
pub use_world_axes: bool,
pub grid_snap: bool,
pub _padding_36: [::std::os::raw::c_char; 2usize],
pub grid_size: f32,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_gizmo__rotate_settings_t {
pub use_world_axes: bool,
pub snap: bool,
pub _padding_50: [::std::os::raw::c_char; 2usize],
pub snap_angle: f32,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_gizmo__scale_settings_t {
pub absolute_handle: bool,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_gizmo__grid_settings_t {
pub visibile: bool,
pub _padding_69: [::std::os::raw::c_char; 3usize],
pub transform: tm_transform_t,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_gizmo_api {
pub move_: ::std::option::Option<
unsafe extern "C" fn(
ui: *mut tm_ui_o,
uistyle: *const tm_ui_style_t,
pbuf: *mut tm_primitive_drawer_buffer_t,
vbuf: *mut tm_primitive_drawer_buffer_t,
camera: *const tm_camera_t,
viewport: tm_rect_t,
tm: *const tm_transform_t,
local: *mut tm_transform_t,
settings: *const tm_gizmo__move_settings_t,
grid_settings: *mut tm_gizmo__grid_settings_t,
) -> tm_gizmo__move_result,
>,
pub rotate: ::std::option::Option<
unsafe extern "C" fn(
ui: *mut tm_ui_o,
uistyle: *const tm_ui_style_t,
pbuf: *mut tm_primitive_drawer_buffer_t,
vbuf: *mut tm_primitive_drawer_buffer_t,
camera: *const tm_camera_t,
viewport: tm_rect_t,
tm: *const tm_transform_t,
local: *mut tm_transform_t,
settings: *const tm_gizmo__rotate_settings_t,
) -> tm_gizmo__move_result,
>,
pub scale: ::std::option::Option<
unsafe extern "C" fn(
ui: *mut tm_ui_o,
uistyle: *const tm_ui_style_t,
pbuf: *mut tm_primitive_drawer_buffer_t,
vbuf: *mut tm_primitive_drawer_buffer_t,
camera: *const tm_camera_t,
viewport: tm_rect_t,
tm: *const tm_transform_t,
local: *mut tm_transform_t,
settings: *const tm_gizmo__scale_settings_t,
) -> tm_gizmo__move_result,
>,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_ui_modal_api {
pub message_box: ::std::option::Option<
unsafe extern "C" fn(
title: *const ::std::os::raw::c_char,
text: *const ::std::os::raw::c_char,
buttons: *mut *const ::std::os::raw::c_char,
num_buttons: u32,
) -> u32,
>,
pub progress_box: ::std::option::Option<
unsafe extern "C" fn(
title: *const ::std::os::raw::c_char,
text: *const ::std::os::raw::c_char,
buttons: *mut *const ::std::os::raw::c_char,
num_buttons: u32,
callback: ::std::option::Option<
unsafe extern "C" fn(data: *mut ::std::os::raw::c_void) -> f32,
>,
callback_data: *mut ::std::os::raw::c_void,
) -> u32,
>,
pub textinput_box: ::std::option::Option<
unsafe extern "C" fn(
title: *const ::std::os::raw::c_char,
text: *const ::std::os::raw::c_char,
buttons: *mut *const ::std::os::raw::c_char,
num_buttons: u32,
output_text: *mut ::std::os::raw::c_char,
text_max_length: u32,
) -> u32,
>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_shape3d_api {
pub circle: ::std::option::Option<
unsafe extern "C" fn(w: *mut tm_vec3_t, c: tm_vec3_t, n: tm_vec3_t, r: f32, num: u32),
>,
pub arc: ::std::option::Option<
unsafe extern "C" fn(
w: *mut tm_vec3_t,
c: tm_vec3_t,
n: tm_vec3_t,
r: f32,
x: tm_vec3_t,
start_angle: f32,
stop_angle: f32,
num: u32,
),
>,
pub box_: ::std::option::Option<
unsafe extern "C" fn(
w: *mut tm_vec3_t,
c: tm_vec3_t,
x: tm_vec3_t,
y: tm_vec3_t,
z: tm_vec3_t,
),
>,
pub box_ib_n: u32,
pub _padding_27: [::std::os::raw::c_char; 4usize],
pub box_ib: *mut u32,
}
impl Default for tm_shape3d_api {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub const TM_TT_PROP__TOOLBAR_SETTINGS__ID: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__TOOLBAR_SETTINGS__CONTAINER: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__TOOLBAR_SETTINGS__ANCHOR: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__TOOLBAR_SETTINGS__ANCHOR_ORDER: ::std::os::raw::c_int = 3;
pub const TM_TT_PROP__TOOLBAR_SETTINGS__POSITION: ::std::os::raw::c_int = 4;
pub type _bindgen_ty_223 = ::std::os::raw::c_int;
pub const tm_toolbar_container_TM_TOOLBAR_CONTAINER_TOP: tm_toolbar_container = 0;
pub const tm_toolbar_container_TM_TOOLBAR_CONTAINER_BOTTOM: tm_toolbar_container = 1;
pub const tm_toolbar_container_TM_TOOLBAR_CONTAINER_LEFT: tm_toolbar_container = 2;
pub const tm_toolbar_container_TM_TOOLBAR_CONTAINER_RIGHT: tm_toolbar_container = 3;
pub const tm_toolbar_container_TM_TOOLBAR_CONTAINER_COUNT: tm_toolbar_container = 4;
pub type tm_toolbar_container = ::std::os::raw::c_int;
pub const tm_toolbar_direction_TM_TOOLBAR_DIRECTION_HORIZONTAL: tm_toolbar_direction = 0;
pub const tm_toolbar_direction_TM_TOOLBAR_DIRECTION_VERTICAL: tm_toolbar_direction = 1;
pub type tm_toolbar_direction = ::std::os::raw::c_int;
pub const tm_toolbar_anchor_TM_TOOLBAR_ANCHOR_NONE: tm_toolbar_anchor = 0;
pub const tm_toolbar_anchor_TM_TOOLBAR_ANCHOR_END: tm_toolbar_anchor = 1;
pub const tm_toolbar_anchor_TM_TOOLBAR_ANCHOR_BEGINNING: tm_toolbar_anchor = 2;
pub type tm_toolbar_anchor = ::std::os::raw::c_int;
pub const tm_toolbar_size_mode_TM_TOOLBAR_SIZE_MODE_FIXED: tm_toolbar_size_mode = 0;
pub const tm_toolbar_size_mode_TM_TOOLBAR_SIZE_MODE_FILL: tm_toolbar_size_mode = 1;
pub type tm_toolbar_size_mode = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_tab_toolbar_i {
pub id: u64,
pub state: [u8; 4096usize],
pub ui: ::std::option::Option<
unsafe extern "C" fn(
state: *mut ::std::os::raw::c_void,
ui: *mut tm_ui_o,
uistyle: *const tm_ui_style_t,
toolbar_r: tm_rect_t,
direction: tm_toolbar_direction,
) -> tm_rect_t,
>,
pub default_container: tm_toolbar_container,
pub default_anchor: tm_toolbar_anchor,
pub force_anchor: bool,
pub _padding_69: [::std::os::raw::c_char; 3usize],
pub num_tool_ids: u32,
pub tool_ids: *const u64,
pub size_mode: tm_toolbar_size_mode,
pub fill_min_size: f32,
pub only_horizontal: bool,
pub _padding_86: [::std::os::raw::c_char; 7usize],
}
impl Default for tm_tab_toolbar_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_ttf_range_t {
pub start: u32,
pub n: u32,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_ttf_baker_api {
pub bake: ::std::option::Option<
unsafe extern "C" fn(
ttf: *mut u8,
font_size: f32,
font_scales: *const f32,
num_scales: u32,
texture_identifier: u32,
pixels: *mut u8,
width: u32,
height: u32,
ranges: *mut tm_ttf_range_t,
num_ranges: u32,
extract_glyph_segments: bool,
allocator: *mut tm_allocator_i,
font_bytes: *mut u64,
) -> *mut tm_font_t,
>,
}
pub const tm_ui_color_TM_UI_COLOR_CHROME_BACKGROUND: tm_ui_color = 0;
pub const tm_ui_color_TM_UI_COLOR_WINDOW_BACKGROUND: tm_ui_color = 1;
pub const tm_ui_color_TM_UI_COLOR_WINDOW_TITLE: tm_ui_color = 2;
pub const tm_ui_color_TM_UI_COLOR_WINDOW_SELECTION: tm_ui_color = 3;
pub const tm_ui_color_TM_UI_COLOR_WINDOW_STATUS_BAR: tm_ui_color = 4;
pub const tm_ui_color_TM_UI_COLOR_WINDOW_STATUS_BAR_TEXT: tm_ui_color = 5;
pub const tm_ui_color_TM_UI_COLOR_SELECTION: tm_ui_color = 6;
pub const tm_ui_color_TM_UI_COLOR_SELECTION_NO_FOCUS: tm_ui_color = 7;
pub const tm_ui_color_TM_UI_COLOR_SELECTION_HOVER: tm_ui_color = 8;
pub const tm_ui_color_TM_UI_COLOR_TEXT: tm_ui_color = 9;
pub const tm_ui_color_TM_UI_COLOR_DISABLED_TEXT: tm_ui_color = 10;
pub const tm_ui_color_TM_UI_COLOR_SELECTED_TEXT: tm_ui_color = 11;
pub const tm_ui_color_TM_UI_COLOR_ERROR_TEXT: tm_ui_color = 12;
pub const tm_ui_color_TM_UI_COLOR_FILTERED_TEXT: tm_ui_color = 13;
pub const tm_ui_color_TM_UI_COLOR_PROTOTYPE_RELATION_BASE: tm_ui_color = 14;
pub const tm_ui_color_TM_UI_COLOR_PROTOTYPE_RELATION_ADDED: tm_ui_color = 14;
pub const tm_ui_color_TM_UI_COLOR_PROTOTYPE_RELATION_ASSET: tm_ui_color = 15;
pub const tm_ui_color_TM_UI_COLOR_PROTOTYPE_RELATION_INHERITED: tm_ui_color = 16;
pub const tm_ui_color_TM_UI_COLOR_PROTOTYPE_RELATION_INSTANTIATED: tm_ui_color = 17;
pub const tm_ui_color_TM_UI_COLOR_PROTOTYPE_RELATION_REMOVED: tm_ui_color = 18;
pub const tm_ui_color_TM_UI_COLOR_THIN_LINES: tm_ui_color = 19;
pub const tm_ui_color_TM_UI_COLOR_THIN_LINES_HOVER: tm_ui_color = 20;
pub const tm_ui_color_TM_UI_COLOR_ICONS: tm_ui_color = 21;
pub const tm_ui_color_TM_UI_COLOR_ICONS_HOVER: tm_ui_color = 22;
pub const tm_ui_color_TM_UI_COLOR_ICONS_ACTIVE: tm_ui_color = 23;
pub const tm_ui_color_TM_UI_COLOR_CONTROL_BACKGROUND: tm_ui_color = 24;
pub const tm_ui_color_TM_UI_COLOR_CONTROL_BACKGROUND_HOVER: tm_ui_color = 25;
pub const tm_ui_color_TM_UI_COLOR_CONTROL_BACKGROUND_ACTIVE: tm_ui_color = 26;
pub const tm_ui_color_TM_UI_COLOR_MENU_BACKGROUND: tm_ui_color = 27;
pub const tm_ui_color_TM_UI_COLOR_MENU_SELECTED: tm_ui_color = 28;
pub const tm_ui_color_TM_UI_COLOR_MENU_MENUBAR_HOVER: tm_ui_color = 29;
pub const tm_ui_color_TM_UI_COLOR_TOOLTIP_BACKGROUND: tm_ui_color = 30;
pub const tm_ui_color_TM_UI_COLOR_TOOLTIP_BORDER: tm_ui_color = 31;
pub const tm_ui_color_TM_UI_COLOR_TOOLTIP_TEXT: tm_ui_color = 32;
pub const tm_ui_color_TM_UI_COLOR_VIEWPORT_BACKGROUND: tm_ui_color = 33;
pub const tm_ui_color_TM_UI_COLOR_VIEWPORT_SELECTION: tm_ui_color = 34;
pub const tm_ui_color_TM_UI_COLOR_VIEWPORT_GRID_THICK_LINES: tm_ui_color = 35;
pub const tm_ui_color_TM_UI_COLOR_VIEWPORT_GRID_THIN_LINES: tm_ui_color = 36;
pub const tm_ui_color_TM_UI_COLOR_LINK: tm_ui_color = 37;
pub const tm_ui_color_TM_UI_COLOR_LINK_HOVER: tm_ui_color = 38;
pub const tm_ui_color_TM_UI_COLOR_NODE_BACKGROUND: tm_ui_color = 39;
pub const tm_ui_color_TM_UI_COLOR_NODE_GPU_BACKGROUND: tm_ui_color = 40;
pub const tm_ui_color_TM_UI_COLOR_NODE_GPU_BACKGROUND_WATERMARK_TEXT: tm_ui_color = 41;
pub const tm_ui_color_TM_UI_COLOR_GRAPH_GRID_THIN_LINES: tm_ui_color = 42;
pub const tm_ui_color_TM_UI_COLOR_GRAPH_GRID_THICK_LINES: tm_ui_color = 43;
pub const tm_ui_color_TM_UI_COLOR_SCROLLBAR_BACKGROUND: tm_ui_color = 44;
pub const tm_ui_color_TM_UI_COLOR_SCROLLBAR: tm_ui_color = 45;
pub const tm_ui_color_TM_UI_COLOR_SCROLLBAR_HOVER: tm_ui_color = 46;
pub const tm_ui_color_TM_UI_COLOR_SCROLLBAR_ACTIVE: tm_ui_color = 47;
pub const tm_ui_color_TM_UI_COLOR_TOOLBAR_DRAG_HANDLE: tm_ui_color = 48;
pub const tm_ui_color_TM_UI_COLOR_TOOLBAR_DROP_ZONE: tm_ui_color = 49;
pub const tm_ui_color_TM_UI_COLOR_TOOLBAR_THIN_LINES: tm_ui_color = 50;
pub const tm_ui_color_TM_UI_COLOR_TOOLBAR_THIN_LINES_HOVER: tm_ui_color = 51;
pub const tm_ui_color_TM_UI_COLOR_TOOLBAR_CONTROL_BACKGROUND: tm_ui_color = 52;
pub const tm_ui_color_TM_UI_COLOR_TOOLBAR_CONTROL_BACKGROUND_HOVER: tm_ui_color = 53;
pub const tm_ui_color_TM_UI_COLOR_TOOLBAR_CONTROL_BACKGROUND_ACTIVE: tm_ui_color = 54;
pub const tm_ui_color_TM_UI_COLOR_COUNT: tm_ui_color = 55;
pub type tm_ui_color = ::std::os::raw::c_int;
pub const tm_ui_metric_TM_UI_METRIC_LINE_WIDTH: tm_ui_metric = 0;
pub const tm_ui_metric_TM_UI_METRIC_WINDOW_TITLE_HEIGHT: tm_ui_metric = 1;
pub const tm_ui_metric_TM_UI_METRIC_WINDOW_MIN_SIZE: tm_ui_metric = 2;
pub const tm_ui_metric_TM_UI_METRIC_MENUBAR_HEIGHT: tm_ui_metric = 3;
pub const tm_ui_metric_TM_UI_METRIC_MENU_ITEM_HEIGHT: tm_ui_metric = 4;
pub const tm_ui_metric_TM_UI_METRIC_SCROLLBAR_WIDTH: tm_ui_metric = 5;
pub const tm_ui_metric_TM_UI_METRIC_MARGIN: tm_ui_metric = 6;
pub const tm_ui_metric_TM_UI_METRIC_TEXT_MARGIN: tm_ui_metric = 7;
pub const tm_ui_metric_TM_UI_METRIC_SPLITTER_SIZE: tm_ui_metric = 8;
pub const tm_ui_metric_TM_UI_METRIC_TOOLTIP_HOVER_TIME: tm_ui_metric = 9;
pub const tm_ui_metric_TM_UI_METRIC_TOOLTIP_WIDTH: tm_ui_metric = 10;
pub const tm_ui_metric_TM_UI_METRIC_TREE_ARROW_SCALE: tm_ui_metric = 11;
pub const tm_ui_metric_TM_UI_METRIC_TREE_ICON_WIDTH: tm_ui_metric = 12;
pub const tm_ui_metric_TM_UI_METRIC_TOOLBAR_HEIGHT: tm_ui_metric = 13;
pub const tm_ui_metric_TM_UI_METRIC_TOOLBAR_OUTER_MARGIN: tm_ui_metric = 14;
pub const tm_ui_metric_TM_UI_METRIC_TOOLBAR_INNER_MARGIN: tm_ui_metric = 15;
pub const tm_ui_metric_TM_UI_METRIC_COUNT: tm_ui_metric = 16;
pub type tm_ui_metric = ::std::os::raw::c_int;
pub const TM_TT_PROP__UI_THEME__NAME: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__UI_THEME__BASED_ON: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__UI_THEME__COLORS: ::std::os::raw::c_int = 2;
pub type _bindgen_ty_224 = ::std::os::raw::c_int;
pub const TM_TT_PROP__UI_THEME_COLOR__NAME: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__UI_THEME_COLOR__COLOR: ::std::os::raw::c_int = 1;
pub type _bindgen_ty_225 = ::std::os::raw::c_int;
pub const tm_ui_default_theme_TM_UI__DEFAULT_THEME__DARK: tm_ui_default_theme = 0;
pub const tm_ui_default_theme_TM_UI__DEFAULT_THEME__LIGHT: tm_ui_default_theme = 1;
pub type tm_ui_default_theme = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_ui_theme_t {
pub based_on: tm_ui_default_theme,
pub _padding_241: [::std::os::raw::c_char; 4usize],
pub tt: *mut tm_the_truth_o,
pub id: tm_tt_id_t,
}
impl Default for tm_ui_theme_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub const tm_ui_buffer_TM_UI_BUFFER_MAIN: tm_ui_buffer = 0;
pub const tm_ui_buffer_TM_UI_BUFFER_OVERLAY: tm_ui_buffer = 1;
pub type tm_ui_buffer = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_ui_style_t {
pub clip: u32,
pub font: u32,
pub font_info: *const tm_font_t,
pub font_scale: f32,
pub buffer: tm_ui_buffer,
pub feather_width: f32,
pub _padding_276: [::std::os::raw::c_char; 4usize],
}
impl Default for tm_ui_style_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub const tm_ui_window_event_TM_UI_WINDOW_EVENT_NONE: tm_ui_window_event = 0;
pub const tm_ui_window_event_TM_UI_WINDOW_EVENT_ACTIVATE: tm_ui_window_event = 1;
pub const tm_ui_window_event_TM_UI_WINDOW_EVENT_MOVE: tm_ui_window_event = 2;
pub const tm_ui_window_event_TM_UI_WINDOW_EVENT_RESIZE: tm_ui_window_event = 3;
pub const tm_ui_window_event_TM_UI_WINDOW_EVENT_CLOSE: tm_ui_window_event = 4;
pub type tm_ui_window_event = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_ui_window_t {
pub id: u64,
pub title: *const ::std::os::raw::c_char,
pub can_move: bool,
pub can_resize: bool,
pub can_close: bool,
pub _padding_306: [::std::os::raw::c_char; 5usize],
}
impl Default for tm_ui_window_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_ui_scrollbar_t {
pub id: u64,
pub rect: tm_rect_t,
pub min: f32,
pub max: f32,
pub size: f32,
pub _padding_319: [::std::os::raw::c_char; 4usize],
}
pub const tm_ui_scrollbar_visibility_TM_UI_SCROLLBAR_VISIBILITY_WHEN_NEEDED:
tm_ui_scrollbar_visibility = 0;
pub const tm_ui_scrollbar_visibility_TM_UI_SCROLLBAR_VISIBILITY_NEVER: tm_ui_scrollbar_visibility =
1;
pub const tm_ui_scrollbar_visibility_TM_UI_SCROLLBAR_VISIBILITY_ALWAYS: tm_ui_scrollbar_visibility =
2;
pub type tm_ui_scrollbar_visibility = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_ui_scrollview_t {
pub id: u64,
pub rect: tm_rect_t,
pub canvas: tm_rect_t,
pub visibility_x: tm_ui_scrollbar_visibility,
pub visibility_y: tm_ui_scrollbar_visibility,
}
impl Default for tm_ui_scrollview_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_ui_label_t {
pub id: u64,
pub rect: tm_rect_t,
pub text: *const ::std::os::raw::c_char,
pub tooltip: *const ::std::os::raw::c_char,
}
impl Default for tm_ui_label_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub const tm_ui_align_TM_UI_ALIGN_LEFT: tm_ui_align = 0;
pub const tm_ui_align_TM_UI_ALIGN_CENTER: tm_ui_align = 1;
pub const tm_ui_align_TM_UI_ALIGN_RIGHT: tm_ui_align = 2;
pub type tm_ui_align = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_ui_text_t {
pub rect: tm_rect_t,
pub text: *const ::std::os::raw::c_char,
pub color: *const tm_color_srgb_t,
pub align: tm_ui_align,
pub _padding_373: [::std::os::raw::c_char; 4usize],
}
impl Default for tm_ui_text_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_ui_link_t {
pub id: u64,
pub rect: tm_rect_t,
pub text: *const ::std::os::raw::c_char,
pub color: *const tm_color_srgb_t,
pub align: tm_ui_align,
pub _padding_385: [::std::os::raw::c_char; 4usize],
}
impl Default for tm_ui_link_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_ui_button_t {
pub id: u64,
pub rect: tm_rect_t,
pub is_disabled: bool,
pub hide_background: bool,
pub hide_margins: bool,
pub _padding_396: [::std::os::raw::c_char; 5usize],
pub text: *const ::std::os::raw::c_char,
pub text_color: *const tm_color_srgb_t,
pub tooltip: *const ::std::os::raw::c_char,
pub text_offset_y: f32,
pub _padding_401: [::std::os::raw::c_char; 4usize],
}
impl Default for tm_ui_button_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_ui_checkbox_t {
pub id: u64,
pub rect: tm_rect_t,
pub is_disabled: bool,
pub _padding_410: [::std::os::raw::c_char; 7usize],
pub text: *const ::std::os::raw::c_char,
pub tooltip: *const ::std::os::raw::c_char,
}
impl Default for tm_ui_checkbox_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_ui_radio_t {
pub id: u64,
pub rect: tm_rect_t,
pub is_disabled: bool,
pub _padding_421: [::std::os::raw::c_char; 7usize],
pub text: *const ::std::os::raw::c_char,
}
impl Default for tm_ui_radio_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_ui_progress_t {
pub id: u64,
pub rect: tm_rect_t,
pub text: *const ::std::os::raw::c_char,
}
impl Default for tm_ui_progress_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_ui_slider_t {
pub id: u64,
pub rect: tm_rect_t,
pub is_disabled: bool,
pub _padding_441: [::std::os::raw::c_char; 3usize],
pub min: f32,
pub max: f32,
pub step: f32,
}
pub const TM_UI_SPINNER__DECIMALS__DEFAULT: ::std::os::raw::c_int = 0;
pub const TM_UI_SPINNER__DECIMALS__0: ::std::os::raw::c_int = 1;
pub const TM_UI_SPINNER__DECIMALS__1: ::std::os::raw::c_int = 2;
pub const TM_UI_SPINNER__DECIMALS__2: ::std::os::raw::c_int = 3;
pub const TM_UI_SPINNER__DECIMALS__3: ::std::os::raw::c_int = 4;
pub const TM_UI_SPINNER__DECIMALS__4: ::std::os::raw::c_int = 5;
pub const TM_UI_SPINNER__DECIMALS__5: ::std::os::raw::c_int = 6;
pub type _bindgen_ty_226 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_ui_spinner_t {
pub id: u64,
pub rect: tm_rect_t,
pub is_disabled: bool,
pub _padding_473: [::std::os::raw::c_char; 7usize],
pub min: f64,
pub max: f64,
pub value_per_pixel: f64,
pub decimals: u32,
pub _padding_483: [::std::os::raw::c_char; 4usize],
pub tooltip: *const ::std::os::raw::c_char,
}
impl Default for tm_ui_spinner_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_ui_dropdown_t {
pub id: u64,
pub rect: tm_rect_t,
pub is_disabled: bool,
pub _padding_493: [::std::os::raw::c_char; 7usize],
pub items: *mut *const ::std::os::raw::c_char,
pub tooltips: *mut *const ::std::os::raw::c_char,
pub num_items: u32,
pub _padding_501: [::std::os::raw::c_char; 4usize],
}
impl Default for tm_ui_dropdown_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_ui_textedit_t {
pub id: u64,
pub rect: tm_rect_t,
pub is_disabled: bool,
pub is_password: bool,
pub _padding_511: [::std::os::raw::c_char; 6usize],
pub default_text: *const ::std::os::raw::c_char,
pub select_all_on_mouse_activate: bool,
pub scroll_to_end: bool,
pub select_all_on_startup: bool,
pub _padding_528: [::std::os::raw::c_char; 1usize],
pub select: tm_ui_textedit_t__bindgen_ty_1,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_ui_textedit_t__bindgen_ty_1 {
pub all: bool,
pub range: bool,
pub _padding_538: [::std::os::raw::c_char; 2usize],
pub start: u32,
pub end: u32,
}
impl Default for tm_ui_textedit_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub const TM_UI_MENU_DEFAULT_ID_BASE: ::std::os::raw::c_int = -268435456;
pub type _bindgen_ty_227 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_ui_menu_item_t {
pub text: *const ::std::os::raw::c_char,
pub accelerator: *const ::std::os::raw::c_char,
pub tooltip: *const ::std::os::raw::c_char,
pub item_id: u64,
pub toggle: *mut bool,
pub is_checked: bool,
pub has_submenu: bool,
pub is_disabled: bool,
pub is_hidden: bool,
pub _padding_581: [::std::os::raw::c_char; 4usize],
}
impl Default for tm_ui_menu_item_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_ui_menubar_t {
pub id: u64,
pub pos: tm_vec2_t,
pub width: f32,
pub _padding_594: [::std::os::raw::c_char; 4usize],
pub items: *const tm_ui_menu_item_t,
pub num_items: u32,
pub _padding_601: [::std::os::raw::c_char; 4usize],
}
impl Default for tm_ui_menubar_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_ui_menu_t {
pub pos: tm_vec2_t,
pub items: *const tm_ui_menu_item_t,
pub num_items: u32,
pub _padding_615: [::std::os::raw::c_char; 4usize],
}
impl Default for tm_ui_menu_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_ui_menu_result_t {
pub selected_item_id: u64,
pub selected_text: *const ::std::os::raw::c_char,
pub highlighted_item_id: u64,
pub submenu_pos: tm_vec2_t,
}
impl Default for tm_ui_menu_result_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_ui_treeitem_t {
pub id: u64,
pub rect: tm_rect_t,
pub text: *const ::std::os::raw::c_char,
}
impl Default for tm_ui_treeitem_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub const tm_ui_tab_pin_type_TM_UI_TAB_PIN_TYPE__NONE: tm_ui_tab_pin_type = 0;
pub const tm_ui_tab_pin_type_TM_UI_TAB_PIN_TYPE__OBJECT: tm_ui_tab_pin_type = 1;
pub const tm_ui_tab_pin_type_TM_UI_TAB_PIN_TYPE__TABS: tm_ui_tab_pin_type = 2;
pub const tm_ui_tab_pin_type_TM_UI_TAB_PIN_TYPE__WINDOWS: tm_ui_tab_pin_type = 3;
pub type tm_ui_tab_pin_type = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_ui_tabbar_item_t {
pub text: *const ::std::os::raw::c_char,
pub id: u64,
pub has_close_box: bool,
pub has_pin: bool,
pub _padding_669: [::std::os::raw::c_char; 2usize],
pub pin_type: tm_ui_tab_pin_type,
}
impl Default for tm_ui_tabbar_item_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_ui_tabbar_t {
pub id: u64,
pub rect: tm_rect_t,
pub items: *mut tm_ui_tabbar_item_t,
pub num_items: u32,
pub can_drag: bool,
pub can_drag_off: bool,
pub is_dragging_external_tab: bool,
pub _padding_695: [::std::os::raw::c_char; 1usize],
pub dragged_external_item: *mut *const ::std::os::raw::c_char,
}
impl Default for tm_ui_tabbar_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub const tm_ui_tabbar_event_TM_UI_TABBAR_EVENT_NONE: tm_ui_tabbar_event = 0;
pub const tm_ui_tabbar_event_TM_UI_TABBAR_EVENT_SELECT: tm_ui_tabbar_event = 1;
pub const tm_ui_tabbar_event_TM_UI_TABBAR_EVENT_CLOSE: tm_ui_tabbar_event = 2;
pub const tm_ui_tabbar_event_TM_UI_TABBAR_EVENT_REORDER: tm_ui_tabbar_event = 3;
pub const tm_ui_tabbar_event_TM_UI_TABBAR_EVENT_DRAG_OFF: tm_ui_tabbar_event = 4;
pub const tm_ui_tabbar_event_TM_UI_TABBAR_EVENT_EXTERNAL_DROP: tm_ui_tabbar_event = 5;
pub const tm_ui_tabbar_event_TM_UI_TABBAR_EVENT_CONTEXT_MENU: tm_ui_tabbar_event = 6;
pub const tm_ui_tabbar_event_TM_UI_TABBAR_EVENT_PIN: tm_ui_tabbar_event = 7;
pub type tm_ui_tabbar_event = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_ui_tabbar_result_t {
pub event: tm_ui_tabbar_event,
pub item: u32,
pub new_position: u32,
pub drag_offset: tm_vec2_t,
}
impl Default for tm_ui_tabbar_result_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_ui_draggedtab_t {
pub id: u64,
pub rect: tm_rect_t,
pub text: *const ::std::os::raw::c_char,
pub has_close_box: bool,
pub has_pin: bool,
pub _padding_753: [::std::os::raw::c_char; 2usize],
pub pin_type: tm_ui_tab_pin_type,
}
impl Default for tm_ui_draggedtab_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_ui_splitter_t {
pub id: u64,
pub rect: tm_rect_t,
pub min_size: f32,
pub _padding_764: [::std::os::raw::c_char; 4usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_ui_titlebar_t {
pub id: u64,
pub rect: tm_rect_t,
pub has_focus: bool,
pub is_maximized: bool,
pub _padding_780: [::std::os::raw::c_char; 6usize],
pub caption: *const ::std::os::raw::c_char,
pub icon_texture: u32,
pub _padding_787: [::std::os::raw::c_char; 4usize],
}
impl Default for tm_ui_titlebar_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_ui_titlebar_result_t {
pub close_window: bool,
pub restore_window: bool,
pub maximize_window: bool,
pub minimize_window: bool,
pub content_r: tm_rect_t,
}
pub const tm_ui_cursor_TM_UI_CURSOR_DEFAULT: tm_ui_cursor = 0;
pub const tm_ui_cursor_TM_UI_CURSOR_POINTER: tm_ui_cursor = 1;
pub const tm_ui_cursor_TM_UI_CURSOR_TEXT: tm_ui_cursor = 2;
pub const tm_ui_cursor_TM_UI_CURSOR_MOVE: tm_ui_cursor = 3;
pub const tm_ui_cursor_TM_UI_CURSOR_ALL_SCROLL: tm_ui_cursor = 4;
pub const tm_ui_cursor_TM_UI_CURSOR_COL_RESIZE: tm_ui_cursor = 5;
pub const tm_ui_cursor_TM_UI_CURSOR_ROW_RESIZE: tm_ui_cursor = 6;
pub const tm_ui_cursor_TM_UI_CURSOR_EW_RESIZE: tm_ui_cursor = 7;
pub const tm_ui_cursor_TM_UI_CURSOR_NS_RESIZE: tm_ui_cursor = 8;
pub const tm_ui_cursor_TM_UI_CURSOR_NESW_RESIZE: tm_ui_cursor = 9;
pub const tm_ui_cursor_TM_UI_CURSOR_NWSE_RESIZE: tm_ui_cursor = 10;
pub const tm_ui_cursor_TM_UI_CURSOR_DRAG_AND_DROP: tm_ui_cursor = 11;
pub const tm_ui_cursor_TM_UI_CURSOR_NONE: tm_ui_cursor = 12;
pub type tm_ui_cursor = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_ui_buffers_t {
pub vbuffer: *mut tm_draw2d_vbuffer_t,
pub ibuffers: *mut *mut tm_draw2d_ibuffer_t,
pub input: *mut tm_ui_input_state_t,
pub activation: *mut tm_ui_activation_t,
pub active_data: *mut ::std::os::raw::c_void,
pub lost_focus_data: *mut ::std::os::raw::c_void,
pub metrics: *mut f32,
pub colors: *mut tm_color_srgb_t,
pub allocator: *mut tm_allocator_i,
}
impl Default for tm_ui_buffers_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub const tm_ui_interaction_result_t_TM_UI_INTERACTION_RESULT_NO_CHANGE:
tm_ui_interaction_result_t = 0;
pub const tm_ui_interaction_result_t_TM_UI_INTERACTION_RESULT_TRANSIENT_CHANGE:
tm_ui_interaction_result_t = 1;
pub const tm_ui_interaction_result_t_TM_UI_INTERACTION_RESULT_COMMIT: tm_ui_interaction_result_t =
2;
pub const tm_ui_interaction_result_t_TM_UI_INTERACTION_RESULT_ABORT: tm_ui_interaction_result_t = 3;
pub type tm_ui_interaction_result_t = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_ui_mouse_help_texts_t {
pub left_mouse_pressed: *const ::std::os::raw::c_char,
pub middle_mouse_pressed: *const ::std::os::raw::c_char,
pub right_mouse_pressed: *const ::std::os::raw::c_char,
pub double_click: *const ::std::os::raw::c_char,
pub triple_click: *const ::std::os::raw::c_char,
}
impl Default for tm_ui_mouse_help_texts_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_ui_api {
pub create: ::std::option::Option<unsafe extern "C" fn(a: *mut tm_allocator_i) -> *mut tm_ui_o>,
pub destroy: ::std::option::Option<unsafe extern "C" fn(i: *mut tm_ui_o)>,
pub clear: ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o)>,
pub release_held_state: ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o)>,
pub set_window_status: ::std::option::Option<
unsafe extern "C" fn(
ui: *mut tm_ui_o,
rect: tm_rect_t,
has_focus: bool,
is_under_cursor: bool,
),
>,
pub window_rect: ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o) -> tm_rect_t>,
pub set_feather_width:
::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o, feather_width: f32)>,
pub feather_width: ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o) -> f32>,
pub feed_events: ::std::option::Option<
unsafe extern "C" fn(
ui: *mut tm_ui_o,
events: *const tm_input_event_t,
count: u32,
offset: tm_vec2_t,
scale: tm_vec2_t,
),
>,
pub feed_external_edit_key:
::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o, key: u32)>,
pub merge_overlay: ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o)>,
pub begin_overlay_draw_scope:
::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o, id: u64)>,
pub end_overlay_draw_scope:
::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o, id: u64)>,
pub drawing_in_overlay: ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o) -> bool>,
pub cursor: ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o) -> tm_ui_cursor>,
pub window: ::std::option::Option<
unsafe extern "C" fn(
ui: *mut tm_ui_o,
style: *const tm_ui_style_t,
c: *const tm_ui_window_t,
rect: *mut tm_rect_t,
content_rect: *mut tm_rect_t,
) -> tm_ui_window_event,
>,
pub pane: ::std::option::Option<
unsafe extern "C" fn(ui: *mut tm_ui_o, style: *const tm_ui_style_t, rect: tm_rect_t),
>,
pub scrollbar_x: ::std::option::Option<
unsafe extern "C" fn(
ui: *mut tm_ui_o,
uistyle: *const tm_ui_style_t,
c: *const tm_ui_scrollbar_t,
scroll: *mut f32,
) -> bool,
>,
pub scrollbar_y: ::std::option::Option<
unsafe extern "C" fn(
ui: *mut tm_ui_o,
uistyle: *const tm_ui_style_t,
c: *const tm_ui_scrollbar_t,
scroll: *mut f32,
) -> bool,
>,
pub begin_scrollview: ::std::option::Option<
unsafe extern "C" fn(
ui: *mut tm_ui_o,
style: *const tm_ui_style_t,
c: *const tm_ui_scrollview_t,
scroll_x: *mut f32,
scroll_y: *mut f32,
content_rect: *mut tm_rect_t,
) -> bool,
>,
pub end_scrollview: ::std::option::Option<
unsafe extern "C" fn(ui: *mut tm_ui_o, scroll_x: *mut f32, scroll_y: *mut f32) -> bool,
>,
pub label: ::std::option::Option<
unsafe extern "C" fn(
ui: *mut tm_ui_o,
style: *const tm_ui_style_t,
c: *const tm_ui_label_t,
) -> tm_rect_t,
>,
pub text: ::std::option::Option<
unsafe extern "C" fn(
ui: *mut tm_ui_o,
style: *const tm_ui_style_t,
c: *const tm_ui_text_t,
) -> tm_rect_t,
>,
pub text_metrics: ::std::option::Option<
unsafe extern "C" fn(
ui: *mut tm_ui_o,
style: *const tm_ui_style_t,
text: *const ::std::os::raw::c_char,
) -> tm_rect_t,
>,
pub wrapped_text: ::std::option::Option<
unsafe extern "C" fn(
ui: *mut tm_ui_o,
style: *const tm_ui_style_t,
c: *const tm_ui_text_t,
) -> tm_rect_t,
>,
pub link: ::std::option::Option<
unsafe extern "C" fn(
ui: *mut tm_ui_o,
style: *const tm_ui_style_t,
c: *const tm_ui_link_t,
) -> bool,
>,
pub tooltip: ::std::option::Option<
unsafe extern "C" fn(
ui: *mut tm_ui_o,
style: *const tm_ui_style_t,
text: *const ::std::os::raw::c_char,
),
>,
pub button: ::std::option::Option<
unsafe extern "C" fn(
ui: *mut tm_ui_o,
style: *const tm_ui_style_t,
c: *const tm_ui_button_t,
) -> bool,
>,
pub pushbutton: ::std::option::Option<
unsafe extern "C" fn(
ui: *mut tm_ui_o,
style: *const tm_ui_style_t,
c: *const tm_ui_button_t,
pressed: *mut bool,
) -> bool,
>,
pub checkbox: ::std::option::Option<
unsafe extern "C" fn(
ui: *mut tm_ui_o,
style: *const tm_ui_style_t,
c: *const tm_ui_checkbox_t,
checked: *mut bool,
) -> bool,
>,
pub radio: ::std::option::Option<
unsafe extern "C" fn(
ui: *mut tm_ui_o,
style: *const tm_ui_style_t,
c: *const tm_ui_radio_t,
checked: bool,
) -> bool,
>,
pub progress: ::std::option::Option<
unsafe extern "C" fn(
ui: *mut tm_ui_o,
style: *const tm_ui_style_t,
c: *const tm_ui_progress_t,
fraction: f32,
),
>,
pub slider: ::std::option::Option<
unsafe extern "C" fn(
ui: *mut tm_ui_o,
style: *const tm_ui_style_t,
c: *const tm_ui_slider_t,
val: *mut f32,
initial: *mut f32,
) -> tm_ui_interaction_result_t,
>,
pub spinner: ::std::option::Option<
unsafe extern "C" fn(
ui: *mut tm_ui_o,
style: *const tm_ui_style_t,
c: *const tm_ui_spinner_t,
val: *mut f64,
initial: *mut f64,
) -> tm_ui_interaction_result_t,
>,
pub dropdown: ::std::option::Option<
unsafe extern "C" fn(
ui: *mut tm_ui_o,
style: *const tm_ui_style_t,
c: *const tm_ui_dropdown_t,
selected: *mut u32,
) -> bool,
>,
pub textedit: ::std::option::Option<
unsafe extern "C" fn(
ui: *mut tm_ui_o,
style: *const tm_ui_style_t,
c: *const tm_ui_textedit_t,
s: *mut ::std::os::raw::c_char,
maxlen: u32,
) -> bool,
>,
pub menubar: ::std::option::Option<
unsafe extern "C" fn(
ui: *mut tm_ui_o,
style: *const tm_ui_style_t,
c: *const tm_ui_menubar_t,
) -> tm_ui_menu_result_t,
>,
pub menu: ::std::option::Option<
unsafe extern "C" fn(
ui: *mut tm_ui_o,
style: *const tm_ui_style_t,
c: *const tm_ui_menu_t,
) -> tm_ui_menu_result_t,
>,
pub sort_menu_items:
::std::option::Option<unsafe extern "C" fn(items: *mut tm_ui_menu_item_t, count: u32)>,
pub tabbar: ::std::option::Option<
unsafe extern "C" fn(
ui: *mut tm_ui_o,
style: *const tm_ui_style_t,
c: *const tm_ui_tabbar_t,
selected: *mut u32,
) -> tm_ui_tabbar_result_t,
>,
pub draggedtab: ::std::option::Option<
unsafe extern "C" fn(
ui: *mut tm_ui_o,
style: *const tm_ui_style_t,
c: *const tm_ui_draggedtab_t,
),
>,
pub splitter_x: ::std::option::Option<
unsafe extern "C" fn(
ui: *mut tm_ui_o,
uistyle: *const tm_ui_style_t,
c: *const tm_ui_splitter_t,
bias: *mut f32,
content_left: *mut tm_rect_t,
content_right: *mut tm_rect_t,
) -> bool,
>,
pub splitter_x_rects: ::std::option::Option<
unsafe extern "C" fn(
c: *const tm_ui_splitter_t,
bias: f32,
content_left: *mut tm_rect_t,
content_right: *mut tm_rect_t,
),
>,
pub splitter_y: ::std::option::Option<
unsafe extern "C" fn(
ui: *mut tm_ui_o,
uistyle: *const tm_ui_style_t,
c: *const tm_ui_splitter_t,
bias: *mut f32,
content_top: *mut tm_rect_t,
content_bottom: *mut tm_rect_t,
) -> bool,
>,
pub splitter_y_rects: ::std::option::Option<
unsafe extern "C" fn(
c: *const tm_ui_splitter_t,
bias: f32,
content_top: *mut tm_rect_t,
content_bottom: *mut tm_rect_t,
),
>,
pub titlebar: ::std::option::Option<
unsafe extern "C" fn(
ui: *mut tm_ui_o,
uistyle: *const tm_ui_style_t,
c: *const tm_ui_titlebar_t,
) -> tm_ui_titlebar_result_t,
>,
pub grow_buffer: ::std::option::Option<
unsafe extern "C" fn(ui: *mut tm_ui_o, b: tm_ui_buffer, vbytes: u32, ibytes: u32),
>,
pub buffers: ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o) -> tm_ui_buffers_t>,
pub make_id: ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o) -> u64>,
pub last_id: ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o) -> u64>,
pub create_fixed_id_range:
::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o, size: u64) -> u64>,
pub set_id: ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o, id: u64) -> u64>,
pub set_cursor:
::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o, cursor: tm_ui_cursor)>,
pub is_hovering: ::std::option::Option<
unsafe extern "C" fn(ui: *mut tm_ui_o, r: tm_rect_t, clip: u32) -> bool,
>,
pub set_responder_chain_root:
::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o, id: u64)>,
pub begin_responder_scope:
::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o, id: u64)>,
pub end_responder_scope: ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o, id: u64)>,
pub in_responder_chain:
::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o, id: u64) -> bool>,
pub is_first_responder:
::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o, id: u64) -> bool>,
pub set_responder_chain: ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o, id: u64)>,
pub responder_chain:
::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o, count: *mut u32) -> *mut u64>,
pub is_responder_chain_empty:
::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o) -> bool>,
pub focus_on_mouse_press: ::std::option::Option<
unsafe extern "C" fn(ui: *mut tm_ui_o, r: tm_rect_t, id: u64) -> bool,
>,
pub consume_key:
::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o, keyboard_item: u32)>,
pub begin_tab_scope:
::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o, id: u64) -> bool>,
pub end_tab_scope: ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o)>,
pub focus_on_tab:
::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o, id: u64) -> bool>,
pub set_tab_focus_disabled:
::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o, tab_focus_disabled: bool)>,
pub set_active: ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o, id: u64)>,
pub to_draw_style: ::std::option::Option<
unsafe extern "C" fn(
ui: *mut tm_ui_o,
style: *mut tm_draw2d_style_t,
uistyle: *const tm_ui_style_t,
) -> *mut tm_draw2d_style_t,
>,
pub set_cache: ::std::option::Option<
unsafe extern "C" fn(ui: *mut tm_ui_o, key: u64, carray: *mut ::std::os::raw::c_char),
>,
pub lookup_cache: ::std::option::Option<
unsafe extern "C" fn(ui: *mut tm_ui_o, key: u64) -> *mut ::std::os::raw::c_char,
>,
pub left_mouse_pressed: ::std::option::Option<
unsafe extern "C" fn(ui: *mut tm_ui_o, help_text: *const ::std::os::raw::c_char) -> bool,
>,
pub middle_mouse_pressed: ::std::option::Option<
unsafe extern "C" fn(ui: *mut tm_ui_o, help_text: *const ::std::os::raw::c_char) -> bool,
>,
pub right_mouse_pressed: ::std::option::Option<
unsafe extern "C" fn(ui: *mut tm_ui_o, help_text: *const ::std::os::raw::c_char) -> bool,
>,
pub double_click: ::std::option::Option<
unsafe extern "C" fn(ui: *mut tm_ui_o, help_text: *const ::std::os::raw::c_char) -> bool,
>,
pub triple_click: ::std::option::Option<
unsafe extern "C" fn(ui: *mut tm_ui_o, help_text: *const ::std::os::raw::c_char) -> bool,
>,
pub get_mouse_help_texts:
::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o) -> tm_ui_mouse_help_texts_t>,
pub theme: ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o) -> tm_ui_theme_t>,
pub set_theme:
::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o, theme: tm_ui_theme_t)>,
pub create_custom_theme: ::std::option::Option<
unsafe extern "C" fn(ui: *mut tm_ui_o, tt: *mut tm_the_truth_o) -> tm_ui_theme_t,
>,
pub set_parent_ui:
::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o, parent_ui: *mut tm_ui_o)>,
pub fork: ::std::option::Option<unsafe extern "C" fn(main: *mut tm_ui_o) -> *mut tm_ui_o>,
pub join: ::std::option::Option<unsafe extern "C" fn(main: *mut tm_ui_o, fork: *mut tm_ui_o)>,
pub main_ui: ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o) -> *mut tm_ui_o>,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_ui_activation_t {
pub active: u64,
pub lost_focus: u64,
pub hover: u64,
pub hover_in_overlay: bool,
pub _padding_39: [::std::os::raw::c_char; 7usize],
pub next_hover: u64,
pub next_hover_in_overlay: bool,
pub _padding_42: [::std::os::raw::c_char; 7usize],
pub sub_hover: u64,
pub next_sub_hover: u64,
pub hover_time: f32,
pub _padding_48: [::std::os::raw::c_char; 4usize],
pub hover_at_time: f64,
pub tooltip: u64,
pub tooltip_position: tm_vec2_t,
pub tooltip_time: f64,
pub next_hover_window: u64,
pub hover_window: u64,
pub next_hover_scrollview: u64,
pub hover_scrollview: u64,
pub menu_level: u32,
pub _padding_87: [::std::os::raw::c_char; 4usize],
}
pub const tm_ui_edit_key_TM_UI_EDIT_KEY_NONE: tm_ui_edit_key = 0;
pub const tm_ui_edit_key_TM_UI_EDIT_KEY_LEFT: tm_ui_edit_key = 1;
pub const tm_ui_edit_key_TM_UI_EDIT_KEY_RIGHT: tm_ui_edit_key = 2;
pub const tm_ui_edit_key_TM_UI_EDIT_KEY_UP: tm_ui_edit_key = 3;
pub const tm_ui_edit_key_TM_UI_EDIT_KEY_DOWN: tm_ui_edit_key = 4;
pub const tm_ui_edit_key_TM_UI_EDIT_KEY_TAB: tm_ui_edit_key = 5;
pub const tm_ui_edit_key_TM_UI_EDIT_KEY_ENTER: tm_ui_edit_key = 6;
pub const tm_ui_edit_key_TM_UI_EDIT_KEY_END: tm_ui_edit_key = 7;
pub const tm_ui_edit_key_TM_UI_EDIT_KEY_HOME: tm_ui_edit_key = 8;
pub const tm_ui_edit_key_TM_UI_EDIT_KEY_DELETE: tm_ui_edit_key = 9;
pub const tm_ui_edit_key_TM_UI_EDIT_KEY_BACKSPACE: tm_ui_edit_key = 10;
pub const tm_ui_edit_key_TM_UI_EDIT_KEY_ESCAPE: tm_ui_edit_key = 11;
pub const tm_ui_edit_key_TM_UI_EDIT_KEY_SELECT_ALL: tm_ui_edit_key = 12;
pub const tm_ui_edit_key_TM_UI_EDIT_KEY_CUT: tm_ui_edit_key = 13;
pub const tm_ui_edit_key_TM_UI_EDIT_KEY_COPY: tm_ui_edit_key = 14;
pub const tm_ui_edit_key_TM_UI_EDIT_KEY_PASTE: tm_ui_edit_key = 15;
pub const tm_ui_edit_key_TM_UI_EDIT_KEY_DUPLICATE: tm_ui_edit_key = 16;
pub const tm_ui_edit_key_TM_UI_EDIT_KEY_UNDO: tm_ui_edit_key = 17;
pub const tm_ui_edit_key_TM_UI_EDIT_KEY_REDO: tm_ui_edit_key = 18;
pub const tm_ui_edit_key_TM_UI_EDIT_KEY_COUNT: tm_ui_edit_key = 19;
pub type tm_ui_edit_key = ::std::os::raw::c_int;
pub const TM_UI_MAX_TEXT_INPUT: ::std::os::raw::c_int = 32;
pub type _bindgen_ty_228 = ::std::os::raw::c_int;
pub const TM_UI_MODIFIERS_NONE: ::std::os::raw::c_int = 0;
pub const TM_UI_MODIFIERS_SHIFT: ::std::os::raw::c_int = 1;
pub const TM_UI_MODIFIERS_ALT: ::std::os::raw::c_int = 2;
pub const TM_UI_MODIFIERS_SHIFT_ALT: ::std::os::raw::c_int = 3;
pub const TM_UI_MODIFIERS_CTRL: ::std::os::raw::c_int = 4;
pub const TM_UI_MODIFIERS_SHIFT_CTRL: ::std::os::raw::c_int = 5;
pub const TM_UI_MODIFIERS_ALT_CTRL: ::std::os::raw::c_int = 6;
pub const TM_UI_MODIFIERS_SHIFT_ALT_CTRL: ::std::os::raw::c_int = 7;
pub type _bindgen_ty_229 = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_ui_input_state_t {
pub time: f64,
pub scale: tm_vec2_t,
pub offset: tm_vec2_t,
pub mouse_pos: tm_vec2_t,
pub mouse_move: tm_vec2_t,
pub mouse_wheel: f32,
pub left_mouse_pressed: bool,
pub left_mouse_released: bool,
pub left_mouse_is_down: bool,
pub right_mouse_pressed: bool,
pub right_mouse_released: bool,
pub right_mouse_is_down: bool,
pub middle_mouse_pressed: bool,
pub middle_mouse_released: bool,
pub middle_mouse_is_down: bool,
pub back_mouse_pressed: bool,
pub back_mouse_released: bool,
pub back_mouse_is_down: bool,
pub left_mouse_pressed_at_time: f64,
pub mouse_move_at_time: f64,
pub double_click: bool,
pub triple_click: bool,
pub pen_pressed: bool,
pub pen_released: bool,
pub pen_is_down: bool,
pub touch_pressed: bool,
pub touch_released: bool,
pub touch_is_down: bool,
pub pressure: f32,
pub pen_erase: bool,
pub _padding_191: [::std::os::raw::c_char; 3usize],
pub key_is_down: *mut bool,
pub key_pressed: *mut bool,
pub key_released: *mut bool,
pub key_repeated: *mut bool,
pub modifiers: u32,
pub edit_key_pressed: [bool; 19usize],
pub _padding_207: [::std::os::raw::c_char; 1usize],
pub num_text_input: u32,
pub text_input: [u32; 32usize],
pub _padding_212: [::std::os::raw::c_char; 4usize],
}
impl Default for tm_ui_input_state_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
pub const TM_UI_ACTIVE_DATA_BYTES: ::std::os::raw::c_int = 16384;
pub type _bindgen_ty_230 = ::std::os::raw::c_int;
pub const tm_ui_icon_TM_UI_ICON__PLAY: tm_ui_icon = 0;
pub const tm_ui_icon_TM_UI_ICON__PAUSE: tm_ui_icon = 1;
pub const tm_ui_icon_TM_UI_ICON__RESTART: tm_ui_icon = 2;
pub const tm_ui_icon_TM_UI_ICON__STOP: tm_ui_icon = 3;
pub const tm_ui_icon_TM_UI_ICON__VOLUME: tm_ui_icon = 4;
pub const tm_ui_icon_TM_UI_ICON__PITCH: tm_ui_icon = 5;
pub const tm_ui_icon_TM_UI_ICON__PAN: tm_ui_icon = 6;
pub type tm_ui_icon = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_ui_icon_button_t {
pub id: u64,
pub rect: tm_rect_t,
pub is_disabled: bool,
pub _padding_26: [::std::os::raw::c_char; 3usize],
pub icon: tm_ui_icon,
}
impl Default for tm_ui_icon_button_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_ui_icon_api {
pub button: ::std::option::Option<
unsafe extern "C" fn(
ui: *mut tm_ui_o,
uistyle: *const tm_ui_style_t,
c: *const tm_ui_icon_button_t,
) -> bool,
>,
pub pushbutton: ::std::option::Option<
unsafe extern "C" fn(
ui: *mut tm_ui_o,
uistyle: *const tm_ui_style_t,
c: *const tm_ui_icon_button_t,
pressed: *mut bool,
) -> bool,
>,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_ui_renderer_api {
pub create: ::std::option::Option<
unsafe extern "C" fn(
res_buf: *mut tm_renderer_resource_command_buffer_o,
shader_repository: *mut tm_shader_repository_o,
allocator: *mut tm_allocator_i,
device_affinity: u32,
) -> *mut tm_ui_renderer_o,
>,
pub destroy: ::std::option::Option<
unsafe extern "C" fn(
ui_renderer: *mut tm_ui_renderer_o,
res_buf: *mut tm_renderer_resource_command_buffer_o,
),
>,
pub render: ::std::option::Option<
unsafe extern "C" fn(
ui_renderer: *mut tm_ui_renderer_o,
ui: *mut tm_ui_o,
sort_key: u64,
render_target_resolution: *const u32,
dpi_scale_factor: f32,
res_buf: *mut tm_renderer_resource_command_buffer_o,
cmd_buf: *mut tm_renderer_command_buffer_o,
),
>,
pub font: ::std::option::Option<
unsafe extern "C" fn(
ui_renderer: *mut tm_ui_renderer_o,
font_size: u32,
window_dpi: f32,
res_buf: *mut tm_renderer_resource_command_buffer_o,
) -> *const tm_font_t,
>,
pub allocate_image_slot:
::std::option::Option<unsafe extern "C" fn(ui_renderer: *mut tm_ui_renderer_o) -> u32>,
pub set_image: ::std::option::Option<
unsafe extern "C" fn(ui_renderer: *mut tm_ui_renderer_o, slot: u32, image_handle: u32),
>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_ui_tree_t {
pub ud: *mut ::std::os::raw::c_void,
pub root: u64,
pub item_height: f32,
pub rect: tm_rect_t,
pub _padding_26: [::std::os::raw::c_char; 4usize],
pub node_ui: ::std::option::Option<
unsafe extern "C" fn(
ui: *mut tm_ui_o,
uistyle: *const tm_ui_style_t,
item_id: u64,
rect: tm_rect_t,
ud: *mut ::std::os::raw::c_void,
node: u64,
parent: u64,
child_idx: u64,
),
>,
pub node_children: ::std::option::Option<
unsafe extern "C" fn(
ud: *mut ::std::os::raw::c_void,
node: u64,
children: *mut u64,
n: u32,
) -> u32,
>,
}
impl Default for tm_ui_tree_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_ui_tree_item_metrics_t {
pub have_been_filled: bool,
pub _padding_45: [::std::os::raw::c_char; 7usize],
pub tooltip_hover_text: *const ::std::os::raw::c_char,
pub toolbar_ui_elements: *mut u64,
pub toolbar_used_rect: tm_rect_t,
pub toolbar_element_count: u32,
pub _padding_52: [::std::os::raw::c_char; 4usize],
}
impl Default for tm_ui_tree_item_metrics_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_ui_tree_state_t {
pub expanded: *mut tm_set_t,
pub selected: *mut tm_set_t,
pub total_height: f32,
pub scroll_y: f32,
}
impl Default for tm_ui_tree_state_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C, packed)]
#[derive(Default, Copy, Clone)]
pub struct tm_ui_tree_item_state_t {
pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>,
}
impl tm_ui_tree_item_state_t {
#[inline]
pub fn can_expand(&self) -> bool {
unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) }
}
#[inline]
pub fn set_can_expand(&mut self, val: bool) {
unsafe {
let val: u8 = ::std::mem::transmute(val);
self._bitfield_1.set(0usize, 1u8, val as u64)
}
}
#[inline]
pub fn expanded(&self) -> bool {
unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) }
}
#[inline]
pub fn set_expanded(&mut self, val: bool) {
unsafe {
let val: u8 = ::std::mem::transmute(val);
self._bitfield_1.set(1usize, 1u8, val as u64)
}
}
#[inline]
pub fn can_select(&self) -> bool {
unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u8) }
}
#[inline]
pub fn set_can_select(&mut self, val: bool) {
unsafe {
let val: u8 = ::std::mem::transmute(val);
self._bitfield_1.set(2usize, 1u8, val as u64)
}
}
#[inline]
pub fn selected(&self) -> bool {
unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u8) }
}
#[inline]
pub fn set_selected(&mut self, val: bool) {
unsafe {
let val: u8 = ::std::mem::transmute(val);
self._bitfield_1.set(3usize, 1u8, val as u64)
}
}
#[inline]
pub fn padding(&self) -> u8 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 4u8) as u8) }
}
#[inline]
pub fn set_padding(&mut self, val: u8) {
unsafe {
let val: u8 = ::std::mem::transmute(val);
self._bitfield_1.set(4usize, 4u8, val as u64)
}
}
#[inline]
pub fn new_bitfield_1(
can_expand: bool,
expanded: bool,
can_select: bool,
selected: bool,
padding: u8,
) -> __BindgenBitfieldUnit<[u8; 1usize], u8> {
let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> =
Default::default();
__bindgen_bitfield_unit.set(0usize, 1u8, {
let can_expand: u8 = unsafe { ::std::mem::transmute(can_expand) };
can_expand as u64
});
__bindgen_bitfield_unit.set(1usize, 1u8, {
let expanded: u8 = unsafe { ::std::mem::transmute(expanded) };
expanded as u64
});
__bindgen_bitfield_unit.set(2usize, 1u8, {
let can_select: u8 = unsafe { ::std::mem::transmute(can_select) };
can_select as u64
});
__bindgen_bitfield_unit.set(3usize, 1u8, {
let selected: u8 = unsafe { ::std::mem::transmute(selected) };
selected as u64
});
__bindgen_bitfield_unit.set(4usize, 4u8, {
let padding: u8 = unsafe { ::std::mem::transmute(padding) };
padding as u64
});
__bindgen_bitfield_unit
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_ui_tree_item_res_t {
pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize], u8>,
pub _padding_109: [::std::os::raw::c_char; 2usize],
pub item_rect: tm_rect_t,
pub _padding_113: [::std::os::raw::c_char; 4usize],
pub item_id: u64,
}
impl tm_ui_tree_item_res_t {
#[inline]
pub fn expanded(&self) -> bool {
unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) }
}
#[inline]
pub fn set_expanded(&mut self, val: bool) {
unsafe {
let val: u8 = ::std::mem::transmute(val);
self._bitfield_1.set(0usize, 1u8, val as u64)
}
}
#[inline]
pub fn expanded_changed(&self) -> bool {
unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) }
}
#[inline]
pub fn set_expanded_changed(&mut self, val: bool) {
unsafe {
let val: u8 = ::std::mem::transmute(val);
self._bitfield_1.set(1usize, 1u8, val as u64)
}
}
#[inline]
pub fn selected(&self) -> bool {
unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u8) }
}
#[inline]
pub fn set_selected(&mut self, val: bool) {
unsafe {
let val: u8 = ::std::mem::transmute(val);
self._bitfield_1.set(2usize, 1u8, val as u64)
}
}
#[inline]
pub fn selected_changed(&self) -> bool {
unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u8) }
}
#[inline]
pub fn set_selected_changed(&mut self, val: bool) {
unsafe {
let val: u8 = ::std::mem::transmute(val);
self._bitfield_1.set(3usize, 1u8, val as u64)
}
}
#[inline]
pub fn clicked(&self) -> bool {
unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u8) }
}
#[inline]
pub fn set_clicked(&mut self, val: bool) {
unsafe {
let val: u8 = ::std::mem::transmute(val);
self._bitfield_1.set(4usize, 1u8, val as u64)
}
}
#[inline]
pub fn double_clicked(&self) -> bool {
unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u8) }
}
#[inline]
pub fn set_double_clicked(&mut self, val: bool) {
unsafe {
let val: u8 = ::std::mem::transmute(val);
self._bitfield_1.set(5usize, 1u8, val as u64)
}
}
#[inline]
pub fn visible(&self) -> bool {
unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u8) }
}
#[inline]
pub fn set_visible(&mut self, val: bool) {
unsafe {
let val: u8 = ::std::mem::transmute(val);
self._bitfield_1.set(6usize, 1u8, val as u64)
}
}
#[inline]
pub fn deselect_others(&self) -> bool {
unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u8) }
}
#[inline]
pub fn set_deselect_others(&mut self, val: bool) {
unsafe {
let val: u8 = ::std::mem::transmute(val);
self._bitfield_1.set(7usize, 1u8, val as u64)
}
}
#[inline]
pub fn select_range(&self) -> bool {
unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u8) }
}
#[inline]
pub fn set_select_range(&mut self, val: bool) {
unsafe {
let val: u8 = ::std::mem::transmute(val);
self._bitfield_1.set(8usize, 1u8, val as u64)
}
}
#[inline]
pub fn hovered(&self) -> bool {
unsafe { ::std::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u8) }
}
#[inline]
pub fn set_hovered(&mut self, val: bool) {
unsafe {
let val: u8 = ::std::mem::transmute(val);
self._bitfield_1.set(9usize, 1u8, val as u64)
}
}
#[inline]
pub fn padding(&self) -> u8 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(10usize, 6u8) as u8) }
}
#[inline]
pub fn set_padding(&mut self, val: u8) {
unsafe {
let val: u8 = ::std::mem::transmute(val);
self._bitfield_1.set(10usize, 6u8, val as u64)
}
}
#[inline]
pub fn new_bitfield_1(
expanded: bool,
expanded_changed: bool,
selected: bool,
selected_changed: bool,
clicked: bool,
double_clicked: bool,
visible: bool,
deselect_others: bool,
select_range: bool,
hovered: bool,
padding: u8,
) -> __BindgenBitfieldUnit<[u8; 2usize], u8> {
let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize], u8> =
Default::default();
__bindgen_bitfield_unit.set(0usize, 1u8, {
let expanded: u8 = unsafe { ::std::mem::transmute(expanded) };
expanded as u64
});
__bindgen_bitfield_unit.set(1usize, 1u8, {
let expanded_changed: u8 = unsafe { ::std::mem::transmute(expanded_changed) };
expanded_changed as u64
});
__bindgen_bitfield_unit.set(2usize, 1u8, {
let selected: u8 = unsafe { ::std::mem::transmute(selected) };
selected as u64
});
__bindgen_bitfield_unit.set(3usize, 1u8, {
let selected_changed: u8 = unsafe { ::std::mem::transmute(selected_changed) };
selected_changed as u64
});
__bindgen_bitfield_unit.set(4usize, 1u8, {
let clicked: u8 = unsafe { ::std::mem::transmute(clicked) };
clicked as u64
});
__bindgen_bitfield_unit.set(5usize, 1u8, {
let double_clicked: u8 = unsafe { ::std::mem::transmute(double_clicked) };
double_clicked as u64
});
__bindgen_bitfield_unit.set(6usize, 1u8, {
let visible: u8 = unsafe { ::std::mem::transmute(visible) };
visible as u64
});
__bindgen_bitfield_unit.set(7usize, 1u8, {
let deselect_others: u8 = unsafe { ::std::mem::transmute(deselect_others) };
deselect_others as u64
});
__bindgen_bitfield_unit.set(8usize, 1u8, {
let select_range: u8 = unsafe { ::std::mem::transmute(select_range) };
select_range as u64
});
__bindgen_bitfield_unit.set(9usize, 1u8, {
let hovered: u8 = unsafe { ::std::mem::transmute(hovered) };
hovered as u64
});
__bindgen_bitfield_unit.set(10usize, 6u8, {
let padding: u8 = unsafe { ::std::mem::transmute(padding) };
padding as u64
});
__bindgen_bitfield_unit
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_ui_tree_api {
pub tree: ::std::option::Option<
unsafe extern "C" fn(
ui: *mut tm_ui_o,
uistyle: *const tm_ui_style_t,
tree: *const tm_ui_tree_t,
state: *mut tm_ui_tree_state_t,
),
>,
pub tree_item: ::std::option::Option<
unsafe extern "C" fn(
ui: *mut tm_ui_o,
uistyle: *const tm_ui_style_t,
rect: tm_rect_t,
state: tm_ui_tree_item_state_t,
tree_has_focus: bool,
metrics: *const tm_ui_tree_item_metrics_t,
) -> tm_ui_tree_item_res_t,
>,
pub tree_item_with_sets: ::std::option::Option<
unsafe extern "C" fn(
ui: *mut tm_ui_o,
uistyle: *const tm_ui_style_t,
rect: tm_rect_t,
key: u64,
expanded_set: *mut tm_set_t,
selected_set: *mut tm_set_t,
tree_has_focus: bool,
) -> tm_ui_tree_item_res_t,
>,
pub tree_item_with_metrics: ::std::option::Option<
unsafe extern "C" fn(
ui: *mut tm_ui_o,
uistyle: *const tm_ui_style_t,
rect: tm_rect_t,
key: u64,
expanded_set: *mut tm_set_t,
selected_set: *mut tm_set_t,
tree_has_focus: bool,
metrics: *const tm_ui_tree_item_metrics_t,
) -> tm_ui_tree_item_res_t,
>,
}
pub const tm_upnp_state_TM_UPNP_STATE_NONE: tm_upnp_state = 0;
pub const tm_upnp_state_TM_UPNP_STATE_IN_PROGRESS: tm_upnp_state = 1;
pub const tm_upnp_state_TM_UPNP_STATE_FAILURE: tm_upnp_state = 2;
pub const tm_upnp_state_TM_UPNP_STATE_PORT_FORWARDED: tm_upnp_state = 3;
pub const tm_upnp_state_TM_UPNP_STATE_PORT_REMOVED: tm_upnp_state = 4;
pub type tm_upnp_state = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_upnp_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_upnp_result_t {
pub forwarded_port: u32,
pub _padding_25: [::std::os::raw::c_char; 4usize],
pub router_wan_address: *mut tm_socket_address_t,
}
impl Default for tm_upnp_result_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_upnp_api {
pub create: ::std::option::Option<
unsafe extern "C" fn(
allocator: *mut tm_allocator_i,
port_to_forward: u32,
) -> *mut tm_upnp_o,
>,
pub destroy: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_upnp_o)>,
pub remove_forwarded_port: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_upnp_o)>,
pub update: ::std::option::Option<
unsafe extern "C" fn(inst: *mut tm_upnp_o, res: *mut tm_upnp_result_t) -> tm_upnp_state,
>,
}
pub const tm_vulkan_init_flag_TM_VULKAN_INIT_FLAG_SWAPCHAIN: tm_vulkan_init_flag = 1;
pub const tm_vulkan_init_flag_TM_VULKAN_INIT_FLAG_VALIDATION: tm_vulkan_init_flag = 2;
pub type tm_vulkan_init_flag = ::std::os::raw::c_int;
pub const tm_vulkan_device_flag_TM_VULKAN_DEVICE_FLAG_DISCRETE: tm_vulkan_device_flag = 1;
pub const tm_vulkan_device_flag_TM_VULKAN_DEVICE_FLAG_INTEGRATED: tm_vulkan_device_flag = 2;
pub type tm_vulkan_device_flag = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_vulkan_device_id {
pub opaque: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_vulkan_raw_device_access_t {
pub vk_instance: *mut VkInstance_T,
pub vk_device: *mut VkDevice_T,
pub vk_physical_device: *mut VkPhysicalDevice_T,
pub vk_graphics_queue: *mut VkQueue_T,
pub vk_graphics_queue_family_index: u32,
pub _padding_49: [::std::os::raw::c_char; 4usize],
}
impl Default for tm_vulkan_raw_device_access_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_vulkan_raw_image_buffer_access_t {
pub vk_format: u32,
pub vk_msaa_sample_count_flag: u32,
pub vk_image_view_type: u32,
pub width: u32,
pub height: u32,
pub depth: u32,
pub layers: u32,
pub mip_levels: u32,
pub vk_image: *mut VkImage_T,
}
impl Default for tm_vulkan_raw_image_buffer_access_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_vulkan_backend_i {
pub inst: *mut ::std::os::raw::c_void,
pub init: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut ::std::os::raw::c_void,
required_instance_flags: u32,
) -> bool,
>,
pub shutdown: ::std::option::Option<unsafe extern "C" fn(inst: *mut ::std::os::raw::c_void)>,
pub agnostic_render_backend: ::std::option::Option<
unsafe extern "C" fn(inst: *mut ::std::os::raw::c_void) -> *mut tm_renderer_backend_i,
>,
pub num_physical_devices: ::std::option::Option<
unsafe extern "C" fn(inst: *mut ::std::os::raw::c_void, required_device_flags: u32) -> u32,
>,
pub physical_device_name: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut ::std::os::raw::c_void,
device: u32,
required_device_flags: u32,
vendor_id: *mut u32,
device_id: *mut u32,
driver_ver: *mut u32,
swap_chain_support: *mut bool,
) -> *const ::std::os::raw::c_char,
>,
pub physical_device_id: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut ::std::os::raw::c_void,
device: u32,
required_device_flags: u32,
result: *mut tm_vulkan_device_id,
) -> bool,
>,
pub num_device_groups:
::std::option::Option<unsafe extern "C" fn(inst: *mut ::std::os::raw::c_void) -> u32>,
pub physical_devices_in_group: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut ::std::os::raw::c_void,
device_group: u32,
num_physical_devices: *mut u32,
) -> *const u32,
>,
pub device_group_id: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut ::std::os::raw::c_void,
device_group: u32,
) -> tm_vulkan_device_id,
>,
pub create_devices: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut ::std::os::raw::c_void,
devices: *const tm_vulkan_device_id,
num_devices: u32,
device_affinities: *mut u32,
) -> bool,
>,
pub destroy_devices: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut ::std::os::raw::c_void,
device_affinities: *const u32,
num_devices: u32,
),
>,
pub retrieve_raw_device: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut ::std::os::raw::c_void,
device_affinity_mask: u32,
device_access: *mut tm_vulkan_raw_device_access_t,
) -> bool,
>,
pub retrieve_raw_image_buffer: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut ::std::os::raw::c_void,
handle: u32,
device_affinity_mask: u32,
image_buffer_access: *mut tm_vulkan_raw_image_buffer_access_t,
) -> bool,
>,
}
impl Default for tm_vulkan_backend_i {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_vulkan_api {
pub create_backend: ::std::option::Option<
unsafe extern "C" fn(
allocator: *mut tm_allocator_i,
error: *mut tm_error_i,
) -> *mut tm_vulkan_backend_i,
>,
pub destroy_backend:
::std::option::Option<unsafe extern "C" fn(backend: *mut tm_vulkan_backend_i)>,
pub shader_compiler:
::std::option::Option<unsafe extern "C" fn() -> *mut tm_renderer_shader_compiler_api>,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_asset_browser_tab_api {
pub find_asset_browser:
::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o) -> tm_tt_id_t>,
pub selected_object: ::std::option::Option<
unsafe extern "C" fn(tt: *mut tm_the_truth_o, asset_browser: tm_tt_id_t) -> tm_tt_id_t,
>,
pub set_selection: ::std::option::Option<
unsafe extern "C" fn(
ui: *mut tm_ui_o,
asset_or_dir: tm_tt_id_t,
undo_scope: tm_tt_undo_scope_t,
) -> bool,
>,
}
extern "C" {
pub static mut console_logger: *mut tm_logger_i;
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_update_tracker_api {
pub init: ::std::option::Option<unsafe extern "C" fn(allocator: *mut tm_allocator_i)>,
pub should_show_update_notification:
::std::option::Option<unsafe extern "C" fn(app: *mut tm_application_o) -> bool>,
pub shutdown: ::std::option::Option<unsafe extern "C" fn()>,
}
pub const TM_TT_PROP__APPLICATION_SETTINGS__UPDATES__LATEST_VERSION: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__APPLICATION_SETTINGS__UPDATES__SKIP_THIS_VERSION: ::std::os::raw::c_int = 1;
pub type _bindgen_ty_231 = ::std::os::raw::c_int;
pub const TM_TT_PROP__APPLICATION_SETTINGS__DOWNLOAD__URL: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__APPLICAITON_SETTINGS__DOWNLOAD__FILE: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__APPLICAITON_SETTINGS__DOWNLOAD__UNZIP_DIRECTORY: ::std::os::raw::c_int = 2;
pub type _bindgen_ty_232 = ::std::os::raw::c_int;
extern "C" {
pub static mut tm_update_tracker_api: *mut tm_update_tracker_api;
}
extern "C" {
pub fn import_gltf_asset(
gltf_file: *const ::std::os::raw::c_char,
target_dir: tm_tt_id_t,
a: *mut tm_allocator_i,
tt: *mut tm_the_truth_o,
reimport_into: tm_tt_id_t,
ui: *mut tm_ui_o,
undo_scope: tm_tt_undo_scope_t,
) -> u64;
}
extern "C" {
pub static mut gltf_asset_io: *mut tm_asset_io_i;
}
extern "C" {
pub fn import_tab__import_project(tab: *mut tm_tab_o, file: *const ::std::os::raw::c_char);
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_integration_test_runner_api {
pub create: ::std::option::Option<
unsafe extern "C" fn(
app: *mut tm_application_o,
allocator: *mut tm_allocator_i,
context: u64,
) -> *mut tm_integration_test_runner_o,
>,
pub add_test: ::std::option::Option<
unsafe extern "C" fn(
runner: *mut tm_integration_test_runner_o,
name: *const ::std::os::raw::c_char,
),
>,
pub tick:
::std::option::Option<unsafe extern "C" fn(runner: *mut tm_integration_test_runner_o)>,
pub destroy:
::std::option::Option<unsafe extern "C" fn(runner: *mut tm_integration_test_runner_o)>,
}
extern "C" {
pub static mut tm_integration_test_runner_api: *mut tm_integration_test_runner_api;
}
pub const tm_login__tab_action_TM_LOGIN__TAB_ACTION__NONE: tm_login__tab_action = 0;
pub const tm_login__tab_action_TM_LOGIN__TAB_ACTION__SHOW: tm_login__tab_action = 1;
pub const tm_login__tab_action_TM_LOGIN__TAB_ACTION__FULLSCREEN: tm_login__tab_action = 2;
pub const tm_login__tab_action_TM_LOGIN__TAB_ACTION__HIDE: tm_login__tab_action = 3;
pub const tm_login__tab_action_TM_LOGIN__TAB_ACTION__QUIT: tm_login__tab_action = 4;
pub type tm_login__tab_action = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_login_update_t {
pub show_login_tab: bool,
pub force_focus_login_tab: bool,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_login_api {
pub init: ::std::option::Option<unsafe extern "C" fn(allocator: *mut tm_allocator_i)>,
pub update: ::std::option::Option<unsafe extern "C" fn() -> tm_login__tab_action>,
pub shutdown: ::std::option::Option<unsafe extern "C" fn()>,
}
extern "C" {
pub static mut tm_login_api: *mut tm_login_api;
}
extern "C" {
pub fn menu__new_plugin__editor_tab();
}
extern "C" {
pub fn menu__new_plugin__entity_component();
}
extern "C" {
pub fn menu__new_plugin__minimal();
}
extern "C" {
pub fn load_plugin_templates(reg: *mut tm_api_registry_api, load: bool);
}
extern "C" {
pub fn profiler_view(tab: *mut tm_tab_o) -> *mut tm_profiler_view_o;
}
extern "C" {
pub fn properties_tab_set_root_with_mask(
tab: *mut tm_tab_o,
tt: *mut tm_the_truth_o,
root: tm_tt_id_t,
mask: u64,
);
}
pub const TM_TT_PROP__SCENE_TAB__ASSET: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__SCENE_TAB__SELECTION: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__SCENE_TAB__LAST_SELECTED: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__SCENE_TAB__PICK_COUNTER: ::std::os::raw::c_int = 3;
pub const TM_TT_PROP__SCENE_TAB__FRAME_OBJECT: ::std::os::raw::c_int = 4;
pub const TM_TT_PROP__SCENE_TAB__HIDDEN: ::std::os::raw::c_int = 5;
pub type _bindgen_ty_233 = ::std::os::raw::c_int;
pub const TM_TT_PROP__SCENE_SETTINGS__ASSET_UUID_A: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__SCENE_SETTINGS__USE_WORLD_AXES: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__SCENE_SETTINGS__MULTI_SELECT_PIVOT: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__SCENE_SETTINGS__MOVE_SNAP: ::std::os::raw::c_int = 3;
pub const TM_TT_PROP__SCENE_SETTINGS__MOVE_SNAP_SIZE: ::std::os::raw::c_int = 4;
pub const TM_TT_PROP__SCENE_SETTINGS__ROT_SNAP: ::std::os::raw::c_int = 5;
pub const TM_TT_PROP__SCENE_SETTINGS__ROT_SNAP_ANGLE: ::std::os::raw::c_int = 6;
pub const TM_TT_PROP__SCENE_SETTINGS__SCALE_ABSOLUTE_HANDLE: ::std::os::raw::c_int = 7;
pub type _bindgen_ty_234 = ::std::os::raw::c_int;
extern "C" {
pub fn scene_tab_truth_object(tab: *mut tm_tab_o) -> tm_tt_id_t;
}
extern "C" {
pub fn scene_tab_entity_context(tab: *mut tm_tab_o) -> *mut tm_entity_context_o;
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct scene_tab_entity_data_t {
pub entity_ctx: *mut tm_entity_context_o,
pub camera_controller_manager: *mut tm_camera_controller_component_manager_o,
pub camera_controller_component: u32,
pub dcc_asset_component: u32,
pub camera: tm_entity_t,
pub entity: tm_entity_t,
}
impl Default for scene_tab_entity_data_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
extern "C" {
pub fn scene_tab_entity_data(tab: *mut tm_tab_o) -> scene_tab_entity_data_t;
}
extern "C" {
pub fn scene_tab_viewer_render_args(tab: *mut tm_tab_o, args: *mut tm_viewer_render_args_t);
}
extern "C" {
pub fn load_scene_tab(reg: *mut tm_api_registry_api, load: bool);
}
extern "C" {
pub fn simulate_tab_set_show_playback_controls(tab: *mut tm_tab_o, show: bool);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_task_manager_o {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_task_manager_api {
pub create: ::std::option::Option<
unsafe extern "C" fn(alloc: *mut tm_allocator_i) -> *mut tm_task_manager_o,
>,
pub destroy: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_task_manager_o)>,
pub ui: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_task_manager_o,
ui: *mut tm_ui_o,
id: u64,
uistyle: *const tm_ui_style_t,
r: tm_rect_t,
),
>,
}
extern "C" {
pub static mut tm_global_api_registry: *mut tm_api_registry_api;
}
extern "C" {
pub static mut tm_allocator_api: *mut tm_allocator_api;
}
extern "C" {
pub static mut tm_buffer_format_api: *mut tm_buffer_format_api;
}
extern "C" {
pub static mut tm_collaboration_api: *mut tm_collaboration_api;
}
extern "C" {
pub static mut tm_config_api: *mut tm_config_api;
}
extern "C" {
pub static mut tm_error_api: *mut tm_error_api;
}
extern "C" {
pub static mut tm_image_loader_api: *mut tm_image_loader_api;
}
extern "C" {
pub static mut tm_input_api: *mut tm_input_api;
}
extern "C" {
pub static mut tm_json_api: *mut tm_json_api;
}
extern "C" {
pub static mut tm_localizer_api: *mut tm_localizer_api;
}
extern "C" {
pub static mut tm_logger_api: *mut tm_logger_api;
}
extern "C" {
pub static mut tm_memory_tracker_api: *mut tm_memory_tracker_api;
}
extern "C" {
pub static mut tm_os_api: *mut tm_os_api;
}
extern "C" {
pub static mut tm_path_api: *mut tm_path_api;
}
extern "C" {
pub static mut tm_plugins_api: *mut tm_plugins_api;
}
extern "C" {
pub static mut tm_profiler_api: *mut tm_profiler_api;
}
extern "C" {
pub static mut tm_task_system_api: *mut tm_task_system_api;
}
extern "C" {
pub static mut tm_temp_allocator_api: *mut tm_temp_allocator_api;
}
extern "C" {
pub static mut tm_the_truth_api: *mut tm_the_truth_api;
}
extern "C" {
pub static mut tm_the_truth_assets_api: *mut tm_the_truth_assets_api;
}
extern "C" {
pub static mut tm_the_truth_common_types_api: *mut tm_the_truth_common_types_api;
}
extern "C" {
pub static mut tm_unicode_api: *mut tm_unicode_api;
}
extern "C" {
pub static mut tm_feature_flags_api: *mut tm_feature_flags_api;
}
extern "C" {
pub static mut tm_camera_api: *mut tm_camera_api;
}
extern "C" {
pub static mut tm_progress_report_api: *mut tm_progress_report_api;
}
extern "C" {
pub static mut tm_asset_browser_api: *mut tm_asset_browser_api;
}
extern "C" {
pub static mut tm_asset_io_api: *mut tm_asset_io_api;
}
extern "C" {
pub static mut tm_dcc_asset_api: *mut tm_dcc_asset_api;
}
extern "C" {
pub static mut tm_default_render_pipe_api: *mut tm_default_render_pipe_api;
}
extern "C" {
pub static mut tm_docking_api: *mut tm_docking_api;
}
extern "C" {
pub static mut tm_draw2d_api: *mut tm_draw2d_api;
}
extern "C" {
pub static mut tm_entity_api: *mut tm_entity_api;
}
extern "C" {
pub static mut tm_font_api: *mut tm_font_api;
}
extern "C" {
pub static mut tm_graph_api: *mut tm_graph_api;
}
extern "C" {
pub static mut tm_grid_renderer_api: *mut tm_grid_renderer_api;
}
extern "C" {
pub static mut tm_job_system_api: *mut tm_job_system_api;
}
extern "C" {
pub static mut tm_link_component_api: *mut tm_link_component_api;
}
extern "C" {
pub static mut tm_os_display_api: *mut tm_os_display_api;
}
extern "C" {
pub static mut tm_os_window_api: *mut tm_os_window_api;
}
extern "C" {
pub static mut tm_owner_component_api: *mut tm_owner_component_api;
}
extern "C" {
pub static mut tm_primitive_drawer_api: *mut tm_primitive_drawer_api;
}
extern "C" {
pub static mut tm_profiler_view_api: *mut tm_profiler_view_api;
}
extern "C" {
pub static mut tm_properties_view_api: *mut tm_properties_view_api;
}
extern "C" {
pub static mut tm_render_graph_api: *mut tm_render_graph_api;
}
extern "C" {
pub static mut tm_render_graph_module_api: *mut tm_render_graph_module_api;
}
extern "C" {
pub static mut tm_renderer_init_api: *mut tm_renderer_init_api;
}
extern "C" {
pub static mut tm_shader_api: *mut tm_shader_api;
}
extern "C" {
pub static mut tm_shader_declaration_api: *mut tm_shader_declaration_api;
}
extern "C" {
pub static mut tm_shader_repository_api: *mut tm_shader_repository_api;
}
extern "C" {
pub static mut tm_shader_system_api: *mut tm_shader_system_api;
}
extern "C" {
pub static mut tm_shape3d_api: *mut tm_shape3d_api;
}
extern "C" {
pub static mut tm_ui_api: *mut tm_ui_api;
}
extern "C" {
pub static mut tm_ui_drag_api: *mut tm_ui_drag_api;
}
extern "C" {
pub static mut tm_ui_renderer_api: *mut tm_ui_renderer_api;
}
extern "C" {
pub static mut tm_vulkan_api: *mut tm_vulkan_api;
}
extern "C" {
pub static mut tm_gpu_picking_api: *mut tm_gpu_picking_api;
}
extern "C" {
pub static mut tm_visibility_flags_api: *mut tm_visibility_flags_api;
}
extern "C" {
pub static mut tm_viewer_api: *mut tm_viewer_api;
}
extern "C" {
pub static mut tm_viewer_manager_api: *mut tm_viewer_manager_api;
}
extern "C" {
pub static mut tm_frustum_culling_api: *mut tm_frustum_culling_api;
}
extern "C" {
pub static mut tm_render_context_api: *mut tm_render_context_api;
}
extern "C" {
pub static mut tm_camera_controller_component_api: *mut tm_camera_controller_component_api;
}
extern "C" {
pub static mut tm_scene_common_api: *mut tm_scene_common_api;
}
extern "C" {
pub static mut tm_task_manager_api: *mut tm_task_manager_api;
}
extern "C" {
pub static mut tm_gltf_api_opt: *mut tm_gltf_api;
}
extern "C" {
pub static mut tm_openvr_api_opt: *mut tm_openvr_api;
}
extern "C" {
pub static mut tm_cmd_buf_api: *mut tm_renderer_command_buffer_api;
}
extern "C" {
pub static mut tm_res_buf_api: *mut tm_renderer_resource_command_buffer_api;
}
extern "C" {
pub fn app_open_asset(
app: *mut tm_application_o,
ui: *mut tm_ui_o,
from_tab: *mut tm_tab_i,
asset: tm_tt_id_t,
);
}
extern "C" {
pub fn app_get_asset_root(app: *mut tm_application_o) -> tm_tt_id_t;
}
extern "C" {
pub fn app_reimport_asset(
app: *mut tm_application_o,
ui: *mut tm_ui_o,
tt: *mut tm_the_truth_o,
asset: tm_tt_id_t,
);
}
extern "C" {
pub fn app_create_or_select_tab(
app: *mut tm_application_o,
ui: *mut tm_ui_o,
vt_name: *const ::std::os::raw::c_char,
opt: *const tm_docking_find_tab_opt_t,
) -> *mut tm_tab_i;
}
extern "C" {
pub fn app_window_for_ui(app: *mut tm_application_o, ui: *const tm_ui_o) -> *mut tm_window_o;
}
extern "C" {
pub fn app_collaboration(app: *mut tm_application_o) -> *mut tm_collaboration_o;
}
extern "C" {
pub fn app_collaboration_p2p(app: *mut tm_application_o) -> *mut tm_collaboration_p2p_o;
}
extern "C" {
pub fn app_collaboration_discord(app: *mut tm_application_o)
-> *mut tm_collaboration_discord_o;
}
pub const TM_TT_PROP__APPLICATION_SETTINGS__CAMERA_SETTINGS: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__APPLICATION_SETTINGS__GRID_SETTINGS: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__APPLICATION_SETTINGS__WINDOW_LAYOUTS: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__APPLICATION_SETTINGS__RECENT_FILES: ::std::os::raw::c_int = 3;
pub const TM_TT_PROP__APPLICATION_SETTINGS__ANALYTICS_CLIENT_ID: ::std::os::raw::c_int = 4;
pub const TM_TT_PROP__APPLICATION_SETTINGS__INTERFACE_SETTINGS: ::std::os::raw::c_int = 5;
pub const TM_TT_PROP__APPLICATION_SETTINGS__UI_THEMES: ::std::os::raw::c_int = 6;
pub const TM_TT_PROP__APPLICATION_SETTINGS__UI_THEME: ::std::os::raw::c_int = 7;
pub const TM_TT_PROP__APPLICATION_SETTINGS__BUILTIN_UI_THEME: ::std::os::raw::c_int = 8;
pub const TM_TT_PROP__APPLICATION_SETTINGS__PROJECTS_SETTINGS: ::std::os::raw::c_int = 9;
pub const TM_TT_PROP__APPLICATION_SETTINGS__UPDATES: ::std::os::raw::c_int = 10;
pub const TM_TT_PROP__APPLICATION_SETTINGS__DOWNLOADS: ::std::os::raw::c_int = 11;
pub const TM_TT_PROP__APPLICATION_SETTINGS__LAST_OPENED_PROJECT: ::std::os::raw::c_int = 12;
pub const TM_TT_PROP__APPLICATION_SETTINGS__OPEN_EMPTY_PROJECT_ON_STARTUP: ::std::os::raw::c_int =
13;
pub const TM_TT_PROP__APPLICATION_SETTINGS__DOCKING_SETTINGS: ::std::os::raw::c_int = 14;
pub type _bindgen_ty_235 = ::std::os::raw::c_int;
pub const TM_TT_PROP__INTERFACE_SETTINGS__RESOLUTION_SCALE: ::std::os::raw::c_int = 0;
pub type _bindgen_ty_236 = ::std::os::raw::c_int;
pub const TM_TT_PROP__WINDOW_LAYOUTS__LAYOUTS: ::std::os::raw::c_int = 0;
pub type _bindgen_ty_237 = ::std::os::raw::c_int;
pub const TM_TT_PROP__WINDOW_LAYOUT__NAME: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__WINDOW_LAYOUT__CREATE_ON_STARTUP: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__WINDOW_LAYOUT__WINDOW_X: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__WINDOW_LAYOUT__WINDOW_Y: ::std::os::raw::c_int = 3;
pub const TM_TT_PROP__WINDOW_LAYOUT__WINDOW_WIDTH: ::std::os::raw::c_int = 4;
pub const TM_TT_PROP__WINDOW_LAYOUT__WINDOW_HEIGHT: ::std::os::raw::c_int = 5;
pub const TM_TT_PROP__WINDOW_LAYOUT__TABWELL: ::std::os::raw::c_int = 6;
pub type _bindgen_ty_238 = ::std::os::raw::c_int;
pub const TM_TT_PROP__RECENT_FILE__PATH: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__RECENT_FILE__TIME_STAMP: ::std::os::raw::c_int = 1;
pub type _bindgen_ty_239 = ::std::os::raw::c_int;
pub const TM_TT_PROP__TABWELL__LEFT: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__TABWELL__RIGHT: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__TABWELL__TOP: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__TABWELL__BOTTOM: ::std::os::raw::c_int = 3;
pub const TM_TT_PROP__TABWELL__BIAS: ::std::os::raw::c_int = 4;
pub const TM_TT_PROP__TABWELL__VIEWS: ::std::os::raw::c_int = 5;
pub type _bindgen_ty_240 = ::std::os::raw::c_int;
pub const TM_TT_PROP__TAB_VIEW__NAME: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__TAB_VIEW__SORT_INDEX: ::std::os::raw::c_int = 1;
pub type _bindgen_ty_241 = ::std::os::raw::c_int;
pub const TM_TT_PROP__PUBLISH_SETTINGS__DIRECTORY_PROJECT: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__PUBLISH_SETTINGS__EXECUTABLE_NAME: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__PUBLISH_SETTINGS__WINDOW_TITLE: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__PUBLISH_SETTINGS__WORLD_ENTITY: ::std::os::raw::c_int = 3;
pub type _bindgen_ty_242 = ::std::os::raw::c_int;
pub const TM_TT_PROP__PROJECT_SETTINGS__PATH: ::std::os::raw::c_int = 0;
pub const TM_TT_PROP__PROJECT_SETTINGS__GRAPHS_SETTINGS: ::std::os::raw::c_int = 1;
pub const TM_TT_PROP__PROJECT_SETTINGS__SCENES_SETTINGS: ::std::os::raw::c_int = 2;
pub const TM_TT_PROP__PROJECT_SETTINGS__PUBLISH_SETTINGS: ::std::os::raw::c_int = 3;
pub type _bindgen_ty_243 = ::std::os::raw::c_int;
extern "C" {
pub fn app_settings(app: *mut tm_application_o, id: *mut tm_tt_id_t) -> *mut tm_the_truth_o;
}
extern "C" {
pub fn app_project_settings(
app: *mut tm_application_o,
id: *mut tm_tt_id_t,
) -> *mut tm_the_truth_o;
}
extern "C" {
pub fn app_open_project(
app: *mut tm_application_o,
ui: *mut tm_ui_o,
path: *const ::std::os::raw::c_char,
) -> bool;
}
extern "C" {
pub fn app_open_any_project(app: *mut tm_application_o, file: *const ::std::os::raw::c_char);
}
extern "C" {
pub fn app_save_to_asset_database(
app: *mut tm_application_o,
file: *const ::std::os::raw::c_char,
);
}
extern "C" {
pub fn app_import_asset(app: *mut tm_application_o, file: *const ::std::os::raw::c_char);
}
extern "C" {
pub fn app_save_all(app: *mut tm_application_o);
}
extern "C" {
pub fn app_get_truth(app: *mut tm_application_o) -> *mut tm_the_truth_o;
}
extern "C" {
pub fn app_new_project(app: *mut tm_application_o);
}
extern "C" {
pub static mut tm_application_api: *mut tm_application_api;
}
extern "C" {
pub fn create_localizer(a: *mut tm_allocator_i) -> *mut tm_localizer_o;
}
extern "C" {
pub fn destroy_localizer(loc: *mut tm_localizer_o);
}
extern "C" {
pub fn localizer_language(loc: *mut tm_localizer_o) -> u64;
}
extern "C" {
pub fn localizer_set_language(loc: *mut tm_localizer_o, lang: u64);
}
extern "C" {
pub fn localizer_interface(loc: *mut tm_localizer_o) -> *mut tm_localizer_i;
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tm_tab_create_context_t {
pub allocator: *mut tm_allocator_i,
pub id: *mut u64,
pub application: *mut tm_application_o,
pub tt: *mut tm_the_truth_o,
pub undo_stack: *mut tm_undo_stack_i,
pub save_interface: *mut tm_asset_save_i,
pub ui_renderer: *mut tm_ui_renderer_o,
}
impl Default for tm_tab_create_context_t {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_the_machinery_tab_vt {
pub __bindgen_padding_0: [u64; 16usize],
pub menu_title: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_tab_o,
ui: *mut tm_ui_o,
) -> *const ::std::os::raw::c_char,
>,
pub menu: ::std::option::Option<
unsafe extern "C" fn(
inst: *mut tm_tab_o,
ui: *mut tm_ui_o,
uistyle: *const tm_ui_style_t,
submenu_pos: tm_vec2_t,
),
>,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_preview_tab_vt {
pub __bindgen_padding_0: [u64; 18usize],
pub preview_entity: ::std::option::Option<
unsafe extern "C" fn(tab: *mut tm_tab_o, e: *mut tm_entity_t) -> *mut tm_entity_context_o,
>,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_graph_tab_vt {
pub __bindgen_padding_0: [u64; 18usize],
pub refresh_node_types: ::std::option::Option<
unsafe extern "C" fn(
tab: *mut tm_tab_o,
node_interface_name: *const ::std::os::raw::c_char,
),
>,
}
pub type __builtin_va_list = *mut ::std::os::raw::c_char;
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_viewer_manager_o {
pub _address: u8,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_asset_io_o {
pub _address: u8,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_plugin_o {
pub _address: u8,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_string_repository_o {
pub _address: u8,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_temp_allocator_o {
pub _address: u8,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_hash32_t {
pub _address: u8,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_animation_player_o {
pub _address: u8,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_creation_graph_instance_data_o {
pub _address: u8,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_asset_browser_create_asset_o {
pub _address: u8,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_asset_browser_open_asset_o {
pub _address: u8,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_asset_browser_add_asset_o {
pub _address: u8,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_asset_browser_select_asset_o {
pub _address: u8,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_asset_preview_o {
pub _address: u8,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct tm_asset_scene_o {
pub _address: u8,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct VkInstance_T {
pub _address: u8,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct VkDevice_T {
pub _address: u8,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct VkPhysicalDevice_T {
pub _address: u8,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct VkQueue_T {
pub _address: u8,
}
#[repr(C)]
#[derive(Default, Copy, Clone)]
pub struct VkImage_T {
pub _address: u8,
}