100#define UI_SEP_CHAR '|'
101#define UI_SEP_CHAR_S "|"
106#define UI_VALUE_INDETERMINATE_CHAR BLI_STR_UTF8_EM_DASH
112#define UI_MENU_ARROW_SEP BLI_STR_UTF8_BLACK_RIGHT_POINTING_SMALL_TRIANGLE
120#define UI_REGION_OVERLAP_MARGIN (U.widget_unit / 3)
123#define UI_SCREEN_MARGIN 10
293#define UI_DEFAULT_TEXT_POINTS 11.0f
296#define UI_DEFAULT_TITLE_POINTS 11.0f
299#define UI_DEFAULT_TOOLTIP_POINTS 11.0f
301#define UI_PANEL_WIDTH 340
302#define UI_COMPACT_PANEL_WIDTH 160
303#define UI_SIDEBAR_PANEL_WIDTH 280
304#define UI_NAVIGATION_REGION_WIDTH UI_COMPACT_PANEL_WIDTH
305#define UI_NARROW_NAVIGATION_REGION_WIDTH 100
308#define UI_TOOLBAR_COLUMN (1.25f * ICON_DEFAULT_HEIGHT_TOOLBAR)
310#define UI_TOOLBAR_MARGIN (0.5f * ICON_DEFAULT_HEIGHT_TOOLBAR)
312#define UI_TOOLBAR_WIDTH UI_TOOLBAR_MARGIN + UI_TOOLBAR_COLUMN
314#define UI_PANEL_CATEGORY_MARGIN_WIDTH (U.widget_unit * 1.0f)
317#define UI_PANEL_CATEGORY_MIN_WIDTH 26.0f
321#define UI_PANEL_MARGIN_X (U.widget_unit * 0.4f)
322#define UI_PANEL_MARGIN_Y (U.widget_unit * 0.1f)
400#define UI_BUT_POIN_TYPES (ButPointerType::Float | ButPointerType::Short | ButPointerType::Char)
471 switch (pointer_type) {
473 return sizeof(char) * 8;
475 return sizeof(short) * 8;
477 return sizeof(int) * 8;
535 const rctf *rect,
bool filled,
float rad,
const unsigned char col[3],
unsigned char alpha);
537 const rctf *rect,
bool filled,
float rad,
const float col[3],
float alpha);
539 const float inner1[4],
540 const float inner2[4],
542 const float outline[4],
547int UI_draw_roundbox_corner_get();
564 const float title_aspect[2],
565 const float action_aspect[2]);
596 bool clip_right_if_tight =
true);
601 char *clipped_str_buf,
602 const size_t max_len_clipped_str_buf,
603 const float max_line_width,
604 const int max_lines);
718#define UI_but_is_decorator(but) ((but)->type == ButType::Decorator)
759 const char *block_name,
879 std::optional<blender::StringRef> confirm_text,
880 std::optional<blender::StringRef> cancel_text,
923 const int xy[2] =
nullptr,
924 int r_xy[2] =
nullptr);
978#define UI_BUTTON_SECTION_MERGE_DISTANCE (UI_UNIT_X * 3)
980#define UI_BUTTON_SECTION_SEPERATOR_LINE_WITH (U.pixelsize * 2)
1132 std::optional<blender::StringRef> tip);
1144 std::optional<blender::StringRef> tip);
1156 std::optional<blender::StringRef> tip);
1169 std::optional<blender::StringRef> tip);
1181 std::optional<blender::StringRef> tip);
1194 std::optional<blender::StringRef> tip);
1206 std::optional<blender::StringRef> tip);
1219 std::optional<blender::StringRef> tip);
1223 std::optional<blender::StringRef>
str,
1233 std::optional<blender::StringRef> tip);
1237 std::optional<blender::StringRef>
str,
1247 std::optional<blender::StringRef> tip);
1252 const std::optional<blender::StringRef>
str,
1257 std::optional<blender::StringRef> tip);
1267 std::optional<blender::StringRef> tip);
1280 std::optional<blender::StringRef> tip);
1292 std::optional<blender::StringRef> tip);
1305 std::optional<blender::StringRef> tip);
1317 std::optional<blender::StringRef> tip);
1330 std::optional<blender::StringRef> tip);
1343 std::optional<blender::StringRef> tip);
1357 std::optional<blender::StringRef> tip);
1371 std::optional<blender::StringRef> tip);
1381 std::optional<blender::StringRef> tip);
1391 std::optional<blender::StringRef> tip);
1403 std::optional<blender::StringRef> tip);
1405 uiBlock *block,
void *imbuf,
int x,
int y,
short width,
short height,
const uchar color[4]);
1418 std::optional<blender::StringRef> tip);
1429 std::optional<blender::StringRef> tip);
1440 std::optional<blender::StringRef> tip);
1445 std::optional<blender::StringRefNull>
str,
1453 std::optional<blender::StringRef> tip);
1458 std::optional<blender::StringRef>
str,
1468 std::optional<blender::StringRef> tip);
1479 std::optional<blender::StringRef> tip);
1490 std::optional<blender::StringRef> tip);
1605 std::optional<blender::StringRef> tip);
1615 std::optional<blender::StringRef> tip);
1624 std::optional<blender::StringRef> tip);
1634 std::optional<blender::StringRef> tip);
1643 std::optional<blender::StringRef> tip,
1659 std::optional<blender::StringRef> tip);
1673 std::optional<blender::StringRef> tip);
1689 std::optional<blender::StringRef> tip);
1715 std::optional<blender::StringRef>
name,
1727 const int tot_width,
1776 uint8_t name_prefix_offset);
1811#define UI_SEARCHBOX_BOUNDS (6.0f * UI_SCALE_FAC)
1812#define UI_SEARCHBOX_TRIA_H (12.0f * UI_SCALE_FAC)
1851 const std::optional<int> draw_width = std::nullopt,
1852 const std::optional<int> draw_height = std::nullopt);
1865 std::function<
void(std::string &new_name)> rename_full_func);
1948 const bool is_pad =
false);
1984 const void *rna_poin_data,
1985 const char *rna_prop_id);
2019#define AUTOCOMPLETE_NO_MATCH 0
2020#define AUTOCOMPLETE_FULL_MATCH 1
2021#define AUTOCOMPLETE_PARTIAL_MATCH 2
2160 const char *panel_idname,
2170#define INSTANCED_PANEL_UNIQUE_STR_SIZE 16
2217#define UI_UNIT_X ((void)0, U.widget_unit)
2218#define UI_UNIT_Y ((void)0, U.widget_unit)
2220#define UI_HEADER_OFFSET \
2221 ((void)0, ((U.uiflag & USER_AREA_CORNER_HANDLE) ? 16.0f : 8.0f) * UI_SCALE_FAC)
2223#define UI_AZONESPOTW_LEFT UI_HEADER_OFFSET
2224#define UI_AZONESPOTW_RIGHT (8.0f * UI_SCALE_FAC)
2225#define UI_AZONESPOTH (0.6f * U.widget_unit)
2248#define UI_ALPHA_CHECKER_DARK 100
2249#define UI_ALPHA_CHECKER_LIGHT 160
2294 const char *unlinkop,
2296 bool live_icon =
false,
2297 std::optional<blender::StringRef> text = std::nullopt);
2304 const char *unlinkop,
2306 const char *text =
nullptr);
2313 const char *unlinkop,
2317 bool hide_buttons =
false);
2341 std::optional<blender::StringRef> text);
2356 const char *unlinkop,
2357 std::optional<blender::StringRef> text);
2368 const char *searchpropname,
2370 const char *unlinkop,
2371 std::optional<blender::StringRef> text = std::nullopt);
2377 const char *searchpropname,
2379 const char *unlinkop,
2382 std::optional<blender::StringRef> text = std::nullopt);
2394 std::optional<blender::StringRefNull> text);
2425 const char *preview_id);
2442 float icon_scale_popup);
2468 bool lock_luminosity,
2486 const char *used_propname,
2498 bool color_management,
2499 const char *panel_idname =
nullptr);
2529 bool text_fallback);
2577#define UI_UL_DEFAULT_CLASS_NAME "UI_UL_list"
2596 const char *listtype_name,
2597 const char *list_id,
2601 const char *active_propname,
2602 const char *item_dyntip_propname,
2610 const char *listtype_name,
2611 const char *list_id,
2616 const char *item_dyntip_propname,
2717 bool *r_use_path_from_id,
2718 std::optional<std::string> *r_path);
2723 bool use_path_from_id,
2767 bool *r_is_userdef);
2856 const float col_fg[4],
2857 const float col_bg[4]);
2959 const ARegion *searchbox_region,
2960 const rcti *item_rect,
2964#define UI_TOOLTIP_DELAY 0.5
2965#define UI_TOOLTIP_DELAY_QUICK 0.2
2972#define UI_PRECISION_FLOAT_MAX 6
2979#define UI_FLOAT_VALUE_DISPLAY_MAX 3.402820000e+38F
2980#define UI_FLOAT_VALUE_DISPLAY_MIN -3.402820000e+38F
2983#define UI_PRECISION_FLOAT_SCALE 0.01f
2986#define UI_FSTYLE_WIDGET (const uiFontStyle *)&(UI_style_get()->widget)
2987#define UI_FSTYLE_TOOLTIP (const uiFontStyle *)&(UI_style_get()->tooltip)
3013#define USE_UI_TOOLBAR_HACK
3016#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.
uiBut * uiDefButF(uiBlock *block, ButType type, int retval, blender::StringRef str, int x, int y, short width, short height, float *poin, float min, float max, std::optional< blender::StringRef > tip)
void UI_block_update_from_old(const bContext *C, uiBlock *block)
void UI_context_update_anim_flag(const bContext *C)
uiBut * uiDefButI(uiBlock *block, ButType type, int retval, blender::StringRef str, int x, int y, short width, short height, int *poin, float min, float max, std::optional< blender::StringRef > tip)
void UI_region_button_sections_draw(const ARegion *region, int colorid, uiButtonSectionsAlign align)
int UI_text_colorid_from_report_type(int type)
void UI_but_flag_disable(uiBut *but, int flag)
void UI_but_disable(uiBut *but, const char *disabled_hint)
uiBut * uiDefIconTextBut(uiBlock *block, uiButTypeWithPointerType but_and_ptr_type, int retval, int icon, blender::StringRef str, int x, int y, short width, short height, void *poin, std::optional< blender::StringRef > tip)
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)
@ UI_PROP_BUTS_ANY_FAILED_CHECK
@ UI_PROP_BUTS_NONE_ADDED
void UI_blocklist_update_window_matrix(const bContext *C, const ListBase *lb)
void UI_draw_roundbox_3ub_alpha(const rctf *rect, bool filled, float rad, const unsigned char col[3], unsigned char alpha)
void UI_panel_stop_animation(const bContext *C, Panel *panel)
void UI_but_placeholder_set(uiBut *but, blender::StringRef placeholder_text)
bool UI_panel_is_closed(const Panel *panel)
bool UI_textbutton_activate_rna(const bContext *C, ARegion *region, const void *rna_poin_data, const char *rna_prop_id)
void uiTemplateLightLinkingCollection(uiLayout *layout, bContext *C, uiLayout *context_layout, PointerRNA *ptr, blender::StringRefNull propname)
void uiTemplateMarker(uiLayout *layout, PointerRNA *ptr, blender::StringRefNull propname, PointerRNA *userptr, PointerRNA *trackptr, bool compact)
void UI_but_drag_attach_image(uiBut *but, const ImBuf *imb, float scale)
uiBut * uiDefButR(uiBlock *block, ButType type, int retval, std::optional< blender::StringRef > str, int x, int y, short width, short height, PointerRNA *ptr, blender::StringRefNull propname, int index, float min, float max, std::optional< blender::StringRef > tip)
void UI_draw_roundbox_4fv(const rctf *rect, bool filled, float rad, const float col[4])
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)
void uiTemplateLayers(uiLayout *layout, PointerRNA *ptr, blender::StringRefNull propname, PointerRNA *used_ptr, const char *used_propname, int active_layer)
uiList * UI_list_find_mouse_over(const ARegion *region, const wmEvent *event)
void UI_block_emboss_set(uiBlock *block, blender::ui::EmbossType emboss)
void UI_popover_end(bContext *C, uiPopover *pup, wmKeyMap *keymap)
void UI_panel_category_draw_all(ARegion *region, const char *category_id_active)
void uiTemplateIconView(uiLayout *layout, PointerRNA *ptr, blender::StringRefNull propname, bool show_labels, float icon_scale, float icon_scale_popup)
void uiTemplateStatusInfo(uiLayout *layout, bContext *C)
bool UI_but_active_drop_name(const bContext *C)
uiBut * uiDefIconButBitI(uiBlock *block, ButType type, int bit, int retval, int icon, int x, int y, short width, short height, int *poin, float min, float max, std::optional< blender::StringRef > tip)
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)
@ UI_BLOCK_MOVEMOUSE_QUIT
@ UI_BLOCK_NO_ACCELERATOR_KEYS
@ UI_BLOCK_NO_DRAW_OVERRIDDEN_STATE
@ UI_BLOCK_SHOW_SHORTCUT_ALWAYS
void UI_block_theme_style_set(uiBlock *block, char theme_style)
PanelCategoryDyn * UI_panel_category_find(const ARegion *region, const char *idname)
bool UI_panel_can_be_pinned(const Panel *panel)
void UI_but_focus_on_enter_event(wmWindow *win, uiBut *but)
void uiTemplateComponentMenu(uiLayout *layout, PointerRNA *ptr, blender::StringRefNull propname, blender::StringRef name)
void uiTemplateNodeView(uiLayout *layout, bContext *C, bNodeTree *ntree, bNode *node, bNodeSocket *input)
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)
uiBlock * UI_block_begin(const bContext *C, ARegion *region, std::string name, blender::ui::EmbossType emboss)
int UI_icon_from_keymap_item(const wmKeyMapItem *kmi, int r_icon_mod[KM_MOD_NUM])
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])
bool UI_view_item_drag_start(bContext &C, blender::ui::AbstractViewItem &item)
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])
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)
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)
uiPopupMenu * UI_popup_menu_begin_ex(bContext *C, const char *title, const char *block_name, int icon) ATTR_NONNULL()
bool UI_but_has_quick_tooltip(const uiBut *but)
void uiTemplateTextureUser(uiLayout *layout, bContext *C)
uiBut * uiDefIconTextButI(uiBlock *block, ButType type, int retval, int icon, blender::StringRef str, int x, int y, short width, short height, int *poin, std::optional< blender::StringRef > tip)
void UI_blocklist_free(const bContext *C, ARegion *region)
uiBut * uiDefMenuBut(uiBlock *block, uiMenuCreateFunc func, void *arg, blender::StringRef str, int x, int y, short width, short height, std::optional< blender::StringRef > tip)
void uiTemplateIcon(uiLayout *layout, int icon_value, float icon_scale)
void uiTemplateModifiers(uiLayout *layout, bContext *C)
void(*)(bContext *C, const uiBlockInteraction_Params *params, void *arg1, void *user_data) uiBlockInteractionUpdateFn
PointerRNA * UI_but_extra_operator_icon_add(uiBut *but, blender::StringRefNull opname, blender::wm::OpCallContext opcontext, int icon)
void uiTemplateRunningJobs(uiLayout *layout, bContext *C)
uiBut * uiDefIconTextMenuBut(uiBlock *block, uiMenuCreateFunc func, void *arg, int icon, blender::StringRef str, int x, int y, short width, short height, std::optional< blender::StringRef > tip)
bool(*)(const uiBut *a, const uiBut *b) uiButIdentityCompareFunc
void UI_but_color_set(uiBut *but, const uchar color[4])
void uiTemplateHistogram(uiLayout *layout, PointerRNA *ptr, blender::StringRefNull propname)
wmOperatorStatus UI_pie_menu_invoke(bContext *C, const char *idname, const wmEvent *event)
std::string UI_but_string_get_rna_label_context(const uiBut &but)
void UI_block_lock_clear(uiBlock *block)
void UI_but_func_search_set_results_are_suggestions(uiBut *but, bool value)
@ UI_BUT_ACTIVATE_ON_INIT
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 * uiDefIconBut(uiBlock *block, uiButTypeWithPointerType but_and_ptr_type, int retval, int icon, int x, int y, short width, short height, void *poin, float min, float max, std::optional< blender::StringRef > tip)
void UI_block_bounds_set_popup(uiBlock *block, int addval, const int bounds_offset[2])
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(*)(bContext *C, void *arg, char *origstr) uiButHandleRenameFunc
uiBlock * UI_region_block_find_mouse_over(const ARegion *region, const int xy[2], bool only_clip)
void uiTemplateNodeLink(uiLayout *layout, bContext *C, bNodeTree *ntree, bNode *node, bNodeSocket *input)
uiBut * UI_region_active_but_get(const ARegion *region)
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, std::optional< blender::StringRef > tip)
void UI_popup_block_invoke(bContext *C, uiBlockCreateFunc func, void *arg, uiFreeArgFunc arg_free)
void UI_but_menu_disable_hover_open(uiBut *but)
void UI_block_bounds_set_normal(uiBlock *block, int addval)
Panel * UI_panel_find_by_type(ListBase *lb, const PanelType *pt)
void uiTemplateConstraintHeader(uiLayout *layout, PointerRNA *ptr)
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)
ARegion * UI_region_searchbox_region_get(const ARegion *button_region)
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)
std::optional< int64_t > UI_but_context_int_get(const uiBut *but, blender::StringRef name)
bool UI_but_is_userdef(const uiBut *but)
bool UI_panel_matches_search_filter(const Panel *panel)
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)
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)
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)
const uiStyle * UI_style_get_dpi()
uiLayout * uiTemplateGpencilModifier(uiLayout *layout, bContext *C, PointerRNA *ptr)
void uiTemplateMovieclipInformation(uiLayout *layout, PointerRNA *ptr, blender::StringRefNull propname, PointerRNA *userptr)
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 uiTemplateIDTabs(uiLayout *layout, bContext *C, PointerRNA *ptr, blender::StringRefNull propname, const char *newop, const char *menu, int filter=UI_TEMPLATE_ID_FILTER_ALL)
void UI_but_func_menu_step_set(uiBut *but, uiMenuStepFunc func)
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 uiTemplateColorPicker(uiLayout *layout, PointerRNA *ptr, blender::StringRefNull propname, bool value_slider, bool lock, bool lock_luminosity, bool cubic)
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
uiList * uiTemplateList_ex(uiLayout *layout, const bContext *C, const char *listtype_name, const char *list_id, PointerRNA *dataptr, blender::StringRefNull propname, PointerRNA *active_dataptr, blender::StringRefNull active_propname, const char *item_dyntip_propname, int rows, int maxrows, int layout_type, int columns, enum uiTemplateListFlags flags, void *customdata)
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 uiTemplateMovieClip(uiLayout *layout, bContext *C, PointerRNA *ptr, blender::StringRefNull propname, bool compact)
void UI_block_flag_disable(uiBlock *block, int flag)
uiBut * uiDefIconButBitS(uiBlock *block, ButType type, int bit, int retval, int icon, int x, int y, short width, short height, short *poin, float min, float max, std::optional< blender::StringRef > tip)
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)
void UI_but_drawflag_enable(uiBut *but, int flag)
void UI_butstore_update(uiBlock *block)
void uiTemplateHeader3D_mode(uiLayout *layout, bContext *C)
int UI_but_return_value_get(uiBut *but)
void uiTemplateColormanagedViewSettings(uiLayout *layout, bContext *C, PointerRNA *ptr, blender::StringRefNull propname)
void UI_but_func_search_set_tooltip(uiBut *but, uiButSearchTooltipFn tooltip_fn)
void uiTemplateReportsBanner(uiLayout *layout, bContext *C)
@ UI_BUT2_FORCE_SEMI_MODAL_ACTIVE
@ UI_BUT2_ACTIVATE_ON_INIT_NO_SELECT
void uiDefAutoButsArrayR(uiBlock *block, PointerRNA *ptr, PropertyRNA *prop, const int icon, const int x, const int y, const int tot_width, const int height)
uiBut * UI_but_find_mouse_over(const ARegion *region, const wmEvent *event) ATTR_WARN_UNUSED_RESULT
PointerRNA * UI_but_extra_operator_icon_opptr_get(const uiButExtraOpIcon *extra_icon)
uiBut * uiDefSearchBut(uiBlock *block, void *arg, int retval, int icon, int maxncpy, int x, int y, short width, short height, std::optional< blender::StringRef > tip)
uiBut * uiDefIconButR(uiBlock *block, ButType type, int retval, int icon, int x, int y, short width, short height, PointerRNA *ptr, blender::StringRefNull propname, int index, float min, float max, std::optional< blender::StringRef > tip)
ARegion * UI_tooltip_create_from_button(bContext *C, ARegion *butregion, uiBut *but, bool is_quick_tip)
void UI_but_flag2_enable(uiBut *but, int flag)
void uiTemplateImageSettings(uiLayout *layout, bContext *C, PointerRNA *imfptr, bool color_management, const char *panel_idname=nullptr)
void UI_but_drag_set_image(uiBut *but, const char *path, int icon, const ImBuf *imb, float scale)
void uiTemplateAnyID(uiLayout *layout, PointerRNA *ptr, blender::StringRefNull propname, blender::StringRefNull proptypename, std::optional< blender::StringRef > text)
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)
uiBut * uiDefIconTextButO(uiBlock *block, ButType type, blender::StringRefNull, blender::wm::OpCallContext opcontext, int icon, blender::StringRef str, int x, int y, short width, short height, std::optional< blender::StringRef > tip)
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)
bool uiTemplateCacheFilePointer(PointerRNA *ptr, blender::StringRefNull propname, PointerRNA *r_file_ptr)
std::string UI_but_string_get_operator_keymap(bContext &C, uiBut &but)
void uiTemplateMenuSearch(uiLayout *layout)
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
uiBut * uiDefIconButBitC(uiBlock *block, ButType type, int bit, int retval, int icon, int x, int y, short width, short height, char *poin, float min, float max, std::optional< blender::StringRef > tip)
uiPieMenu * UI_pie_menu_begin(bContext *C, const char *title, int icon, const wmEvent *event) ATTR_NONNULL()
wmOperatorStatus UI_popover_panel_invoke(bContext *C, const char *idname, bool keep_open, ReportList *reports)
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)
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)
bool UI_popup_block_name_exists(const bScreen *screen, blender::StringRef name)
void uiTemplateImageViews(uiLayout *layout, PointerRNA *imaptr)
int UI_searchbox_size_x_guess(const bContext *C, const uiButSearchUpdateFn update_fn, void *arg)
uiBut * uiDefIconButO(uiBlock *block, ButType type, blender::StringRefNull opname, blender::wm::OpCallContext opcontext, int icon, int x, int y, short width, short height, std::optional< blender::StringRef > tip)
int UI_fontstyle_height_max(const uiFontStyle *fs)
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 UI_but_context_int_set(uiBlock *block, uiBut *but, blender::StringRef name, int64_t value)
void UI_editsource_but_replace(const uiBut *old_but, uiBut *new_but)
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
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)
@ UI_TEMPLATE_ID_FILTER_AVAILABLE
@ UI_TEMPLATE_ID_FILTER_ALL
void UI_fontstyle_draw_rotated(const uiFontStyle *fs, const rcti *rect, const char *str, const uchar col[4])
uiLayout * UI_popover_layout(uiPopover *pup)
void UI_update_text_styles()
uiBut * uiDefButR_prop(uiBlock *block, ButType type, int retval, std::optional< blender::StringRef > str, int x, int y, short width, short height, PointerRNA *ptr, PropertyRNA *prop, int index, float min, float max, std::optional< blender::StringRef > tip)
void UI_butstore_unregister(uiButStore *bs_handle, uiBut **but_p)
uiBut * uiDefButS(uiBlock *block, ButType type, int retval, blender::StringRef str, int x, int y, short width, short height, short *poin, float min, float max, std::optional< blender::StringRef > tip)
blender::Vector< blender::StringRef > UI_text_clip_multiline_middle(const uiFontStyle *fstyle, const char *str, char *clipped_str_buf, const size_t max_len_clipped_str_buf, const float max_line_width, const int max_lines)
uiBut * uiDefIconTextButR_prop(uiBlock *block, ButType type, int retval, int icon, std::optional< blender::StringRef > str, int x, int y, short width, short height, PointerRNA *ptr, PropertyRNA *prop, int index, float min, float max, std::optional< blender::StringRef > tip)
uiBut * uiDefAutoButR(uiBlock *block, PointerRNA *ptr, PropertyRNA *prop, int index, std::optional< blender::StringRef > name, int icon, int x, int y, int width, int height)
void UI_view_item_begin_rename(blender::ui::AbstractViewItem &item)
void(*)(bContext *C, const uiBlockInteraction_Params *params, void *arg1, void *user_data) uiBlockInteractionEndFn
bool UI_butstore_register_update(uiBlock *block, uiBut *but_dst, const uiBut *but_src)
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 uiTemplateFileSelectPath(uiLayout *layout, bContext *C, FileSelectParams *params)
ARegion * UI_tooltip_create_from_button_or_extra_icon(bContext *C, ARegion *butregion, uiBut *but, uiButExtraOpIcon *extra_icon, bool is_quick_tip)
void(*)(bContext *C, void *arg, int event) uiBlockHandleFunc
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)
bool UI_search_item_add(uiSearchItems *items, blender::StringRef name, void *poin, int iconid, int but_flag, uint8_t name_prefix_offset)
void UI_but_number_slider_precision_set(uiBut *but, float precision)
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 UI_editsource_active_but_test(uiBut *but)
bool UI_panel_is_active(const Panel *panel)
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)
ARegion *(*)(bContext *C, ARegion *butregion, uiButSearch *search_but) uiButSearchCreateFn
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 uiTemplateNodeTreeInterface(uiLayout *layout, const bContext *C, PointerRNA *ptr)
void UI_but_type_set_menu_from_pulldown(uiBut *but)
void UI_fontstyle_set(const uiFontStyle *fs)
void UI_draw_roundbox_3fv_alpha(const rctf *rect, bool filled, float rad, const float col[3], float alpha)
void uiTemplateMatrix(uiLayout *layout, PointerRNA *ptr, blender::StringRefNull propname)
uiBut * uiDefIconTextButS(uiBlock *block, ButType type, int retval, int icon, blender::StringRef str, int x, int y, short width, short height, short *poin, std::optional< blender::StringRef > tip)
void UI_but_drag_set_path(uiBut *but, const char *path)
uiBut * uiDefBlockBut(uiBlock *block, uiBlockCreateFunc func, void *arg, blender::StringRef str, int x, int y, short width, short height, std::optional< blender::StringRef > tip)
@ UI_BLOCK_BOUNDS_PIE_CENTER
@ UI_BLOCK_BOUNDS_POPUP_MOUSE
@ UI_BLOCK_BOUNDS_POPUP_CENTER
@ UI_BLOCK_BOUNDS_POPUP_MENU
uiBut * uiDefButAlert(uiBlock *block, int icon, int x, int y, short width, short height)
void UI_tooltip_uibut_python_add(uiTooltipData &data, bContext &C, uiBut &but, uiButExtraOpIcon *extra_icon)
void UI_panel_category_clear_all(ARegion *region)
bool uiTemplateEventFromKeymapItem(uiLayout *layout, blender::StringRefNull text, const wmKeyMapItem *kmi, bool text_fallback)
void uiTemplateColorRamp(uiLayout *layout, PointerRNA *ptr, blender::StringRefNull propname, bool expand)
void uiTemplateCurveMapping(uiLayout *layout, PointerRNA *ptr, blender::StringRefNull propname, int type, bool levels, bool brush, bool neg_slope, bool tone, bool presets)
std::optional< std::string > UI_but_online_manual_id(const uiBut *but) ATTR_WARN_UNUSED_RESULT
uiBlock *(*)(bContext *C, ARegion *region, void *arg1) uiBlockCreateFunc
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)
uiBut * UI_context_active_but_prop_get(const bContext *C, PointerRNA *r_ptr, PropertyRNA **r_prop, int *r_index)
PointerRNA * UI_but_operator_ptr_ensure(uiBut *but)
ARegion *(*)(bContext *C, ARegion *region, const rcti *item_rect, void *arg, void *active) uiButSearchTooltipFn
void UI_block_func_set(uiBlock *block, uiButHandleFunc func, void *arg1, void *arg2)
int(*)(bContext *C, char *str, void *arg) uiButCompleteFunc
PanelCategoryStack * UI_panel_category_active_find(ARegion *region, const char *idname)
void UI_but_func_search_set_context_menu(uiBut *but, uiButSearchContextMenuFn context_menu_fn)
float UI_text_clip_middle_ex(const uiFontStyle *fstyle, char *str, float okwidth, float minwidth, size_t max_len, char rpart_sep, bool clip_right_if_tight=true)
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])
uiBut * uiDefIconButI(uiBlock *block, ButType type, int retval, int icon, int x, int y, short width, short height, int *poin, float min, float max, std::optional< blender::StringRef > tip)
uiBut * uiDefIconButR_prop(uiBlock *block, ButType type, int retval, int icon, int x, int y, short width, short height, PointerRNA *ptr, PropertyRNA *prop, int index, float min, float max, std::optional< blender::StringRef > tip)
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)
uiBut * uiDefIconButO_ptr(uiBlock *block, ButType type, wmOperatorType *ot, blender::wm::OpCallContext opcontext, int icon, int x, int y, short width, short height, std::optional< blender::StringRef > tip)
void UI_but_drawflag_disable(uiBut *but, int flag)
void UI_block_draw(const bContext *C, uiBlock *block)
bool(*)(bContext *C, void *arg, void *active, const wmEvent *event) uiButSearchContextMenuFn
void uiTemplateID(uiLayout *layout, const bContext *C, PointerRNA *ptr, blender::StringRefNull propname, const char *newop, const char *openop, const char *unlinkop, int filter=UI_TEMPLATE_ID_FILTER_ALL, bool live_icon=false, std::optional< blender::StringRef > text=std::nullopt)
void UI_but_dragflag_disable(uiBut *but, int flag)
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)
void uiTemplateIDBrowse(uiLayout *layout, bContext *C, PointerRNA *ptr, blender::StringRefNull propname, const char *newop, const char *openop, const char *unlinkop, int filter=UI_TEMPLATE_ID_FILTER_ALL, const char *text=nullptr)
void uiTemplateSearchPreview(uiLayout *layout, bContext *C, PointerRNA *ptr, blender::StringRefNull propname, PointerRNA *searchptr, const char *searchpropname, const char *newop, const char *unlinkop, int rows, int cols, std::optional< blender::StringRef > text=std::nullopt)
void UI_context_active_but_clear(bContext *C, wmWindow *win, ARegion *region)
void uiTemplateNodeSocket(uiLayout *layout, bContext *C, const float color[4])
void uiTemplateTrack(uiLayout *layout, PointerRNA *ptr, blender::StringRefNull propname)
uiBut * uiDefButBitS(uiBlock *block, ButType type, int bit, int retval, blender::StringRef str, int x, int y, short width, short height, short *poin, float min, float max, std::optional< blender::StringRef > tip)
bool UI_butstore_is_registered(uiBlock *block, uiBut *but)
void uiTemplatePalette(uiLayout *layout, PointerRNA *ptr, blender::StringRefNull propname, bool colors)
void UI_block_bounds_set_text(uiBlock *block, int addval)
void *(*)(bContext *C, const uiBlockInteraction_Params *params, void *arg1) uiBlockInteractionBeginFn
void UI_but_func_set(uiBut *but, uiButHandleFunc func, void *arg1, void *arg2)
void uiTemplateIDPreview(uiLayout *layout, bContext *C, PointerRNA *ptr, blender::StringRefNull 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)
PanelType * UI_but_paneltype_get(const uiBut *but)
bool UI_popup_menu_end_or_cancel(bContext *C, uiPopupMenu *pup)
void UI_block_align_begin(uiBlock *block)
int UI_searchbox_size_y()
void uiTemplateStripModifiers(uiLayout *layout, bContext *C)
void UI_style_init_default()
void UI_but_drag_set_asset(uiBut *but, const blender::asset_system::AssetRepresentation *asset, const AssetImportSettings &import_settings, int icon, int preview_icon)
void UI_but_context_ptr_set(uiBlock *block, uiBut *but, blender::StringRef name, const PointerRNA *ptr)
uiBut * uiDefIconButS(uiBlock *block, ButType type, int retval, int icon, int x, int y, short width, short height, short *poin, float min, float max, std::optional< blender::StringRef > tip)
bool UI_butstore_is_valid(uiButStore *bs_handle)
void uiTemplateCollectionExporters(uiLayout *layout, bContext *C)
void uiTemplateWaveform(uiLayout *layout, PointerRNA *ptr, blender::StringRefNull propname)
void UI_butstore_register(uiButStore *bs_handle, uiBut **but_p)
void UI_blocklist_free_inactive(const bContext *C, ARegion *region)
void uiTemplateOperatorRedoProperties(uiLayout *layout, const bContext *C)
void UI_butstore_clear(uiBlock *block)
uiBut * UI_but_active_drop_name_button(const bContext *C)
void(*)(bContext *C, ARegion *butregion, uiBut *but) uiButHandleHoldFunc
uiBut * UI_context_active_but_get_respect_popup(const bContext *C)
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)
void uiTemplateNodeInputs(uiLayout *layout, bContext *C, PointerRNA *ptr)
void UI_autocomplete_update_name(AutoComplete *autocpl, blender::StringRef name)
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)
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)
int uiTemplateRecentFiles(uiLayout *layout, int rows)
void UI_panel_category_active_set_default(ARegion *region, const char *idname)
uiBut * uiDefIconMenuBut(uiBlock *block, uiMenuCreateFunc func, void *arg, int icon, int x, int y, short width, short height, std::optional< blender::StringRef > tip)
void UI_but_operator_set_never_call(uiBut *but)
void UI_fontstyle_draw_multiline_clipped(const uiFontStyle *fs, const rcti *rect, const char *str, const uchar col[4], eFontStyle_Align align)
blender::ui::EmbossType UI_block_emboss_get(uiBlock *block)
void UI_blocklist_draw(const bContext *C, const ListBase *lb)
int UI_blocklist_min_y_get(ListBase *lb)
int int UI_fontstyle_string_width_with_block_aspect(const uiFontStyle *fs, blender::StringRef str, float aspect) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
void uiTemplateGpencilColorPreview(uiLayout *layout, bContext *C, PointerRNA *ptr, blender::StringRefNull propname, int rows, int cols, float scale, int filter)
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)
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 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)
wmOperatorStatus UI_popup_menu_invoke(bContext *C, const char *idname, ReportList *reports) ATTR_NONNULL(1
void(*)(const bContext *C, void *arg, const char *str, uiSearchItems *items, bool is_first) uiButSearchUpdateFn
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 uiTemplatePathBuilder(uiLayout *layout, PointerRNA *ptr, blender::StringRefNull propname, PointerRNA *root_ptr, std::optional< blender::StringRefNull > text)
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 * uiDefIconTextButO_ptr(uiBlock *block, ButType type, wmOperatorType *ot, blender::wm::OpCallContext opcontext, int icon, blender::StringRef str, int x, int y, short width, short height, std::optional< blender::StringRef > tip)
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 UI_popup_block_template_confirm_op(uiLayout *layout, wmOperatorType *ot, std::optional< blender::StringRef > confirm_text, std::optional< blender::StringRef > cancel_text, const int icon, bool cancel_default, PointerRNA *r_ptr)
void uiTemplateTextureShow(uiLayout *layout, const bContext *C, PointerRNA *ptr, PropertyRNA *prop)
void(*)(bContext *C, void *argN, void *arg2) uiButHandleNFunc
void uiTemplateGreasePencilLayerTree(uiLayout *layout, bContext *C)
int UI_icon_from_event_type(short event_type, short event_value)
uiBut * uiDefIconTextButR(uiBlock *block, ButType type, int retval, int icon, std::optional< blender::StringRefNull > str, int x, int y, short width, short height, PointerRNA *ptr, blender::StringRefNull propname, int index, std::optional< blender::StringRef > tip)
void UI_but_tooltip_refresh(bContext *C, uiBut *but)
void uiTemplateList(uiLayout *layout, const bContext *C, const char *listtype_name, const char *list_id, PointerRNA *dataptr, blender::StringRefNull 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)
int UI_preview_tile_size_x(const int size_px=96)
void UI_popup_menu_reports(bContext *C, ReportList *reports) ATTR_NONNULL()
void ED_keymap_ui(wmKeyConfig *keyconf)
User Interface Keymap.
void uiTemplateCurveProfile(uiLayout *layout, PointerRNA *ptr, blender::StringRefNull propname)
std::string UI_but_extra_icon_string_get_label(const uiButExtraOpIcon &extra_icon)
void UI_block_free(const bContext *C, uiBlock *block)
void(*)(bContext *C, void *arg1, void *arg2) uiButHandleFunc
bool UI_but_active_drop_color(bContext *C)
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 uiTemplateAction(uiLayout *layout, const bContext *C, ID *id, const char *newop, const char *unlinkop, std::optional< blender::StringRef > text)
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)
@ UI_BLOCK_THEME_STYLE_REGULAR
@ UI_BLOCK_THEME_STYLE_POPUP
const PointerRNA * UI_but_context_ptr_get(const uiBut *but, blender::StringRef name, const StructRNA *type=nullptr)
void UI_butstore_free(uiBlock *block, uiButStore *bs_handle)
uiBut * uiDefButO(uiBlock *block, ButType type, blender::StringRefNull opname, blender::wm::OpCallContext opcontext, const std::optional< blender::StringRef > str, int x, int y, short width, short height, std::optional< blender::StringRef > tip)
void UI_but_ensure_in_view(const bContext *C, ARegion *region, const uiBut *but)
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)
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)
void UI_panel_header_buttons_end(Panel *panel)
void UI_tooltip_color_field_add(uiTooltipData &data, const blender::float4 &color, bool has_alpha, bool is_gamma, const ColorManagedDisplay *display, uiTooltipColorID color_id)
bool UI_panel_is_dragging(const Panel *panel)
uiBut * uiDefButBitC(uiBlock *block, ButType type, int bit, int retval, blender::StringRef str, int x, int y, short width, short height, char *poin, float min, float max, std::optional< blender::StringRef > tip)
void UI_but_func_search_set_listen(uiBut *but, uiButSearchListenFn listen_fn)
uiBut * uiDefButO_ptr(uiBlock *block, ButType type, wmOperatorType *ot, blender::wm::OpCallContext opcontext, blender::StringRef str, int x, int y, short width, short height, std::optional< blender::StringRef > tip)
void uiTemplateVectorscope(uiLayout *layout, PointerRNA *ptr, blender::StringRefNull propname)
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)
void UI_but_operator_set(uiBut *but, wmOperatorType *optype, blender::wm::OpCallContext opcontext, const PointerRNA *opptr=nullptr)
void UI_block_flag_enable(uiBlock *block, int flag)
uiBut * uiDefIconBlockBut(uiBlock *block, uiBlockCreateFunc func, void *arg, int retval, int icon, int x, int y, short width, short height, std::optional< blender::StringRef > tip)
@ UI_TEMPLATE_OP_PROPS_HIDE_ADVANCED
@ UI_TEMPLATE_OP_PROPS_SHOW_EMPTY
@ UI_TEMPLATE_OP_PROPS_ALLOW_UNDO_PUSH
@ UI_TEMPLATE_OP_PROPS_SHOW_TITLE
@ UI_TEMPLATE_OP_PROPS_HIDE_PRESETS
@ UI_TEMPLATE_OP_PROPS_COMPACT
@ UI_TEMPLATE_OP_PROPS_NO_SPLIT_LAYOUT
std::string UI_but_string_get_rna_struct_identifier(const uiBut &but)
const bContextStore * UI_but_context_get(const uiBut *but)
const ColorManagedDisplay * UI_but_cm_display_get(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)
@ UI_BUT_HAS_QUICK_TOOLTIP
@ UI_BUT_NO_PREVIEW_PADDING
@ UI_BUT_ALIGN_STITCH_TOP
@ UI_BUT_ANIMATED_CHANGED
@ UI_BUT_ALIGN_STITCH_LEFT
int UI_preview_tile_size_y_no_label(const int size_px=96)
void UI_theme_init_default()
void uiTemplateColorspaceSettings(uiLayout *layout, PointerRNA *ptr, blender::StringRefNull propname)
void uiTemplateImage(uiLayout *layout, bContext *C, PointerRNA *ptr, blender::StringRefNull propname, PointerRNA *userptr, bool compact, bool multiview)
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 UI_popup_handlers_remove(ListBase *handlers, uiPopupBlockHandle *popup)
void UI_panel_context_pointer_set(Panel *panel, const char *name, PointerRNA *ptr)
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)
uiBut * uiDefButBitI(uiBlock *block, ButType type, int bit, int retval, blender::StringRef str, int x, int y, short width, short height, int *poin, float min, float max, std::optional< blender::StringRef > tip)
void uiTemplateShaderFx(uiLayout *layout, bContext *C)
void UI_but_unit_type_set(uiBut *but, int unit_type)
void UI_block_end_ex(const bContext *C, Main *bmain, wmWindow *window, Scene *scene, ARegion *region, Depsgraph *depsgraph, uiBlock *block, const int xy[2]=nullptr, int r_xy[2]=nullptr)
bool UI_but_is_color_gamma(uiBut &but)
bool UI_but_is_tool(const uiBut *but)
std::optional< blender::StringRefNull > UI_but_context_string_get(const uiBut *but, blender::StringRef name)
void UI_widgetbase_draw_cache_flush()
void UI_region_handlers_add(ListBase *handlers)
void UI_block_end(const bContext *C, uiBlock *block)
uiBut * uiDefButC(uiBlock *block, ButType type, int retval, blender::StringRef str, int x, int y, short width, short height, char *poin, float min, float max, std::optional< blender::StringRef > tip)
void UI_but_search_preview_grid_size_set(uiBut *but, int rows, int cols)
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 UI_but_func_quick_tooltip_set(uiBut *but, std::function< std::string(const uiBut *but)> func)
uiBut * uiDefBut(uiBlock *block, uiButTypeWithPointerType but_and_ptr_type, int retval, blender::StringRef str, int x, int y, short width, short height, void *poin, float min, float max, std::optional< blender::StringRef > tip)
void UI_widgetbase_draw_cache_begin()
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)
wmOperatorStatus void UI_popup_menu_close(const uiBlock *block, bool is_cancel=false)
uiBut * uiDefIconPreviewBut(uiBlock *block, ButType type, int retval, int icon, int x, int y, short width, short height, void *poin, float min, float max, std::optional< blender::StringRef > tip)
void uiTemplateSearch(uiLayout *layout, const bContext *C, PointerRNA *ptr, blender::StringRefNull propname, PointerRNA *searchptr, const char *searchpropname, const char *newop, const char *unlinkop, std::optional< blender::StringRef > text=std::nullopt)
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 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
uiBut * uiDefBlockButN(uiBlock *block, uiBlockCreateFunc func, void *argN, blender::StringRef str, int x, int y, short width, short height, std::optional< blender::StringRef > tip, uiButArgNFree func_argN_free_fn=MEM_freeN, uiButArgNCopy func_argN_copy_fn=MEM_dupallocN)
void(*)(const wmRegionListenerParams *params, void *arg) uiButSearchListenFn
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)
uiBut * UI_region_views_find_active_item_but(const ARegion *region)
void UI_fontstyle_draw_multiline_clipped_ex(const uiFontStyle *fs, const rcti *rect, const char *str, const uchar col[4], eFontStyle_Align align, int *r_xofs, int *r_yofs, ResultBLF *r_info)
void uiTemplateCacheFile(uiLayout *layout, const bContext *C, PointerRNA *ptr, blender::StringRefNull propname)
bool UI_but_flag_is_set(uiBut *but, int flag)
wmOperatorType * UI_but_operatortype_get_from_enum_menu(uiBut *but, PropertyRNA **r_prop)
void uiTemplateCryptoPicker(uiLayout *layout, PointerRNA *ptr, blender::StringRefNull propname, int icon)
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)
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)
void(*)(void *arg) uiFreeArgFunc
void(*)(bContext *C, uiLayout *layout, void *arg1) uiMenuCreateFunc
std::string(*)(bContext *C, void *argN, blender::StringRef tip) uiButToolTipFunc
void(*)(bContext &C, uiTooltipData &data, uiBut *but, void *argN) uiButToolTipCustomFunc
blender::ocio::Display ColorManagedDisplay
bool(*)(bContext *C, int direction, void *arg1) uiMenuStepFunc
int pad[32 - sizeof(int)]
BMesh const char void * data
BPy_StructRNA * depsgraph
void * MEM_dupallocN(const void *vmemh)
void MEM_freeN(void *vmemh)
void template_tree(uiLayout *layout, bContext *C)
char but_pointer_bit_max_index(ButPointerType pointer_type)
void template_asset_shelf_popover(uiLayout &layout, const bContext &C, StringRefNull asset_shelf_id, StringRef name, int icon)
VecBase< float, 4 > float4
uiBlockInteractionBeginFn begin_fn
uiBlockInteractionEndFn end_fn
uiBlockInteractionUpdateFn update_fn
uint unique_retval_ids_len
uiButTypeWithPointerType(ButType bt)
uiButTypeWithPointerType(ButType bt, ButPointerType pt)
ButPointerType pointer_type
uiButTypeWithPointerType(ButType bt, ButPointerType pt, int i)