8 #define DNA_DEPRECATED_ALLOW
46 # define N_(msgid) msgid
50 #define U BLI_STATIC_ASSERT(false, "Global 'U' not allowed, only use arguments passed in!")
55 #define USER_VERSION_ATLEAST(ver, subver) MAIN_VERSION_ATLEAST(userdef, ver, subver)
56 #define FROM_DEFAULT_V4_UCHAR(member) copy_v4_v4_uchar(btheme->member, U_theme_default.member)
103 #undef FROM_DEFAULT_V4_UCHAR
105 #undef USER_VERSION_ATLEAST
109 #define USER_LMOUSESELECT (1 << 14)
115 ACTIONMOUSE = 0x0005,
116 SELECTMOUSE = 0x0006,
117 EVT_TWEAK_A = 0x5005,
118 EVT_TWEAK_S = 0x5006,
159 EVT_TWEAK_L = 0x5002,
160 EVT_TWEAK_M = 0x5003,
161 EVT_TWEAK_R = 0x5004,
191 #define USER_VERSION_ATLEAST(ver, subver) MAIN_VERSION_ATLEAST(userdef, ver, subver)
297 strcpy(km->
idname,
"Armature Sketch");
300 strcpy(km->
idname,
"3D View");
303 strcpy(km->
idname,
"3D View Generic");
306 strcpy(km->
idname,
"Mesh");
309 strcpy(km->
idname,
"UV Editor");
311 else if (
STREQ(km->
idname,
"Animation_Channels")) {
312 strcpy(km->
idname,
"Animation Channels");
315 strcpy(km->
idname,
"Graph Editor");
318 strcpy(km->
idname,
"Graph Editor Generic");
321 strcpy(km->
idname,
"Dopesheet");
324 strcpy(km->
idname,
"NLA Editor");
327 strcpy(km->
idname,
"Node Editor");
330 strcpy(km->
idname,
"Logic Editor");
333 strcpy(km->
idname,
"File Browser");
336 strcpy(km->
idname,
"File Browser Main");
339 strcpy(km->
idname,
"File Browser Buttons");
342 strcpy(km->
idname,
"Property Editor");
446 userdef->gpu_viewport_quality = 0.6f;
469 if (kmdi->remove_item) {
472 if (kmdi->add_item) {
565 const float GPU_VIEWPORT_QUALITY_FXAA = 0.10f;
566 const float GPU_VIEWPORT_QUALITY_TAA8 = 0.25f;
567 const float GPU_VIEWPORT_QUALITY_TAA16 = 0.6f;
568 const float GPU_VIEWPORT_QUALITY_TAA32 = 0.8f;
570 if (userdef->gpu_viewport_quality <= GPU_VIEWPORT_QUALITY_FXAA) {
573 else if (userdef->gpu_viewport_quality <= GPU_VIEWPORT_QUALITY_TAA8) {
576 else if (userdef->gpu_viewport_quality <= GPU_VIEWPORT_QUALITY_TAA16) {
579 else if (userdef->gpu_viewport_quality <= GPU_VIEWPORT_QUALITY_TAA32) {
629 .check_diff_item_add =
true,
687 const char *replace_table[][2] = {
688 {
"blender",
"Blender"},
689 {
"blender_27x",
"Blender_27x"},
690 {
"industry_compatible",
"Industry_Compatible"},
692 const int replace_table_len =
ARRAY_SIZE(replace_table);
698 kpt->idname,
sizeof(kpt->idname), replace_table, replace_table_len);
736 if (
STREQ(asset_library->name,
"Default")) {
745 const int default_title_points = 11;
746 style->paneltitle.points = default_title_points;
747 style->grouplabel.points = default_title_points;
759 .check_diff_item_add =
true,
785 #undef USER_VERSION_ATLEAST
806 #undef USER_LMOUSESELECT
struct bAddon * BKE_addon_ensure(struct ListBase *addon_list, const char *module)
bool BKE_addon_remove_safe(struct ListBase *addon_list, const char *module)
bool BKE_blender_version_is_alpha(void)
void BKE_colorband_init(struct ColorBand *coba, bool rangetype)
struct IDProperty * IDP_GetPropertyFromGroup(const struct IDProperty *prop, const char *name) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
void BKE_keyconfig_pref_filter_items(struct UserDef *userdef, const struct wmKeyConfigFilterItemParams *params, bool(*filter_fn)(struct wmKeyMapItem *kmi, void *user_data), void *user_data)
void BKE_keyconfig_pref_set_select_mouse(struct UserDef *userdef, int value, bool override)
void BKE_preferences_asset_library_default_add(struct UserDef *userdef) ATTR_NONNULL()
#define BKE_PREFS_ASSET_LIBRARY_DEFAULT_NAME
void BKE_preferences_asset_library_name_set(struct UserDef *userdef, struct bUserAssetLibrary *library, const char *name) ATTR_NONNULL()
BLI_INLINE bool BLI_listbase_is_empty(const struct ListBase *lb)
#define LISTBASE_FOREACH(type, var, list)
MINLINE void copy_v4_fl4(float v[4], float x, float y, float z, float w)
MINLINE void copy_v3_fl3(float v[3], float x, float y, float z)
bool BLI_str_replace_table_exact(char *string, size_t string_len, const char *replace_table[][2], int replace_table_len)
#define ARRAY_SET_ITEMS(...)
#define MEMSET_STRUCT_AFTER(struct_var, value, member)
external readfile function prototypes.
const struct UserDef U_default
const struct bTheme U_theme_default
@ FCURVE_SMOOTH_CONT_ACCEL
Object groups, one object can be in many groups at once.
@ SCE_DISPLAY_AA_SAMPLES_32
@ SCE_DISPLAY_AA_SAMPLES_8
@ SCE_DISPLAY_AA_SAMPLES_16
@ USER_DOTRANSLATE_DEPRECATED
@ USER_LOCK_CURSOR_ADJUST
@ USER_SHOW_GIZMO_NAVIGATE
@ USER_NO_MULTITOUCH_GESTURES
@ USER_GPU_FLAG_OVERLAY_SMOOTH_WIRE
@ USER_SEQ_PROXY_SETUP_AUTOMATIC
@ USER_FLAG_NUMINPUT_ADVANCED
@ USER_RENDER_DISPLAY_WINDOW
@ AUTOKEY_FLAG_ONLYKEYINGSET
@ USER_TEMP_SPACE_DISPLAY_WINDOW
unsigned char grid_levels
uiWidgetColors wcol_view_item
struct WalkNavigation walk_navigation
float pressure_threshold_max
float view_rotate_sensitivity_trackball
short pie_animation_timeout
float ndof_orbit_sensitivity
float view_rotate_sensitivity_turntable
UserDef_FileSpaceData file_space_data
UserDef_Experimental experimental
struct ListBase user_keymaps
char drag_threshold_mouse
float gpencil_new_layer_col[4]
short lookdev_sphere_size
char gizmo_size_navigate_v3d
short sequencer_proxy_setup
struct ListBase user_keyconfig_prefs
char drag_threshold_tablet
struct SolidLight light_param[4]
char filebrowser_display_type
float collection_instance_empty_size
struct ListBase asset_libraries
struct ColorBand coba_weight
void BLO_sanitize_experimental_features_userpref_blend(UserDef *userdef)
#define USER_VERSION_ATLEAST(ver, subver)
#define FROM_DEFAULT_V4_UCHAR(member)
#define USER_LMOUSESELECT
void blo_do_versions_userdef(UserDef *userdef)
static bool keymap_item_has_invalid_wm_context_data_path(wmKeyMapItem *kmi, void *UNUSED(user_data))
static void do_version_select_mouse(UserDef *userdef, wmKeyMapItem *kmi)
static void do_versions_theme(const UserDef *userdef, bTheme *btheme)
static bool keymap_item_update_tweak_event(wmKeyMapItem *kmi, void *UNUSED(user_data))