diff options
Diffstat (limited to 'source/blender/makesdna/DNA_userdef_types.h')
-rw-r--r-- | source/blender/makesdna/DNA_userdef_types.h | 1698 |
1 files changed, 851 insertions, 847 deletions
diff --git a/source/blender/makesdna/DNA_userdef_types.h b/source/blender/makesdna/DNA_userdef_types.h index d44b149d3fd..57d685b527c 100644 --- a/source/blender/makesdna/DNA_userdef_types.h +++ b/source/blender/makesdna/DNA_userdef_types.h @@ -36,7 +36,7 @@ struct ColorBand; /* ************************ style definitions ******************** */ -#define MAX_STYLE_NAME 64 +#define MAX_STYLE_NAME 64 #define GPU_VIEWPORT_QUALITY_FXAA 0.10f #define GPU_VIEWPORT_QUALITY_TAA8 0.25f @@ -46,721 +46,723 @@ struct ColorBand; /** default offered by Blender. * #uiFont.uifont_id */ typedef enum eUIFont_ID { - UIFONT_DEFAULT = 0, -/* UIFONT_BITMAP = 1 */ /* UNUSED */ + UIFONT_DEFAULT = 0, + /* UIFONT_BITMAP = 1 */ /* UNUSED */ - /* free slots */ - UIFONT_CUSTOM1 = 2, - UIFONT_CUSTOM2 = 3, + /* free slots */ + UIFONT_CUSTOM1 = 2, + UIFONT_CUSTOM2 = 3, } eUIFont_ID; /* default fonts to load/initialize */ /* first font is the default (index 0), others optional */ typedef struct uiFont { - struct uiFont *next, *prev; - /** 1024 = FILE_MAX. */ - char filename[1024]; - /** From blfont lib. */ - short blf_id; - /** Own id (eUIFont_ID). */ - short uifont_id; - /** Fonts that read from left to right. */ - short r_to_l; - char _pad0[2]; + struct uiFont *next, *prev; + /** 1024 = FILE_MAX. */ + char filename[1024]; + /** From blfont lib. */ + short blf_id; + /** Own id (eUIFont_ID). */ + short uifont_id; + /** Fonts that read from left to right. */ + short r_to_l; + char _pad0[2]; } uiFont; /* this state defines appearance of text */ typedef struct uiFontStyle { - /** Saved in file, 0 is default. */ - short uifont_id; - /** Actual size depends on 'global' dpi. */ - short points; - /** Unfitted or default kerning value. */ - short kerning; - /** Style hint. */ - short italic, bold; - /** Value is amount of pixels blur. */ - short shadow; - /** Shadow offset in pixels. */ - short shadx, shady; - /** Total alpha. */ - float shadowalpha; - /** 1 value, typically white or black anyway. */ - float shadowcolor; + /** Saved in file, 0 is default. */ + short uifont_id; + /** Actual size depends on 'global' dpi. */ + short points; + /** Unfitted or default kerning value. */ + short kerning; + /** Style hint. */ + short italic, bold; + /** Value is amount of pixels blur. */ + short shadow; + /** Shadow offset in pixels. */ + short shadx, shady; + /** Total alpha. */ + float shadowalpha; + /** 1 value, typically white or black anyway. */ + float shadowcolor; } uiFontStyle; /* this is fed to the layout engine and widget code */ typedef struct uiStyle { - struct uiStyle *next, *prev; + struct uiStyle *next, *prev; - /** MAX_STYLE_NAME. */ - char name[64]; + /** MAX_STYLE_NAME. */ + char name[64]; - uiFontStyle paneltitle; - uiFontStyle grouplabel; - uiFontStyle widgetlabel; - uiFontStyle widget; + uiFontStyle paneltitle; + uiFontStyle grouplabel; + uiFontStyle widgetlabel; + uiFontStyle widget; - float panelzoom; + float panelzoom; - /** In characters. */ - short minlabelchars; - /** In characters. */ - short minwidgetchars; + /** In characters. */ + short minlabelchars; + /** In characters. */ + short minwidgetchars; - short columnspace; - short templatespace; - short boxspace; - short buttonspacex; - short buttonspacey; - short panelspace; - short panelouter; + short columnspace; + short templatespace; + short boxspace; + short buttonspacex; + short buttonspacey; + short panelspace; + short panelouter; - char _pad0[2]; + char _pad0[2]; } uiStyle; typedef struct uiWidgetColors { - char outline[4]; - char inner[4]; - char inner_sel[4]; - char item[4]; - char text[4]; - char text_sel[4]; - char shaded; - char _pad0[7]; - short shadetop, shadedown; - float roundness; + char outline[4]; + char inner[4]; + char inner_sel[4]; + char item[4]; + char text[4]; + char text_sel[4]; + char shaded; + char _pad0[7]; + short shadetop, shadedown; + float roundness; } uiWidgetColors; typedef struct uiWidgetStateColors { - char inner_anim[4]; - char inner_anim_sel[4]; - char inner_key[4]; - char inner_key_sel[4]; - char inner_driven[4]; - char inner_driven_sel[4]; - char inner_overridden[4]; - char inner_overridden_sel[4]; - char inner_changed[4]; - char inner_changed_sel[4]; - float blend; - char _pad0[4]; + char inner_anim[4]; + char inner_anim_sel[4]; + char inner_key[4]; + char inner_key_sel[4]; + char inner_driven[4]; + char inner_driven_sel[4]; + char inner_overridden[4]; + char inner_overridden_sel[4]; + char inner_changed[4]; + char inner_changed_sel[4]; + float blend; + char _pad0[4]; } uiWidgetStateColors; typedef struct uiPanelColors { - char header[4]; - char back[4]; - char sub_back[4]; - char _pad0[4]; + char header[4]; + char back[4]; + char sub_back[4]; + char _pad0[4]; } uiPanelColors; typedef struct ThemeUI { - /* Interface Elements (buttons, menus, icons) */ - uiWidgetColors wcol_regular, wcol_tool, wcol_toolbar_item, wcol_text; - uiWidgetColors wcol_radio, wcol_option, wcol_toggle; - uiWidgetColors wcol_num, wcol_numslider, wcol_tab; - uiWidgetColors wcol_menu, wcol_pulldown, wcol_menu_back, wcol_menu_item, wcol_tooltip; - uiWidgetColors wcol_box, wcol_scroll, wcol_progress, wcol_list_item, wcol_pie_menu; - - uiWidgetStateColors wcol_state; - - char widget_emboss[4]; - - /* fac: 0 - 1 for blend factor, width in pixels */ - float menu_shadow_fac; - short menu_shadow_width; - - char editor_outline[4]; - char _pad0[2]; - - float icon_alpha; - float icon_saturation; - char _pad[4]; - - /* Axis Colors */ - char xaxis[4], yaxis[4], zaxis[4]; - - /* Gizmo Colors. */ - char gizmo_hi[4]; - char gizmo_primary[4]; - char gizmo_secondary[4]; - char gizmo_a[4]; - char gizmo_b[4]; - - /* Icon Colors. */ - /** Collection items. */ - char icon_collection[4]; - /** Object items. */ - char icon_object[4]; - /** Object data items. */ - char icon_object_data[4]; - /** Modifier and constraint items. */ - char icon_modifier[4]; - /** Shading related items. */ - char icon_shading[4]; + /* Interface Elements (buttons, menus, icons) */ + uiWidgetColors wcol_regular, wcol_tool, wcol_toolbar_item, wcol_text; + uiWidgetColors wcol_radio, wcol_option, wcol_toggle; + uiWidgetColors wcol_num, wcol_numslider, wcol_tab; + uiWidgetColors wcol_menu, wcol_pulldown, wcol_menu_back, wcol_menu_item, wcol_tooltip; + uiWidgetColors wcol_box, wcol_scroll, wcol_progress, wcol_list_item, wcol_pie_menu; + + uiWidgetStateColors wcol_state; + + char widget_emboss[4]; + + /* fac: 0 - 1 for blend factor, width in pixels */ + float menu_shadow_fac; + short menu_shadow_width; + + char editor_outline[4]; + char _pad0[2]; + + float icon_alpha; + float icon_saturation; + char _pad[4]; + + /* Axis Colors */ + char xaxis[4], yaxis[4], zaxis[4]; + + /* Gizmo Colors. */ + char gizmo_hi[4]; + char gizmo_primary[4]; + char gizmo_secondary[4]; + char gizmo_a[4]; + char gizmo_b[4]; + + /* Icon Colors. */ + /** Collection items. */ + char icon_collection[4]; + /** Object items. */ + char icon_object[4]; + /** Object data items. */ + char icon_object_data[4]; + /** Modifier and constraint items. */ + char icon_modifier[4]; + /** Shading related items. */ + char icon_shading[4]; } ThemeUI; /* try to put them all in one, if needed a special struct can be created as well * for example later on, when we introduce wire colors for ob types or so... */ typedef struct ThemeSpace { - /* main window colors */ - char back[4]; - char back_grad[4]; - - char show_back_grad; - char _pad0[3]; - - /** Panel title. */ - char title[4]; - char text[4]; - char text_hi[4]; - - /* header colors */ - /** Region background. */ - char header[4]; - /** Unused. */ - char header_title[4]; - char header_text[4]; - char header_text_hi[4]; - - /* region tabs */ - char tab_active[4]; - char tab_inactive[4]; - char tab_back[4]; - char tab_outline[4]; - - /* button/tool regions */ - /** Region background. */ - char button[4]; - /** Panel title. */ - char button_title[4]; - char button_text[4]; - char button_text_hi[4]; - - /* listview regions */ - /** Region background. */ - char list[4]; - /** Panel title. */ - char list_title[4]; - char list_text[4]; - char list_text_hi[4]; - - /* navigation bar regions */ - /** Region background. */ - char navigation_bar[4]; - /** Region background. */ - char execution_buts[4]; - - /* note, cannot use name 'panel' because of DNA mapping old files */ - uiPanelColors panelcolors; - - char shade1[4]; - char shade2[4]; - - char hilite[4]; - char grid[4]; - - char view_overlay[4]; - - char wire[4], wire_edit[4], select[4]; - char lamp[4], speaker[4], empty[4], camera[4]; - char active[4], group[4], group_active[4], transform[4]; - char vertex[4], vertex_select[4], vertex_bevel[4], vertex_unreferenced[4]; - char edge[4], edge_select[4]; - char edge_seam[4], edge_sharp[4], edge_facesel[4], edge_crease[4], edge_bevel[4]; - /** Solid faces. */ - char face[4], face_select[4]; - /** selected color. */ - char face_dot[4]; - char extra_edge_len[4], extra_edge_angle[4], extra_face_angle[4], extra_face_area[4]; - char normal[4]; - char vertex_normal[4]; - char loop_normal[4]; - char bone_solid[4], bone_pose[4], bone_pose_active[4]; - char strip[4], strip_select[4]; - char cframe[4]; - char time_keyframe[4], time_gp_keyframe[4]; - char freestyle_edge_mark[4], freestyle_face_mark[4]; - - char nurb_uline[4], nurb_vline[4]; - char act_spline[4], nurb_sel_uline[4], nurb_sel_vline[4], lastsel_point[4]; - - char handle_free[4], handle_auto[4], handle_vect[4], handle_align[4], handle_auto_clamped[4]; - char handle_sel_free[4], handle_sel_auto[4], handle_sel_vect[4], handle_sel_align[4], handle_sel_auto_clamped[4]; - - /** Dopesheet. */ - char ds_channel[4], ds_subchannel[4], ds_ipoline[4]; - /** Keytypes. */ - char keytype_keyframe[4], keytype_extreme[4], keytype_breakdown[4], keytype_jitter[4], keytype_movehold[4]; - /** Keytypes. */ - char keytype_keyframe_select[4], keytype_extreme_select[4], keytype_breakdown_select[4], keytype_jitter_select[4], keytype_movehold_select[4]; - char keyborder[4], keyborder_select[4]; - char _pad4[4]; - - char console_output[4], console_input[4], console_info[4], console_error[4]; - char console_cursor[4], console_select[4]; - - char vertex_size, outline_width, facedot_size; - char noodle_curving; - - /* syntax for textwindow and nodes */ - char syntaxl[4], syntaxs[4]; // in nodespace used for backdrop matte - char syntaxb[4], syntaxn[4]; // in nodespace used for color input - char syntaxv[4], syntaxc[4]; // in nodespace used for converter group - char syntaxd[4], syntaxr[4]; // in nodespace used for distort - - char nodeclass_output[4], nodeclass_filter[4]; - char nodeclass_vector[4], nodeclass_texture[4]; - char nodeclass_shader[4], nodeclass_script[4]; - char nodeclass_pattern[4], nodeclass_layout[4]; - - /** For sequence editor. */ - char movie[4], movieclip[4], mask[4], image[4], scene[4], audio[4]; - char effect[4], transition[4], meta[4], text_strip[4]; - - /** For dopesheet - scale factor for size of keyframes (i.e. height of channels). */ - float keyframe_scale_fac; - - char editmesh_active[4]; - - char handle_vertex[4]; - char handle_vertex_select[4]; - - char handle_vertex_size; - - char clipping_border_3d[4]; - - char marker_outline[4], marker[4], act_marker[4], sel_marker[4], dis_marker[4], lock_marker[4]; - char bundle_solid[4]; - char path_before[4], path_after[4]; - char camera_path[4]; - char _pad1[2]; - - char gp_vertex_size; - char gp_vertex[4], gp_vertex_select[4]; - - char preview_back[4]; - char preview_stitch_face[4]; - char preview_stitch_edge[4]; - char preview_stitch_vert[4]; - char preview_stitch_stitchable[4]; - char preview_stitch_unstitchable[4]; - char preview_stitch_active[4]; - - /** Two uses, for uvs with modifier applied on mesh and uvs during painting. */ - char uv_shadow[4]; - /** Uvs of other objects. */ - char uv_others[4]; - - /** Outliner - filter match. */ - char match[4]; - /** Outliner - selected item. */ - char selected_highlight[4]; - - /** Skin modifier root color. */ - char skin_root[4]; - - /* NLA */ - /** Active Action + Summary Channel. */ - char anim_active[4]; - /** Active Action = NULL. */ - char anim_non_active[4]; - /** Preview range overlay. */ - char anim_preview_range[4]; - char _pad2[4]; - - /** NLA 'Tweaking' action/strip. */ - char nla_tweaking[4]; - /** NLA - warning color for duplicate instances of tweaking strip. */ - char nla_tweakdupli[4]; - - /** NLA "Transition" strips. */ - char nla_transition[4], nla_transition_sel[4]; - /** NLA "Meta" strips. */ - char nla_meta[4], nla_meta_sel[4]; - /** NLA "Sound" strips. */ - char nla_sound[4], nla_sound_sel[4]; - - /* info */ - char info_selected[4], info_selected_text[4]; - char info_error[4], info_error_text[4]; - char info_warning[4], info_warning_text[4]; - char info_info[4], info_info_text[4]; - char info_debug[4], info_debug_text[4]; - - char paint_curve_pivot[4]; - char paint_curve_handle[4]; - - char metadatabg[4]; - char metadatatext[4]; + /* main window colors */ + char back[4]; + char back_grad[4]; + + char show_back_grad; + char _pad0[3]; + + /** Panel title. */ + char title[4]; + char text[4]; + char text_hi[4]; + + /* header colors */ + /** Region background. */ + char header[4]; + /** Unused. */ + char header_title[4]; + char header_text[4]; + char header_text_hi[4]; + + /* region tabs */ + char tab_active[4]; + char tab_inactive[4]; + char tab_back[4]; + char tab_outline[4]; + + /* button/tool regions */ + /** Region background. */ + char button[4]; + /** Panel title. */ + char button_title[4]; + char button_text[4]; + char button_text_hi[4]; + + /* listview regions */ + /** Region background. */ + char list[4]; + /** Panel title. */ + char list_title[4]; + char list_text[4]; + char list_text_hi[4]; + + /* navigation bar regions */ + /** Region background. */ + char navigation_bar[4]; + /** Region background. */ + char execution_buts[4]; + + /* note, cannot use name 'panel' because of DNA mapping old files */ + uiPanelColors panelcolors; + + char shade1[4]; + char shade2[4]; + + char hilite[4]; + char grid[4]; + + char view_overlay[4]; + + char wire[4], wire_edit[4], select[4]; + char lamp[4], speaker[4], empty[4], camera[4]; + char active[4], group[4], group_active[4], transform[4]; + char vertex[4], vertex_select[4], vertex_bevel[4], vertex_unreferenced[4]; + char edge[4], edge_select[4]; + char edge_seam[4], edge_sharp[4], edge_facesel[4], edge_crease[4], edge_bevel[4]; + /** Solid faces. */ + char face[4], face_select[4]; + /** selected color. */ + char face_dot[4]; + char extra_edge_len[4], extra_edge_angle[4], extra_face_angle[4], extra_face_area[4]; + char normal[4]; + char vertex_normal[4]; + char loop_normal[4]; + char bone_solid[4], bone_pose[4], bone_pose_active[4]; + char strip[4], strip_select[4]; + char cframe[4]; + char time_keyframe[4], time_gp_keyframe[4]; + char freestyle_edge_mark[4], freestyle_face_mark[4]; + + char nurb_uline[4], nurb_vline[4]; + char act_spline[4], nurb_sel_uline[4], nurb_sel_vline[4], lastsel_point[4]; + + char handle_free[4], handle_auto[4], handle_vect[4], handle_align[4], handle_auto_clamped[4]; + char handle_sel_free[4], handle_sel_auto[4], handle_sel_vect[4], handle_sel_align[4], + handle_sel_auto_clamped[4]; + + /** Dopesheet. */ + char ds_channel[4], ds_subchannel[4], ds_ipoline[4]; + /** Keytypes. */ + char keytype_keyframe[4], keytype_extreme[4], keytype_breakdown[4], keytype_jitter[4], + keytype_movehold[4]; + /** Keytypes. */ + char keytype_keyframe_select[4], keytype_extreme_select[4], keytype_breakdown_select[4], + keytype_jitter_select[4], keytype_movehold_select[4]; + char keyborder[4], keyborder_select[4]; + char _pad4[4]; + + char console_output[4], console_input[4], console_info[4], console_error[4]; + char console_cursor[4], console_select[4]; + + char vertex_size, outline_width, facedot_size; + char noodle_curving; + + /* syntax for textwindow and nodes */ + char syntaxl[4], syntaxs[4]; // in nodespace used for backdrop matte + char syntaxb[4], syntaxn[4]; // in nodespace used for color input + char syntaxv[4], syntaxc[4]; // in nodespace used for converter group + char syntaxd[4], syntaxr[4]; // in nodespace used for distort + + char nodeclass_output[4], nodeclass_filter[4]; + char nodeclass_vector[4], nodeclass_texture[4]; + char nodeclass_shader[4], nodeclass_script[4]; + char nodeclass_pattern[4], nodeclass_layout[4]; + + /** For sequence editor. */ + char movie[4], movieclip[4], mask[4], image[4], scene[4], audio[4]; + char effect[4], transition[4], meta[4], text_strip[4]; + + /** For dopesheet - scale factor for size of keyframes (i.e. height of channels). */ + float keyframe_scale_fac; + + char editmesh_active[4]; + + char handle_vertex[4]; + char handle_vertex_select[4]; + + char handle_vertex_size; + + char clipping_border_3d[4]; + + char marker_outline[4], marker[4], act_marker[4], sel_marker[4], dis_marker[4], lock_marker[4]; + char bundle_solid[4]; + char path_before[4], path_after[4]; + char camera_path[4]; + char _pad1[2]; + + char gp_vertex_size; + char gp_vertex[4], gp_vertex_select[4]; + + char preview_back[4]; + char preview_stitch_face[4]; + char preview_stitch_edge[4]; + char preview_stitch_vert[4]; + char preview_stitch_stitchable[4]; + char preview_stitch_unstitchable[4]; + char preview_stitch_active[4]; + + /** Two uses, for uvs with modifier applied on mesh and uvs during painting. */ + char uv_shadow[4]; + /** Uvs of other objects. */ + char uv_others[4]; + + /** Outliner - filter match. */ + char match[4]; + /** Outliner - selected item. */ + char selected_highlight[4]; + + /** Skin modifier root color. */ + char skin_root[4]; + + /* NLA */ + /** Active Action + Summary Channel. */ + char anim_active[4]; + /** Active Action = NULL. */ + char anim_non_active[4]; + /** Preview range overlay. */ + char anim_preview_range[4]; + char _pad2[4]; + + /** NLA 'Tweaking' action/strip. */ + char nla_tweaking[4]; + /** NLA - warning color for duplicate instances of tweaking strip. */ + char nla_tweakdupli[4]; + + /** NLA "Transition" strips. */ + char nla_transition[4], nla_transition_sel[4]; + /** NLA "Meta" strips. */ + char nla_meta[4], nla_meta_sel[4]; + /** NLA "Sound" strips. */ + char nla_sound[4], nla_sound_sel[4]; + + /* info */ + char info_selected[4], info_selected_text[4]; + char info_error[4], info_error_text[4]; + char info_warning[4], info_warning_text[4]; + char info_info[4], info_info_text[4]; + char info_debug[4], info_debug_text[4]; + + char paint_curve_pivot[4]; + char paint_curve_handle[4]; + + char metadatabg[4]; + char metadatatext[4]; } ThemeSpace; - /* set of colors for use as a custom color set for Objects/Bones wire drawing */ typedef struct ThemeWireColor { - char solid[4]; - char select[4]; - char active[4]; + char solid[4]; + char select[4]; + char active[4]; - /** #eWireColor_Flags. */ - short flag; - char _pad0[2]; + /** #eWireColor_Flags. */ + short flag; + char _pad0[2]; } ThemeWireColor; /** #ThemeWireColor.flag */ typedef enum eWireColor_Flags { - TH_WIRECOLOR_CONSTCOLS = (1 << 0), - TH_WIRECOLOR_TEXTCOLS = (1 << 1), + TH_WIRECOLOR_CONSTCOLS = (1 << 0), + TH_WIRECOLOR_TEXTCOLS = (1 << 1), } eWireColor_Flags; /* A theme */ typedef struct bTheme { - struct bTheme *next, *prev; - char name[32]; - - ThemeUI tui; - - /* Individual Spacetypes */ - /* note: ensure UI_THEMESPACE_END is updated when adding */ - ThemeSpace space_properties; - ThemeSpace space_view3d; - ThemeSpace space_file; - ThemeSpace space_graph; - ThemeSpace space_info; - ThemeSpace space_action; - ThemeSpace space_nla; - ThemeSpace space_sequencer; - ThemeSpace space_image; - ThemeSpace space_text; - ThemeSpace space_outliner; - ThemeSpace space_node; - ThemeSpace space_preferences; - ThemeSpace space_console; - ThemeSpace space_clip; - ThemeSpace space_topbar; - ThemeSpace space_statusbar; - - /* 20 sets of bone colors for this theme */ - ThemeWireColor tarm[20]; - /*ThemeWireColor tobj[20];*/ - - int active_theme_area; - char _pad0[4]; + struct bTheme *next, *prev; + char name[32]; + + ThemeUI tui; + + /* Individual Spacetypes */ + /* note: ensure UI_THEMESPACE_END is updated when adding */ + ThemeSpace space_properties; + ThemeSpace space_view3d; + ThemeSpace space_file; + ThemeSpace space_graph; + ThemeSpace space_info; + ThemeSpace space_action; + ThemeSpace space_nla; + ThemeSpace space_sequencer; + ThemeSpace space_image; + ThemeSpace space_text; + ThemeSpace space_outliner; + ThemeSpace space_node; + ThemeSpace space_preferences; + ThemeSpace space_console; + ThemeSpace space_clip; + ThemeSpace space_topbar; + ThemeSpace space_statusbar; + + /* 20 sets of bone colors for this theme */ + ThemeWireColor tarm[20]; + /*ThemeWireColor tobj[20];*/ + + int active_theme_area; + char _pad0[4]; } bTheme; -#define UI_THEMESPACE_START(btheme) (CHECK_TYPE_INLINE(btheme, bTheme *), &((btheme)->tbuts)) -#define UI_THEMESPACE_END(btheme) (CHECK_TYPE_INLINE(btheme, bTheme *), (&((btheme)->tclip) + 1)) +#define UI_THEMESPACE_START(btheme) (CHECK_TYPE_INLINE(btheme, bTheme *), &((btheme)->tbuts)) +#define UI_THEMESPACE_END(btheme) (CHECK_TYPE_INLINE(btheme, bTheme *), (&((btheme)->tclip) + 1)) typedef struct bAddon { - struct bAddon *next, *prev; - char module[64]; - /** User-Defined Properties on this Addon (for storing preferences). */ - IDProperty *prop; + struct bAddon *next, *prev; + char module[64]; + /** User-Defined Properties on this Addon (for storing preferences). */ + IDProperty *prop; } bAddon; typedef struct bPathCompare { - struct bPathCompare *next, *prev; - /** FILE_MAXDIR. */ - char path[768]; - char flag; - char _pad0[7]; + struct bPathCompare *next, *prev; + /** FILE_MAXDIR. */ + char path[768]; + char flag; + char _pad0[7]; } bPathCompare; typedef struct bUserMenu { - struct bUserMenu *next, *prev; - char space_type; - char _pad0[7]; - char context[64]; - /* bUserMenuItem */ - ListBase items; + struct bUserMenu *next, *prev; + char space_type; + char _pad0[7]; + char context[64]; + /* bUserMenuItem */ + ListBase items; } bUserMenu; /* May be part of bUserMenu or other list. */ typedef struct bUserMenuItem { - struct bUserMenuItem *next, *prev; - char ui_name[64]; - char type; - char _pad0[7]; + struct bUserMenuItem *next, *prev; + char ui_name[64]; + char type; + char _pad0[7]; } bUserMenuItem; typedef struct bUserMenuItem_Op { - bUserMenuItem item; - char op_idname[64]; - struct IDProperty *prop; - char opcontext; - char _pad0[7]; + bUserMenuItem item; + char op_idname[64]; + struct IDProperty *prop; + char opcontext; + char _pad0[7]; } bUserMenuItem_Op; typedef struct bUserMenuItem_Menu { - bUserMenuItem item; - char mt_idname[64]; + bUserMenuItem item; + char mt_idname[64]; } bUserMenuItem_Menu; typedef struct bUserMenuItem_Prop { - bUserMenuItem item; - char context_data_path[256]; - char prop_id[64]; - int prop_index; - char _pad0[4]; + bUserMenuItem item; + char context_data_path[256]; + char prop_id[64]; + int prop_index; + char _pad0[4]; } bUserMenuItem_Prop; enum { - USER_MENU_TYPE_SEP = 1, - USER_MENU_TYPE_OPERATOR = 2, - USER_MENU_TYPE_MENU = 3, - USER_MENU_TYPE_PROP = 4, + USER_MENU_TYPE_SEP = 1, + USER_MENU_TYPE_OPERATOR = 2, + USER_MENU_TYPE_MENU = 3, + USER_MENU_TYPE_PROP = 4, }; typedef struct SolidLight { - int flag; - float smooth; - char _pad0[8]; - float col[4], spec[4], vec[4]; + int flag; + float smooth; + char _pad0[8]; + float col[4], spec[4], vec[4]; } SolidLight; typedef struct WalkNavigation { - /** Speed factor for look around. */ - float mouse_speed; - float walk_speed; - float walk_speed_factor; - float view_height; - float jump_height; - /** Duration to use for teleporting. */ - float teleport_time; - short flag; - char _pad0[6]; + /** Speed factor for look around. */ + float mouse_speed; + float walk_speed; + float walk_speed_factor; + float view_height; + float jump_height; + /** Duration to use for teleporting. */ + float teleport_time; + short flag; + char _pad0[6]; } WalkNavigation; typedef struct UserDef { - /* UserDef has separate do-version handling, and can be read from other files */ - int versionfile, subversionfile; - - /** #eUserPref_Flag. */ - int flag; - /** #eDupli_ID_Flags. */ - int dupflag; - int savetime; - /** FILE_MAXDIR length. */ - char tempdir[768]; - char fontdir[768]; - /** FILE_MAX length. */ - char renderdir[1024]; - /* EXR cache path */ - /** 768 = FILE_MAXDIR. */ - char render_cachedir[768]; - char textudir[768]; - char pythondir[768]; - char sounddir[768]; - char i18ndir[768]; - /** 1024 = FILE_MAX. */ - char image_editor[1024]; - /** 1024 = FILE_MAX. */ - char anim_player[1024]; - int anim_player_preset; - - /** Minimum spacing between gridlines in View2D grids. */ - short v2d_min_gridsize; - /** #eTimecodeStyles, style of timecode display. */ - short timecode_style; - - short versions; - short dbl_click_time; - - char _pad0[2]; - short wheellinescroll; - /** #eUserpref_UI_Flag. */ - int uiflag; - /** #eUserpref_UI_Flag2. */ - char uiflag2; - char gpu_flag; - char _pad8[2]; - /* Experimental flag for app-templates to make changes to behavior - * which are outside the scope of typical preferences. */ - short app_flag; - short language; - short userpref; - char userpref_flag; - char viewzoom; - - int mixbufsize; - int audiodevice; - int audiorate; - int audioformat; - int audiochannels; - - /** Setting for UI scale. */ - float ui_scale; - /** Setting for UI line width. */ - int ui_line_width; - /** Runtime, full DPI divided by pixelsize. */ - int dpi; - /** Runtime, multiplier to scale UI elements based on DPI. */ - float dpi_fac; - /** Runtime, line width and point size based on DPI. */ - float pixelsize; - /** Deprecated, for forward compatibility. */ - int virtual_pixel; - - /** Console scrollback limit. */ - int scrollback; - /** Node insert offset (aka auto-offset) margin, but might be useful for later stuff as well. */ - char node_margin; - char _pad2[5]; - /** #eUserpref_Translation_Flags. */ - short transopts; - short menuthreshold1, menuthreshold2; - - /* startup template */ - char app_template[64]; - - struct ListBase themes; - struct ListBase uifonts; - struct ListBase uistyles; - struct ListBase user_keymaps; - /** #wmKeyConfigPref. */ - struct ListBase user_keyconfig_prefs; - struct ListBase addons; - struct ListBase autoexec_paths; - /** #bUserMenu. */ - struct ListBase user_menus; - - char keyconfigstr[64]; - - short undosteps; - char _pad1[2]; - int undomemory; - float gpu_viewport_quality; - short gp_manhattendist, gp_euclideandist, gp_eraser; - /** #eGP_UserdefSettings. */ - short gp_settings; - char _pad13[4]; - struct SolidLight light_param[4]; - float light_ambient[3]; - char _pad3[4]; - short gizmo_flag, gizmo_size; - short edit_studio_light; - char _pad6[4]; - short textimeout, texcollectrate; - char _pad14[2]; - int memcachelimit; - int prefetchframes; - /** Control the rotation step of the view when PAD2, PAD4, PAD6&PAD8 is use. */ - float pad_rot_angle; - char _pad12[2]; - short obcenter_dia; - /** Rotating view icon size. */ - short rvisize; - /** Rotating view icon brightness. */ - short rvibright; - /** Maximum number of recently used files to remember . */ - short recent_files; - /** Milliseconds to spend spinning the view. */ - short smooth_viewtx; - short glreslimit; - short curssize; - /** #eColorPicker_Types. */ - short color_picker_type; - /** Interpolation mode for newly added F-Curves. */ - char ipo_new; - /** Handle types for newly added keyframes. */ - char keyhandles_new; - char _pad11[3]; - /** #eZoomFrame_Mode. */ - char view_frame_type; - - /** Number of keyframes to zoom around current frame. */ - int view_frame_keyframes; - /** Seconds to zoom around current frame. */ - float view_frame_seconds; - - char _pad7[6]; - - /** Private, defaults to 20 for 72 DPI setting. */ - short widget_unit; - short anisotropic_filter; - - /** Tablet API to use (Windows only). */ - short tablet_api; - - /** Raw tablet pressure that maps to 100%. */ - float pressure_threshold_max; - /** Curve non-linearity parameter. */ - float pressure_softness; - - /** Overall sensitivity of 3D mouse. */ - float ndof_sensitivity; - float ndof_orbit_sensitivity; - /** Deadzone of 3D mouse. */ - float ndof_deadzone; - /** #eNdof_Flag, flags for 3D mouse. */ - int ndof_flag; - - /** #eMultiSample_Type, amount of samples for OpenGL FSA, if zero no FSA. */ - short ogl_multisamples; - - /** eImageDrawMethod, Method to be used to draw the images - * (AUTO, GLSL, Textures or DrawPixels) */ - short image_draw_method; - - float glalphaclip; - - /** #eAutokey_Mode, autokeying mode. */ - short autokey_mode; - /** Flags for autokeying. */ - short autokey_flag; - - /** Options for text rendering. */ - short text_render; - char _pad9[2]; - - /** From texture.h. */ - struct ColorBand coba_weight; - - float sculpt_paint_overlay_col[3]; - /** Default color for newly created Grease Pencil layers. */ - float gpencil_new_layer_col[4]; - - short tweak_threshold; - char move_threshold; - char navigation_mode; - - char font_path_ui[1024]; - char font_path_ui_mono[1024]; - - int compute_device_type; - int compute_device_id; - - /** Opacity of inactive F-Curves in F-Curve Editor. */ - float fcu_inactive_alpha; - - /** - * If keeping a pie menu spawn button pressed after this time, - * it turns into a drag/release pie menu. - */ - short pie_tap_timeout; - /** - * Direction in the pie menu will always be calculated from the - * initial position within this time limit. - */ - short pie_initial_timeout; - short pie_animation_timeout; - short pie_menu_confirm; - /** Pie menu radius. */ - short pie_menu_radius; - /** Pie menu distance from center before a direction is set. */ - short pie_menu_threshold; - - struct WalkNavigation walk_navigation; - - short opensubdiv_compute_type; - /** #eMultiSample_Type, amount of samples for Grease Pencil. */ - short gpencil_multisamples; - - char factor_display_type; - - char _pad5[3]; + /* UserDef has separate do-version handling, and can be read from other files */ + int versionfile, subversionfile; + + /** #eUserPref_Flag. */ + int flag; + /** #eDupli_ID_Flags. */ + int dupflag; + int savetime; + /** FILE_MAXDIR length. */ + char tempdir[768]; + char fontdir[768]; + /** FILE_MAX length. */ + char renderdir[1024]; + /* EXR cache path */ + /** 768 = FILE_MAXDIR. */ + char render_cachedir[768]; + char textudir[768]; + char pythondir[768]; + char sounddir[768]; + char i18ndir[768]; + /** 1024 = FILE_MAX. */ + char image_editor[1024]; + /** 1024 = FILE_MAX. */ + char anim_player[1024]; + int anim_player_preset; + + /** Minimum spacing between gridlines in View2D grids. */ + short v2d_min_gridsize; + /** #eTimecodeStyles, style of timecode display. */ + short timecode_style; + + short versions; + short dbl_click_time; + + char _pad0[2]; + short wheellinescroll; + /** #eUserpref_UI_Flag. */ + int uiflag; + /** #eUserpref_UI_Flag2. */ + char uiflag2; + char gpu_flag; + char _pad8[2]; + /* Experimental flag for app-templates to make changes to behavior + * which are outside the scope of typical preferences. */ + short app_flag; + short language; + short userpref; + char userpref_flag; + char viewzoom; + + int mixbufsize; + int audiodevice; + int audiorate; + int audioformat; + int audiochannels; + + /** Setting for UI scale. */ + float ui_scale; + /** Setting for UI line width. */ + int ui_line_width; + /** Runtime, full DPI divided by pixelsize. */ + int dpi; + /** Runtime, multiplier to scale UI elements based on DPI. */ + float dpi_fac; + /** Runtime, line width and point size based on DPI. */ + float pixelsize; + /** Deprecated, for forward compatibility. */ + int virtual_pixel; + + /** Console scrollback limit. */ + int scrollback; + /** Node insert offset (aka auto-offset) margin, but might be useful for later stuff as well. */ + char node_margin; + char _pad2[5]; + /** #eUserpref_Translation_Flags. */ + short transopts; + short menuthreshold1, menuthreshold2; + + /* startup template */ + char app_template[64]; + + struct ListBase themes; + struct ListBase uifonts; + struct ListBase uistyles; + struct ListBase user_keymaps; + /** #wmKeyConfigPref. */ + struct ListBase user_keyconfig_prefs; + struct ListBase addons; + struct ListBase autoexec_paths; + /** #bUserMenu. */ + struct ListBase user_menus; + + char keyconfigstr[64]; + + short undosteps; + char _pad1[2]; + int undomemory; + float gpu_viewport_quality; + short gp_manhattendist, gp_euclideandist, gp_eraser; + /** #eGP_UserdefSettings. */ + short gp_settings; + char _pad13[4]; + struct SolidLight light_param[4]; + float light_ambient[3]; + char _pad3[4]; + short gizmo_flag, gizmo_size; + short edit_studio_light; + char _pad6[4]; + short textimeout, texcollectrate; + char _pad14[2]; + int memcachelimit; + int prefetchframes; + /** Control the rotation step of the view when PAD2, PAD4, PAD6&PAD8 is use. */ + float pad_rot_angle; + char _pad12[2]; + short obcenter_dia; + /** Rotating view icon size. */ + short rvisize; + /** Rotating view icon brightness. */ + short rvibright; + /** Maximum number of recently used files to remember . */ + short recent_files; + /** Milliseconds to spend spinning the view. */ + short smooth_viewtx; + short glreslimit; + short curssize; + /** #eColorPicker_Types. */ + short color_picker_type; + /** Interpolation mode for newly added F-Curves. */ + char ipo_new; + /** Handle types for newly added keyframes. */ + char keyhandles_new; + char _pad11[3]; + /** #eZoomFrame_Mode. */ + char view_frame_type; + + /** Number of keyframes to zoom around current frame. */ + int view_frame_keyframes; + /** Seconds to zoom around current frame. */ + float view_frame_seconds; + + char _pad7[6]; + + /** Private, defaults to 20 for 72 DPI setting. */ + short widget_unit; + short anisotropic_filter; + + /** Tablet API to use (Windows only). */ + short tablet_api; + + /** Raw tablet pressure that maps to 100%. */ + float pressure_threshold_max; + /** Curve non-linearity parameter. */ + float pressure_softness; + + /** Overall sensitivity of 3D mouse. */ + float ndof_sensitivity; + float ndof_orbit_sensitivity; + /** Deadzone of 3D mouse. */ + float ndof_deadzone; + /** #eNdof_Flag, flags for 3D mouse. */ + int ndof_flag; + + /** #eMultiSample_Type, amount of samples for OpenGL FSA, if zero no FSA. */ + short ogl_multisamples; + + /** eImageDrawMethod, Method to be used to draw the images + * (AUTO, GLSL, Textures or DrawPixels) */ + short image_draw_method; + + float glalphaclip; + + /** #eAutokey_Mode, autokeying mode. */ + short autokey_mode; + /** Flags for autokeying. */ + short autokey_flag; + + /** Options for text rendering. */ + short text_render; + char _pad9[2]; + + /** From texture.h. */ + struct ColorBand coba_weight; + + float sculpt_paint_overlay_col[3]; + /** Default color for newly created Grease Pencil layers. */ + float gpencil_new_layer_col[4]; + + short tweak_threshold; + char move_threshold; + char navigation_mode; + + char font_path_ui[1024]; + char font_path_ui_mono[1024]; + + int compute_device_type; + int compute_device_id; + + /** Opacity of inactive F-Curves in F-Curve Editor. */ + float fcu_inactive_alpha; + + /** + * If keeping a pie menu spawn button pressed after this time, + * it turns into a drag/release pie menu. + */ + short pie_tap_timeout; + /** + * Direction in the pie menu will always be calculated from the + * initial position within this time limit. + */ + short pie_initial_timeout; + short pie_animation_timeout; + short pie_menu_confirm; + /** Pie menu radius. */ + short pie_menu_radius; + /** Pie menu distance from center before a direction is set. */ + short pie_menu_threshold; + + struct WalkNavigation walk_navigation; + + short opensubdiv_compute_type; + /** #eMultiSample_Type, amount of samples for Grease Pencil. */ + short gpencil_multisamples; + + char factor_display_type; + + char _pad5[3]; } UserDef; /* from blenkernel blender.c */ @@ -773,175 +775,177 @@ extern UserDef U; /** #UserDef.userpref (UI active_section) */ typedef enum eUserPref_Section { - USER_SECTION_INTERFACE = 0, - USER_SECTION_EDITING = 1, - USER_SECTION_SAVE_LOAD = 2, - USER_SECTION_SYSTEM = 3, - USER_SECTION_THEME = 4, - USER_SECTION_INPUT = 5, - USER_SECTION_ADDONS = 6, - USER_SECTION_LIGHT = 7, - USER_SECTION_KEYMAP = 8, + USER_SECTION_INTERFACE = 0, + USER_SECTION_EDITING = 1, + USER_SECTION_SAVE_LOAD = 2, + USER_SECTION_SYSTEM = 3, + USER_SECTION_THEME = 4, + USER_SECTION_INPUT = 5, + USER_SECTION_ADDONS = 6, + USER_SECTION_LIGHT = 7, + USER_SECTION_KEYMAP = 8, #ifdef WITH_USERDEF_WORKSPACES - USER_SECTION_WORKSPACE_CONFIG = 9, - USER_SECTION_WORKSPACE_ADDONS = 10, - USER_SECTION_WORKSPACE_KEYMAPS = 11, + USER_SECTION_WORKSPACE_CONFIG = 9, + USER_SECTION_WORKSPACE_ADDONS = 10, + USER_SECTION_WORKSPACE_KEYMAPS = 11, #endif - USER_SECTION_VIEWPORT = 12, - USER_SECTION_ANIMATION = 13, - USER_SECTION_NAVIGATION = 14, - USER_SECTION_FILE_PATHS = 15, + USER_SECTION_VIEWPORT = 12, + USER_SECTION_ANIMATION = 13, + USER_SECTION_NAVIGATION = 14, + USER_SECTION_FILE_PATHS = 15, } eUserPref_Section; /* UserDef.userpref_flag (State of the user preferences UI). */ typedef enum eUserPref_SectionFlag { - /* Hide/expand keymap preferences. */ - USER_SECTION_INPUT_HIDE_UI_KEYCONFIG = (1 << 0), + /* Hide/expand keymap preferences. */ + USER_SECTION_INPUT_HIDE_UI_KEYCONFIG = (1 << 0), } eUserPref_SectionFlag; /** #UserDef.flag */ typedef enum eUserPref_Flag { - USER_AUTOSAVE = (1 << 0), - USER_FLAG_NUMINPUT_ADVANCED = (1 << 1), - USER_FLAG_UNUSED_2 = (1 << 2), /* cleared */ - USER_FLAG_UNUSED_3 = (1 << 3), /* cleared */ - USER_FLAG_UNUSED_4 = (1 << 4), /* cleared */ - USER_TRACKBALL = (1 << 5), - USER_FLAG_UNUSED_6 = (1 << 6), /* cleared */ - USER_FLAG_UNUSED_7 = (1 << 7), /* cleared */ - USER_MAT_ON_OB = (1 << 8), - USER_FLAG_UNUSED_9 = (1 << 9), /* cleared */ - USER_DEVELOPER_UI = (1 << 10), - USER_TOOLTIPS = (1 << 11), - USER_TWOBUTTONMOUSE = (1 << 12), - USER_NONUMPAD = (1 << 13), - USER_FLAG_UNUSED_14 = (1 << 14), /* cleared */ - USER_FILECOMPRESS = (1 << 15), - USER_SAVE_PREVIEWS = (1 << 16), - USER_CUSTOM_RANGE = (1 << 17), - USER_ADD_EDITMODE = (1 << 18), - USER_ADD_VIEWALIGNED = (1 << 19), - USER_RELPATHS = (1 << 20), - USER_RELEASECONFIRM = (1 << 21), - USER_SCRIPT_AUTOEXEC_DISABLE = (1 << 22), - USER_FILENOUI = (1 << 23), - USER_NONEGFRAMES = (1 << 24), - USER_TXT_TABSTOSPACES_DISABLE = (1 << 25), - USER_TOOLTIPS_PYTHON = (1 << 26), + USER_AUTOSAVE = (1 << 0), + USER_FLAG_NUMINPUT_ADVANCED = (1 << 1), + USER_FLAG_UNUSED_2 = (1 << 2), /* cleared */ + USER_FLAG_UNUSED_3 = (1 << 3), /* cleared */ + USER_FLAG_UNUSED_4 = (1 << 4), /* cleared */ + USER_TRACKBALL = (1 << 5), + USER_FLAG_UNUSED_6 = (1 << 6), /* cleared */ + USER_FLAG_UNUSED_7 = (1 << 7), /* cleared */ + USER_MAT_ON_OB = (1 << 8), + USER_FLAG_UNUSED_9 = (1 << 9), /* cleared */ + USER_DEVELOPER_UI = (1 << 10), + USER_TOOLTIPS = (1 << 11), + USER_TWOBUTTONMOUSE = (1 << 12), + USER_NONUMPAD = (1 << 13), + USER_FLAG_UNUSED_14 = (1 << 14), /* cleared */ + USER_FILECOMPRESS = (1 << 15), + USER_SAVE_PREVIEWS = (1 << 16), + USER_CUSTOM_RANGE = (1 << 17), + USER_ADD_EDITMODE = (1 << 18), + USER_ADD_VIEWALIGNED = (1 << 19), + USER_RELPATHS = (1 << 20), + USER_RELEASECONFIRM = (1 << 21), + USER_SCRIPT_AUTOEXEC_DISABLE = (1 << 22), + USER_FILENOUI = (1 << 23), + USER_NONEGFRAMES = (1 << 24), + USER_TXT_TABSTOSPACES_DISABLE = (1 << 25), + USER_TOOLTIPS_PYTHON = (1 << 26), } eUserPref_Flag; /** #bPathCompare.flag */ typedef enum ePathCompare_Flag { - USER_PATHCMP_GLOB = (1 << 0), + USER_PATHCMP_GLOB = (1 << 0), } ePathCompare_Flag; /* Helper macro for checking frame clamping */ -#define FRAMENUMBER_MIN_CLAMP(cfra) { \ - if ((U.flag & USER_NONEGFRAMES) && (cfra < 0)) \ - cfra = 0; \ - } (void)0 +#define FRAMENUMBER_MIN_CLAMP(cfra) \ + { \ + if ((U.flag & USER_NONEGFRAMES) && (cfra < 0)) \ + cfra = 0; \ + } \ + (void)0 /** #UserDef.viewzoom */ typedef enum eViewZoom_Style { - USER_ZOOM_CONT = 0, - USER_ZOOM_SCALE = 1, - USER_ZOOM_DOLLY = 2, + USER_ZOOM_CONT = 0, + USER_ZOOM_SCALE = 1, + USER_ZOOM_DOLLY = 2, } eViewZoom_Style; /** #UserDef.navigation_mode */ typedef enum eViewNavigation_Method { - VIEW_NAVIGATION_WALK = 0, - VIEW_NAVIGATION_FLY = 1, + VIEW_NAVIGATION_WALK = 0, + VIEW_NAVIGATION_FLY = 1, } eViewNavigation_Method; /** #UserDef.flag */ typedef enum eWalkNavigation_Flag { - USER_WALK_GRAVITY = (1 << 0), - USER_WALK_MOUSE_REVERSE = (1 << 1), + USER_WALK_GRAVITY = (1 << 0), + USER_WALK_MOUSE_REVERSE = (1 << 1), } eWalkNavigation_Flag; /** #UserDef.uiflag */ typedef enum eUserpref_UI_Flag { - USER_UIFLAG_UNUSED_0 = (1 << 0), /* cleared */ - USER_UIFLAG_UNUSED_1 = (1 << 1), /* cleared */ - USER_WHEELZOOMDIR = (1 << 2), - USER_FILTERFILEEXTS = (1 << 3), - USER_DRAWVIEWINFO = (1 << 4), - USER_PLAINMENUS = (1 << 5), - USER_LOCK_CURSOR_ADJUST = (1 << 6), - USER_HEADER_BOTTOM = (1 << 7), - /** Otherwise use header alignment from the file. */ - USER_HEADER_FROM_PREF = (1 << 8), - USER_MENUOPENAUTO = (1 << 9), - USER_DEPTH_CURSOR = (1 << 10), - USER_AUTOPERSP = (1 << 11), - USER_UIFLAG_UNUSED_12 = (1 << 12), /* cleared */ - USER_GLOBALUNDO = (1 << 13), - USER_ORBIT_SELECTION = (1 << 14), - USER_DEPTH_NAVIGATE = (1 << 15), - USER_HIDE_DOT = (1 << 16), - USER_SHOW_GIZMO_AXIS = (1 << 17), - USER_SHOW_VIEWPORTNAME = (1 << 18), - USER_CAM_LOCK_NO_PARENT = (1 << 19), - USER_ZOOM_TO_MOUSEPOS = (1 << 20), - USER_SHOW_FPS = (1 << 21), - USER_UIFLAG_UNUSED_22 = (1 << 22), /* cleared */ - USER_MENUFIXEDORDER = (1 << 23), - USER_CONTINUOUS_MOUSE = (1 << 24), - USER_ZOOM_INVERT = (1 << 25), - USER_ZOOM_HORIZ = (1 << 26), /* for CONTINUE and DOLLY zoom */ - USER_SPLASH_DISABLE = (1 << 27), - USER_HIDE_RECENT = (1 << 28), - USER_SHOW_THUMBNAILS = (1 << 29), - USER_SAVE_PROMPT = (1 << 30), - USER_HIDE_SYSTEM_BOOKMARKS = (1u << 31), + USER_UIFLAG_UNUSED_0 = (1 << 0), /* cleared */ + USER_UIFLAG_UNUSED_1 = (1 << 1), /* cleared */ + USER_WHEELZOOMDIR = (1 << 2), + USER_FILTERFILEEXTS = (1 << 3), + USER_DRAWVIEWINFO = (1 << 4), + USER_PLAINMENUS = (1 << 5), + USER_LOCK_CURSOR_ADJUST = (1 << 6), + USER_HEADER_BOTTOM = (1 << 7), + /** Otherwise use header alignment from the file. */ + USER_HEADER_FROM_PREF = (1 << 8), + USER_MENUOPENAUTO = (1 << 9), + USER_DEPTH_CURSOR = (1 << 10), + USER_AUTOPERSP = (1 << 11), + USER_UIFLAG_UNUSED_12 = (1 << 12), /* cleared */ + USER_GLOBALUNDO = (1 << 13), + USER_ORBIT_SELECTION = (1 << 14), + USER_DEPTH_NAVIGATE = (1 << 15), + USER_HIDE_DOT = (1 << 16), + USER_SHOW_GIZMO_AXIS = (1 << 17), + USER_SHOW_VIEWPORTNAME = (1 << 18), + USER_CAM_LOCK_NO_PARENT = (1 << 19), + USER_ZOOM_TO_MOUSEPOS = (1 << 20), + USER_SHOW_FPS = (1 << 21), + USER_UIFLAG_UNUSED_22 = (1 << 22), /* cleared */ + USER_MENUFIXEDORDER = (1 << 23), + USER_CONTINUOUS_MOUSE = (1 << 24), + USER_ZOOM_INVERT = (1 << 25), + USER_ZOOM_HORIZ = (1 << 26), /* for CONTINUE and DOLLY zoom */ + USER_SPLASH_DISABLE = (1 << 27), + USER_HIDE_RECENT = (1 << 28), + USER_SHOW_THUMBNAILS = (1 << 29), + USER_SAVE_PROMPT = (1 << 30), + USER_HIDE_SYSTEM_BOOKMARKS = (1u << 31), } eUserpref_UI_Flag; /** #UserDef.uiflag2 * * \note don't add new flags here, use 'uiflag' which has flags free. */ typedef enum eUserpref_UI_Flag2 { - USER_UIFLAG2_UNUSED_0 = (1 << 0), /* cleared */ - USER_REGION_OVERLAP = (1 << 1), - USER_TRACKPAD_NATURAL = (1 << 2), - USER_UIFLAG2_UNUSED_3 = (1 << 3), /* dirty */ + USER_UIFLAG2_UNUSED_0 = (1 << 0), /* cleared */ + USER_REGION_OVERLAP = (1 << 1), + USER_TRACKPAD_NATURAL = (1 << 2), + USER_UIFLAG2_UNUSED_3 = (1 << 3), /* dirty */ } eUserpref_UI_Flag2; typedef enum eUserpref_GPU_Flag { - USER_GPU_FLAG_NO_DEPT_PICK = (1 << 0), - USER_GPU_FLAG_NO_EDIT_MODE_SMOOTH_WIRE = (1 << 1), + USER_GPU_FLAG_NO_DEPT_PICK = (1 << 0), + USER_GPU_FLAG_NO_EDIT_MODE_SMOOTH_WIRE = (1 << 1), } eUserpref_GPU_Flag; /** #UserDef.tablet_api */ typedef enum eUserpref_TableAPI { - USER_TABLET_AUTOMATIC = 0, - USER_TABLET_NATIVE = 1, - USER_TABLET_WINTAB = 2, + USER_TABLET_AUTOMATIC = 0, + USER_TABLET_NATIVE = 1, + USER_TABLET_WINTAB = 2, } eUserpref_TabletAPI; /** #UserDef.app_flag */ typedef enum eUserpref_APP_Flag { - USER_APP_LOCK_UI_LAYOUT = (1 << 0), + USER_APP_LOCK_UI_LAYOUT = (1 << 0), } eUserpref_APP_Flag; /** Auto-Keying mode. * #UserDef.autokey_mode */ typedef enum eAutokey_Mode { - /* AUTOKEY_ON is a bitflag */ - AUTOKEY_ON = 1, + /* AUTOKEY_ON is a bitflag */ + AUTOKEY_ON = 1, - /** AUTOKEY_ON + 2**n... (i.e. AUTOKEY_MODE_NORMAL = AUTOKEY_ON + 2) - * to preserve setting, even when autokey turned off */ - AUTOKEY_MODE_NORMAL = 3, - AUTOKEY_MODE_EDITKEYS = 5, + /** AUTOKEY_ON + 2**n... (i.e. AUTOKEY_MODE_NORMAL = AUTOKEY_ON + 2) + * to preserve setting, even when autokey turned off */ + AUTOKEY_MODE_NORMAL = 3, + AUTOKEY_MODE_EDITKEYS = 5, } eAutokey_Mode; /** Zoom to frame mode. * #UserDef.view_frame_type */ typedef enum eZoomFrame_Mode { - ZOOM_FRAME_MODE_KEEP_RANGE = 0, - ZOOM_FRAME_MODE_SECONDS = 1, - ZOOM_FRAME_MODE_KEYFRAMES = 2, + ZOOM_FRAME_MODE_KEEP_RANGE = 0, + ZOOM_FRAME_MODE_SECONDS = 1, + ZOOM_FRAME_MODE_KEYFRAMES = 2, } eZoomFrame_Mode; /** Auto-Keying flag @@ -949,182 +953,182 @@ typedef enum eZoomFrame_Mode { * \note #eAutokey_Flag is used with a macro, search for lines like IS_AUTOKEY_FLAG(INSERTAVAIL). */ typedef enum eAutokey_Flag { - AUTOKEY_FLAG_INSERTAVAIL = (1 << 0), - AUTOKEY_FLAG_INSERTNEEDED = (1 << 1), - AUTOKEY_FLAG_AUTOMATKEY = (1 << 2), - AUTOKEY_FLAG_XYZ2RGB = (1 << 3), - - /* toolsettings->autokey_flag */ - AUTOKEY_FLAG_ONLYKEYINGSET = (1 << 6), - AUTOKEY_FLAG_NOWARNING = (1 << 7), - AUTOKEY_FLAG_CYCLEAWARE = (1 << 8), - ANIMRECORD_FLAG_WITHNLA = (1 << 10), + AUTOKEY_FLAG_INSERTAVAIL = (1 << 0), + AUTOKEY_FLAG_INSERTNEEDED = (1 << 1), + AUTOKEY_FLAG_AUTOMATKEY = (1 << 2), + AUTOKEY_FLAG_XYZ2RGB = (1 << 3), + + /* toolsettings->autokey_flag */ + AUTOKEY_FLAG_ONLYKEYINGSET = (1 << 6), + AUTOKEY_FLAG_NOWARNING = (1 << 7), + AUTOKEY_FLAG_CYCLEAWARE = (1 << 8), + ANIMRECORD_FLAG_WITHNLA = (1 << 10), } eAutokey_Flag; /** #UserDef.transopts */ typedef enum eUserpref_Translation_Flags { - USER_TR_TOOLTIPS = (1 << 0), - USER_TR_IFACE = (1 << 1), - USER_TR_UNUSED_2 = (1 << 2), /* cleared */ - USER_TR_UNUSED_3 = (1 << 3), /* cleared */ - USER_TR_UNUSED_4 = (1 << 4), /* cleared */ - USER_DOTRANSLATE = (1 << 5), - USER_TR_UNUSED_6 = (1 << 6), /* cleared */ - USER_TR_UNUSED_7 = (1 << 7), /* cleared */ - USER_TR_NEWDATANAME = (1 << 8), + USER_TR_TOOLTIPS = (1 << 0), + USER_TR_IFACE = (1 << 1), + USER_TR_UNUSED_2 = (1 << 2), /* cleared */ + USER_TR_UNUSED_3 = (1 << 3), /* cleared */ + USER_TR_UNUSED_4 = (1 << 4), /* cleared */ + USER_DOTRANSLATE = (1 << 5), + USER_TR_UNUSED_6 = (1 << 6), /* cleared */ + USER_TR_UNUSED_7 = (1 << 7), /* cleared */ + USER_TR_NEWDATANAME = (1 << 8), } eUserpref_Translation_Flags; /** #UserDef.dupflag */ typedef enum eDupli_ID_Flags { - USER_DUP_MESH = (1 << 0), - USER_DUP_CURVE = (1 << 1), - USER_DUP_SURF = (1 << 2), - USER_DUP_FONT = (1 << 3), - USER_DUP_MBALL = (1 << 4), - USER_DUP_LAMP = (1 << 5), - USER_DUP_IPO = (1 << 6), - USER_DUP_MAT = (1 << 7), - USER_DUP_TEX = (1 << 8), - USER_DUP_ARM = (1 << 9), - USER_DUP_ACT = (1 << 10), - USER_DUP_PSYS = (1 << 11), + USER_DUP_MESH = (1 << 0), + USER_DUP_CURVE = (1 << 1), + USER_DUP_SURF = (1 << 2), + USER_DUP_FONT = (1 << 3), + USER_DUP_MBALL = (1 << 4), + USER_DUP_LAMP = (1 << 5), + USER_DUP_IPO = (1 << 6), + USER_DUP_MAT = (1 << 7), + USER_DUP_TEX = (1 << 8), + USER_DUP_ARM = (1 << 9), + USER_DUP_ACT = (1 << 10), + USER_DUP_PSYS = (1 << 11), } eDupli_ID_Flags; /** Max anti alias draw method * #UserDef.gpu_viewport_antialias */ typedef enum eOpenGL_AntiAliasMethod { - USER_AA_NONE = 0, - USER_AA_FXAA = 1, - USER_AA_TAA8 = 2, + USER_AA_NONE = 0, + USER_AA_FXAA = 1, + USER_AA_TAA8 = 2, } eOpenGL_AntiAliasMethod; /** Text draw options * #UserDef.text_render */ typedef enum eText_Draw_Options { - USER_TEXT_DISABLE_AA = (1 << 0), + USER_TEXT_DISABLE_AA = (1 << 0), - USER_TEXT_HINTING_NONE = (1 << 1), - USER_TEXT_HINTING_SLIGHT = (1 << 2), - USER_TEXT_HINTING_FULL = (1 << 3), + USER_TEXT_HINTING_NONE = (1 << 1), + USER_TEXT_HINTING_SLIGHT = (1 << 2), + USER_TEXT_HINTING_FULL = (1 << 3), } eText_Draw_Options; /** Grease Pencil Settings. * #UserDef.gp_settings */ typedef enum eGP_UserdefSettings { - GP_PAINT_UNUSED_0 = (1 << 0), - GP_PAINT_DOSIMPLIFY = (1 << 1), + GP_PAINT_UNUSED_0 = (1 << 0), + GP_PAINT_DOSIMPLIFY = (1 << 1), } eGP_UserdefSettings; enum { - USER_GIZMO_DRAW = (1 << 0), + USER_GIZMO_DRAW = (1 << 0), }; /** Color Picker Types. * #UserDef.color_picker_type */ typedef enum eColorPicker_Types { - USER_CP_CIRCLE_HSV = 0, - USER_CP_SQUARE_SV = 1, - USER_CP_SQUARE_HS = 2, - USER_CP_SQUARE_HV = 3, - USER_CP_CIRCLE_HSL = 4, + USER_CP_CIRCLE_HSV = 0, + USER_CP_SQUARE_SV = 1, + USER_CP_SQUARE_HS = 2, + USER_CP_SQUARE_HV = 3, + USER_CP_CIRCLE_HSL = 4, } eColorPicker_Types; /** Timecode display styles * #UserDef.timecode_style */ typedef enum eTimecodeStyles { - /* as little info as is necessary to show relevant info - * with '+' to denote the frames - * i.e. HH:MM:SS+FF, MM:SS+FF, SS+FF, or MM:SS - */ - USER_TIMECODE_MINIMAL = 0, + /* as little info as is necessary to show relevant info + * with '+' to denote the frames + * i.e. HH:MM:SS+FF, MM:SS+FF, SS+FF, or MM:SS + */ + USER_TIMECODE_MINIMAL = 0, - /* reduced SMPTE - (HH:)MM:SS:FF */ - USER_TIMECODE_SMPTE_MSF = 1, + /* reduced SMPTE - (HH:)MM:SS:FF */ + USER_TIMECODE_SMPTE_MSF = 1, - /* full SMPTE - HH:MM:SS:FF */ - USER_TIMECODE_SMPTE_FULL = 2, + /* full SMPTE - HH:MM:SS:FF */ + USER_TIMECODE_SMPTE_FULL = 2, - /* milliseconds for sub-frames - HH:MM:SS.sss */ - USER_TIMECODE_MILLISECONDS = 3, + /* milliseconds for sub-frames - HH:MM:SS.sss */ + USER_TIMECODE_MILLISECONDS = 3, - /* seconds only */ - USER_TIMECODE_SECONDS_ONLY = 4, + /* seconds only */ + USER_TIMECODE_SECONDS_ONLY = 4, - /* Private (not exposed as generic choices) options. */ - /* milliseconds for sub-frames , SubRip format- HH:MM:SS,sss */ - USER_TIMECODE_SUBRIP = 100, + /* Private (not exposed as generic choices) options. */ + /* milliseconds for sub-frames , SubRip format- HH:MM:SS,sss */ + USER_TIMECODE_SUBRIP = 100, } eTimecodeStyles; /** #UserDef.ndof_flag (3D mouse options) */ typedef enum eNdof_Flag { - NDOF_SHOW_GUIDE = (1 << 0), - NDOF_FLY_HELICOPTER = (1 << 1), - NDOF_LOCK_HORIZON = (1 << 2), - - /* the following might not need to be saved between sessions, - * but they do need to live somewhere accessible... */ - NDOF_SHOULD_PAN = (1 << 3), - NDOF_SHOULD_ZOOM = (1 << 4), - NDOF_SHOULD_ROTATE = (1 << 5), - - /* orbit navigation modes */ - - /* exposed as Orbit|Explore in the UI */ - NDOF_MODE_ORBIT = (1 << 6), - - /* actually... users probably don't care about what the mode - * is called, just that it feels right */ - /* zoom is up/down if this flag is set (otherwise forward/backward) */ - NDOF_PAN_YZ_SWAP_AXIS = (1 << 7), - NDOF_ZOOM_INVERT = (1 << 8), - NDOF_ROTX_INVERT_AXIS = (1 << 9), - NDOF_ROTY_INVERT_AXIS = (1 << 10), - NDOF_ROTZ_INVERT_AXIS = (1 << 11), - NDOF_PANX_INVERT_AXIS = (1 << 12), - NDOF_PANY_INVERT_AXIS = (1 << 13), - NDOF_PANZ_INVERT_AXIS = (1 << 14), - NDOF_TURNTABLE = (1 << 15), + NDOF_SHOW_GUIDE = (1 << 0), + NDOF_FLY_HELICOPTER = (1 << 1), + NDOF_LOCK_HORIZON = (1 << 2), + + /* the following might not need to be saved between sessions, + * but they do need to live somewhere accessible... */ + NDOF_SHOULD_PAN = (1 << 3), + NDOF_SHOULD_ZOOM = (1 << 4), + NDOF_SHOULD_ROTATE = (1 << 5), + + /* orbit navigation modes */ + + /* exposed as Orbit|Explore in the UI */ + NDOF_MODE_ORBIT = (1 << 6), + + /* actually... users probably don't care about what the mode + * is called, just that it feels right */ + /* zoom is up/down if this flag is set (otherwise forward/backward) */ + NDOF_PAN_YZ_SWAP_AXIS = (1 << 7), + NDOF_ZOOM_INVERT = (1 << 8), + NDOF_ROTX_INVERT_AXIS = (1 << 9), + NDOF_ROTY_INVERT_AXIS = (1 << 10), + NDOF_ROTZ_INVERT_AXIS = (1 << 11), + NDOF_PANX_INVERT_AXIS = (1 << 12), + NDOF_PANY_INVERT_AXIS = (1 << 13), + NDOF_PANZ_INVERT_AXIS = (1 << 14), + NDOF_TURNTABLE = (1 << 15), } eNdof_Flag; #define NDOF_PIXELS_PER_SECOND 600.0f /** UserDef.ogl_multisamples and gpencil_multisamples */ typedef enum eMultiSample_Type { - USER_MULTISAMPLE_NONE = 0, - USER_MULTISAMPLE_2 = 2, - USER_MULTISAMPLE_4 = 4, - USER_MULTISAMPLE_8 = 8, - USER_MULTISAMPLE_16 = 16, + USER_MULTISAMPLE_NONE = 0, + USER_MULTISAMPLE_2 = 2, + USER_MULTISAMPLE_4 = 4, + USER_MULTISAMPLE_8 = 8, + USER_MULTISAMPLE_16 = 16, } eMultiSample_Type; /** #UserDef.image_draw_method */ typedef enum eImageDrawMethod { - /* IMAGE_DRAW_METHOD_AUTO = 0, */ /* Currently unused */ - IMAGE_DRAW_METHOD_GLSL = 1, - IMAGE_DRAW_METHOD_2DTEXTURE = 2, - IMAGE_DRAW_METHOD_DRAWPIXELS = 3, + /* IMAGE_DRAW_METHOD_AUTO = 0, */ /* Currently unused */ + IMAGE_DRAW_METHOD_GLSL = 1, + IMAGE_DRAW_METHOD_2DTEXTURE = 2, + IMAGE_DRAW_METHOD_DRAWPIXELS = 3, } eImageDrawMethod; /** #UserDef.virtual_pixel */ typedef enum eUserpref_VirtualPixel { - VIRTUAL_PIXEL_NATIVE = 0, - VIRTUAL_PIXEL_DOUBLE = 1, + VIRTUAL_PIXEL_NATIVE = 0, + VIRTUAL_PIXEL_DOUBLE = 1, } eUserpref_VirtualPixel; typedef enum eOpensubdiv_Computee_Type { - USER_OPENSUBDIV_COMPUTE_NONE = 0, - USER_OPENSUBDIV_COMPUTE_CPU = 1, - USER_OPENSUBDIV_COMPUTE_OPENMP = 2, - USER_OPENSUBDIV_COMPUTE_OPENCL = 3, - USER_OPENSUBDIV_COMPUTE_CUDA = 4, - USER_OPENSUBDIV_COMPUTE_GLSL_TRANSFORM_FEEDBACK = 5, - USER_OPENSUBDIV_COMPUTE_GLSL_COMPUTE = 6, + USER_OPENSUBDIV_COMPUTE_NONE = 0, + USER_OPENSUBDIV_COMPUTE_CPU = 1, + USER_OPENSUBDIV_COMPUTE_OPENMP = 2, + USER_OPENSUBDIV_COMPUTE_OPENCL = 3, + USER_OPENSUBDIV_COMPUTE_CUDA = 4, + USER_OPENSUBDIV_COMPUTE_GLSL_TRANSFORM_FEEDBACK = 5, + USER_OPENSUBDIV_COMPUTE_GLSL_COMPUTE = 6, } eOpensubdiv_Computee_Type; /** #UserDef.factor_display_type */ typedef enum eUserpref_FactorDisplay { - USER_FACTOR_AS_FACTOR = 0, - USER_FACTOR_AS_PERCENTAGE = 1, + USER_FACTOR_AS_FACTOR = 0, + USER_FACTOR_AS_PERCENTAGE = 1, } eUserpref_FactorDisplay; #ifdef __cplusplus |