73struct AssetFilterSettings;
77class AbstractViewItem;
94#define UI_SEP_CHAR '|'
95#define UI_SEP_CHAR_S "|"
100#define UI_VALUE_INDETERMINATE_CHAR BLI_STR_UTF8_EM_DASH
106#define UI_MENU_ARROW_SEP BLI_STR_UTF8_BLACK_RIGHT_POINTING_SMALL_TRIANGLE
109#define UI_MAX_DRAW_STR 400
110#define UI_MAX_NAME_STR 128
111#define UI_MAX_SHORTCUT_STR 64
119#define UI_REGION_OVERLAP_MARGIN (U.widget_unit / 3)
122#define UI_SCREEN_MARGIN 10
289#define UI_DEFAULT_TEXT_POINTS 11.0f
292#define UI_DEFAULT_TITLE_POINTS 11.0f
295#define UI_DEFAULT_TOOLTIP_POINTS 11.0f
297#define UI_PANEL_WIDTH 340
298#define UI_COMPACT_PANEL_WIDTH 160
299#define UI_SIDEBAR_PANEL_WIDTH 280
300#define UI_NAVIGATION_REGION_WIDTH UI_COMPACT_PANEL_WIDTH
301#define UI_NARROW_NAVIGATION_REGION_WIDTH 100
304#define UI_TOOLBAR_COLUMN (1.25f * ICON_DEFAULT_HEIGHT_TOOLBAR)
306#define UI_TOOLBAR_MARGIN (0.5f * ICON_DEFAULT_HEIGHT_TOOLBAR)
308#define UI_TOOLBAR_WIDTH UI_TOOLBAR_MARGIN + UI_TOOLBAR_COLUMN
310#define UI_PANEL_CATEGORY_MARGIN_WIDTH (U.widget_unit * 1.0f)
314#define UI_PANEL_MARGIN_X (U.widget_unit * 0.4f)
315#define UI_PANEL_MARGIN_Y (U.widget_unit * 0.1f)
400#define UI_BUT_POIN_TYPES (UI_BUT_POIN_FLOAT | UI_BUT_POIN_SHORT | UI_BUT_POIN_CHAR)
473#define BUTTYPE (63 << 9)
498 const rctf *rect,
bool filled,
float rad,
const unsigned char col[3],
unsigned char alpha);
500 const rctf *rect,
bool filled,
float rad,
const float col[3],
float alpha);
502 const float inner1[4],
503 const float inner2[4],
505 const float outline[4],
510int UI_draw_roundbox_corner_get();
527 const float title_aspect[2],
528 const float action_aspect[2]);
690#define UI_but_is_decorator(but) ((but)->type == UI_BTYPE_DECORATOR)
724 const char *block_name,
793 const char *propname,
849 const char *confirm_text,
850 const char *cancel_text,
934#define UI_BUTTON_SECTION_MERGE_DISTANCE (UI_UNIT_X * 3)
936#define UI_BUTTON_SECTION_SEPERATOR_LINE_WITH (U.pixelsize * 2)
1182 const char *propname,
1306 const char *propname,
1346 uiBlock *block,
void *imbuf,
int x,
int y,
short width,
short height,
const uchar color[4]);
1385 const char *propname,
1669 const int tot_width,
1784 const std::optional<int> draw_width = std::nullopt,
1785 const std::optional<int> draw_height = std::nullopt);
1798 std::function<
void(std::string &new_name)> rename_full_func);
1810 std::function<
void(
const bContext *C,
rcti *rect)> func);
1850 bool premultiplied =
false;
1870 const bool is_pad =
false);
1890 const void *rna_poin_data,
1891 const char *rna_prop_id);
1925#define AUTOCOMPLETE_NO_MATCH 0
1926#define AUTOCOMPLETE_FULL_MATCH 1
1927#define AUTOCOMPLETE_PARTIAL_MATCH 2
2062 const char *panel_idname,
2072#define INSTANCED_PANEL_UNIQUE_STR_SIZE 16
2144#define UI_UNIT_X ((void)0, U.widget_unit)
2145#define UI_UNIT_Y ((void)0, U.widget_unit)
2191#define UI_ITEM_NONE eUI_Item_Flag(0)
2193#define UI_HEADER_OFFSET ((void)0, 0.4f * UI_UNIT_X)
2208#define UI_ALPHA_CHECKER_DARK 100
2209#define UI_ALPHA_CHECKER_LIGHT 160
2376 const char *open_prop_name);
2390 const char *open_prop_name,
2403 bool default_closed);
2417 bool default_closed,
2458 const char *propname,
2461 const char *unlinkop,
2463 bool live_icon =
false,
2464 const char *text =
nullptr);
2468 const char *propname,
2471 const char *unlinkop,
2473 const char *text =
nullptr);
2477 const char *propname,
2480 const char *unlinkop,
2484 bool hide_buttons =
false);
2491 const char *propname,
2505 const char *propname,
2506 const char *proptypename,
2522 const char *unlinkop,
2532 const char *propname,
2534 const char *searchpropname,
2536 const char *unlinkop,
2537 const char *text =
nullptr);
2541 const char *propname,
2543 const char *searchpropname,
2545 const char *unlinkop,
2548 const char *text =
nullptr);
2558 const char *propname,
2575 const char *propname,
2590 const char *preview_id);
2601 const char *propname,
2604 float icon_scale_popup);
2610 const char *propname,
2626 const char *propname,
2629 bool lock_luminosity,
2639 const char *propname,
2641 const char *used_propname,
2646 const char *propname,
2680 bool text_fallback);
2690 const char *propname,
2701 const char *propname);
2731#define UI_UL_DEFAULT_CLASS_NAME "UI_UL_list"
2750 const char *listtype_name,
2751 const char *list_id,
2753 const char *propname,
2755 const char *active_propname,
2756 const char *item_dyntip_propname,
2764 const char *listtype_name,
2765 const char *list_id,
2767 const char *propname,
2769 const char *active_propname,
2770 const char *item_dyntip_propname,
2796 const char *propname,
2802 const char *propname,
2809 const char *propname);
2821 const char *list_id,
2823 const char *asset_library_propname,
2825 const char *assets_propname,
2827 const char *active_propname,
2830 const char *activate_opname,
2832 const char *drag_opname,
2839 StringRefNull asset_shelf_id,
2848 const char *propname);
2872 bool create_properties);
2878 bool create_properties);
2881void uiItemO(
uiLayout *layout,
const char *name,
int icon,
const char *opname);
2886 const char *propname,
2892 const char *propname,
2901 const char *propname,
2907 const char *propname,
2908 const char *value_str);
2914 const char *propname,
2920 const char *propname,
2926 const char *propname,
2932 const char *propname,
2958 const char *menu_id,
2963 const char *propname,
2975 const char *placeholder =
nullptr);
2987 const char *panel_type);
2996 const char *menu_type);
3003 const char *propname,
3013 const char *propname,
3025 bool results_are_suggestions);
3028 const char *propname,
3030 const char *searchpropname,
3041 const char *propname,
3045 const int active = -1);
3100void uiItemM(
uiLayout *layout,
const char *menuname,
const char *name,
int icon);
3136 uiLayout *layout,
const bContext *C,
const char *panel_type,
const char *name,
int icon);
3141 const char *context,
3142 const char *category);
3155 const char *propname,
3162 const char *propname,
3169 const char *propname,
3196 const int dialog_width,
3198 const int icon_size);
3222 bool *r_use_path_from_id,
3223 std::optional<std::string> *r_path);
3228 bool use_path_from_id,
3272 bool *r_is_userdef);
3343 const float col_fg[4],
3344 const float col_bg[4]);
3456 const ARegion *searchbox_region,
3457 const rcti *item_rect,
3461#define UI_TOOLTIP_DELAY 0.5
3462#define UI_TOOLTIP_DELAY_LABEL 0.2
3465#define UI_PRECISION_FLOAT_MAX 6
3467#define UI_PRECISION_FLOAT_SCALE 0.01f
3470#define UI_FSTYLE_WIDGET (const uiFontStyle *)&(UI_style_get()->widget)
3471#define UI_FSTYLE_TOOLTIP (const uiFontStyle *)&(UI_style_get()->tooltip)
3497#define USE_UI_TOOLBAR_HACK
3500#define USE_UI_POPOVER_ONCE
#define ATTR_WARN_UNUSED_RESULT
#define ATTR_NONNULL(...)
void BLI_kdtree_nd_ free(KDTree *tree)
#define ENUM_OPERATORS(_type, _max)
void(*)(void *data_link, char *r_idname) uiListPanelIDFromDataFunc
Read Guarded memory(de)allocation.
void UI_block_update_from_old(const bContext *C, uiBlock *block)
void uiItemBooleanO(uiLayout *layout, const char *name, int icon, const char *opname, const char *propname, int value)
void UI_context_update_anim_flag(const bContext *C)
void UI_region_button_sections_draw(const ARegion *region, int colorid, uiButtonSectionsAlign align)
int UI_text_colorid_from_report_type(int type)
void uiTemplateIconView(uiLayout *layout, PointerRNA *ptr, const char *propname, bool show_labels, float icon_scale, float icon_scale_popup)
void UI_but_flag_disable(uiBut *but, int flag)
void UI_but_disable(uiBut *but, const char *disabled_hint)
void uiItemEnumR(uiLayout *layout, const char *name, int icon, PointerRNA *ptr, const char *propname, int value)
bool UI_view_item_can_rename(const blender::ui::AbstractViewItem &item)
ARegion * UI_tooltip_create_from_gizmo(bContext *C, wmGizmo *gz)
void UI_region_views_clear_search_highlight(const ARegion *region)
uiBut * uiDefButS(uiBlock *block, int type, int retval, blender::StringRef str, int x, int y, short width, short height, short *poin, float min, float max, const char *tip)
bool uiLayoutGetActivateInit(uiLayout *layout)
@ UI_PROP_BUTS_ANY_FAILED_CHECK
@ UI_PROP_BUTS_NONE_ADDED
void UI_blocklist_update_window_matrix(const bContext *C, const ListBase *lb)
uiLayout * uiLayoutColumnFlow(uiLayout *layout, int number, bool align)
int UI_pie_menu_invoke_from_operator_enum(bContext *C, const char *title, const char *opname, const char *propname, const wmEvent *event)
void UI_draw_roundbox_3ub_alpha(const rctf *rect, bool filled, float rad, const unsigned char col[3], unsigned char alpha)
void(*)(void *arg) uiFreeArgFunc
bool UI_panel_is_closed(const Panel *panel)
PointerRNA * UI_list_custom_drag_operator_set(uiList *ui_list, const char *opname, bool create_properties)
Panel * uiLayoutGetRootPanel(uiLayout *layout)
uiBut * uiDefIconTextMenuBut(uiBlock *block, uiMenuCreateFunc func, void *arg, int icon, blender::StringRef str, int x, int y, short width, short height, const char *tip)
void uiLayoutSetActive(uiLayout *layout, bool active)
bool UI_textbutton_activate_rna(const bContext *C, ARegion *region, const void *rna_poin_data, const char *rna_prop_id)
void UI_but_drag_attach_image(uiBut *but, const ImBuf *imb, float scale)
eUIEmbossType UI_block_emboss_get(uiBlock *block)
void UI_draw_roundbox_4fv(const rctf *rect, bool filled, float rad, const float col[4])
void uiItemsFullEnumO(uiLayout *layout, const char *opname, const char *propname, IDProperty *properties, wmOperatorCallContext context, eUI_Item_Flag flag, const int active=-1)
void uiTemplateInputStatus(uiLayout *layout, bContext *C)
void ui_draw_dropshadow(const rctf *rct, float radius, float width, float aspect, float alpha)
uiLayout * UI_pie_menu_layout(uiPieMenu *pie)
bool uiLayoutGetPropDecorate(uiLayout *layout)
void uiTemplateColorspaceSettings(uiLayout *layout, PointerRNA *ptr, const char *propname)
uiList * UI_list_find_mouse_over(const ARegion *region, const wmEvent *event)
void uiTemplateNodeTreeInterface(uiLayout *layout, PointerRNA *ptr)
int uiLayoutGetAlignment(uiLayout *layout)
uiBut * uiDefIconButR(uiBlock *block, int type, int retval, int icon, int x, int y, short width, short height, PointerRNA *ptr, const char *propname, int index, float min, float max, const char *tip)
void UI_popover_end(bContext *C, uiPopover *pup, wmKeyMap *keymap)
void UI_panel_category_draw_all(ARegion *region, const char *category_id_active)
void uiTemplateStatusInfo(uiLayout *layout, bContext *C)
void uiLayoutSetUnitsY(uiLayout *layout, float unit)
@ UI_TEMPLATE_OP_PROPS_HIDE_ADVANCED
@ UI_TEMPLATE_OP_PROPS_SHOW_EMPTY
@ UI_TEMPLATE_OP_PROPS_SHOW_TITLE
@ UI_TEMPLATE_OP_PROPS_HIDE_PRESETS
@ UI_TEMPLATE_OP_PROPS_COMPACT
@ UI_TEMPLATE_OP_PROPS_NO_SPLIT_LAYOUT
void uiTemplateSearch(uiLayout *layout, const bContext *C, PointerRNA *ptr, const char *propname, PointerRNA *searchptr, const char *searchpropname, const char *newop, const char *unlinkop, const char *text=nullptr)
uiLayout * uiLayoutBox(uiLayout *layout)
@ UI_EMBOSS_NONE_OR_STATUS
bool UI_but_active_drop_name(const bContext *C)
void uiItemsEnumR(uiLayout *layout, PointerRNA *ptr, const char *propname)
void UI_fontstyle_draw_simple(const uiFontStyle *fs, float x, float y, const char *str, const uchar col[4])
void UI_popup_menu_retval_set(const uiBlock *block, int retval, bool enable)
ARegion * UI_tooltip_create_from_button_or_extra_icon(bContext *C, ARegion *butregion, uiBut *but, uiButExtraOpIcon *extra_icon, bool is_label)
void UI_block_theme_style_set(uiBlock *block, char theme_style)
std::string(*)(bContext *C, void *argN, const char *tip) uiButToolTipFunc
PanelCategoryDyn * UI_panel_category_find(const ARegion *region, const char *idname)
int void UI_popup_menu_close(const uiBlock *block, bool is_cancel=false)
bool UI_panel_can_be_pinned(const Panel *panel)
void UI_but_focus_on_enter_event(wmWindow *win, uiBut *but)
void uiTemplateNodeView(uiLayout *layout, bContext *C, bNodeTree *ntree, bNode *node, bNodeSocket *input)
void uiLayoutSetEnabled(uiLayout *layout, bool enabled)
void UI_but_func_drawextra_set(uiBlock *block, std::function< void(const bContext *C, rcti *rect)> func)
void UI_but_func_tooltip_custom_set(uiBut *but, uiButToolTipCustomFunc func, void *arg, uiFreeArgFunc free_arg)
std::string UI_but_string_get_property_keymap(bContext &C, uiBut &but)
uiBut * uiDefButI(uiBlock *block, int type, int retval, blender::StringRef str, int x, int y, short width, short height, int *poin, float min, float max, const char *tip)
void uiTemplateWaveform(uiLayout *layout, PointerRNA *ptr, const char *propname)
uiBut * uiDefIconTextButO(uiBlock *block, int type, const char *opname, wmOperatorCallContext opcontext, int icon, blender::StringRef str, int x, int y, short width, short height, const char *tip)
void UI_but_icon_indicator_number_set(uiBut *but, const int indicator_number)
void UI_draw_icon_tri(float x, float y, char dir, const float[4])
void uiLayoutSetSearchWeight(uiLayout *layout, float weight)
void UI_popup_menu_but_set(uiPopupMenu *pup, ARegion *butregion, uiBut *but)
void UI_draw_safe_areas(uint pos, const rctf *rect, const float title_aspect[2], const float action_aspect[2])
@ UI_BLOCK_MOVEMOUSE_QUIT
@ UI_BLOCK_NO_ACCELERATOR_KEYS
@ UI_BLOCK_NO_DRAW_OVERRIDDEN_STATE
@ UI_BLOCK_SHOW_SHORTCUT_ALWAYS
bool UI_block_apply_search_filter(uiBlock *block, const char *search_filter)
bool UI_block_can_add_separator(const uiBlock *block)
int UI_icon_from_report_type(int type)
void UI_tooltip_free(bContext *C, bScreen *screen, ARegion *region)
uiLayout * uiItemsAlertBox(uiBlock *block, const uiStyle *style, const int dialog_width, const eAlertIcon icon, const int icon_size)
void UI_block_interaction_set(uiBlock *block, uiBlockInteraction_CallbackData *callbacks)
void UI_popup_block_template_confirm(uiBlock *block, bool cancel_default, blender::FunctionRef< uiBut *()> confirm_fn, blender::FunctionRef< uiBut *()> cancel_fn)
void UI_tooltip_image_field_add(uiTooltipData &data, const uiTooltipImage &image_data)
uiPopover * UI_popover_begin(bContext *C, int ui_menu_width, bool from_active_button) ATTR_NONNULL(1)
void UI_but_func_rename_full_set(uiBut *but, std::function< void(std::string &new_name)> rename_full_func)
int int UI_fontstyle_string_width_with_block_aspect(const uiFontStyle *fs, const char *str, float aspect) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1
uiPopupMenu * UI_popup_menu_begin_ex(bContext *C, const char *title, const char *block_name, int icon) ATTR_NONNULL()
void uiTemplateTextureUser(uiLayout *layout, bContext *C)
uiBut * uiDefButC(uiBlock *block, int type, int retval, blender::StringRef str, int x, int y, short width, short height, char *poin, float min, float max, const char *tip)
void UI_blocklist_free(const bContext *C, ARegion *region)
void uiLayoutSetFixedSize(uiLayout *layout, bool fixed_size)
int UI_pie_menu_invoke_from_rna_enum(bContext *C, const char *title, const char *path, const wmEvent *event)
void uiTemplateIcon(uiLayout *layout, int icon_value, float icon_scale)
void uiTemplateModifiers(uiLayout *layout, bContext *C)
void uiTemplateRunningJobs(uiLayout *layout, bContext *C)
bool(*)(const uiBut *a, const uiBut *b) uiButIdentityCompareFunc
void UI_but_color_set(uiBut *but, const uchar color[4])
void uiItemMenuEnumO(uiLayout *layout, const bContext *C, const char *opname, const char *propname, const char *name, int icon)
float uiLayoutGetUnitsY(uiLayout *layout)
void(*)(bContext *C, uiLayout *layout, void *arg1) uiMenuCreateFunc
uiPropertySplitWrapper uiItemPropertySplitWrapperCreate(uiLayout *parent_layout)
void UI_but_placeholder_set(uiBut *but, const char *placeholder_text) ATTR_NONNULL(1)
std::string UI_but_string_get_rna_label_context(const uiBut &but)
void uiLayoutSetScaleY(uiLayout *layout, float scale)
void UI_block_lock_clear(uiBlock *block)
void UI_but_func_search_set_results_are_suggestions(uiBut *but, bool value)
void uiItemEnumO_string(uiLayout *layout, const char *name, int icon, const char *opname, const char *propname, const char *value_str)
void UI_but_func_tooltip_set(uiBut *but, uiButToolTipFunc func, void *arg, uiFreeArgFunc free_arg)
void uiTemplateImageLayers(uiLayout *layout, bContext *C, Image *ima, ImageUser *iuser)
void UI_panel_drawname_set(Panel *panel, blender::StringRef name)
uiBut * uiDefIconBlockBut(uiBlock *block, uiBlockCreateFunc func, void *arg, int retval, int icon, int x, int y, short width, short height, const char *tip)
void UI_block_bounds_set_popup(uiBlock *block, int addval, const int bounds_offset[2])
@ UI_BUT2_FORCE_SEMI_MODAL_ACTIVE
@ UI_BUT2_ACTIVATE_ON_INIT_NO_SELECT
void UI_interface_tag_script_reload()
bool UI_view_item_popup_keep_open(const blender::ui::AbstractViewItem &item)
void UI_draw_text_underline(int pos_x, int pos_y, int len, int height, const float color[4])
void UI_popup_dummy_panel_set(ARegion *region, uiBlock *block)
int UI_but_unit_type_get(const uiBut *but)
void(*)(const bContext *C, void *arg, const char *str, uiSearchItems *items, bool is_first) uiButSearchUpdateFn
uiBut * uiDefBut(uiBlock *block, int type, int retval, blender::StringRef str, int x, int y, short width, short height, void *poin, float min, float max, const char *tip)
void(*)(bContext *C, void *arg, char *origstr) uiButHandleRenameFunc
void uiTemplateTrack(uiLayout *layout, PointerRNA *ptr, const char *propname)
void uiItemIntO(uiLayout *layout, const char *name, int icon, const char *opname, const char *propname, int value)
uiBlock * UI_region_block_find_mouse_over(const ARegion *region, const int xy[2], bool only_clip)
void uiTemplateImage(uiLayout *layout, bContext *C, PointerRNA *ptr, const char *propname, PointerRNA *userptr, bool compact, bool multiview)
void uiItemL(uiLayout *layout, const char *name, int icon)
void uiItemFullO(uiLayout *layout, const char *opname, const char *name, int icon, IDProperty *properties, wmOperatorCallContext context, eUI_Item_Flag flag, PointerRNA *r_opptr)
void uiTemplateLayers(uiLayout *layout, PointerRNA *ptr, const char *propname, PointerRNA *used_ptr, const char *used_propname, int active_layer)
void uiTemplateNodeLink(uiLayout *layout, bContext *C, bNodeTree *ntree, bNode *node, bNodeSocket *input)
uiBut * UI_region_active_but_get(const ARegion *region)
void uiLayoutSetActiveDefault(uiLayout *layout, bool active_default)
void UI_popup_block_invoke(bContext *C, uiBlockCreateFunc func, void *arg, uiFreeArgFunc arg_free)
void UI_block_bounds_set_normal(uiBlock *block, int addval)
void uiTemplateCacheFileProcedural(uiLayout *layout, const bContext *C, PointerRNA *fileptr)
Panel * UI_panel_find_by_type(ListBase *lb, const PanelType *pt)
void uiTemplateConstraintHeader(uiLayout *layout, PointerRNA *ptr)
void uiItemFullR_with_popover(uiLayout *layout, PointerRNA *ptr, PropertyRNA *prop, int index, int value, eUI_Item_Flag flag, const char *name, int icon, const char *panel_type)
blender::ui::AbstractView * UI_region_view_find_at(const ARegion *region, const int xy[2], int pad)
void UI_draw_roundbox_4fv_ex(const rctf *rect, const float inner1[4], const float inner2[4], float shade_dir, const float outline[4], float outline_width, float rad)
void uiTemplateAssetView(uiLayout *layout, const bContext *C, const char *list_id, PointerRNA *asset_library_dataptr, const char *asset_library_propname, PointerRNA *assets_dataptr, const char *assets_propname, PointerRNA *active_dataptr, const char *active_propname, const blender::ed::asset::AssetFilterSettings *filter_settings, int display_flags, const char *activate_opname, PointerRNA *r_activate_op_properties, const char *drag_opname, PointerRNA *r_drag_op_properties)
void uiItemsFullEnumO_items(uiLayout *layout, wmOperatorType *ot, const PointerRNA &ptr, PropertyRNA *prop, IDProperty *properties, wmOperatorCallContext context, eUI_Item_Flag flag, const EnumPropertyItem *item_array, int totitem, int active=-1)
ARegion * UI_region_searchbox_region_get(const ARegion *button_region)
void uiTemplateCurveMapping(uiLayout *layout, PointerRNA *ptr, const char *propname, int type, bool levels, bool brush, bool neg_slope, bool tone)
void uiLayoutSetRedAlert(uiLayout *layout, bool redalert)
void UI_but_func_search_set(uiBut *but, uiButSearchCreateFn search_create_fn, uiButSearchUpdateFn search_update_fn, void *arg, bool free_arg, uiFreeArgFunc search_arg_free_fn, uiButHandleFunc search_exec_fn, void *active)
void *(*)(bContext *C, const uiBlockInteraction_Params *params, void *arg1) uiBlockInteractionBeginFn
bool UI_but_is_userdef(const uiBut *but)
bool UI_panel_matches_search_filter(const Panel *panel)
uiBut * uiDefIconButR_prop(uiBlock *block, int type, int retval, int icon, int x, int y, short width, short height, PointerRNA *ptr, PropertyRNA *prop, int index, float min, float max, const char *tip)
void UI_blocklist_update_view_for_buttons(const bContext *C, const ListBase *lb)
void UI_panel_header_buttons_begin(Panel *panel)
uiBut * UI_region_but_find_rect_over(const ARegion *region, const rcti *rect_px)
bool UI_search_item_add(uiSearchItems *items, const char *name, void *poin, int iconid, int but_flag, uint8_t name_prefix_offset)
void UI_panels_free_instanced(const bContext *C, ARegion *region)
bool UI_list_item_index_is_filtered_visible(const struct uiList *ui_list, int item_idx)
MenuType * UI_but_menutype_get(const uiBut *but)
void uiTemplateCacheFileLayers(uiLayout *layout, const bContext *C, PointerRNA *fileptr)
void UI_tooltip_text_field_add(uiTooltipData &data, std::string text, std::string suffix, const uiTooltipStyle style, const uiTooltipColorID color_id, const bool is_pad=false)
uiBlock * uiLayoutGetBlock(uiLayout *layout)
void UI_popup_block_template_confirm_op(uiLayout *layout, wmOperatorType *ot, const char *confirm_text, const char *cancel_text, const int icon, bool cancel_default, PointerRNA *r_ptr)
void UI_fontstyle_draw_simple_backdrop(const uiFontStyle *fs, float x, float y, blender::StringRef str, const float col_fg[4], const float col_bg[4])
bool UI_but_is_utf8(const uiBut *but)
uiLayout * uiLayoutRow(uiLayout *layout, bool align)
void(*)(bContext *C, const uiBlockInteraction_Params *params, void *arg1, void *user_data) uiBlockInteractionEndFn
uiLayout * UI_block_layout(uiBlock *block, int dir, int type, int x, int y, int size, int em, int padding, const uiStyle *style)
const uiStyle * UI_style_get_dpi()
uiLayout * uiTemplateGpencilModifier(uiLayout *layout, bContext *C, PointerRNA *ptr)
void uiLayoutSetScaleX(uiLayout *layout, float scale)
void uiTemplateImageSettings(uiLayout *layout, PointerRNA *imfptr, bool color_management)
bool UI_block_is_empty(const uiBlock *block)
int UI_preview_tile_size_y(const int size_px=96)
std::optional< std::string > UI_but_online_manual_id_from_active(const bContext *C) ATTR_WARN_UNUSED_RESULT
void UI_but_func_menu_step_set(uiBut *but, uiMenuStepFunc func)
void uiItemFullR(uiLayout *layout, PointerRNA *ptr, PropertyRNA *prop, int index, int value, eUI_Item_Flag flag, const char *name, int icon, const char *placeholder=nullptr)
bool uiTemplateCacheFilePointer(PointerRNA *ptr, const char *propname, PointerRNA *r_file_ptr)
bool UI_drop_color_poll(bContext *C, wmDrag *drag, const wmEvent *event)
bool UI_panel_category_is_visible(const ARegion *region)
int UI_icon_from_id(const ID *id)
void uiTemplateVectorscope(uiLayout *layout, PointerRNA *ptr, const char *propname)
float uiLayoutGetUnitsX(uiLayout *layout)
@ UI_BUT_PROGRESS_TYPE_BAR
@ UI_BUT_PROGRESS_TYPE_RING
void UI_popup_block_ex(bContext *C, uiBlockCreateFunc func, uiBlockHandleFunc popup_func, uiBlockCancelFunc cancel_func, void *arg, wmOperator *op)
bool UI_editsource_enable_check()
int UI_icon_colorid_from_report_type(int type)
void(*)(bContext *C, void *arg1) uiBlockCancelFunc
void UI_popup_menu_end(bContext *C, uiPopupMenu *pup)
void UI_popup_block_invoke_ex(bContext *C, uiBlockCreateFunc func, void *arg, uiFreeArgFunc arg_free, bool can_refresh)
void UI_block_listen(const uiBlock *block, const wmRegionListenerParams *listener_params)
void UI_block_translate(uiBlock *block, float x, float y)
void UI_but_operator_set(uiBut *but, wmOperatorType *optype, wmOperatorCallContext opcontext, const PointerRNA *opptr=nullptr)
std::optional< blender::StringRefNull > UI_but_context_string_get(const uiBut *but, const char *name)
void UI_block_flag_disable(uiBlock *block, int flag)
std::optional< EnumPropertyItem > UI_but_rna_enum_item_get(bContext &C, uiBut &but)
void UI_popover_once_clear(uiPopover *pup)
void UI_widgetbase_draw_cache_end()
std::string UI_but_context_menu_title_from_button(uiBut &but)
bool UI_view_item_drag_start(bContext &C, const blender::ui::AbstractViewItem &item)
void UI_but_drawflag_enable(uiBut *but, int flag)
void UI_butstore_update(uiBlock *block)
uiBut * uiDefButO(uiBlock *block, int type, const char *opname, wmOperatorCallContext opcontext, const char *str, int x, int y, short width, short height, const char *tip)
void uiTemplateHeader3D_mode(uiLayout *layout, bContext *C)
uiBut * uiDefIconTextButO_ptr(uiBlock *block, int type, wmOperatorType *ot, wmOperatorCallContext opcontext, int icon, blender::StringRef str, int x, int y, short width, short height, const char *tip)
void uiTemplateAction(uiLayout *layout, const bContext *C, ID *id, const char *newop, const char *unlinkop, const char *text)
int UI_but_return_value_get(uiBut *but)
uiBut * uiDefIconBut(uiBlock *block, int type, int retval, int icon, int x, int y, short width, short height, void *poin, float min, float max, const char *tip)
void UI_but_func_search_set_tooltip(uiBut *but, uiButSearchTooltipFn tooltip_fn)
void uiTemplateReportsBanner(uiLayout *layout, bContext *C)
void uiLayoutSetAlignment(uiLayout *layout, char alignment)
void uiDefAutoButsArrayR(uiBlock *block, PointerRNA *ptr, PropertyRNA *prop, const int icon, const int x, const int y, const int tot_width, const int height)
bool uiLayoutGetEnabled(uiLayout *layout)
void uiTemplateAnyID(uiLayout *layout, PointerRNA *ptr, const char *propname, const char *proptypename, const char *text)
void uiTemplateMovieclipInformation(uiLayout *layout, PointerRNA *ptr, const char *propname, PointerRNA *userptr)
PointerRNA * UI_but_extra_operator_icon_opptr_get(const uiButExtraOpIcon *extra_icon)
void UI_but_flag2_enable(uiBut *but, int flag)
void uiLayoutSetPropSep(uiLayout *layout, bool is_sep)
void UI_but_drag_set_image(uiBut *but, const char *path, int icon, const ImBuf *imb, float scale)
uiBlock * UI_block_begin(const bContext *C, ARegion *region, std::string name, eUIEmbossType emboss)
void UI_but_tooltip_timer_remove(bContext *C, uiBut *but)
void UI_draw_roundbox_corner_set(int type)
void UI_but_number_step_size_set(uiBut *but, float step_size)
void UI_block_func_handle_set(uiBlock *block, uiBlockHandleFunc func, void *arg)
void UI_panels_begin(const bContext *C, ARegion *region)
Panel * UI_panel_begin(ARegion *region, ListBase *lb, uiBlock *block, PanelType *pt, Panel *panel, bool *r_open)
void uiItemS(uiLayout *layout)
int uiLayoutListItemPaddingWidth()
std::string UI_but_string_get_operator_keymap(bContext &C, uiBut &but)
void uiTemplateMenuSearch(uiLayout *layout)
uiLayout * uiLayoutAbsolute(uiLayout *layout, bool align)
std::string UI_but_string_get_rna_tooltip(bContext &C, uiBut &but)
void UI_but_func_identity_compare_set(uiBut *but, uiButIdentityCompareFunc cmp_fn)
@ UI_BUT_LABEL_ALIGN_SPLIT_COLUMN
@ UI_BUT_LABEL_ALIGN_NONE
@ UI_BUT_LABEL_ALIGN_COLUMN
uiPieMenu * UI_pie_menu_begin(bContext *C, const char *title, int icon, const wmEvent *event) ATTR_NONNULL()
uiBut * uiDefIconTextBut(uiBlock *block, int type, int retval, int icon, blender::StringRef str, int x, int y, short width, short height, void *poin, float min, float max, const char *tip)
bool UI_block_active_only_flagged_buttons(const bContext *C, ARegion *region, uiBlock *block)
void UI_popup_block_close(bContext *C, wmWindow *win, uiBlock *block)
float uiLayoutGetScaleY(uiLayout *layout)
void uiTemplateOperatorSearch(uiLayout *layout)
std::string UI_but_string_get_label(uiBut &but)
void ED_operatortypes_ui()
uiBut * UI_context_active_but_get(const bContext *C)
std::string UI_but_string_get_rna_label(uiBut &but)
uiBut * uiDefButO_ptr(uiBlock *block, int type, wmOperatorType *ot, wmOperatorCallContext opcontext, blender::StringRef str, int x, int y, short width, short height, const char *tip)
void uiTemplateMarker(uiLayout *layout, PointerRNA *ptr, const char *propname, PointerRNA *userptr, PointerRNA *trackptr, bool compact)
bool UI_popup_block_name_exists(const bScreen *screen, blender::StringRef name)
void uiTemplateIDBrowse(uiLayout *layout, bContext *C, PointerRNA *ptr, const char *propname, const char *newop, const char *openop, const char *unlinkop, int filter=UI_TEMPLATE_ID_FILTER_ALL, const char *text=nullptr)
wmOperatorCallContext uiLayoutGetOperatorContext(uiLayout *layout)
void uiItemDecoratorR_prop(uiLayout *layout, PointerRNA *ptr, PropertyRNA *prop, int index)
uiLayout * uiLayoutListBox(uiLayout *layout, uiList *ui_list, PointerRNA *actptr, PropertyRNA *actprop)
void uiTemplateImageViews(uiLayout *layout, PointerRNA *imaptr)
uiBut * uiDefButBitI(uiBlock *block, int type, int bit, int retval, blender::StringRef str, int x, int y, short width, short height, int *poin, float min, float max, const char *tip)
eAutoPropButsReturn uiDefAutoButsRNA(uiLayout *layout, PointerRNA *ptr, bool(*check_prop)(PointerRNA *ptr, PropertyRNA *prop, void *user_data), void *user_data, PropertyRNA *prop_activate_init, eButLabelAlign label_align, bool compact)
void uiItemPopoverPanelFromGroup(uiLayout *layout, bContext *C, int space_id, int region_id, const char *context, const char *category)
void uiItemEnumO(uiLayout *layout, const char *opname, const char *name, int icon, const char *propname, int value)
void UI_editsource_but_replace(const uiBut *old_but, uiBut *new_but)
void uiItemEnumR_string(uiLayout *layout, PointerRNA *ptr, const char *propname, const char *value, const char *name, int icon)
void *(*)(const void *argN) uiButArgNCopy
int UI_panel_size_y(const Panel *panel)
void UI_fontstyle_draw_ex(const uiFontStyle *fs, const rcti *rect, const char *str, size_t str_len, const uchar col[4], const uiFontStyleDraw_Params *fs_params, int *r_xofs, int *r_yofs, ResultBLF *r_info)
void(*)(void *argN) uiButArgNFree
bool uiLayoutGetActive(uiLayout *layout)
void UI_but_execute(const bContext *C, ARegion *region, uiBut *but)
void UI_panels_end(const bContext *C, ARegion *region, int *r_x, int *r_y)
int UI_searchbox_size_x()
bool UI_block_has_active_default_button(const uiBlock *block)
uiLayout * uiLayoutRowWithHeading(uiLayout *layout, bool align, const char *heading)
void UI_fontstyle_draw_rotated(const uiFontStyle *fs, const rcti *rect, const char *str, const uchar col[4])
void uiItemS_ex(uiLayout *layout, float factor, LayoutSeparatorType type=LayoutSeparatorType::Auto)
uiLayout * UI_popover_layout(uiPopover *pup)
void UI_update_text_styles()
PointerRNA * UI_but_extra_operator_icon_add(uiBut *but, const char *opname, wmOperatorCallContext opcontext, int icon)
void UI_butstore_unregister(uiButStore *bs_handle, uiBut **but_p)
uiBut * uiDefButBitC(uiBlock *block, int type, int bit, int retval, blender::StringRef str, int x, int y, short width, short height, char *poin, float min, float max, const char *tip)
void UI_view_item_begin_rename(blender::ui::AbstractViewItem &item)
void uiItemFullO_ptr(uiLayout *layout, wmOperatorType *ot, const char *name, int icon, IDProperty *properties, wmOperatorCallContext context, eUI_Item_Flag flag, PointerRNA *r_opptr)
bool UI_butstore_register_update(uiBlock *block, uiBut *but_dst, const uiBut *but_src)
float uiLayoutGetSearchWeight(uiLayout *layout)
bool uiLayoutGetKeepAspect(uiLayout *layout)
void UI_region_message_subscribe(ARegion *region, wmMsgBus *mbus)
void UI_panel_category_active_set(ARegion *region, const char *idname)
ID * UI_context_active_but_get_tab_ID(bContext *C)
void uiItemMenuEnumR_prop(uiLayout *layout, PointerRNA *ptr, PropertyRNA *prop, const char *name, int icon)
void uiTemplateFileSelectPath(uiLayout *layout, bContext *C, FileSelectParams *params)
uiBut * uiDefSearchButO_ptr(uiBlock *block, wmOperatorType *ot, IDProperty *properties, void *arg, int retval, int icon, int maxncpy, int x, int y, short width, short height, const char *tip)
bool uiLayoutGetPropSep(uiLayout *layout)
void(*)(bContext *C, void *arg, int event) uiBlockHandleFunc
void uiTemplateColorRamp(uiLayout *layout, PointerRNA *ptr, const char *propname, bool expand)
void uiTemplateList(uiLayout *layout, const bContext *C, const char *listtype_name, const char *list_id, PointerRNA *dataptr, const char *propname, PointerRNA *active_dataptr, const char *active_propname, const char *item_dyntip_propname, int rows, int maxrows, int layout_type, int columns, enum uiTemplateListFlags flags)
void UI_but_context_ptr_set(uiBlock *block, uiBut *but, const char *name, const PointerRNA *ptr)
void uiItemProgressIndicator(uiLayout *layout, const char *text, float factor, enum eButProgressType progress_type)
void uiTemplateBoneCollectionTree(uiLayout *layout, bContext *C)
void UI_panel_custom_data_set(Panel *panel, PointerRNA *custom_data)
void uiTemplatePreview(uiLayout *layout, bContext *C, ID *id, bool show_buttons, ID *parent, MTex *slot, const char *preview_id)
void uiItemMenuEnumFullO(uiLayout *layout, const bContext *C, const char *opname, const char *propname, const char *name, int icon, PointerRNA *r_opptr)
void UI_but_number_slider_precision_set(uiBut *but, float precision)
void UI_paneltype_draw(bContext *C, PanelType *pt, uiLayout *layout)
void uiTemplateConstraints(uiLayout *layout, bContext *C, bool use_bone_constraints)
void UI_but_func_operator_search(uiBut *but)
int UI_autocomplete_end(AutoComplete *autocpl, char *autoname)
void uiItemLDrag(uiLayout *layout, PointerRNA *ptr, const char *name, int icon)
void uiLayoutSetUnitsX(uiLayout *layout, float unit)
void uiItemFloatO(uiLayout *layout, const char *name, int icon, const char *opname, const char *propname, float value)
void UI_editsource_active_but_test(uiBut *but)
bool UI_panel_is_active(const Panel *panel)
void uiTemplateCryptoPicker(uiLayout *layout, PointerRNA *ptr, const char *propname, int icon)
const uiStyle * UI_style_get()
bool UI_panel_should_show_background(const ARegion *region, const PanelType *panel_type)
void UI_but_dragflag_enable(uiBut *but, int flag)
uiPopupMenu * UI_popup_menu_begin(bContext *C, const char *title, int icon) ATTR_NONNULL()
void uiTemplateOperatorPropertyButs(const bContext *C, uiLayout *layout, wmOperator *op, eButLabelAlign label_align, short flag)
eUIEmbossType uiLayoutGetEmboss(uiLayout *layout)
bool UI_block_is_search_only(const uiBlock *block)
bool UI_but_active_only_ex(const bContext *C, ARegion *region, uiBlock *block, uiBut *but, bool remove_on_failure)
void UI_but_type_set_menu_from_pulldown(uiBut *but)
void UI_fontstyle_set(const uiFontStyle *fs)
void uiItemPointerR(uiLayout *layout, PointerRNA *ptr, const char *propname, PointerRNA *searchptr, const char *searchpropname, const char *name, int icon)
uiBut * uiDefIconButO(uiBlock *block, int type, const char *opname, wmOperatorCallContext opcontext, int icon, int x, int y, short width, short height, const char *tip)
void UI_draw_roundbox_3fv_alpha(const rctf *rect, bool filled, float rad, const float col[3], float alpha)
void uiTemplateGpencilColorPreview(uiLayout *layout, bContext *C, PointerRNA *ptr, const char *propname, int rows, int cols, float scale, int filter)
void uiLayoutSetTooltipFunc(uiLayout *layout, uiButToolTipFunc func, void *arg, uiCopyArgFunc copy_arg, uiFreeArgFunc free_arg)
int uiLayoutGetLocalDir(const uiLayout *layout)
void UI_but_drag_set_path(uiBut *but, const char *path)
uiBut * uiDefButF(uiBlock *block, int type, int retval, blender::StringRef str, int x, int y, short width, short height, float *poin, float min, float max, const char *tip)
uiBut * uiDefBlockBut(uiBlock *block, uiBlockCreateFunc func, void *arg, blender::StringRef str, int x, int y, short width, short height, const char *tip)
@ UI_BLOCK_BOUNDS_PIE_CENTER
@ UI_BLOCK_BOUNDS_POPUP_MOUSE
@ UI_BLOCK_BOUNDS_POPUP_CENTER
@ UI_BLOCK_BOUNDS_POPUP_MENU
void UI_block_emboss_set(uiBlock *block, eUIEmbossType emboss)
uiBut * uiDefButAlert(uiBlock *block, int icon, int x, int y, short width, short height)
bool(*)(bContext *C, void *arg, void *active, const wmEvent *event) uiButSearchContextMenuFn
uiBut * uiDefButBitS(uiBlock *block, int type, int bit, int retval, blender::StringRef str, int x, int y, short width, short height, short *poin, float min, float max, const char *tip)
void UI_panel_category_clear_all(ARegion *region)
void uiItemSpacer(uiLayout *layout)
void uiItemM_ptr(uiLayout *layout, MenuType *mt, const char *name, int icon)
std::optional< std::string > UI_but_online_manual_id(const uiBut *but) ATTR_WARN_UNUSED_RESULT
void UI_pie_menu_end(bContext *C, uiPieMenu *pie)
blender::ui::AbstractViewItem * UI_region_views_find_active_item(const ARegion *region)
void uiTemplateCacheFileVelocity(uiLayout *layout, PointerRNA *fileptr)
void UI_menutype_draw(bContext *C, MenuType *mt, uiLayout *layout)
uiBut * UI_context_active_but_prop_get(const bContext *C, PointerRNA *r_ptr, PropertyRNA **r_prop, int *r_index)
uiBut * uiDefIconButO_ptr(uiBlock *block, int type, wmOperatorType *ot, wmOperatorCallContext opcontext, int icon, int x, int y, short width, short height, const char *tip)
void uiLayoutSetKeepAspect(uiLayout *layout, bool keepaspect)
PointerRNA * UI_but_operator_ptr_ensure(uiBut *but)
bool uiLayoutGetFixedSize(uiLayout *layout)
void UI_block_func_set(uiBlock *block, uiButHandleFunc func, void *arg1, void *arg2)
uiBut * uiDefIconButBitC(uiBlock *block, int type, int bit, int retval, int icon, int x, int y, short width, short height, char *poin, float min, float max, const char *tip)
int(*)(bContext *C, char *str, void *arg) uiButCompleteFunc
PanelCategoryStack * UI_panel_category_active_find(ARegion *region, const char *idname)
PanelLayout uiLayoutPanel(const bContext *C, uiLayout *layout, const char *idname, bool default_closed)
void UI_but_func_search_set_context_menu(uiBut *but, uiButSearchContextMenuFn context_menu_fn)
void UI_context_active_but_prop_get_filebrowser(const bContext *C, PointerRNA *r_ptr, PropertyRNA **r_prop, bool *r_is_undo, bool *r_is_userdef)
void UI_but_number_slider_step_size_set(uiBut *but, float step_size)
void UI_block_bounds_set_menu(uiBlock *block, int addval, const int bounds_offset[2])
void UI_but_func_rename_set(uiBut *but, uiButHandleRenameFunc func, void *arg1)
bool UI_view_item_matches(const blender::ui::AbstractViewItem &a, const blender::ui::AbstractViewItem &b)
std::string UI_but_string_get_rna_property_identifier(const uiBut &but)
uiLayout * UI_popup_menu_layout(uiPopupMenu *pup)
bool UI_block_is_empty_ex(const uiBlock *block, bool skip_title)
void uiItemMContents(uiLayout *layout, const char *menuname)
void UI_but_drawflag_disable(uiBut *but, int flag)
bool uiLayoutGetActiveDefault(uiLayout *layout)
void UI_block_draw(const bContext *C, uiBlock *block)
void UI_but_dragflag_disable(uiBut *but, int flag)
void uiItemFullR_with_menu(uiLayout *layout, PointerRNA *ptr, PropertyRNA *prop, int index, int value, eUI_Item_Flag flag, const char *name, int icon, const char *menu_type)
int UI_search_items_find_index(const uiSearchItems *items, const char *name)
std::string UI_but_extra_icon_string_get_tooltip(bContext &C, const uiButExtraOpIcon &extra_icon)
bool UI_textbutton_activate_but(const bContext *C, uiBut *actbut)
void UI_drop_color_copy(bContext *C, wmDrag *drag, wmDropBox *drop)
int UI_popover_panel_invoke(bContext *C, const char *idname, bool keep_open, ReportList *reports)
void UI_context_active_but_clear(bContext *C, wmWindow *win, ARegion *region)
void uiItemsEnumO(uiLayout *layout, const char *opname, const char *propname)
void uiTemplateNodeSocket(uiLayout *layout, bContext *C, const float color[4])
uiList * uiTemplateList_ex(uiLayout *layout, const bContext *C, const char *listtype_name, const char *list_id, PointerRNA *dataptr, const char *propname, PointerRNA *active_dataptr, const char *active_propname, const char *item_dyntip_propname, int rows, int maxrows, int layout_type, int columns, enum uiTemplateListFlags flags, void *customdata)
int UI_icon_from_keymap_item(const wmKeyMapItem *kmi, int r_icon_mod[4])
bool UI_butstore_is_registered(uiBlock *block, uiBut *but)
void UI_block_end_ex(const bContext *C, uiBlock *block, const int xy[2], int r_xy[2])
void UI_block_bounds_set_text(uiBlock *block, int addval)
void UI_but_func_set(uiBut *but, uiButHandleFunc func, void *arg1, void *arg2)
PanelType * UI_but_paneltype_get(const uiBut *but)
void uiItemEnumR_string_prop(uiLayout *layout, PointerRNA *ptr, PropertyRNA *prop, const char *value, const char *name, int icon)
bool UI_popup_menu_end_or_cancel(bContext *C, uiPopupMenu *pup)
void UI_block_align_begin(uiBlock *block)
int UI_searchbox_size_y()
void UI_style_init_default()
uiBut * uiDefMenuBut(uiBlock *block, uiMenuCreateFunc func, void *arg, blender::StringRef str, int x, int y, short width, short height, const char *tip)
uiBut * uiDefSearchBut(uiBlock *block, void *arg, int retval, int icon, int maxncpy, int x, int y, short width, short height, const char *tip)
void uiTemplateColormanagedViewSettings(uiLayout *layout, bContext *C, PointerRNA *ptr, const char *propname)
bool UI_butstore_is_valid(uiButStore *bs_handle)
void uiItemDecoratorR(uiLayout *layout, PointerRNA *ptr, const char *propname, int index)
int int int UI_fontstyle_height_max(const uiFontStyle *fs)
void uiTemplateCollectionExporters(uiLayout *layout, bContext *C)
void UI_butstore_register(uiButStore *bs_handle, uiBut **but_p)
@ UI_BLOCK_THEME_STYLE_REGULAR
@ UI_BLOCK_THEME_STYLE_POPUP
void uiLayoutSetEmboss(uiLayout *layout, eUIEmbossType emboss)
void UI_blocklist_free_inactive(const bContext *C, ARegion *region)
int uiLayoutGetWidth(uiLayout *layout)
void uiTemplateOperatorRedoProperties(uiLayout *layout, const bContext *C)
ARegion *(*)(bContext *C, ARegion *region, const rcti *item_rect, void *arg, void *active) uiButSearchTooltipFn
void UI_butstore_clear(uiBlock *block)
void uiItemO(uiLayout *layout, const char *name, int icon, const char *opname)
void uiTemplateIDPreview(uiLayout *layout, bContext *C, PointerRNA *ptr, const char *propname, const char *newop, const char *openop, const char *unlinkop, int rows, int cols, int filter=UI_TEMPLATE_ID_FILTER_ALL, bool hide_buttons=false)
uiLayout * uiLayoutColumnWithHeading(uiLayout *layout, bool align, const char *heading)
uiBut * uiDefIconButBitS(uiBlock *block, int type, int bit, int retval, int icon, int x, int y, short width, short height, short *poin, float min, float max, const char *tip)
uiBut * UI_but_active_drop_name_button(const bContext *C)
bool uiTemplateEventFromKeymapItem(uiLayout *layout, const char *text, const wmKeyMapItem *kmi, bool text_fallback)
void(*)(bContext *C, ARegion *butregion, uiBut *but) uiButHandleHoldFunc
uiBut * UI_context_active_but_get_respect_popup(const bContext *C)
uiLayout * uiLayoutGridFlow(uiLayout *layout, bool row_major, int columns_len, bool even_columns, bool even_rows, bool align)
const char * UI_layout_introspect(uiLayout *layout)
void UI_but_icon_indicator_set(uiBut *but, const char *string)
int UI_panel_category_index_find(ARegion *region, const char *idname)
int UI_fontstyle_string_width(const uiFontStyle *fs, const char *str) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1
void UI_context_active_but_prop_get_templateID(const bContext *C, PointerRNA *r_ptr, PropertyRNA **r_prop)
uiBut * uiDefIconTextButR(uiBlock *block, int type, int retval, int icon, const char *str, int x, int y, short width, short height, PointerRNA *ptr, const char *propname, int index, float min, float max, const char *tip)
void uiTemplateNodeInputs(uiLayout *layout, bContext *C, PointerRNA *ptr)
void uiItemEnumO_value(uiLayout *layout, const char *name, int icon, const char *opname, const char *propname, int value)
void(*)(bContext *C, void *arg, int event) uiMenuHandleFunc
void UI_but_func_search_set_sep_string(uiBut *but, const char *search_sep_string)
void UI_but_hint_drawstr_set(uiBut *but, const char *string)
float uiLayoutGetScaleX(uiLayout *layout)
bool UI_block_layout_needs_resolving(const uiBlock *block)
void UI_popup_handlers_add(bContext *C, ListBase *handlers, uiPopupBlockHandle *popup, char flag)
wmOperatorType * UI_but_extra_operator_icon_optype_get(const uiButExtraOpIcon *extra_icon)
float UI_text_clip_middle_ex(const uiFontStyle *fstyle, char *str, float okwidth, float minwidth, size_t max_len, char rpart_sep)
PanelLayout uiLayoutPanelProp(const bContext *C, uiLayout *layout, PointerRNA *open_prop_owner, const char *open_prop_name)
int uiTemplateRecentFiles(uiLayout *layout, int rows)
void UI_panel_category_active_set_default(ARegion *region, const char *idname)
void uiLayoutSetPropDecorate(uiLayout *layout, bool is_sep)
void UI_but_operator_set_never_call(uiBut *but)
void uiLayoutListItemAddPadding(uiLayout *layout)
void uiLayoutSetContextFromBut(uiLayout *layout, uiBut *but)
void UI_blocklist_draw(const bContext *C, const ListBase *lb)
uiLayout * uiLayoutRadial(uiLayout *layout)
int UI_blocklist_min_y_get(ListBase *lb)
void uiTemplateCurveProfile(uiLayout *layout, PointerRNA *ptr, const char *propname)
uiBut * uiDefIconButI(uiBlock *block, int type, int retval, int icon, int x, int y, short width, short height, int *poin, float min, float max, const char *tip)
void uiTemplateEditModeSelection(uiLayout *layout, bContext *C)
uiBut * uiDefButImage(uiBlock *block, void *imbuf, int x, int y, short width, short height, const uchar color[4])
void UI_context_active_but_prop_handle(bContext *C, bool handle_undo)
uiButStore * UI_butstore_create(uiBlock *block)
void UI_draw_widget_scroll(uiWidgetColors *wcol, const rcti *rect, const rcti *slider, int state)
void UI_block_layout_free(uiBlock *block)
bool UI_context_copy_to_selected_list(bContext *C, PointerRNA *ptr, PropertyRNA *prop, blender::Vector< PointerRNA > *r_lb, bool *r_use_path_from_id, std::optional< std::string > *r_path)
void uiTemplateColorPicker(uiLayout *layout, PointerRNA *ptr, const char *propname, bool value_slider, bool lock, bool lock_luminosity, bool cubic)
uiLayout * uiItemL_respect_property_split(uiLayout *layout, const char *text, int icon)
void UI_block_funcN_set(uiBlock *block, uiButHandleNFunc funcN, void *argN, void *arg2, uiButArgNFree func_argN_free_fn=MEM_freeN, uiButArgNCopy func_argN_copy_fn=MEM_dupallocN)
bool UI_popup_block_template_confirm_is_supported(const uiBlock *block)
void UI_panel_label_offset(const uiBlock *block, int *r_x, int *r_y)
void UI_but_number_precision_set(uiBut *but, float precision)
void UI_block_bounds_set_centered(uiBlock *block, int addval)
void uiTemplateHistogram(uiLayout *layout, PointerRNA *ptr, const char *propname)
void uiTemplateID(uiLayout *layout, const bContext *C, PointerRNA *ptr, const char *propname, const char *newop, const char *openop, const char *unlinkop, int filter=UI_TEMPLATE_ID_FILTER_ALL, bool live_icon=false, const char *text=nullptr)
void uiTemplateImageStereo3d(uiLayout *layout, PointerRNA *stereo3d_format_ptr)
bool UI_but_active_only(const bContext *C, ARegion *region, uiBlock *block, uiBut *but)
void UI_but_drag_set_rna(uiBut *but, PointerRNA *ptr)
uiBut * UI_region_active_but_prop_get(const ARegion *region, PointerRNA *r_ptr, PropertyRNA **r_prop, int *r_index)
void UI_fontstyle_draw(const uiFontStyle *fs, const rcti *rect, const char *str, size_t str_len, const uchar col[4], const uiFontStyleDraw_Params *fs_params)
void uiItemFullOMenuHold_ptr(uiLayout *layout, wmOperatorType *ot, const char *name, int icon, IDProperty *properties, wmOperatorCallContext context, eUI_Item_Flag flag, const char *menu_id, PointerRNA *r_opptr)
int UI_pie_menu_invoke(bContext *C, const char *idname, const wmEvent *event)
uiBut * uiDefIconTextButR_prop(uiBlock *block, int type, int retval, int icon, const char *str, int x, int y, short width, short height, PointerRNA *ptr, PropertyRNA *prop, int index, float min, float max, const char *tip)
void uiTemplateTextureShow(uiLayout *layout, const bContext *C, PointerRNA *ptr, PropertyRNA *prop)
void(*)(bContext *C, void *argN, void *arg2) uiButHandleNFunc
uiLayout * uiLayoutColumn(uiLayout *layout, bool align)
void uiItemPointerR_prop(uiLayout *layout, PointerRNA *ptr, PropertyRNA *prop, PointerRNA *searchptr, PropertyRNA *searchprop, const char *name, int icon, bool results_are_suggestions)
void uiTemplateGreasePencilLayerTree(uiLayout *layout, bContext *C)
int UI_icon_from_event_type(short event_type, short event_value)
uiLayout * uiLayoutSplit(uiLayout *layout, float percentage, bool align)
void UI_block_layout_resolve(uiBlock *block, int *r_x, int *r_y)
void UI_but_tooltip_refresh(bContext *C, uiBut *but)
void uiItemEnumO_ptr(uiLayout *layout, wmOperatorType *ot, const char *name, int icon, const char *propname, int value)
int UI_preview_tile_size_x(const int size_px=96)
void UI_popup_menu_reports(bContext *C, ReportList *reports) ATTR_NONNULL()
void uiItemEnumR_prop(uiLayout *layout, const char *name, int icon, PointerRNA *ptr, PropertyRNA *prop, int value)
void UI_but_func_tooltip_label_set(uiBut *but, std::function< std::string(const uiBut *but)> func)
void ED_keymap_ui(wmKeyConfig *keyconf)
User Interface Keymap.
std::string UI_but_extra_icon_string_get_label(const uiButExtraOpIcon &extra_icon)
void UI_block_free(const bContext *C, uiBlock *block)
uiBut * uiDefIconButS(uiBlock *block, int type, int retval, int icon, int x, int y, short width, short height, short *poin, float min, float max, const char *tip)
uiBlock * uiLayoutAbsoluteBlock(uiLayout *layout)
void(*)(bContext *C, void *arg1, void *arg2) uiButHandleFunc
bool UI_but_active_drop_color(bContext *C)
void uiLayoutSetActivateInit(uiLayout *layout, bool activate_init)
void UI_but_func_menu_search(uiBut *but, const char *single_menu_idname=nullptr)
bool UI_region_button_sections_is_inside_x(const ARegion *region, const int mval_x)
void UI_but_label_alpha_factor_set(uiBut *but, float alpha_factor)
void uiTemplateImageFormatViews(uiLayout *layout, PointerRNA *imfptr, PointerRNA *ptr)
bool UI_view_item_supports_drag(const blender::ui::AbstractViewItem &item)
void UI_popup_menu_close_from_but(const uiBut *but, bool is_cancel=false)
void uiTemplateSearchPreview(uiLayout *layout, bContext *C, PointerRNA *ptr, const char *propname, PointerRNA *searchptr, const char *searchpropname, const char *newop, const char *unlinkop, int rows, int cols, const char *text=nullptr)
void uiItemStringO(uiLayout *layout, const char *name, int icon, const char *opname, const char *propname, const char *value)
void uiTemplateKeymapItemProperties(uiLayout *layout, PointerRNA *ptr)
void UI_panel_end(Panel *panel, int width, int height)
void UI_block_region_set(uiBlock *block, ARegion *region)
void UI_panel_category_index_active_set(ARegion *region, const int index)
bool UI_panel_list_matches_data(ARegion *region, ListBase *data, uiListPanelIDFromDataFunc panel_idname_func)
void UI_block_direction_set(uiBlock *block, char direction)
void UI_but_func_hold_set(uiBut *but, uiButHandleHoldFunc func, void *argN)
ARegion *(*)(bContext *C, ARegion *butregion, uiButSearch *search_but) uiButSearchCreateFn
void UI_butstore_free(uiBlock *block, uiButStore *bs_handle)
void UI_but_ensure_in_view(const bContext *C, ARegion *region, const uiBut *but)
bool(*)(bContext *C, int direction, void *arg1) uiMenuStepFunc
void UI_screen_free_active_but_highlight(const bContext *C, bScreen *screen)
void UI_block_set_active_operator(uiBlock *block, wmOperator *op, const bool free)
uiLayout * uiLayoutOverlap(uiLayout *layout)
void UI_but_icon_indicator_color_set(uiBut *but, const uchar color[4])
void UI_but_func_complete_set(uiBut *but, uiButCompleteFunc func, void *arg)
uiBut * uiDefButR_prop(uiBlock *block, int type, int retval, const char *str, int x, int y, short width, short height, PointerRNA *ptr, PropertyRNA *prop, int index, float min, float max, const char *tip)
void UI_panel_header_buttons_end(Panel *panel)
void UI_block_layout_set_current(uiBlock *block, uiLayout *layout)
uiBut * uiDefIconButBitI(uiBlock *block, int type, int bit, int retval, int icon, int x, int y, short width, short height, int *poin, float min, float max, const char *tip)
void uiItemMenuF(uiLayout *layout, const char *name, int icon, uiMenuCreateFunc func, void *arg)
ARegion * UI_tooltip_create_from_button(bContext *C, ARegion *butregion, uiBut *but, bool is_label)
bool UI_panel_is_dragging(const Panel *panel)
void uiTemplateLightLinkingCollection(uiLayout *layout, uiLayout *context_layout, PointerRNA *ptr, const char *propname)
uiBut * uiDefBlockButN(uiBlock *block, uiBlockCreateFunc func, void *argN, blender::StringRef str, int x, int y, short width, short height, const char *tip, uiButArgNFree func_argN_free_fn=MEM_freeN, uiButArgNCopy func_argN_copy_fn=MEM_dupallocN)
void uiLayoutSetContextString(uiLayout *layout, const char *name, blender::StringRef value)
@ UI_TEMPLATE_ID_FILTER_AVAILABLE
@ UI_TEMPLATE_ID_FILTER_ALL
PointerRNA * UI_list_custom_activate_operator_set(uiList *ui_list, const char *opname, bool create_properties)
void UI_but_func_search_set_listen(uiBut *but, uiButSearchListenFn listen_fn)
uiBut * uiDefIconTextButI(uiBlock *block, int type, int retval, int icon, blender::StringRef str, int x, int y, short width, short height, int *poin, float min, float max, const char *tip)
std::string UI_but_string_get_tooltip_label(const uiBut &but)
std::string UI_but_string_get_tooltip(bContext &C, uiBut &but)
void UI_panels_draw(const bContext *C, ARegion *region)
int uiTemplateStatusBarModalItem(uiLayout *layout, const wmKeyMap *keymap, const EnumPropertyItem *item)
uiBlock *(*)(bContext *C, ARegion *region, void *arg1) uiBlockCreateFunc
void UI_block_flag_enable(uiBlock *block, int flag)
std::string UI_but_string_get_rna_struct_identifier(const uiBut &but)
const bContextStore * UI_but_context_get(const uiBut *but)
void UI_but_drag_set_id(uiBut *but, ID *id)
PointerRNA * UI_panel_custom_data_get(const Panel *panel)
ARegion * UI_tooltip_create_from_search_item_generic(bContext *C, const ARegion *searchbox_region, const rcti *item_rect, ID *id)
void uiTemplateCacheFile(uiLayout *layout, const bContext *C, PointerRNA *ptr, const char *propname)
void uiTemplateIDTabs(uiLayout *layout, bContext *C, PointerRNA *ptr, const char *propname, const char *newop, const char *menu, int filter=UI_TEMPLATE_ID_FILTER_ALL)
void *(*)(const void *arg) uiCopyArgFunc
void(*)(bContext *C, const uiBlockInteraction_Params *params, void *arg1, void *user_data) uiBlockInteractionUpdateFn
void uiLayoutSetOperatorContext(uiLayout *layout, wmOperatorCallContext opcontext)
int UI_preview_tile_size_y_no_label(const int size_px=96)
void UI_theme_init_default()
void uiTemplatePathBuilder(uiLayout *layout, PointerRNA *ptr, const char *propname, PointerRNA *root_ptr, const char *text)
bContextStore * uiLayoutGetContextStore(uiLayout *layout)
@ UI_TEMPLATE_ASSET_DRAW_NO_NAMES
@ UI_TEMPLATE_ASSET_DRAW_NO_LIBRARY
@ UI_TEMPLATE_ASSET_DRAW_NO_FILTER
void UI_draw_roundbox_aa(const rctf *rect, bool filled, float rad, const float color[4])
void UI_list_panel_unique_str(Panel *panel, char *r_name)
void uiItemPopoverPanel_ptr(uiLayout *layout, const bContext *C, PanelType *pt, const char *name, int icon)
void UI_popup_handlers_remove(ListBase *handlers, uiPopupBlockHandle *popup)
bool uiLayoutGetRedAlert(uiLayout *layout)
uiBut * uiDefIconMenuBut(uiBlock *block, uiMenuCreateFunc func, void *arg, int icon, int x, int y, short width, short height, const char *tip)
void uiTemplateMovieClip(uiLayout *layout, bContext *C, PointerRNA *ptr, const char *propname, bool compact)
void UI_panel_context_pointer_set(Panel *panel, const char *name, PointerRNA *ptr)
void uiItemMenuEnumFullO_ptr(uiLayout *layout, const bContext *C, wmOperatorType *ot, const char *propname, const char *name, int icon, PointerRNA *r_opptr)
void uiItemMenuEnumR(uiLayout *layout, PointerRNA *ptr, const char *propname, const char *name, int icon)
int UI_popup_menu_invoke(bContext *C, const char *idname, ReportList *reports) ATTR_NONNULL(1
void UI_but_drag_set_asset(uiBut *but, const blender::asset_system::AssetRepresentation *asset, int import_method, int icon, const ImBuf *imb, float scale)
uiBut * uiDefButR(uiBlock *block, int type, int retval, const char *str, int x, int y, short width, short height, PointerRNA *ptr, const char *propname, int index, float min, float max, const char *tip)
wmOperator * UI_context_active_operator_get(const bContext *C)
int UI_calc_float_precision(int prec, double value)
void UI_but_funcN_set(uiBut *but, uiButHandleNFunc funcN, void *argN, void *arg2, uiButArgNFree func_argN_free_fn=MEM_freeN, uiButArgNCopy func_argN_copy_fn=MEM_dupallocN)
Panel * UI_panel_add_instanced(const bContext *C, ARegion *region, ListBase *panels, const char *panel_idname, PointerRNA *custom_data)
std::string UI_but_extra_icon_string_get_operator_keymap(const bContext &C, const uiButExtraOpIcon &extra_icon)
void UI_panel_category_add(ARegion *region, const char *name)
void uiTemplateCacheFileTimeSettings(uiLayout *layout, PointerRNA *fileptr)
void uiTemplateShaderFx(uiLayout *layout, bContext *C)
void UI_but_unit_type_set(uiBut *but, int unit_type)
bool UI_but_is_tool(const uiBut *but)
void UI_widgetbase_draw_cache_flush()
void UI_region_handlers_add(ListBase *handlers)
void UI_block_end(const bContext *C, uiBlock *block)
void UI_but_search_preview_grid_size_set(uiBut *but, int rows, int cols)
void uiLayoutContextCopy(uiLayout *layout, const bContextStore *context)
void UI_block_set_search_only(uiBlock *block, bool search_only)
void UI_but_node_link_set(uiBut *but, bNodeSocket *socket, const float draw_color[4])
void UI_block_lock_set(uiBlock *block, bool val, const char *lockstr)
AutoComplete * UI_autocomplete_begin(const char *startname, size_t maxncpy)
void uiItemMenuFN(uiLayout *layout, const char *name, int icon, uiMenuCreateFunc func, void *argN)
void uiItemTabsEnumR_prop(uiLayout *layout, bContext *C, PointerRNA *ptr, PropertyRNA *prop, PointerRNA *ptr_highlight, PropertyRNA *prop_highlight, bool icon_only)
void UI_widgetbase_draw_cache_begin()
void UI_autocomplete_update_name(AutoComplete *autocpl, const char *name)
PointerRNA * UI_region_panel_custom_data_under_cursor(const bContext *C, const wmEvent *event)
const char * UI_panel_category_active_get(ARegion *region, bool set_fallback)
uiBut * uiItemL_ex(uiLayout *layout, const char *name, int icon, bool highlight, bool redalert)
bool UI_context_copy_to_selected_check(PointerRNA *ptr, PointerRNA *ptr_link, PropertyRNA *prop, const char *path, bool use_path_from_id, PointerRNA *r_ptr, PropertyRNA **r_prop)
void uiItemPopoverPanel(uiLayout *layout, const bContext *C, const char *panel_type, const char *name, int icon)
void UI_but_flag_enable(uiBut *but, int flag)
void UI_region_free_active_but_all(bContext *C, ARegion *region)
@ UI_TEMPLATE_LIST_SORT_LOCK
@ UI_TEMPLATE_LIST_SORT_REVERSE
@ UI_TEMPLATE_LIST_NO_NAMES
@ UI_TEMPLATE_LIST_FLAGS_LAST
@ UI_TEMPLATE_LIST_FLAG_NONE
@ UI_TEMPLATE_LIST_NO_FILTER_OPTIONS
@ UI_TEMPLATE_LIST_NO_GRIP
void(*)(bContext &C, uiTooltipData &data, void *argN) uiButToolTipCustomFunc
void(*)(const wmRegionListenerParams *params, void *arg) uiButSearchListenFn
uiBut * uiDefAutoButR(uiBlock *block, PointerRNA *ptr, PropertyRNA *prop, int index, const char *name, int icon, int x, int y, int width, int height)
void UI_but_view_item_draw_size_set(uiBut *but, const std::optional< int > draw_width=std::nullopt, const std::optional< int > draw_height=std::nullopt)
std::optional< blender::StringRefNull > UI_but_asset_shelf_type_idname_get(const uiBut *but)
void uiItemM(uiLayout *layout, const char *menuname, const char *name, int icon)
uiBut * UI_region_views_find_active_item_but(const ARegion *region)
void uiItemR(uiLayout *layout, PointerRNA *ptr, const char *propname, eUI_Item_Flag flag, const char *name, int icon)
bool UI_but_flag_is_set(uiBut *but, int flag)
bool UI_but_has_tooltip_label(const uiBut *but)
wmOperatorType * UI_but_operatortype_get_from_enum_menu(uiBut *but, PropertyRNA **r_prop)
@ UI_BUT_HAS_TOOLTIP_LABEL
@ UI_BUT_ALIGN_STITCH_TOP
@ UI_BUT_ANIMATED_CHANGED
@ UI_BUT_ALIGN_STITCH_LEFT
@ UI_ITEM_R_SPLIT_EMPTY_NAME
@ UI_ITEM_R_TEXT_BUT_FORCE_SEMI_MODAL_ACTIVE
@ UI_ITEM_R_FORCE_BLANK_DECORATE
@ UI_ITEM_R_CHECKBOX_INVERT
std::optional< std::string > UI_key_event_operator_string(const bContext *C, const char *opname, IDProperty *properties, bool is_strict)
void uiTemplateComponentMenu(uiLayout *layout, PointerRNA *ptr, const char *propname, const char *name)
void uiTemplatePalette(uiLayout *layout, PointerRNA *ptr, const char *propname, bool colors)
void uiLayoutSetFunc(uiLayout *layout, uiMenuHandleFunc handlefunc, void *argv)
void uiLayoutSetContextPointer(uiLayout *layout, const char *name, PointerRNA *ptr)
blender::ui::AbstractViewItem * UI_region_views_find_item_at(const ARegion ®ion, const int xy[2])
void UI_popup_handlers_remove_all(bContext *C, ListBase *handlers)
void uiTemplateHeader(uiLayout *layout, bContext *C)
bool uiLayoutEndsWithPanelHeader(const uiLayout &layout)
const PointerRNA * UI_but_context_ptr_get(const uiBut *but, const char *name, const StructRNA *type=nullptr)
@ UI_BUT_ACTIVATE_ON_INIT
void UI_but_drag_set_name(uiBut *but, const char *name)
void uiTemplateImageInfo(uiLayout *layout, bContext *C, Image *ima, ImageUser *iuser)
void UI_block_bounds_set_explicit(uiBlock *block, int minx, int miny, int maxx, int maxy)
void UI_block_align_end(uiBlock *block)
int pad[32 - sizeof(int)]
local_group_size(16, 16) .push_constant(Type b
draw_view push_constant(Type::INT, "radiance_src") .push_constant(Type capture_info_buf storage_buf(1, Qualifier::READ, "ObjectBounds", "bounds_buf[]") .push_constant(Type draw_view int
void MEM_freeN(void *vmemh)
void *(* MEM_dupallocN)(const void *vmemh)
void template_asset_shelf_popover(uiLayout &layout, const bContext &C, StringRefNull asset_shelf_id, StringRefNull name, int icon)
uiBlockInteractionBeginFn begin_fn
uiBlockInteractionEndFn end_fn
uiBlockInteractionUpdateFn update_fn
uint unique_retval_ids_len
uiLayout * decorate_column