56#define RNA_NO_INDEX -1
57#define RNA_ENUM_VALUE -2
59#define UI_MENU_PADDING (int)(0.2f * UI_UNIT_Y)
61#define UI_MENU_WIDTH_MIN (UI_UNIT_Y * 9)
63#define UI_MENU_SUBMENU_PADDING (6 * UI_SCALE_FAC)
66#define UI_MENU_SCROLL_ARROW (12 * UI_SCALE_FAC)
67#define UI_MENU_SCROLL_MOUSE (UI_MENU_SCROLL_ARROW + 2 * UI_SCALE_FAC)
68#define UI_MENU_SCROLL_PAD (4 * UI_SCALE_FAC)
71#define UI_POPOVER_WIDTH_UNITS 10
116#define UI_RADIAL_DIRECTION_NEXT(dir) RadialDirection((int(dir) + 1) % (int(UI_RADIAL_NW) + 1))
118#define UI_RADIAL_DIRECTION_PREV(dir) \
119 RadialDirection(((int(dir) + int(UI_RADIAL_NW))) % (int(UI_RADIAL_NW) + 1))
122#define UI_RADIAL_MASK_ALL_DIAGONAL \
123 ((1 << int(UI_RADIAL_NE)) | (1 << int(UI_RADIAL_SE)) | (1 << int(UI_RADIAL_SW)) | \
124 (1 << int(UI_RADIAL_NW)))
125#define UI_RADIAL_MASK_ALL_AXIS_ALIGNED \
126 ((1 << int(UI_RADIAL_N)) | (1 << int(UI_RADIAL_S)) | (1 << int(UI_RADIAL_E)) | \
127 (1 << int(UI_RADIAL_W)))
134#define PNL_HEADER (UI_UNIT_Y * 1.25)
138#define UI_BITBUT_TEST(a, b) (((a) & (1 << (b))) != 0)
139#define UI_BITBUT_VALUE_TOGGLED(a, b) ((a) ^ (1 << (b)))
140#define UI_BITBUT_VALUE_ENABLED(a, b) ((a) | (1 << (b)))
141#define UI_BITBUT_VALUE_DISABLED(a, b) ((a) & ~(1 << (b)))
144#define UI_BITBUT_ROW(min, max) \
145 (((max) >= 31 ? 0xFFFFFFFF : (1 << ((max) + 1)) - 1) - ((min) ? ((1 << (min)) - 1) : 0))
148#define USE_NUMBUTS_LR_ALIGN
151#define USE_UIBUT_SPATIAL_ALIGN
169#define PIE_CLICK_THRESHOLD_SQ 50.0f
172#define PIE_MAX_ITEMS 8
239 const char *
tip =
nullptr;
699 const rctf *rct_src);
703 const rctf *rct_src);
713 const rctf *rct_src);
752 const rcti *rect,
float mx,
float my,
float *r_val_rad,
float *r_val_dist);
757 const ColorPicker *cpicker,
const rcti *rect,
const float *hsv,
float *r_xpos,
float *r_ypos);
759 const uiButHSVCube *hsv_but,
const rcti *rect,
const float *hsv,
float *r_xp,
float *r_yp);
1051 const char *propname,
1079 const uiBut *active_but);
1088 bool show_background,
1089 bool region_search_filter_active);
1093 float subpanel_backcolor[4]);
1122 uchar highlight_fade[3]);
1221#ifdef WITH_INPUT_IME
1222void ui_but_ime_reposition(
uiBut *but,
int x,
int y,
bool complete);
1223const wmIMEData *ui_but_ime_data_get(
uiBut *but);
1326 const uchar text_col[4],
1328 bool draw_as_icon =
false);
1330#define UI_TEXT_MARGIN_X 0.4f
1331#define UI_POPUP_MARGIN (UI_SCALE_FAC * 12)
1336#define UI_POPUP_MENU_TOP (int)(10 * UI_SCALE_FAC)
1338#define UI_PIXEL_AA_JITTER 8
1359 float x,
float y,
int w,
int h,
int icon_id,
float aspect,
float alpha,
bool inverted);
1383 bool results_are_suggestions);
1491 const
void *find_custom_data)
1631 bContext *
C,
Main *bmain,
ID *owner_id,
ID *
id,
const char **r_undo_push_label);
#define ATTR_WARN_UNUSED_RESULT
#define ATTR_NONNULL(...)
#define ENUM_OPERATORS(_type, _max)
These structs are the foundation for all linked lists in the library system.
Group Output data from inside of a node group A color picker Mix two input colors RGB to Convert a color s luminance to a grayscale value Generate a normal vector and a dot product Brightness Control the brightness and contrast of the input color Vector Map input vector components with curves Camera Retrieve information about the camera and how it relates to the current shading point s position Clamp a value between a minimum and a maximum Vector Perform vector math operation Invert Invert a color
void(*)(void *arg) uiFreeArgFunc
std::string(*)(bContext *C, void *argN, const char *tip) uiButToolTipFunc
bool(*)(const uiBut *a, const uiBut *b) uiButIdentityCompareFunc
void(*)(bContext *C, uiLayout *layout, void *arg1) uiMenuCreateFunc
void(*)(const bContext *C, void *arg, const char *str, uiSearchItems *items, bool is_first) uiButSearchUpdateFn
void(*)(bContext *C, void *arg, char *origstr) uiButHandleRenameFunc
@ UI_BUT_PROGRESS_TYPE_BAR
void *(*)(const void *argN) uiButArgNCopy
void(*)(void *argN) uiButArgNFree
void(*)(bContext *C, void *arg, int event) uiBlockHandleFunc
bool(*)(bContext *C, void *arg, void *active, const wmEvent *event) uiButSearchContextMenuFn
int(*)(bContext *C, char *str, void *arg) uiButCompleteFunc
ARegion *(*)(bContext *C, ARegion *region, const rcti *item_rect, void *arg, void *active) uiButSearchTooltipFn
void(*)(bContext *C, ARegion *butregion, uiBut *but) uiButHandleHoldFunc
void(*)(bContext *C, void *argN, void *arg2) uiButHandleNFunc
void(*)(bContext *C, void *arg1, void *arg2) uiButHandleFunc
ARegion *(*)(bContext *C, ARegion *butregion, uiButSearch *search_but) uiButSearchCreateFn
bool(*)(bContext *C, int direction, void *arg1) uiMenuStepFunc
uiBlock *(*)(bContext *C, ARegion *region, void *arg1) uiBlockCreateFunc
void(*)(bContext &C, uiTooltipData &data, void *argN) uiButToolTipCustomFunc
void(*)(const wmRegionListenerParams *params, void *arg) uiButSearchListenFn
SIMD_FORCE_INLINE const btScalar & w() const
Return the w value.
void reset()
clear internal cached data and reset random seed
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 UI_OT_eyedropper_color(wmOperatorType *ot)
const short ui_radial_dir_to_angle[8]
const char ui_radial_dir_to_numpad[8]
const char ui_radial_dir_order[8]
wmKeyMap * eyedropper_colorband_modal_keymap(wmKeyConfig *keyconf)
wmKeyMap * eyedropper_modal_keymap(wmKeyConfig *keyconf)
void ui_but_v4_get(uiBut *but, float vec[4])
void ui_but_convert_to_unit_alt_name(uiBut *but, char *str, size_t str_maxncpy) ATTR_NONNULL()
uiBut uiBut * ui_view_item_find_active(const ARegion *region)
const float ui_pixel_jitter[UI_PIXEL_AA_JITTER][2]
uiBut * ui_but_drag_multi_edit_get(uiBut *but)
void ui_but_v4_set(uiBut *but, const float vec[4])
void ui_view_item_swap_button_pointers(blender::ui::AbstractViewItem &a, blender::ui::AbstractViewItem &b)
void ui_but_range_set_hard(uiBut *but)
uiBut * ui_but_find_mouse_over(const ARegion *region, const wmEvent *event) ATTR_WARN_UNUSED_RESULT
bool ui_but_contains_point_px(const uiBut *but, const ARegion *region, const int xy[2]) ATTR_NONNULL(1
ARegion ARegion * ui_screen_region_find_mouse_over(bScreen *screen, const wmEvent *event)
void ui_but_extra_operator_icons_free(uiBut *but)
void void ui_but_string_get(uiBut *but, char *str, size_t str_maxncpy) ATTR_NONNULL()
int ui_but_is_pushed_ex(uiBut *but, double *value) ATTR_WARN_UNUSED_RESULT
uiBut * ui_but_find_new(uiBlock *block_new, const uiBut *but_old)
void ui_hsvcircle_vals_from_pos(const rcti *rect, float mx, float my, float *r_val_rad, float *r_val_dist)
bool ui_but_is_cursor_warp(const uiBut *but) ATTR_WARN_UNUSED_RESULT
ID * ui_template_id_liboverride_hierarchy_make(bContext *C, Main *bmain, ID *owner_id, ID *id, const char **r_undo_push_label)
size_t ui_but_drawstr_len_without_sep_char(const uiBut *but)
bool ui_but_is_rna_valid(uiBut *but) ATTR_WARN_UNUSED_RESULT
void ui_draw_tooltip_background(const uiStyle *style, uiBlock *block, const rcti *rect)
void ui_window_to_block(const ARegion *region, const uiBlock *block, int *x, int *y)
@ UI_SEARCH_FILTER_NO_MATCH
uiBlock * ui_block_find_mouse_over_ex(const ARegion *region, const int xy[2], bool only_clip) ATTR_NONNULL(1
uiBut * ui_popup_menu_memory_get(uiBlock *block)
bool ui_but_is_editing(const uiBut *but)
uiBut * ui_block_active_but_get(const uiBlock *block)
void ui_def_but_icon(uiBut *but, int icon, int flag)
int ui_but_menu_direction(uiBut *but)
void ui_searchbox_update(bContext *C, ARegion *region, uiBut *but, bool reset)
uiBlock *(*)(bContext *C, uiPopupBlockHandle *handle, void *arg1) uiBlockHandleCreateFunc
uiBlock uiBlock * ui_block_find_mouse_over(const ARegion *region, const wmEvent *event, bool only_clip)
void ui_handle_afterfunc_add_operator(wmOperatorType *ot, wmOperatorCallContext opcontext)
bool ui_but_menu_step_poll(const uiBut *but)
void ui_block_views_draw_overlays(const ARegion *region, const uiBlock *block)
void ui_draw_but_HISTOGRAM(ARegion *region, uiBut *but, const uiWidgetColors *wcol, const rcti *recti)
ColorPicker * ui_block_colorpicker_create(uiBlock *block)
void ui_perceptual_to_scene_linear_space(uiBut *but, float rgb[3])
void ui_but_range_set_soft(uiBut *but)
void ui_but_update(uiBut *but)
@ UI_BUTTON_GROUP_PANEL_HEADER
void ui_draw_but_WAVEFORM(ARegion *region, uiBut *but, const uiWidgetColors *wcol, const rcti *recti)
void ui_but_drag_free(uiBut *but)
void ui_draw_widget_menu_back_color(const rcti *rect, bool use_shadow, const float color[4])
bool ui_but_string_set(bContext *C, uiBut *but, const char *str) ATTR_NONNULL()
uiBut * ui_list_find_from_row(const ARegion *region, const uiBut *row_but) ATTR_WARN_UNUSED_RESULT
void ui_color_picker_hsv_to_rgb(const float r_cp[3], float rgb[3])
bool ui_block_is_popover(const uiBlock *block) ATTR_WARN_UNUSED_RESULT
uiBut * ui_list_row_find_index(const ARegion *region, int index, uiBut *listbox) ATTR_WARN_UNUSED_RESULT
bool ui_block_is_pie_menu(const uiBlock *block) ATTR_WARN_UNUSED_RESULT
void ui_item_menutype_func(bContext *C, uiLayout *layout, void *arg_mt)
float ui_block_calc_pie_segment(uiBlock *block, const float event_xy[2])
@ ROUNDBOX_TRIA_HOLD_ACTION_ARROW
const uiWidgetColors * ui_tooltip_get_theme()
void ui_but_add_shortcut(uiBut *but, const char *shortcut_str, bool do_strip)
bool ui_but_string_eval_number(bContext *C, const uiBut *but, const char *str, double *r_value) ATTR_NONNULL()
void ui_popup_block_scrolltest(uiBlock *block)
bool ui_but_has_array_value(const uiBut *but) ATTR_WARN_UNUSED_RESULT
void ui_def_but_icon_clear(uiBut *but)
bool ui_but_contains_rect(const uiBut *but, const rctf *rect)
void ui_but_search_refresh(uiButSearch *but)
void ui_but_activate_over(bContext *C, ARegion *region, uiBut *but)
void ui_button_group_replace_but_ptr(uiBlock *block, const uiBut *old_but_ptr, uiBut *new_but)
float ui_event_icon_offset(int icon_id)
bool ui_but_context_poll_operator_ex(bContext *C, const uiBut *but, const wmOperatorCallParams *optype_params)
bool int ui_searchbox_find_index(ARegion *region, const char *name)
void ui_but_string_get_ex(uiBut *but, char *str, size_t str_maxncpy, int float_precision, bool use_exp_float, bool *r_use_exp_float) ATTR_NONNULL(1
void ui_draw_preview_item_stateless(const uiFontStyle *fstyle, rcti *rect, blender::StringRef name, int iconid, const uchar text_col[4], eFontStyle_Align text_align, bool draw_as_icon=false)
void ui_block_add_dynamic_listener(uiBlock *block, void(*listener_func)(const wmRegionListenerParams *params))
uiButViewItem * ui_block_view_find_matching_view_item_but_in_old_block(const uiBlock &new_block, const blender::ui::AbstractViewItem &new_item)
size_t ui_but_tip_len_only_first_line(const uiBut *but)
void ui_but_active_string_clear_and_exit(bContext *C, uiBut *but) ATTR_NONNULL()
uiBut * ui_view_item_find_mouse_over(const ARegion *region, const int xy[2]) ATTR_NONNULL(1
void ui_block_to_region_rctf(const ARegion *region, const uiBlock *block, rctf *rct_dst, const rctf *rct_src)
void ui_draw_layout_panels_backdrop(const ARegion *region, const Panel *panel, const float radius, float subpanel_backcolor[4])
uiBut * ui_but_add_search(uiBut *but, PointerRNA *ptr, PropertyRNA *prop, PointerRNA *searchptr, PropertyRNA *searchprop, bool results_are_suggestions)
bool ui_jump_to_target_button_poll(bContext *C)
void ui_hsvcircle_pos_from_vals(const ColorPicker *cpicker, const rcti *rect, const float *hsv, float *r_xpos, float *r_ypos)
bool ui_but_contains_point_px_icon(const uiBut *but, ARegion *region, const wmEvent *event) ATTR_WARN_UNUSED_RESULT
const char * ui_but_placeholder_get(uiBut *but)
bool ui_layout_replace_but_ptr(uiLayout *layout, const void *old_but_ptr, uiBut *new_but)
void ui_block_bounds_calc(uiBlock *block)
void ui_interface_tag_script_reload_queries()
bool ui_block_is_popup_any(const uiBlock *block) ATTR_WARN_UNUSED_RESULT
bool ui_layout_panel_toggle_open(const bContext *C, LayoutPanelHeader *header)
void ui_but_override_flag(Main *bmain, uiBut *but)
ARegion * ui_searchbox_create_operator(bContext *C, ARegion *butregion, uiButSearch *search_but)
uiPopupBlockHandle * ui_popup_block_create(bContext *C, ARegion *butregion, uiBut *but, uiBlockCreateFunc create_func, uiBlockHandleCreateFunc handle_create_func, void *arg, uiFreeArgFunc arg_free, bool can_refresh)
void ui_draw_widget_menu_back(const rcti *rect, bool use_shadow)
ARegion * ui_searchbox_create_generic(bContext *C, ARegion *butregion, uiButSearch *search_but)
bool ui_but_is_bool(const uiBut *but) ATTR_WARN_UNUSED_RESULT
bool ui_but_anim_expression_create(uiBut *but, const char *str)
double ui_but_value_get(uiBut *but)
rcti ui_to_pixelrect(const ARegion *region, const uiBlock *block, const rctf *src_rect)
float ui_block_to_window_scale(const ARegion *region, const uiBlock *block)
uiPopupBlockHandle * ui_popup_menu_create(bContext *C, ARegion *butregion, uiBut *but, uiMenuCreateFunc menu_func, void *arg)
void ui_draw_menu_back(uiStyle *style, uiBlock *block, const rcti *rect)
void ui_window_to_region_rcti(const ARegion *region, rcti *rect_dst, const rcti *rct_src)
void UI_OT_eyedropper_depth(wmOperatorType *ot)
void ui_but_text_password_hide(char password_str[128], uiBut *but, bool restore)
void UI_OT_eyedropper_driver(wmOperatorType *ot)
int ui_handler_panel_region(bContext *C, const wmEvent *event, ARegion *region, const uiBut *active_but)
void ui_draw_preview_item(const uiFontStyle *fstyle, rcti *rect, const char *name, int iconid, int but_flag, eFontStyle_Align text_align)
void ui_color_picker_rgb_to_hsv(const float rgb[3], float r_cp[3])
void ui_hsvcube_pos_from_vals(const uiButHSVCube *hsv_but, const rcti *rect, const float *hsv, float *r_xp, float *r_yp)
ARegion * ui_searchbox_create_menu(bContext *C, ARegion *butregion, uiButSearch *search_but)
void ui_scene_linear_to_perceptual_space(uiBut *but, float rgb[3])
void ui_draw_rounded_corners_inverted(const rcti &rect, const float rad, const blender::float4 color)
void ui_popup_block_free(bContext *C, uiPopupBlockHandle *handle)
void ui_searchbox_free(bContext *C, ARegion *region)
void UI_OT_eyedropper_grease_pencil_color(wmOperatorType *ot)
void ui_but_active_free(const bContext *C, uiBut *but)
int ui_but_menu_step(uiBut *but, int direction)
void ui_block_free_views(uiBlock *block)
void ui_region_to_window(const ARegion *region, int *x, int *y)
uiListType * UI_UL_asset_view()
blender::ui::AbstractView * ui_block_view_find_matching_in_old_block(const uiBlock &new_block, const blender::ui::AbstractView &new_view)
void ui_but_anim_decorate_cb(bContext *C, void *arg_but, void *arg_dummy)
uiBut * ui_but_find_rect_over(const ARegion *region, const rcti *rect_px) ATTR_WARN_UNUSED_RESULT
void ui_window_to_region(const ARegion *region, int *x, int *y)
void ui_window_to_block_fl(const ARegion *region, const uiBlock *block, float *x, float *y)
bool ui_region_contains_point_px(const ARegion *region, const int xy[2]) ATTR_NONNULL(1
void ui_item_paneltype_func(bContext *C, uiLayout *layout, void *arg_pt)
bool ui_searchbox_apply(uiBut *but, ARegion *region)
void ui_draw_gradient(const rcti *rect, const float hsv[3], eButGradientType type, float alpha)
void ui_draw_but_UNITVEC(uiBut *but, const uiWidgetColors *wcol, const rcti *rect, float radius)
void ui_panel_tag_search_filter_match(Panel *panel)
void ui_but_anim_decorate_update_from_flag(uiButDecorator *but)
bool ui_but_rna_equals(const uiBut *a, const uiBut *b)
void ui_popup_translate(ARegion *region, const int mdiff[2])
void ui_block_cm_to_display_space_v3(uiBlock *block, float pixel[3])
bool ui_but_is_toggle(const uiBut *but) ATTR_WARN_UNUSED_RESULT
void ui_pan_to_scroll(const wmEvent *event, int *type, int *val)
bool(*)(const uiBut *but, const void *customdata) uiButFindPollFn
void ui_draw_aligned_panel(const ARegion *region, const uiStyle *style, const uiBlock *block, const rcti *rect, bool show_pin, bool show_background, bool region_search_filter_active)
void ui_draw_menu_item(const uiFontStyle *fstyle, rcti *rect, const char *name, int iconid, int but_flag, uiMenuItemSeparatorType separator_type, int *r_xmax)
bool ui_block_is_menu(const uiBlock *block) ATTR_WARN_UNUSED_RESULT
void ui_but_anim_flag(uiBut *but, const AnimationEvalContext *anim_eval_context)
void ui_but_anim_autokey(bContext *C, uiBut *but, Scene *scene, float cfra)
@ UI_PIE_ANIMATION_FINISHED
@ UI_PIE_INITIAL_DIRECTION
@ UI_PIE_GESTURE_END_WAIT
uiBut * ui_view_item_find_search_highlight(const ARegion *region)
bool ui_but_menu_draw_as_popover(const uiBut *but)
void ui_but_value_set(uiBut *but, double value)
void ui_block_new_button_group(uiBlock *block, uiButtonGroupFlag flag)
uiBut * ui_region_find_first_but_test_flag(ARegion *region, int flag_include, int flag_exclude)
bool ui_but_rna_equals_ex(const uiBut *but, const PointerRNA *ptr, const PropertyRNA *prop, int index)
const char * ui_textedit_undo(uiUndoStack_Text *stack, int direction, int *r_cursor_index)
void ui_layout_list_set_labels_active(uiLayout *layout)
uiBut * ui_list_find_mouse_over_ex(const ARegion *region, const int xy[2]) ATTR_NONNULL(1
void ui_but_hsv_set(uiBut *but)
bool ui_but_is_interactive_ex(const uiBut *but, const bool labeledit, const bool for_tooltip)
void ui_draw_but_CURVE(ARegion *region, uiBut *but, const uiWidgetColors *wcol, const rcti *rect)
void ui_draw_but(const bContext *C, ARegion *region, uiStyle *style, uiBut *but, rcti *rect)
bool ui_but_anim_expression_get(uiBut *but, char *str, size_t str_maxncpy)
LayoutPanelHeader * ui_layout_panel_header_under_mouse(const Panel &panel, const int my)
bool ui_searchbox_inside(ARegion *region, const int xy[2]) ATTR_NONNULL(1
void ui_block_views_listen(const uiBlock *block, const wmRegionListenerParams *listener_params)
uiBut * ui_but_find_select_in_enum(uiBut *but, int direction)
std::optional< blender::StringRefNull > UI_asset_shelf_idname_from_button_context(const uiBut *but)
void ui_block_to_region_fl(const ARegion *region, const uiBlock *block, float *x, float *y)
uiBut * ui_but_first(uiBlock *block) ATTR_WARN_UNUSED_RESULT
bool ui_but_is_float(const uiBut *but) ATTR_WARN_UNUSED_RESULT
bool ui_but_can_align(const uiBut *but) ATTR_WARN_UNUSED_RESULT
ARegion * ui_screen_region_find_mouse_over_ex(bScreen *screen, const int xy[2]) ATTR_NONNULL(1
void UI_OT_eyedropper_id(wmOperatorType *ot)
void ui_pie_menu_level_create(uiBlock *block, wmOperatorType *ot, const char *propname, IDProperty *properties, const EnumPropertyItem *items, int totitem, wmOperatorCallContext context, eUI_Item_Flag flag)
void ui_but_to_pixelrect(rcti *rect, const ARegion *region, const uiBlock *block, const uiBut *but)
void ui_but_rna_menu_convert_to_panel_type(uiBut *but, const char *panel_type)
uiBut * ui_but_find_old(uiBlock *block_old, const uiBut *but_new)
bool ui_but_contains_pt(const uiBut *but, float mx, float my) ATTR_WARN_UNUSED_RESULT
uiBut * ui_list_find_mouse_over(const ARegion *region, const wmEvent *event) ATTR_WARN_UNUSED_RESULT
blender::StringRef ui_but_drawstr_without_sep_char(const uiBut *but) ATTR_NONNULL()
char * ui_but_string_get_dynamic(uiBut *but, int *r_str_size)
bool ui_searchbox_event(bContext *C, ARegion *region, uiBut *but, ARegion *butregion, const wmEvent *event)
void ui_window_to_region_rctf(const ARegion *region, rctf *rect_dst, const rctf *rct_src)
void ui_draw_but_VECTORSCOPE(ARegion *region, uiBut *but, const uiWidgetColors *wcol, const rcti *recti)
void ui_window_to_block_rctf(const ARegion *region, const uiBlock *block, rctf *rct_dst, const rctf *rct_src)
void ui_block_to_window_rctf(const ARegion *region, const uiBlock *block, rctf *rct_dst, const rctf *rct_src)
bool ui_but_contains_password(const uiBut *but) ATTR_WARN_UNUSED_RESULT
void ui_but_update_edited(uiBut *but)
void ui_but_anim_copy_driver(bContext *C)
void ui_but_anim_paste_driver(bContext *C)
int ui_but_is_pushed(uiBut *but) ATTR_WARN_UNUSED_RESULT
uiBut * ui_but_find_mouse_over_ex(const ARegion *region, const int xy[2], bool labeledit, bool for_tooltip, const uiButFindPollFn find_poll, const void *find_custom_data) ATTR_NONNULL(1
bool ui_but_is_compatible(const uiBut *but_a, const uiBut *but_b) ATTR_WARN_UNUSED_RESULT
void ui_but_v3_set(uiBut *but, const float vec[3])
int ui_id_icon_get(const bContext *C, ID *id, bool big)
bool ui_but_is_editable(const uiBut *but) ATTR_WARN_UNUSED_RESULT
void ui_but_v3_get(uiBut *but, float vec[3])
bool ui_but_supports_cycling(const uiBut *but) ATTR_WARN_UNUSED_RESULT
uiBut * ui_but_change_type(uiBut *but, eButType new_type)
uiBut * ui_list_row_find_mouse_over(const ARegion *region, const int xy[2]) ATTR_NONNULL(1
uiBlock * ui_popup_block_refresh(bContext *C, uiPopupBlockHandle *handle, ARegion *butregion, uiBut *but)
void ui_draw_popover_back(ARegion *region, uiStyle *style, uiBlock *block, const rcti *rect)
int ui_but_string_get_maxncpy(uiBut *but)
void ui_but_clipboard_free()
uiBlock * ui_block_func_COLOR(bContext *C, uiPopupBlockHandle *handle, void *arg_but)
bool ui_but_is_interactive(const uiBut *but, bool labeledit) ATTR_WARN_UNUSED_RESULT
void ui_but_activate_event(bContext *C, ARegion *region, uiBut *but)
void ui_icon_ensure_deferred(const bContext *C, int icon_id, bool big)
void ui_color_picker_rgb_to_hsv_compat(const float rgb[3], float r_cp[3])
void ui_popup_menu_memory_set(uiBlock *block, uiBut *but)
@ UI_BLOCK_CONTAINS_SUBMENU_BUT
void ui_fontscale(float *points, float aspect)
void ui_button_group_add_but(uiBlock *block, uiBut *but)
uiBut * ui_but_last(uiBlock *block) ATTR_WARN_UNUSED_RESULT
bool ui_region_contains_rect_px(const ARegion *region, const rcti *rect_px)
ColorManagedDisplay * ui_block_cm_display_get(uiBlock *block)
void ui_block_to_window(const ARegion *region, const uiBlock *block, int *x, int *y)
uiPopupBlockHandle * ui_popover_panel_create(bContext *C, ARegion *butregion, uiBut *but, uiPopoverCreateFunc popover_func, const PanelType *panel_type)
void ui_block_to_window_fl(const ARegion *region, const uiBlock *block, float *x, float *y)
uiBut * ui_region_find_active_but(ARegion *region) ATTR_WARN_UNUSED_RESULT
void ui_but_pie_dir(RadialDirection dir, float vec[2])
uiBut * ui_but_next(uiBut *but) ATTR_WARN_UNUSED_RESULT
uiListType * UI_UL_cache_file_layers()
void ui_draw_but_CURVEPROFILE(ARegion *region, uiBut *but, const uiWidgetColors *wcol, const rcti *rect)
void ui_textedit_undo_stack_destroy(uiUndoStack_Text *stack)
void ui_block_views_bounds_calc(const uiBlock *block)
int ui_but_align_opposite_to_area_align_get(const ARegion *region) ATTR_WARN_UNUSED_RESULT
PropertyScaleType ui_but_scale_type(const uiBut *but) ATTR_WARN_UNUSED_RESULT
void ui_rna_collection_search_update_fn(const bContext *C, void *arg, const char *str, uiSearchItems *items, bool is_first)
int ui_but_icon(const uiBut *but)
blender::gpu::Batch * ui_batch_roundbox_shadow_get()
void ui_but_update_view_for_active(const bContext *C, const uiBlock *block)
bool ui_but_is_popover_once_compat(const uiBut *but) ATTR_WARN_UNUSED_RESULT
bool ui_but_is_editable_as_text(const uiBut *but) ATTR_WARN_UNUSED_RESULT
void ui_but_set_string_interactive(bContext *C, uiBut *but, const char *value)
uiUndoStack_Text * ui_textedit_undo_stack_create()
bool ui_but_drag_is_draggable(const uiBut *but)
bool ui_but_color_has_alpha(uiBut *but)
void ui_textedit_undo_push(uiUndoStack_Text *stack, const char *text, int cursor_index)
bool ui_but_anim_expression_set(uiBut *but, const char *str)
blender::gpu::Batch * ui_batch_roundbox_widget_get()
void ui_but_rna_menu_convert_to_menu_type(uiBut *but, const char *menu_type)
bool ui_but_is_color_gamma(uiBut *but)
void ui_layout_remove_but(uiLayout *layout, const uiBut *but)
std::function< void(bContext *, uiLayout *, PanelType *)> uiPopoverCreateFunc
void ui_block_align_calc(uiBlock *block, const ARegion *region)
void icon_draw_rect_input(float x, float y, int w, int h, int icon_id, float aspect, float alpha, bool inverted)
void ui_panel_drag_collapse_handler_add(const bContext *C, const bool was_open)
void ui_layout_add_but(uiLayout *layout, uiBut *but)
bool ui_but_is_unit(const uiBut *but) ATTR_WARN_UNUSED_RESULT
void ui_but_semi_modal_state_free(const bContext *C, uiBut *but)
uiBut * ui_but_prev(uiBut *but) ATTR_WARN_UNUSED_RESULT
void ui_but_drag_start(bContext *C, uiBut *but)
void ui_but_execute_begin(bContext *C, ARegion *region, uiBut *but, void **active_back)
void ui_but_execute_end(bContext *C, ARegion *region, uiBut *but, void *active_back)
void ui_draw_but_TRACKPREVIEW(ARegion *region, uiBut *but, const uiWidgetColors *wcol, const rcti *recti)
int ui_searchbox_autocomplete(bContext *C, ARegion *region, uiBut *but, char *str)
void ui_draw_but_IMAGE(ARegion *region, uiBut *but, const uiWidgetColors *wcol, const rcti *rect)
void ui_draw_but_TAB_outline(const rcti *rect, float rad, uchar highlight[3], uchar highlight_fade[3])
#define UI_PIXEL_AA_JITTER
void ui_layout_panel_popup_scroll_apply(Panel *panel, const float dy)
void ui_region_winrct_get_no_margin(const ARegion *region, rcti *r_rect)
bool ui_but_context_poll_operator(bContext *C, wmOperatorType *ot, const uiBut *but)
void ui_draw_but_COLORBAND(uiBut *but, const uiWidgetColors *wcol, const rcti *rect)
@ UI_MENU_ITEM_SEPARATOR_NONE
@ UI_MENU_ITEM_SEPARATOR_HINT
@ UI_MENU_ITEM_SEPARATOR_SHORTCUT
void ui_draw_pie_center(uiBlock *block)
blender::Vector< FCurve * > get_property_drivers(PointerRNA *ptr, PropertyRNA *prop, bool get_all, int index, bool *r_is_array_prop)
int paste_property_drivers(blender::Span< FCurve * > src_drivers, bool is_array_prop, PointerRNA *dst_ptr, PropertyRNA *dst_prop)
VecBase< float, 4 > float4
static PyObject * create_func(PyObject *, PyObject *args)
float hsv_perceptual_init[3]
float hsv_scene_linear[3]
float luminosity_lock_value
void(* listener_func)(const wmRegionListenerParams *params)
uiBlockDynamicListener * next
uiBlockDynamicListener * prev
ListBase dynamic_listeners
bool is_color_gamma_picker
ColorPickerData color_pickers
uiPopupBlockHandle * handle
uiButArgNFree func_argN_free_fn
uiButArgNCopy func_argN_copy_fn
uiBlockHandleFunc handle_func
blender::Vector< std::unique_ptr< bContextStore > > contexts
std::function< void(const bContext *, rcti *)> drawextra
eBlockBoundsCalc bounds_type
uiBlockInteraction_CallbackData custom_interaction_callbacks
const UnitSettings * unit
blender::Vector< uiButtonGroup > button_groups
int(* block_event_func)(const bContext *C, uiBlock *, const wmEvent *)
CurveMapping * edit_cumap
eButGradientType gradient_type
CurveProfile * edit_profile
PointerRNA decorated_rnapoin
PropertyRNA * decorated_rnaprop
eButGradientType gradient_type
eButProgressType progress_type
uiButSearchUpdateFn items_update_fn
bool results_are_suggestions
PropertyRNA * rnasearchprop
uiButSearchListenFn listen_fn
const char * item_sep_string
uiButSearchCreateFn popup_create_fn
uiFreeArgFunc arg_free_fn
uiButSearchTooltipFn item_tooltip_fn
uiButSearchContextMenuFn item_context_menu_fn
blender::ui::AbstractViewItem * view_item
wmOperatorCallContext opcontext
uiButCompleteFunc autocomplete_func
uiBut & operator=(const uiBut &other)=default
uiButIdentityCompareFunc identity_cmp_func
std::function< void(bContext &)> apply_func
IconTextOverlay icon_overlay_text
uiHandleButtonData * active
const char * disabled_info
uiMenuCreateFunc menu_create_func
std::function< void(std::string &new_name)> rename_full_func
std::string rename_full_new
const bContextStore * context
uiButToolTipFunc tip_func
uiButArgNFree func_argN_free_fn
std::function< std::string(const uiBut *)> tip_label_func
std::function< bool(const uiBut &)> pushed_state_func
uiButHandleHoldFunc hold_func
uiButHandleRenameFunc rename_func
uiBlockCreateFunc block_create_func
uiButArgNCopy func_argN_copy_fn
uiFreeArgFunc tip_arg_free
uiBut(const uiBut &other)=default
eWM_DragDataType dragtype
uiMenuStepFunc menu_step_func
uiHandleButtonData * semi_modal_state
uiButToolTipCustomFunc tip_custom_func
void(* popup_func)(bContext *C, void *arg, int event)
void(* cancel_func)(bContext *C, void *arg)
uiPopupBlockCreate popup_create_vars
uiKeyNavLock keynav_state
int prev_bounds_offset[2]
PropertyRNA * target_prop
PropertyRNA * search_prop