Blender V4.5
interface_intern.hh File Reference
#include <functional>
#include "BLI_compiler_attrs.h"
#include "BLI_math_vector_types.hh"
#include "BLI_string_ref.hh"
#include "BLI_vector.hh"
#include "BKE_fcurve.hh"
#include "DNA_listBase.h"
#include "RNA_types.hh"
#include "UI_interface.hh"
#include "UI_resources.hh"

Go to the source code of this file.

Classes

struct  uiBut
struct  uiButNumber
struct  uiButNumberSlider
struct  uiButColor
struct  uiButTab
struct  uiButSearch
struct  uiButDecorator
struct  uiButProgress
struct  uiButSeparatorLine
struct  uiButLabel
struct  uiButScrollBar
struct  uiButViewItem
struct  uiButHSVCube
struct  uiButColorBand
struct  uiButCurveProfile
struct  uiButCurveMapping
struct  uiButHotkeyEvent
struct  uiButExtraOpIcon
struct  ColorPicker
struct  ColorPickerData
struct  PieMenuData
struct  uiButtonGroup
struct  uiBlockDynamicListener
struct  uiBlock
struct  uiSafetyRct
struct  uiKeyNavLock
struct  uiPopupBlockCreate
struct  uiPopupBlockHandle
struct  uiWidgetBaseParameters
struct  uiRNACollectionSearch

Namespaces

namespace  blender
namespace  blender::gpu
namespace  blender::ocio
namespace  blender::ui
namespace  blender::interface
namespace  blender::interface::internal

Macros

#define RNA_NO_INDEX   -1
#define RNA_ENUM_VALUE   -2
#define UI_MENU_PADDING   (int)(0.2f * UI_UNIT_Y)
#define UI_MENU_WIDTH_MIN   (UI_UNIT_Y * 9)
#define UI_MENU_SUBMENU_PADDING   (6 * UI_SCALE_FAC)
#define UI_MENU_SCROLL_ARROW   (12 * UI_SCALE_FAC)
#define UI_MENU_SCROLL_MOUSE   (UI_MENU_SCROLL_ARROW + 2 * UI_SCALE_FAC)
#define UI_MENU_SCROLL_PAD   (4 * UI_SCALE_FAC)
#define UI_POPOVER_WIDTH_UNITS   10
#define UI_RADIAL_DIRECTION_NEXT(dir)
#define UI_RADIAL_DIRECTION_PREV(dir)
#define UI_RADIAL_MASK_ALL_DIAGONAL
#define UI_RADIAL_MASK_ALL_AXIS_ALIGNED
#define PNL_HEADER   (UI_UNIT_Y * 1.25)
#define UI_BITBUT_TEST(a, b)
#define UI_BITBUT_VALUE_TOGGLED(a, b)
#define UI_BITBUT_VALUE_ENABLED(a, b)
#define UI_BITBUT_VALUE_DISABLED(a, b)
#define UI_BITBUT_ROW(min, max)
#define USE_NUMBUTS_LR_ALIGN
#define USE_UIBUT_SPATIAL_ALIGN
#define PIE_CLICK_THRESHOLD_SQ   50.0f
#define PIE_MAX_ITEMS   8
#define UI_TEXT_MARGIN_X   0.4f
#define UI_POPUP_MARGIN   (UI_SCALE_FAC * 12)
#define UI_POPUP_MENU_TOP   (int)(10 * UI_SCALE_FAC)
#define UI_PIXEL_AA_JITTER   8

Typedefs

using uiBlockHandleCreateFunc = uiBlock *(*)(bContext *C, uiPopupBlockHandle *handle, void *arg1)
using uiButFindPollFn = bool (*)(const uiBut *but, const void *customdata)

Enumerations

enum  {
  UI_SELECT = (1 << 0) , UI_SCROLLED = (1 << 1) , UI_HOVER = (1 << 2) , UI_HAS_ICON = (1 << 3) ,
  UI_HIDDEN = (1 << 4) , UI_SELECT_DRAW = (1 << 5) , UI_SEARCH_FILTER_NO_MATCH = (1 << 6) , UI_BUT_ACTIVE_OVERRIDE = (1 << 7)
}
enum  RadialDirection {
  UI_RADIAL_NONE = -1 , UI_RADIAL_N = 0 , UI_RADIAL_NE = 1 , UI_RADIAL_E = 2 ,
  UI_RADIAL_SE = 3 , UI_RADIAL_S = 4 , UI_RADIAL_SW = 5 , UI_RADIAL_W = 6 ,
  UI_RADIAL_NW = 7
}
enum  {
  UI_PIE_INITIAL_DIRECTION = (1 << 1) , UI_PIE_DRAG_STYLE = (1 << 2) , UI_PIE_INVALID_DIR = (1 << 3) , UI_PIE_CLICK_STYLE = (1 << 4) ,
  UI_PIE_ANIMATION_FINISHED = (1 << 5) , UI_PIE_GESTURE_END_WAIT = (1 << 6)
}
enum  eBlockContentHints { UI_BLOCK_CONTAINS_SUBMENU_BUT = (1 << 0) }
enum  uiButtonGroupFlag { UI_BUTTON_GROUP_LOCK = (1 << 0) , UI_BUTTON_GROUP_PANEL_HEADER = (1 << 1) }
enum  {
  ROUNDBOX_TRIA_NONE = 0 , ROUNDBOX_TRIA_ARROWS , ROUNDBOX_TRIA_SCROLL , ROUNDBOX_TRIA_MENU ,
  ROUNDBOX_TRIA_CHECK , ROUNDBOX_TRIA_HOLD_ACTION_ARROW , ROUNDBOX_TRIA_DASH , ROUNDBOX_TRIA_MAX
}
enum  uiMenuItemSeparatorType { UI_MENU_ITEM_SEPARATOR_NONE , UI_MENU_ITEM_SEPARATOR_SHORTCUT , UI_MENU_ITEM_SEPARATOR_HINT }

Functions

 ENUM_OPERATORS (uiButtonGroupFlag, UI_BUTTON_GROUP_PANEL_HEADER)
void ui_fontscale (float *points, float aspect)
void ui_but_to_pixelrect (rcti *rect, const ARegion *region, const uiBlock *block, const uiBut *but)
rcti ui_to_pixelrect (const ARegion *region, const uiBlock *block, const rctf *src_rect)
void ui_block_to_region_fl (const ARegion *region, const uiBlock *block, float *x, float *y)
void ui_block_to_window_fl (const ARegion *region, const uiBlock *block, float *x, float *y)
void ui_block_to_window (const ARegion *region, const uiBlock *block, int *x, int *y)
void ui_block_to_region_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)
float ui_block_to_window_scale (const ARegion *region, const uiBlock *block)
void ui_window_to_block_fl (const ARegion *region, const uiBlock *block, float *x, float *y)
void ui_window_to_block (const ARegion *region, const uiBlock *block, int *x, int *y)
void ui_window_to_block_rctf (const ARegion *region, const uiBlock *block, rctf *rct_dst, const rctf *rct_src)
void ui_window_to_region (const ARegion *region, int *x, int *y)
void ui_window_to_region_rcti (const ARegion *region, rcti *rect_dst, const rcti *rct_src)
void ui_window_to_region_rctf (const ARegion *region, rctf *rect_dst, const rctf *rct_src)
void ui_region_to_window (const ARegion *region, int *x, int *y)
void ui_region_winrct_get_no_margin (const ARegion *region, rcti *r_rect)
void ui_block_add_dynamic_listener (uiBlock *block, void(*listener_func)(const wmRegionListenerParams *params))
uiButui_but_change_type (uiBut *but, eButType new_type)
double ui_but_value_get (uiBut *but)
void ui_but_value_set (uiBut *but, double value)
void ui_but_hsv_set (uiBut *but)
void ui_but_v3_get (uiBut *but, float vec[3])
void ui_but_v3_set (uiBut *but, const float vec[3])
void ui_but_v4_get (uiBut *but, float vec[4])
void ui_but_v4_set (uiBut *but, const float vec[4])
void ui_hsvcircle_vals_from_pos (const rcti *rect, float mx, float my, float *r_val_rad, float *r_val_dist)
void ui_hsvcircle_pos_from_vals (const ColorPicker *cpicker, const rcti *rect, const float *hsv, float *r_xpos, float *r_ypos)
void ui_hsvcube_pos_from_vals (const uiButHSVCube *hsv_but, const rcti *rect, const float *hsv, float *r_xp, float *r_yp)
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 void ui_but_string_get (uiBut *but, char *str, size_t str_maxncpy) ATTR_NONNULL()
char * ui_but_string_get_dynamic (uiBut *but, int *r_str_size)
void ui_but_convert_to_unit_alt_name (uiBut *but, char *str, size_t str_maxncpy) ATTR_NONNULL()
bool ui_but_string_set (bContext *C, uiBut *but, const char *str) ATTR_NONNULL()
bool ui_but_string_eval_number (bContext *C, const uiBut *but, const char *str, double *r_value) ATTR_NONNULL()
int ui_but_string_get_maxncpy (uiBut *but)
void ui_but_active_string_clear_and_exit (bContext *C, uiBut *but) ATTR_NONNULL()
void ui_but_set_string_interactive (bContext *C, uiBut *but, const char *value)
uiButui_but_drag_multi_edit_get (uiBut *but)
const char * ui_but_placeholder_get (uiBut *but)
void ui_def_but_icon (uiBut *but, int icon, int flag)
void ui_def_but_icon_clear (uiBut *but)
void ui_but_extra_operator_icons_free (uiBut *but)
void ui_but_rna_menu_convert_to_panel_type (uiBut *but, const char *panel_type)
void ui_but_rna_menu_convert_to_menu_type (uiBut *but, const char *menu_type)
bool ui_but_menu_draw_as_popover (const uiBut *but)
void ui_but_range_set_hard (uiBut *but)
void ui_but_range_set_soft (uiBut *but)
bool ui_but_context_poll_operator (bContext *C, wmOperatorType *ot, const uiBut *but)
bool ui_but_context_poll_operator_ex (bContext *C, const uiBut *but, const wmOperatorCallParams *optype_params)
void ui_but_update (uiBut *but)
void ui_but_update_edited (uiBut *but)
PropertyScaleType ui_but_scale_type (const uiBut *but) ATTR_WARN_UNUSED_RESULT
bool ui_but_is_float (const uiBut *but) ATTR_WARN_UNUSED_RESULT
bool ui_but_is_bool (const uiBut *but) ATTR_WARN_UNUSED_RESULT
bool ui_but_is_unit (const uiBut *but) ATTR_WARN_UNUSED_RESULT
bool ui_but_is_compatible (const uiBut *but_a, const uiBut *but_b) ATTR_WARN_UNUSED_RESULT
bool ui_but_is_rna_valid (uiBut *but) ATTR_WARN_UNUSED_RESULT
bool ui_but_supports_cycling (const uiBut *but) ATTR_WARN_UNUSED_RESULT
int ui_but_is_pushed_ex (uiBut *but, double *value) ATTR_WARN_UNUSED_RESULT
int ui_but_is_pushed (uiBut *but) ATTR_WARN_UNUSED_RESULT
void ui_but_override_flag (Main *bmain, uiBut *but)
void ui_block_bounds_calc (uiBlock *block)
const ColorManagedDisplayui_block_cm_display_get (uiBlock *block)
void ui_block_cm_to_display_space_v3 (uiBlock *block, float pixel[3])
int ui_handler_panel_region (bContext *C, const wmEvent *event, ARegion *region, const uiBut *active_but)
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_layout_panels_backdrop (const ARegion *region, const Panel *panel, const float radius, float subpanel_backcolor[4])
void ui_panel_drag_collapse_handler_add (const bContext *C, const bool was_open)
void ui_panel_tag_search_filter_match (Panel *panel)
bool ui_layout_panel_toggle_open (const bContext *C, LayoutPanelHeader *header)
LayoutPanelHeaderui_layout_panel_header_under_mouse (const Panel &panel, const int my)
void ui_layout_panel_popup_scroll_apply (Panel *panel, const float dy)
void ui_draw_gradient (const rcti *rect, const float hsv[3], eButGradientType type, float alpha)
void ui_draw_rounded_corners_inverted (const rcti &rect, const float rad, const blender::float4 color)
void ui_draw_but_TAB_outline (const rcti *rect, float rad, uchar highlight[3], uchar highlight_fade[3])
void ui_draw_but_HISTOGRAM (ARegion *region, uiBut *but, const uiWidgetColors *wcol, const rcti *recti)
void ui_draw_but_WAVEFORM (ARegion *region, uiBut *but, const uiWidgetColors *wcol, const rcti *recti)
void ui_draw_but_VECTORSCOPE (ARegion *region, uiBut *but, const uiWidgetColors *wcol, const rcti *recti)
void ui_draw_but_COLORBAND (uiBut *but, const uiWidgetColors *wcol, const rcti *rect)
void ui_draw_but_UNITVEC (uiBut *but, const uiWidgetColors *wcol, const rcti *rect, float radius)
void ui_draw_but_CURVE (ARegion *region, uiBut *but, const uiWidgetColors *wcol, const rcti *rect)
void ui_draw_but_CURVEPROFILE (ARegion *region, uiBut *but, const uiWidgetColors *wcol, const rcti *rect)
void ui_draw_but_IMAGE (ARegion *region, uiBut *but, const uiWidgetColors *wcol, const rcti *rect)
void ui_draw_but_TRACKPREVIEW (ARegion *region, uiBut *but, const uiWidgetColors *wcol, const rcti *recti)
uiUndoStack_Textui_textedit_undo_stack_create ()
void ui_textedit_undo_stack_destroy (uiUndoStack_Text *stack)
void ui_textedit_undo_push (uiUndoStack_Text *stack, const char *text, int cursor_index)
const char * ui_textedit_undo (uiUndoStack_Text *stack, int direction, int *r_cursor_index)
void ui_but_handle_data_free (uiHandleButtonData **data)
void ui_handle_afterfunc_add_operator (wmOperatorType *ot, wmOperatorCallContext opcontext)
void ui_pan_to_scroll (const wmEvent *event, int *type, int *val)
void ui_but_activate_event (bContext *C, ARegion *region, uiBut *but)
void ui_but_activate_over (bContext *C, ARegion *region, 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_but_active_free (const bContext *C, uiBut *but)
void ui_but_semi_modal_state_free (const bContext *C, uiBut *but)
void ui_but_update_view_for_active (const bContext *C, const uiBlock *block)
int ui_but_menu_direction (uiBut *but)
void ui_but_text_password_hide (char password_str[128], uiBut *but, bool restore)
uiButui_but_find_select_in_enum (uiBut *but, int direction)
bool ui_but_is_editing (const uiBut *but)
float ui_block_calc_pie_segment (uiBlock *block, const float event_xy[2])
void ui_but_add_shortcut (uiBut *but, const char *shortcut_str, bool do_strip)
void ui_but_clipboard_free ()
bool ui_but_rna_equals (const uiBut *a, const uiBut *b)
bool ui_but_rna_equals_ex (const uiBut *but, const PointerRNA *ptr, const PropertyRNA *prop, int index)
uiButui_but_find_old (uiBlock *block_old, const uiBut *but_new)
uiButui_but_find_new (uiBlock *block_new, const uiBut *but_old)
blender::gpu::Batch * ui_batch_roundbox_widget_get ()
blender::gpu::Batch * ui_batch_roundbox_shadow_get ()
void ui_draw_menu_back (uiStyle *style, uiBlock *block, const rcti *rect)
void ui_draw_popover_back (ARegion *region, uiStyle *style, uiBlock *block, const rcti *rect)
void ui_draw_pie_center (uiBlock *block)
const uiWidgetColorsui_tooltip_get_theme ()
void ui_draw_widget_menu_back_color (const rcti *rect, bool use_shadow, const float color[4])
void ui_draw_widget_menu_back (const rcti *rect, bool use_shadow)
void ui_draw_tooltip_background (const uiStyle *style, uiBlock *block, const rcti *rect)
void ui_draw_but (const bContext *C, ARegion *region, uiStyle *style, uiBut *but, rcti *rect)
void ui_draw_menu_item (const uiFontStyle *fstyle, rcti *rect, rcti *back_rect, float zoom, bool use_unpadded, const char *name, int iconid, int but_flag, uiMenuItemSeparatorType separator_type, int *r_xmax)
void ui_draw_preview_item (const uiFontStyle *fstyle, rcti *rect, float zoom, const char *name, int iconid, int but_flag, eFontStyle_Align text_align)
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, const bool add_padding)
void uiStyleInit ()
void ui_icon_ensure_deferred (const bContext *C, int icon_id, bool big)
bool ui_icon_is_preview_deferred_loading (int icon_id, bool big)
int ui_id_icon_get (const bContext *C, ID *id, bool big)
float ui_event_icon_offset (int icon_id)
void icon_draw_rect_input (float x, float y, int w, int h, int icon_id, float aspect, float alpha, bool inverted)
void ui_resources_init ()
void ui_resources_free ()
void ui_layout_add_but (uiLayout *layout, uiBut *but)
void ui_layout_remove_but (uiLayout *layout, const uiBut *but)
bool ui_layout_replace_but_ptr (uiLayout *layout, const void *old_but_ptr, uiBut *new_but)
uiButui_but_add_search (uiBut *but, PointerRNA *ptr, PropertyRNA *prop, PointerRNA *searchptr, PropertyRNA *searchprop, bool results_are_suggestions)
void ui_layout_list_set_labels_active (uiLayout *layout)
void ui_item_menutype_func (bContext *C, uiLayout *layout, void *arg_mt)
void ui_item_paneltype_func (bContext *C, uiLayout *layout, void *arg_pt)
void ui_block_new_button_group (uiBlock *block, uiButtonGroupFlag flag)
void ui_button_group_add_but (uiBlock *block, uiBut *but)
void ui_button_group_replace_but_ptr (uiBlock *block, const uiBut *old_but_ptr, uiBut *new_but)
void ui_but_drag_free (uiBut *but)
bool ui_but_drag_is_draggable (const uiBut *but)
void ui_but_drag_start (bContext *C, uiBut *but)
bool ui_but_can_align (const uiBut *but) ATTR_WARN_UNUSED_RESULT
int ui_but_align_opposite_to_area_align_get (const ARegion *region) ATTR_WARN_UNUSED_RESULT
void ui_block_align_calc (uiBlock *block, const ARegion *region)
void ui_but_anim_flag (uiBut *but, const AnimationEvalContext *anim_eval_context)
void ui_but_anim_copy_driver (bContext *C)
void ui_but_anim_paste_driver (bContext *C)
bool ui_but_anim_expression_get (uiBut *but, char *str, size_t str_maxncpy)
bool ui_but_anim_expression_set (uiBut *but, const char *str)
bool ui_but_anim_expression_create (uiBut *but, const char *str)
void ui_but_anim_autokey (bContext *C, uiBut *but, Scene *scene, float cfra)
void ui_but_anim_decorate_cb (bContext *C, void *arg_but, void *arg_dummy)
void ui_but_anim_decorate_update_from_flag (uiButDecorator *but)
bool ui_but_is_editable (const uiBut *but) ATTR_WARN_UNUSED_RESULT
bool ui_but_is_editable_as_text (const uiBut *but) ATTR_WARN_UNUSED_RESULT
bool ui_but_is_toggle (const uiBut *but) ATTR_WARN_UNUSED_RESULT
bool ui_but_is_interactive_ex (const uiBut *but, const bool labeledit, const bool for_tooltip)
bool ui_but_is_interactive (const uiBut *but, bool labeledit) ATTR_WARN_UNUSED_RESULT
bool ui_but_is_popover_once_compat (const uiBut *but) ATTR_WARN_UNUSED_RESULT
bool ui_but_has_array_value (const uiBut *but) ATTR_WARN_UNUSED_RESULT
int ui_but_icon (const uiBut *but)
void ui_but_pie_dir (RadialDirection dir, float vec[2])
bool ui_but_is_cursor_warp (const uiBut *but) ATTR_WARN_UNUSED_RESULT
bool ui_but_contains_pt (const uiBut *but, float mx, float my) ATTR_WARN_UNUSED_RESULT
bool ui_but_contains_rect (const uiBut *but, const rctf *rect)
bool ui_but_contains_point_px_icon (const uiBut *but, 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
uiButui_list_find_mouse_over (const ARegion *region, const wmEvent *event) ATTR_WARN_UNUSED_RESULT
uiButui_list_find_from_row (const ARegion *region, const uiBut *row_but) ATTR_WARN_UNUSED_RESULT
uiButui_list_row_find_mouse_over (const ARegion *region, const int xy[2]) ATTR_NONNULL(1
uiButui_list_row_find_index (const ARegion *region, int index, uiBut *listbox) ATTR_WARN_UNUSED_RESULT
uiButui_view_item_find_mouse_over (const ARegion *region, const int xy[2]) ATTR_NONNULL(1
uiBut uiButui_view_item_find_active (const ARegion *region)
uiButui_view_item_find_search_highlight (const ARegion *region)
uiButui_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
uiButui_but_find_mouse_over (const ARegion *region, const wmEvent *event) ATTR_WARN_UNUSED_RESULT
uiButui_but_find_rect_over (const ARegion *region, const rcti *rect_px) ATTR_WARN_UNUSED_RESULT
uiButui_list_find_mouse_over_ex (const ARegion *region, const int xy[2]) ATTR_NONNULL(1
bool ui_but_contains_password (const uiBut *but) ATTR_WARN_UNUSED_RESULT
blender::StringRef ui_but_drawstr_without_sep_char (const uiBut *but) ATTR_NONNULL()
size_t ui_but_drawstr_len_without_sep_char (const uiBut *but)
size_t ui_but_tip_len_only_first_line (const uiBut *but)
uiButui_but_prev (uiBut *but) ATTR_WARN_UNUSED_RESULT
uiButui_but_next (uiBut *but) ATTR_WARN_UNUSED_RESULT
uiButui_but_first (uiBlock *block) ATTR_WARN_UNUSED_RESULT
uiButui_but_last (uiBlock *block) ATTR_WARN_UNUSED_RESULT
uiButui_block_active_but_get (const uiBlock *block)
bool ui_block_is_menu (const uiBlock *block) ATTR_WARN_UNUSED_RESULT
bool ui_block_is_popover (const uiBlock *block) ATTR_WARN_UNUSED_RESULT
bool ui_block_is_pie_menu (const uiBlock *block) ATTR_WARN_UNUSED_RESULT
bool ui_block_is_popup_any (const uiBlock *block) ATTR_WARN_UNUSED_RESULT
uiBlockui_block_find_mouse_over_ex (const ARegion *region, const int xy[2], bool only_clip) ATTR_NONNULL(1
uiBlock uiBlockui_block_find_mouse_over (const ARegion *region, const wmEvent *event, bool only_clip)
uiButui_region_find_first_but_test_flag (ARegion *region, int flag_include, int flag_exclude)
uiButui_region_find_active_but (ARegion *region) ATTR_WARN_UNUSED_RESULT
bool ui_region_contains_point_px (const ARegion *region, const int xy[2]) ATTR_NONNULL(1
bool ui_region_contains_rect_px (const ARegion *region, const rcti *rect_px)
ARegionui_screen_region_find_mouse_over_ex (bScreen *screen, const int xy[2]) ATTR_NONNULL(1
ARegion ARegionui_screen_region_find_mouse_over (bScreen *screen, const wmEvent *event)
bool ui_popup_context_menu_for_button (bContext *C, uiBut *but, const wmEvent *event)
void ui_popup_context_menu_for_panel (bContext *C, ARegion *region, Panel *panel)
wmKeyMapeyedropper_modal_keymap (wmKeyConfig *keyconf)
wmKeyMapeyedropper_colorband_modal_keymap (wmKeyConfig *keyconf)
void UI_OT_eyedropper_color (wmOperatorType *ot)
void blender::ui::UI_OT_eyedropper_colorramp (wmOperatorType *ot)
void blender::ui::UI_OT_eyedropper_colorramp_point (wmOperatorType *ot)
void blender::ui::UI_OT_eyedropper_bone (wmOperatorType *ot)
void UI_OT_eyedropper_id (wmOperatorType *ot)
void UI_OT_eyedropper_depth (wmOperatorType *ot)
void UI_OT_eyedropper_driver (wmOperatorType *ot)
void UI_OT_eyedropper_grease_pencil_color (wmOperatorType *ot)
std::optional< blender::StringRefNullUI_asset_shelf_idname_from_button_context (const uiBut *but)
uiListTypeUI_UL_asset_view ()
void ui_rna_collection_search_update_fn (const bContext *C, void *arg, const char *str, uiSearchItems *items, bool is_first)
bool ui_jump_to_target_button_poll (bContext *C)
void ui_interface_tag_script_reload_queries ()
void ui_block_free_views (uiBlock *block)
void ui_block_views_end (ARegion *region, const uiBlock *block)
void ui_block_view_persistent_state_restore (const ARegion &region, const uiBlock &block, blender::ui::AbstractView &view)
void ui_block_views_listen (const uiBlock *block, const wmRegionListenerParams *listener_params)
void ui_block_views_draw_overlays (const ARegion *region, const uiBlock *block)
blender::ui::AbstractViewui_block_view_find_matching_in_old_block (const uiBlock &new_block, const blender::ui::AbstractView &new_view)
uiButViewItemui_block_view_find_matching_view_item_but_in_old_block (const uiBlock &new_block, const blender::ui::AbstractViewItem &new_item)
void ui_view_item_swap_button_pointers (blender::ui::AbstractViewItem &a, blender::ui::AbstractViewItem &b)
uiListTypeUI_UL_cache_file_layers ()
IDui_template_id_liboverride_hierarchy_make (bContext *C, Main *bmain, ID *owner_id, ID *id, const char **r_undo_push_label)
blender::Vector< FCurve * > blender::interface::internal::get_property_drivers (PointerRNA *ptr, PropertyRNA *prop, bool get_all, int index, bool *r_is_array_prop)
int blender::interface::internal::paste_property_drivers (blender::Span< FCurve * > src_drivers, bool is_array_prop, PointerRNA *dst_ptr, PropertyRNA *dst_prop)

Variables

const char ui_radial_dir_order [8]
const char ui_radial_dir_to_numpad [8]
const short ui_radial_dir_to_angle [8]
const float ui_pixel_jitter [UI_PIXEL_AA_JITTER][2]
bool ATTR_WARN_UNUSED_RESULT

Interface Region Functions

interface_region_*.cc sources.

using uiPopoverCreateFunc = std::function<void(bContext *, uiLayout *, PanelType *)>
void ui_color_picker_rgb_to_hsv_compat (const float rgb[3], float r_cp[3])
void ui_color_picker_rgb_to_hsv (const float rgb[3], float r_cp[3])
void ui_color_picker_hsv_to_rgb (const float r_cp[3], float rgb[3])
bool ui_but_is_color_gamma (uiBut *but)
bool ui_but_color_has_alpha (uiBut *but)
void ui_scene_linear_to_perceptual_space (uiBut *but, float rgb[3])
void ui_perceptual_to_scene_linear_space (uiBut *but, float rgb[3])
uiBlockui_block_func_COLOR (bContext *C, uiPopupBlockHandle *handle, void *arg_but)
ColorPickerui_block_colorpicker_create (uiBlock *block)
ARegionui_searchbox_create_generic (bContext *C, ARegion *butregion, uiButSearch *search_but)
ARegionui_searchbox_create_operator (bContext *C, ARegion *butregion, uiButSearch *search_but)
ARegionui_searchbox_create_menu (bContext *C, ARegion *butregion, uiButSearch *search_but)
bool ui_searchbox_inside (ARegion *region, const int xy[2]) ATTR_NONNULL(1
bool int ui_searchbox_find_index (ARegion *region, const char *name)
void ui_searchbox_update (bContext *C, ARegion *region, uiBut *but, bool reset)
int ui_searchbox_autocomplete (bContext *C, ARegion *region, uiBut *but, char *str)
bool ui_searchbox_event (bContext *C, ARegion *region, uiBut *but, ARegion *butregion, const wmEvent *event)
bool ui_searchbox_apply (uiBut *but, ARegion *region)
void ui_searchbox_free (bContext *C, ARegion *region)
void ui_but_search_refresh (uiButSearch *but)
int ui_but_menu_step (uiBut *but, int direction)
bool ui_but_menu_step_poll (const uiBut *but)
uiButui_popup_menu_memory_get (uiBlock *block)
void ui_popup_menu_memory_set (uiBlock *block, uiBut *but)
uiBlockui_popup_block_refresh (bContext *C, uiPopupBlockHandle *handle, ARegion *butregion, uiBut *but)
uiPopupBlockHandleui_popup_block_create (bContext *C, ARegion *butregion, uiBut *but, uiBlockCreateFunc create_func, uiBlockHandleCreateFunc handle_create_func, void *arg, uiFreeArgFunc arg_free, bool can_refresh)
uiPopupBlockHandleui_popup_menu_create (bContext *C, ARegion *butregion, uiBut *but, uiMenuCreateFunc menu_func, void *arg)
uiPopupBlockHandleui_popover_panel_create (bContext *C, ARegion *butregion, uiBut *but, uiPopoverCreateFunc popover_func, const PanelType *panel_type)
void ui_pie_menu_level_create (uiBlock *block, wmOperatorType *ot, blender::StringRefNull propname, IDProperty *properties, const EnumPropertyItem *items, int totitem, wmOperatorCallContext context, eUI_Item_Flag flag)
void ui_popup_translate (ARegion *region, const int mdiff[2])
void ui_popup_block_free (bContext *C, uiPopupBlockHandle *handle)
void ui_popup_block_scrolltest (uiBlock *block)

Macro Definition Documentation

◆ PIE_CLICK_THRESHOLD_SQ

#define PIE_CLICK_THRESHOLD_SQ   50.0f

Definition at line 172 of file interface_intern.hh.

Referenced by ui_pie_handler().

◆ PIE_MAX_ITEMS

#define PIE_MAX_ITEMS   8

The maximum number of items a radial menu (pie menu) can contain.

Definition at line 175 of file interface_intern.hh.

Referenced by ui_get_radialbut_vec(), ui_pie_menu_level_create(), and uiItemsFullEnumO_items().

◆ PNL_HEADER

◆ RNA_ENUM_VALUE

#define RNA_ENUM_VALUE   -2

◆ RNA_NO_INDEX

◆ UI_BITBUT_ROW

#define UI_BITBUT_ROW ( min,
max )
Value:
(((max) >= 31 ? 0xFFFFFFFF : (1 << ((max) + 1)) - 1) - ((min) ? ((1 << (min)) - 1) : 0))
#define min(a, b)
Definition sort.cc:36
max
Definition text_draw.cc:251

Definition at line 147 of file interface_intern.hh.

◆ UI_BITBUT_TEST

#define UI_BITBUT_TEST ( a,
b )
Value:
(((a) & (1 << (b))) != 0)

Definition at line 141 of file interface_intern.hh.

Referenced by ui_but_is_pushed_ex().

◆ UI_BITBUT_VALUE_DISABLED

#define UI_BITBUT_VALUE_DISABLED ( a,
b )
Value:
((a) & ~(1 << (b)))

Definition at line 144 of file interface_intern.hh.

◆ UI_BITBUT_VALUE_ENABLED

#define UI_BITBUT_VALUE_ENABLED ( a,
b )
Value:
((a) | (1 << (b)))

Definition at line 143 of file interface_intern.hh.

◆ UI_BITBUT_VALUE_TOGGLED

#define UI_BITBUT_VALUE_TOGGLED ( a,
b )
Value:
((a) ^ (1 << (b)))

Definition at line 142 of file interface_intern.hh.

Referenced by ui_apply_but_TOG().

◆ UI_MENU_PADDING

#define UI_MENU_PADDING   (int)(0.2f * UI_UNIT_Y)

◆ UI_MENU_SCROLL_ARROW

#define UI_MENU_SCROLL_ARROW   (12 * UI_SCALE_FAC)

Definition at line 69 of file interface_intern.hh.

Referenced by ui_menu_scroll_to_but(), and ui_popup_block_scrolltest().

◆ UI_MENU_SCROLL_MOUSE

#define UI_MENU_SCROLL_MOUSE   (UI_MENU_SCROLL_ARROW + 2 * UI_SCALE_FAC)

Definition at line 70 of file interface_intern.hh.

Referenced by ui_menu_scroll_test().

◆ UI_MENU_SCROLL_PAD

#define UI_MENU_SCROLL_PAD   (4 * UI_SCALE_FAC)

Definition at line 71 of file interface_intern.hh.

Referenced by ui_menu_scroll_apply_offset_y(), and ui_popup_block_refresh().

◆ UI_MENU_SUBMENU_PADDING

#define UI_MENU_SUBMENU_PADDING   (6 * UI_SCALE_FAC)

Some extra padding added to menus containing sub-menu icons.

Definition at line 66 of file interface_intern.hh.

Referenced by ui_popup_block_position(), and widget_draw_text_icon().

◆ UI_MENU_WIDTH_MIN

#define UI_MENU_WIDTH_MIN   (UI_UNIT_Y * 9)

◆ UI_PIXEL_AA_JITTER

#define UI_PIXEL_AA_JITTER   8

Definition at line 1371 of file interface_intern.hh.

Referenced by widget_progress_type_ring().

◆ UI_POPOVER_WIDTH_UNITS

#define UI_POPOVER_WIDTH_UNITS   10

Popover width (multiplied by #U.widget_unit)

Definition at line 74 of file interface_intern.hh.

Referenced by UI_popover_begin(), and ui_popover_panel_create().

◆ UI_POPUP_MARGIN

◆ UI_POPUP_MENU_TOP

#define UI_POPUP_MENU_TOP   (int)(10 * UI_SCALE_FAC)

Margin at top of screen for popups. Note this value must be sufficient to draw a popover arrow to avoid cropping it.

Definition at line 1369 of file interface_intern.hh.

Referenced by ui_block_bounds_calc_popup(), ui_popup_block_clip(), ui_popup_block_position(), ui_popup_block_refresh(), and ui_searchbox_region_layout_fn().

◆ UI_RADIAL_DIRECTION_NEXT

#define UI_RADIAL_DIRECTION_NEXT ( dir)
Value:
RadialDirection((int(dir) + 1) % (int(UI_RADIAL_NW) + 1))
RadialDirection
@ UI_RADIAL_NW

Next direction (clockwise).

Definition at line 119 of file interface_intern.hh.

Referenced by ui_but_isect_pie_seg().

◆ UI_RADIAL_DIRECTION_PREV

#define UI_RADIAL_DIRECTION_PREV ( dir)
Value:
RadialDirection(((int(dir) + int(UI_RADIAL_NW))) % (int(UI_RADIAL_NW) + 1))

Previous direction (counter-clockwise).

Definition at line 121 of file interface_intern.hh.

Referenced by ui_but_isect_pie_seg().

◆ UI_RADIAL_MASK_ALL_AXIS_ALIGNED

#define UI_RADIAL_MASK_ALL_AXIS_ALIGNED
Value:
((1 << int(UI_RADIAL_N)) | (1 << int(UI_RADIAL_S)) | (1 << int(UI_RADIAL_E)) | \
(1 << int(UI_RADIAL_W)))
@ UI_RADIAL_W
@ UI_RADIAL_E
@ UI_RADIAL_N
@ UI_RADIAL_S

Definition at line 128 of file interface_intern.hh.

Referenced by ui_draw_pie_center().

◆ UI_RADIAL_MASK_ALL_DIAGONAL

#define UI_RADIAL_MASK_ALL_DIAGONAL
Value:
((1 << int(UI_RADIAL_NE)) | (1 << int(UI_RADIAL_SE)) | (1 << int(UI_RADIAL_SW)) | \
(1 << int(UI_RADIAL_NW)))
@ UI_RADIAL_SE
@ UI_RADIAL_SW
@ UI_RADIAL_NE

Store a mask for diagonal directions.

Definition at line 125 of file interface_intern.hh.

Referenced by ui_draw_pie_center().

◆ UI_TEXT_MARGIN_X

#define UI_TEXT_MARGIN_X   0.4f

Definition at line 1363 of file interface_intern.hh.

Referenced by ui_textedit_set_cursor_pos(), and widget_draw_text_icon().

◆ USE_NUMBUTS_LR_ALIGN

#define USE_NUMBUTS_LR_ALIGN

Split number-buttons by ':' and align left/right.

Definition at line 151 of file interface_intern.hh.

◆ USE_UIBUT_SPATIAL_ALIGN

#define USE_UIBUT_SPATIAL_ALIGN

Use new 'align' computation code.

Definition at line 154 of file interface_intern.hh.

Typedef Documentation

◆ uiBlockHandleCreateFunc

using uiBlockHandleCreateFunc = uiBlock *(*)(bContext *C, uiPopupBlockHandle *handle, void *arg1)

Definition at line 893 of file interface_intern.hh.

◆ uiButFindPollFn

using uiButFindPollFn = bool (*)(const uiBut *but, const void *customdata)

Definition at line 1517 of file interface_intern.hh.

◆ uiPopoverCreateFunc

using uiPopoverCreateFunc = std::function<void(bContext *, uiLayout *, PanelType *)>

Definition at line 1063 of file interface_intern.hh.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

PieMenuData.flags

Enumerator
UI_PIE_INITIAL_DIRECTION 

Use initial center of pie menu to calculate direction.

UI_PIE_DRAG_STYLE 

Pie menu is drag style.

UI_PIE_INVALID_DIR 

Mouse not far enough from center position.

UI_PIE_CLICK_STYLE 

Pie menu changed to click style, click to confirm.

UI_PIE_ANIMATION_FINISHED 

Pie animation finished, do not calculate any more motion.

UI_PIE_GESTURE_END_WAIT 

Pie gesture selection has been done, now wait for mouse motion to end.

Definition at line 157 of file interface_intern.hh.

◆ anonymous enum

anonymous enum
Enumerator
ROUNDBOX_TRIA_NONE 
ROUNDBOX_TRIA_ARROWS 
ROUNDBOX_TRIA_SCROLL 
ROUNDBOX_TRIA_MENU 
ROUNDBOX_TRIA_CHECK 
ROUNDBOX_TRIA_HOLD_ACTION_ARROW 
ROUNDBOX_TRIA_DASH 
ROUNDBOX_TRIA_MAX 

Definition at line 1276 of file interface_intern.hh.

◆ anonymous enum

anonymous enum

uiBut.flag

Enumerator
UI_SELECT 

Use when the button is pressed.

UI_SCROLLED 

Temporarily hidden (scrolled out of the view).

UI_HOVER 

The button is hovered by the mouse and should be drawn with a hover highlight. Also set sometimes to highlight buttons without actually hovering it (e.g. for arrow navigation in menus). UI handling code manages this mostly and usually does this together with making the button active/focused (see uiBut::active). This means events will be forwarded to it and further handlers/shortcuts can be used while hovering it.

UI_HAS_ICON 
UI_HIDDEN 
UI_SELECT_DRAW 

Display selected, doesn't impact interaction.

UI_SEARCH_FILTER_NO_MATCH 

Property search filter is active and the button does not match.

UI_BUT_ACTIVE_OVERRIDE 

Temporarily override the active button for lookups in context, regions, etc. (everything using #ui_context_button_active()). For example, so that operators normally acting on the active button can be polled on non-active buttons to (e.g. for disabling).

Definition at line 77 of file interface_intern.hh.

◆ eBlockContentHints

uiBlock.content_hints

Enumerator
UI_BLOCK_CONTAINS_SUBMENU_BUT 

In a menu block, if there is a single sub-menu button, we add some padding to the right to put nicely aligned triangle icons there.

Definition at line 539 of file interface_intern.hh.

◆ RadialDirection

uiBut.pie_dir

Enumerator
UI_RADIAL_NONE 
UI_RADIAL_N 
UI_RADIAL_NE 
UI_RADIAL_E 
UI_RADIAL_SE 
UI_RADIAL_S 
UI_RADIAL_SW 
UI_RADIAL_W 
UI_RADIAL_NW 

Definition at line 106 of file interface_intern.hh.

◆ uiButtonGroupFlag

Enumerator
UI_BUTTON_GROUP_LOCK 

While this flag is set, don't create new button groups for layout item calls.

UI_BUTTON_GROUP_PANEL_HEADER 

The buttons in this group are inside a panel header.

Definition at line 546 of file interface_intern.hh.

◆ uiMenuItemSeparatorType

Info about what the separator character separates, used to decide between different drawing styles. E.g. we never want a shortcut string to be clipped, but other hint strings can be clipped.

Enumerator
UI_MENU_ITEM_SEPARATOR_NONE 
UI_MENU_ITEM_SEPARATOR_SHORTCUT 

Separator is used to indicate shortcut string of this item. Shortcut string will not get clipped.

UI_MENU_ITEM_SEPARATOR_HINT 

Separator is used to indicate some additional hint to display for this item. Hint string will get clipped before the normal text.

Definition at line 1310 of file interface_intern.hh.

Function Documentation

◆ ENUM_OPERATORS()

◆ eyedropper_colorband_modal_keymap()

◆ eyedropper_modal_keymap()

◆ icon_draw_rect_input()

◆ UI_asset_shelf_idname_from_button_context()

std::optional< blender::StringRefNull > UI_asset_shelf_idname_from_button_context ( const uiBut * but)

◆ ui_batch_roundbox_shadow_get()

◆ ui_batch_roundbox_widget_get()

◆ ui_block_active_but_get()

◆ ui_block_add_dynamic_listener()

void ui_block_add_dynamic_listener ( uiBlock * block,
void(* listener_func )(const wmRegionListenerParams *params) )

Register a listener callback to this block to tag the area/region for redraw.

Definition at line 3886 of file interface.cc.

References BLI_addtail(), uiBlock::dynamic_listeners, uiBlockDynamicListener::listener_func, MEM_mallocN(), and ui_block_add_dynamic_listener().

Referenced by ui_block_add_dynamic_listener(), UI_menutype_draw(), and ui_paneltype_draw_impl().

◆ ui_block_align_calc()

void ui_block_align_calc ( uiBlock * block,
const ARegion * region )

Compute the alignment of all 'align groups' of buttons in given block.

This is using an order-independent algorithm, i.e. alignment of buttons should be OK regardless of order in which they are added to the block.

Definition at line 366 of file interface_align.cc.

References uiBut::alignnr, ARRAY_SIZE, BLI_assert, block_align_proximity_compute(), block_align_stitch_neighbors(), ButAlign::borders, ButAlign::but, uiBlock::buttons, copy_v4_fl(), ButAlign::dists, DOWN, uiBut::drawflag, fabsf, FLT_MAX, i, IS_EQF, LEFT, MAX_DELTA, MEM_freeN(), MEM_malloc_arrayN(), ButAlign::neighbors, OPPOSITE, RIGHT, SIDE1, SIDE2, SIDE_TO_UI_BUT_ALIGN, TOP, TOTSIDES, ui_block_align_but_to_region(), ui_block_align_butal_cmp(), ui_block_align_calc(), UI_BTYPE_TAB, and UI_BUT_ALIGN_ALL.

Referenced by ui_block_align_calc(), and UI_block_end_ex().

◆ ui_block_bounds_calc()

◆ ui_block_calc_pie_segment()

◆ ui_block_cm_display_get()

◆ ui_block_cm_to_display_space_v3()

◆ ui_block_colorpicker_create()

◆ ui_block_find_mouse_over()

uiBlock uiBlock * ui_block_find_mouse_over ( const ARegion * region,
const wmEvent * event,
bool only_clip )

◆ ui_block_find_mouse_over_ex()

◆ ui_block_free_views()

void ui_block_free_views ( uiBlock * block)

◆ ui_block_func_COLOR()

◆ ui_block_is_menu()

◆ ui_block_is_pie_menu()

◆ ui_block_is_popover()

◆ ui_block_is_popup_any()

◆ ui_block_new_button_group()

◆ ui_block_to_region_fl()

void ui_block_to_region_fl ( const ARegion * region,
const uiBlock * block,
float * x,
float * y )

◆ ui_block_to_region_rctf()

void ui_block_to_region_rctf ( const ARegion * region,
const uiBlock * block,
rctf * rct_dst,
const rctf * rct_src )

◆ ui_block_to_window()

void ui_block_to_window ( const ARegion * region,
const uiBlock * block,
int * x,
int * y )

Definition at line 144 of file interface.cc.

References ui_block_to_window(), ui_block_to_window_fl(), x, and y.

Referenced by ui_block_to_window().

◆ ui_block_to_window_fl()

◆ ui_block_to_window_rctf()

◆ ui_block_to_window_scale()

float ui_block_to_window_scale ( const ARegion * region,
const uiBlock * block )

Definition at line 175 of file interface.cc.

References ui_block_to_window_fl(), and ui_block_to_window_scale().

Referenced by ui_block_to_window_scale(), and ui_but_drag_init().

◆ ui_block_view_find_matching_in_old_block()

◆ ui_block_view_find_matching_view_item_but_in_old_block()

◆ ui_block_view_persistent_state_restore()

◆ ui_block_views_draw_overlays()

void ui_block_views_draw_overlays ( const ARegion * region,
const uiBlock * block )

◆ ui_block_views_end()

◆ ui_block_views_listen()

void ui_block_views_listen ( const uiBlock * block,
const wmRegionListenerParams * listener_params )

◆ ui_but_activate_event()

void ui_but_activate_event ( bContext * C,
ARegion * region,
uiBut * but )

◆ ui_but_activate_over()

void ui_but_activate_over ( bContext * C,
ARegion * region,
uiBut * but )

Simulate moving the mouse over a button (or navigating to it with arrow keys).

exported so menus can start with a highlighted button, even if the mouse isn't over it

Definition at line 9491 of file interface_handlers.cc.

References button_activate_init(), BUTTON_ACTIVATE_OVER, C, and ui_but_activate_over().

Referenced by ui_block_func_POPUP(), and ui_but_activate_over().

◆ ui_but_active_free()

◆ ui_but_active_string_clear_and_exit()

◆ ui_but_add_search()

◆ ui_but_add_shortcut()

◆ ui_but_align_opposite_to_area_align_get()

◆ ui_but_anim_autokey()

void ui_but_anim_autokey ( bContext * C,
uiBut * but,
Scene * scene,
float cfra )

◆ ui_but_anim_copy_driver()

void ui_but_anim_copy_driver ( bContext * C)

◆ ui_but_anim_decorate_cb()

◆ ui_but_anim_decorate_update_from_flag()

◆ ui_but_anim_expression_create()

◆ ui_but_anim_expression_get()

bool ui_but_anim_expression_get ( uiBut * but,
char * str,
size_t str_maxncpy )

str can be NULL to only perform check if but has an expression at all.

Returns
if button has an expression.

Definition at line 190 of file interface_anim.cc.

References BLI_strncpy(), FCurve::driver, DRIVER_TYPE_PYTHON, ChannelDriver::expression, str, ChannelDriver::type, ui_but_anim_expression_get(), and ui_but_get_fcurve().

Referenced by ui_but_anim_expression_get(), ui_but_string_get_ex(), ui_textedit_begin(), and ui_tooltip_data_from_button_or_extra_icon().

◆ ui_but_anim_expression_set()

◆ ui_but_anim_flag()

◆ ui_but_anim_paste_driver()

void ui_but_anim_paste_driver ( bContext * C)

◆ ui_but_can_align()

◆ ui_but_change_type()

uiBut * ui_but_change_type ( uiBut * but,
eButType new_type )

Reallocate the button (new address is returned) for a new button type. This should generally be avoided and instead the correct type be created right away.

Note
Only the uiBut data can be kept. If the old button used a derived type (e.g. uiButTab), the data that is not inside uiBut will be lost.

Definition at line 4255 of file interface.cc.

References BLI_assert, uiBut::block, uiBlock::but_index(), uiBlock::buttons, uiBut::layout, uiBut::poin, uiBut::type, ui_but_change_type(), ui_but_new(), ui_button_group_replace_but_ptr(), UI_editsource_but_replace(), UI_editsource_enable_check(), ui_layout_replace_but_ptr(), uiLayoutGetBlock(), and UNUSED_VARS_NDEBUG.

Referenced by uiLayout::prop(), ui_but_add_search(), ui_but_change_type(), and ui_item_array().

◆ ui_but_clipboard_free()

◆ ui_but_color_has_alpha()

bool ui_but_color_has_alpha ( uiBut * but)

Returns true if the button represents a color with an Alpha component.

Definition at line 109 of file interface_region_color_picker.cc.

References ELEM, PROP_COLOR, PROP_COLOR_GAMMA, RNA_property_array_length(), RNA_property_subtype(), uiBut::rnapoin, uiBut::rnaprop, and ui_but_color_has_alpha().

Referenced by ui_block_colorpicker(), ui_but_color_has_alpha(), and ui_but_drag_init().

◆ ui_but_contains_password()

bool ui_but_contains_password ( const uiBut * but)

◆ ui_but_contains_point_px()

◆ ui_but_contains_point_px_icon()

◆ ui_but_contains_pt()

bool ui_but_contains_pt ( const uiBut * but,
float mx,
float my )

◆ ui_but_contains_rect()

bool ui_but_contains_rect ( const uiBut * but,
const rctf * rect )

◆ ui_but_context_poll_operator()

◆ ui_but_context_poll_operator_ex()

bool ui_but_context_poll_operator_ex ( bContext * C,
const uiBut * but,
const wmOperatorCallParams * optype_params )

Check if the operator ot poll is successful with the context given by but (optionally).

Parameters
butThe button that might store context. Can be NULL for convenience (e.g. if there is no button to take context from, but we still want to poll the operator).

Definition at line 2008 of file interface.cc.

References BLI_assert_msg, C, uiBut::context, CTX_store_get(), CTX_store_set(), uiBut::flag, wmOperatorCallParams::opcontext, wmOperatorCallParams::optype, result, UI_BUT_ACTIVE_OVERRIDE, ui_but_context_poll_operator_ex(), and WM_operator_poll_context().

Referenced by UI_block_end_ex(), ui_but_context_poll_operator(), ui_but_context_poll_operator_ex(), ui_but_string_get_ex(), and ui_tooltip_data_from_button_or_extra_icon().

◆ ui_but_convert_to_unit_alt_name()

void ui_but_convert_to_unit_alt_name ( uiBut * but,
char * str,
size_t str_maxncpy )

◆ ui_but_drag_free()

void ui_but_drag_free ( uiBut * but)

◆ ui_but_drag_is_draggable()

◆ ui_but_drag_multi_edit_get()

◆ ui_but_drag_start()

◆ ui_but_drawstr_len_without_sep_char()

◆ ui_but_drawstr_without_sep_char()

◆ ui_but_execute_begin()

void ui_but_execute_begin ( bContext * C,
ARegion * region,
uiBut * but,
void ** active_back )

◆ ui_but_execute_end()

void ui_but_execute_end ( bContext * C,
ARegion * region,
uiBut * but,
void * active_back )

◆ ui_but_extra_operator_icons_free()

◆ ui_but_find_mouse_over()

◆ ui_but_find_mouse_over_ex()

◆ ui_but_find_new()

uiBut * ui_but_find_new ( uiBlock * block_new,
const uiBut * but_old )

◆ ui_but_find_old()

uiBut * ui_but_find_old ( uiBlock * block_old,
const uiBut * but_new )

Definition at line 861 of file interface.cc.

References ui_but_find_old().

Referenced by ui_but_text_password_hide().

◆ ui_but_find_rect_over()

◆ ui_but_find_select_in_enum()

uiBut * ui_but_find_select_in_enum ( uiBut * but,
int direction )

Finds the pressed button in an aligned row (typically an expanded enum).

Parameters
directionUse when there may be multiple buttons pressed.

Definition at line 636 of file interface_handlers.cc.

References BLI_assert, uiBut::block, uiBlock::but_index(), uiBlock::buttons, ELEM, i, ui_but_find_select_in_enum(), ui_but_find_select_in_enum__cmp(), and UI_SELECT.

Referenced by ui_but_find_select_in_enum(), ui_but_text_password_hide(), and ui_do_but_TOG().

◆ ui_but_first()

◆ ui_but_handle_data_free()

void ui_but_handle_data_free ( uiHandleButtonData ** data)

◆ ui_but_has_array_value()

bool ui_but_has_array_value ( const uiBut * but)

◆ ui_but_hsv_set()

void ui_but_hsv_set ( uiBut * but)

◆ ui_but_icon()

◆ ui_but_is_bool()

◆ ui_but_is_color_gamma()

◆ ui_but_is_compatible()

bool ui_but_is_compatible ( const uiBut * but_a,
const uiBut * but_b )

Check if this button is similar enough to be grouped with another.

Definition at line 2680 of file interface.cc.

References uiBut::pointype, RNA_property_subtype(), RNA_property_type(), uiBut::rnapoin, uiBut::rnaprop, PointerRNA::type, uiBut::type, and ui_but_is_compatible().

Referenced by ui_but_is_compatible(), ui_but_string_get_ex(), and ui_multibut_states_tag().

◆ ui_but_is_cursor_warp()

◆ ui_but_is_editable()

◆ ui_but_is_editable_as_text()

◆ ui_but_is_editing()

◆ ui_but_is_float()

◆ ui_but_is_interactive()

bool ui_but_is_interactive ( const uiBut * but,
bool labeledit )

◆ ui_but_is_interactive_ex()

bool ui_but_is_interactive_ex ( const uiBut * but,
const bool labeledit,
const bool for_tooltip )

◆ ui_but_is_popover_once_compat()

bool ui_but_is_popover_once_compat ( const uiBut * but)

◆ ui_but_is_pushed()

int ui_but_is_pushed ( uiBut * but)

◆ ui_but_is_pushed_ex()

◆ ui_but_is_rna_valid()

◆ ui_but_is_toggle()

◆ ui_but_is_unit()

◆ ui_but_last()

◆ ui_but_menu_direction()

int ui_but_menu_direction ( uiBut * but)

Definition at line 4543 of file interface_handlers.cc.

References uiBut::active, data, and ui_but_menu_direction().

Referenced by ui_but_menu_direction(), and widget_roundbox_set().

◆ ui_but_menu_draw_as_popover()

◆ ui_but_menu_step()

◆ ui_but_menu_step_poll()

◆ ui_but_next()

◆ ui_but_override_flag()

◆ ui_but_pie_dir()

void ui_but_pie_dir ( RadialDirection dir,
float vec[2] )

◆ ui_but_placeholder_get()

◆ ui_but_prev()

◆ ui_but_range_set_hard()

◆ ui_but_range_set_soft()

◆ ui_but_rna_equals()

bool ui_but_rna_equals ( const uiBut * a,
const uiBut * b )

◆ ui_but_rna_equals_ex()

bool ui_but_rna_equals_ex ( const uiBut * but,
const PointerRNA * ptr,
const PropertyRNA * prop,
int index )

◆ ui_but_rna_menu_convert_to_menu_type()

◆ ui_but_rna_menu_convert_to_panel_type()

◆ ui_but_scale_type()

◆ ui_but_search_refresh()

◆ ui_but_semi_modal_state_free()

void ui_but_semi_modal_state_free ( const bContext * C,
uiBut * but )

◆ ui_but_set_string_interactive()

void ui_but_set_string_interactive ( bContext * C,
uiBut * but,
const char * value )

Use handling code to set a string for the button. Handles the case where the string is set for a search button while the search menu is open, so the results are updated accordingly. This is basically the same as pasting the string into the button.

Definition at line 3059 of file interface_handlers.cc.

References uiBut::active, BLI_assert, button_activate_state(), BUTTON_STATE_EXIT, BUTTON_STATE_TEXT_EDITING, C, uiBut::changed, uiBut::flag, uiHandleButtonData::searchbox, uiHandleButtonData::text_edit, uiBut::type, UI_BTYPE_SEARCH_MENU, UI_BUT_DISABLED, ui_but_set_string_interactive(), ui_searchbox_update(), and ui_textedit_string_set().

Referenced by drop_name_invoke(), ui_but_paste_text(), ui_but_set_string_interactive(), ui_but_string_get_ex(), and ui_do_but_text_value_cycle().

◆ ui_but_string_eval_number()

◆ ui_but_string_get()

void void ui_but_string_get ( uiBut * but,
char * str,
size_t str_maxncpy )

◆ ui_but_string_get_dynamic()

◆ ui_but_string_get_ex()

◆ ui_but_string_get_maxncpy()

◆ ui_but_string_set()

◆ ui_but_supports_cycling()

bool ui_but_supports_cycling ( const uiBut * but)

◆ ui_but_text_password_hide()

◆ ui_but_tip_len_only_first_line()

◆ ui_but_to_pixelrect()

void ui_but_to_pixelrect ( rcti * rect,
const ARegion * region,
const uiBlock * block,
const uiBut * but )

Project button or block (but==nullptr) to pixels in region-space.

Definition at line 2190 of file interface.cc.

References uiBlock::rect, uiBut::rect, ui_but_to_pixelrect(), and ui_to_pixelrect().

Referenced by button_section_bounds_calc(), UI_block_draw(), ui_but_to_pixelrect(), and ui_update_flexible_spacing().

◆ ui_but_update()

◆ ui_but_update_edited()

◆ ui_but_update_view_for_active()

void ui_but_update_view_for_active ( const bContext * C,
const uiBlock * block )

In some cases we may want to update the view (View2D) in-between layout definition and drawing. E.g. to make sure a button is visible while editing.

Definition at line 9405 of file interface_handlers.cc.

References uiBut::active, uiBut::block, C, uiBut::changed, data, uiHandleButtonData::region, ui_block_active_but_get(), UI_but_ensure_in_view(), and ui_but_update_view_for_active().

Referenced by UI_blocklist_update_view_for_buttons(), and ui_but_update_view_for_active().

◆ ui_but_v3_get()

◆ ui_but_v3_set()

◆ ui_but_v4_get()

◆ ui_but_v4_set()

◆ ui_but_value_get()

◆ ui_but_value_set()

◆ ui_button_group_add_but()

◆ ui_button_group_replace_but_ptr()

◆ ui_color_picker_hsv_to_rgb()

◆ ui_color_picker_rgb_to_hsv()

void ui_color_picker_rgb_to_hsv ( const float rgb[3],
float r_cp[3] )

◆ ui_color_picker_rgb_to_hsv_compat()

◆ ui_def_but_icon()

◆ ui_def_but_icon_clear()

void ui_def_but_icon_clear ( uiBut * but)

Avoid using this where possible since it's better not to ask for an icon in the first place.

Definition at line 4462 of file interface.cc.

References uiBut::drawflag, uiBut::flag, uiBut::icon, UI_BUT_ICON_LEFT, ui_def_but_icon_clear(), and UI_HAS_ICON.

Referenced by uiLayout::prop(), ui_but_string_get_ex(), and ui_def_but_icon_clear().

◆ ui_draw_aligned_panel()

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 )

◆ ui_draw_but()

void ui_draw_but ( const bContext * C,
ARegion * region,
uiStyle * style,
uiBut * but,
rcti * rect )

Conversion from old to new buttons, so still messy.

Definition at line 4948 of file interface_widgets.cc.

References uiBlock::aspect, BLI_assert, BLI_rcti_pad(), BLI_rcti_size_x(), BLI_rcti_size_y(), uiBut::block, C, uiBut::col, copy_v4_v4_uchar(), uiWidgetType::custom, uiWidgetType::draw, uiBut::drawflag, uiBut::drawstr, uiBut::editstr, ELEM, blender::ui::Emboss, uiBut::emboss, uiBlock::flag, uiBut::flag, GPU_blend(), GPU_BLEND_ALPHA, GPU_BLEND_NONE, uiButHSVCube::gradient_type, uiBut::hold_func, uiBut::icon, blender::ui::None, blender::ui::NoneOrStatus, padding(), blender::ui::PieMenu, blender::ui::Pulldown, state, uiWidgetType::state, uiBut::str, uiWidgetColors::text, uiWidgetType::text, uiBlock::theme_style, bTheme::tui, uiBut::type, UI_BLOCK_NO_DRAW_OVERRIDDEN_STATE, UI_BLOCK_POPOVER_ONCE, UI_BLOCK_THEME_STYLE_POPUP, UI_BTYPE_BLOCK, UI_BTYPE_BUT, UI_BTYPE_BUT_MENU, UI_BTYPE_BUT_TOGGLE, UI_BTYPE_CHECKBOX, UI_BTYPE_CHECKBOX_N, UI_BTYPE_COLOR, UI_BTYPE_COLORBAND, UI_BTYPE_CURVE, UI_BTYPE_CURVEPROFILE, UI_BTYPE_DECORATOR, UI_BTYPE_EXTRA, UI_BTYPE_GRIP, UI_BTYPE_HISTOGRAM, UI_BTYPE_HSVCIRCLE, UI_BTYPE_HSVCUBE, UI_BTYPE_IMAGE, UI_BTYPE_LABEL, UI_BTYPE_LISTBOX, UI_BTYPE_LISTROW, UI_BTYPE_MENU, UI_BTYPE_NODE_SOCKET, UI_BTYPE_NUM, UI_BTYPE_NUM_SLIDER, UI_BTYPE_POPOVER, UI_BTYPE_PREVIEW_TILE, UI_BTYPE_PROGRESS, UI_BTYPE_PULLDOWN, UI_BTYPE_ROUNDBOX, UI_BTYPE_ROW, UI_BTYPE_SCROLL, UI_BTYPE_SEARCH_MENU, UI_BTYPE_SEPR, UI_BTYPE_SEPR_LINE, UI_BTYPE_SEPR_SPACER, UI_BTYPE_TAB, UI_BTYPE_TEXT, UI_BTYPE_TOGGLE, UI_BTYPE_TOGGLE_N, UI_BTYPE_TRACK_PREVIEW, UI_BTYPE_UNITVEC, UI_BTYPE_VECTORSCOPE, UI_BTYPE_VIEW_ITEM, UI_BTYPE_WAVEFORM, UI_BUT_ACTIVE_DEFAULT, UI_BUT_BOX_ITEM, UI_BUT_DISABLED, UI_BUT_DRAG_MULTI, ui_but_drag_multi_edit_get(), UI_BUT_ICON_PREVIEW, UI_BUT_INACTIVE, UI_BUT_INDETERMINATE, ui_but_is_popover_once_compat(), UI_but_is_tool(), UI_BUT_NO_TEXT_PADDING, UI_BUT_NODE_LINK, UI_BUT_OVERRIDDEN, UI_BUT_TEXT_LEFT, UI_BUT_TEXT_RIGHT, ui_draw_but(), ui_draw_but_COLORBAND(), ui_draw_but_CURVE(), ui_draw_but_CURVEPROFILE(), ui_draw_but_HISTOGRAM(), ui_draw_but_HSV_v(), ui_draw_but_HSVCIRCLE(), ui_draw_but_HSVCUBE(), ui_draw_but_IMAGE(), ui_draw_but_TRACKPREVIEW(), ui_draw_but_VECTORSCOPE(), ui_draw_but_WAVEFORM(), ui_draw_separator(), UI_GetTheme(), UI_GRAD_L_ALT, UI_GRAD_V_ALT, UI_HAS_ICON, UI_HOVER, UI_SCALE_FAC, UI_SEARCH_FILTER_NO_MATCH, UI_SELECT, UI_SELECT_DRAW, ui_widget_color_disabled(), UI_WTYPE_BOX, UI_WTYPE_CHECKBOX, UI_WTYPE_EXEC, UI_WTYPE_ICON, UI_WTYPE_ICON_LABEL, UI_WTYPE_LABEL, UI_WTYPE_LISTITEM, UI_WTYPE_MENU_ICON_RADIO, UI_WTYPE_MENU_ITEM, UI_WTYPE_MENU_ITEM_PIE, UI_WTYPE_MENU_ITEM_UNPADDED, UI_WTYPE_MENU_NODE_LINK, UI_WTYPE_MENU_RADIO, UI_WTYPE_NAME, UI_WTYPE_NODESOCKET, UI_WTYPE_NUMBER, UI_WTYPE_PREVIEW_TILE, UI_WTYPE_PROGRESS, UI_WTYPE_PULLDOWN, UI_WTYPE_RADIO, UI_WTYPE_REGULAR, UI_WTYPE_SCROLL, UI_WTYPE_SLIDER, UI_WTYPE_SWATCH, UI_WTYPE_TAB, UI_WTYPE_TOGGLE, UI_WTYPE_TOOLBAR_ITEM, UI_WTYPE_UNITVEC, UI_WTYPE_VIEW_ITEM, UNLIKELY, uiWidgetType::wcol, ThemeUI::wcol_box, ThemeUI::wcol_menu_back, ThemeUI::wcol_menu_item, ThemeUI::wcol_regular, uiWidgetType::wcol_theme, uiStyle::widget, widget_draw_extra_mask(), widget_draw_text_icon(), widget_roundbox_set(), widget_state(), widget_state_option_menu(), widget_type(), rcti::xmax, and rcti::xmin.

Referenced by UI_block_draw(), and ui_draw_but().

◆ ui_draw_but_COLORBAND()

◆ ui_draw_but_CURVE()

void ui_draw_but_CURVE ( ARegion * region,
uiBut * but,
const uiWidgetColors * wcol,
const rcti * rect )

Definition at line 1608 of file interface_draw.cc.

References ARRAY_SET_ITEMS, uiBlock::aspect, BKE_curvemapping_changed(), BLI_rctf_size_x(), BLI_rctf_size_y(), BLI_rcti_isect(), BLI_rcti_size_x(), BLI_rcti_size_y(), uiBut::block, CurveMapping::clipr, CurveMapping::cm, CM_TABLE, CUMA_DO_CLIP, CUMA_DRAW_CFRA, CUMA_DRAW_SAMPLE, CUMA_EXTEND_EXTRAPOLATE, CUMA_SELECT, CurveMapping::cur, CurveMapping::curr, CurveMap::curve, uiButCurveMapping::edit_cumap, CurveMap::ext_in, CurveMap::ext_out, CurveMapping::flag, gl_shaded_color(), gl_shaded_color_get_fl(), GPU_blend(), GPU_BLEND_ALPHA, GPU_BLEND_NONE, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_line_smooth(), GPU_line_width(), GPU_PRIM_LINE_STRIP, GPU_PRIM_LINES, GPU_PRIM_POINTS, GPU_PRIM_TRI_STRIP, GPU_program_point_size(), GPU_scissor(), GPU_scissor_get(), GPU_SHADER_3D_POINT_VARYING_SIZE_VARYING_COLOR, GPU_SHADER_3D_UNIFORM_COLOR, GPU_vertformat_attr_add(), uiButCurveMapping::gradient_type, IMB_colormanagement_get_luminance(), imm_draw_box_wire_2d(), immAttr1f(), immAttr4fv(), immBegin(), immBindBuiltinProgram(), immEnd(), immRectf(), immUnbindProgram(), immUniformColor3fv(), immUniformColor3ub(), immUniformColor3ubv(), immUniformColor3ubvAlpha(), immUniformColor4fv(), immVertex2f(), immVertexFormat(), uiWidgetColors::inner, interp_v3_v3v3(), uiWidgetColors::item, len_squared_v3(), len_squared_v3v3(), linearrgb_to_srgb_v3_v3(), max_ff(), min_ff(), uiWidgetColors::outline, uiBut::poin, rgb_to_hsv_v(), rgb_uchar_to_float(), CurveMapping::sample, swap_v3_v3(), CurveMap::table, TH_TEXT, TH_TEXT_HI, CurveMap::totpoint, U, ui_draw_but_CURVE(), ui_draw_but_curve_grid(), ui_draw_gradient(), UI_GetThemeColor4fv(), UI_GRAD_H, UI_SCALE_FAC, ARegion::winx, ARegion::winy, CurveMapPoint::x, rctf::xmax, rcti::xmax, rctf::xmin, rcti::xmin, CurveMapPoint::y, rctf::ymax, rcti::ymax, rctf::ymin, and rcti::ymin.

Referenced by ui_draw_but(), and ui_draw_but_CURVE().

◆ ui_draw_but_CURVEPROFILE()

void ui_draw_but_CURVEPROFILE ( ARegion * region,
uiBut * but,
const uiWidgetColors * wcol,
const rcti * rect )

Draws the curve profile widget. Somewhat similar to ui_draw_but_CURVE.

Definition at line 1886 of file interface_draw.cc.

References uiBlock::aspect, BKE_curveprofile_table_size(), BKE_curveprofile_update(), BLI_polyfill_calc(), BLI_rctf_size_x(), BLI_rctf_size_y(), BLI_rcti_isect(), BLI_rcti_size_x(), BLI_rcti_size_y(), uiBut::block, CurveProfile::clip_rect, uiButCurveProfile::edit_profile, CurveProfile::flag, gl_shaded_color(), gl_shaded_color_get_fl(), GPU_blend(), GPU_BLEND_ALPHA, GPU_BLEND_NONE, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_line_smooth(), GPU_line_width(), GPU_polygon_smooth(), GPU_PRIM_LINE_STRIP, GPU_PRIM_LINES, GPU_PRIM_POINTS, GPU_PRIM_TRIS, GPU_program_point_size(), GPU_scissor(), GPU_scissor_get(), GPU_SHADER_3D_POINT_VARYING_SIZE_VARYING_COLOR, GPU_SHADER_3D_UNIFORM_COLOR, GPU_vertformat_attr_add(), CurveProfilePoint::h1_loc, CurveProfilePoint::h2_loc, i, imm_draw_box_wire_2d(), immAttr1f(), immAttr4fv(), immBegin(), immBindBuiltinProgram(), immEnd(), immRectf(), immUnbindProgram(), immUniformColor3fv(), immUniformColor3ubv(), immUniformColor3ubvAlpha(), immVertex2f(), immVertexFormat(), uiWidgetColors::inner, interp_v3_v3v3(), uiWidgetColors::item, len_squared_v3(), len_squared_v3v3(), max_ff(), MEM_freeN(), MEM_mallocN(), MEM_SAFE_FREE, min_ff(), uiWidgetColors::outline, CurveProfile::path, CurveProfile::path_len, uiBut::poin, point_draw_handles(), PROF_H1_SELECT, PROF_H2_SELECT, PROF_SELECT, PROF_UPDATE_NONE, PROF_USE_CLIP, rgb_uchar_to_float(), CurveProfile::segments, CurveProfile::segments_len, swap_v3_v3(), CurveProfile::table, TH_TEXT, TH_TEXT_HI, ui_draw_but_curve_grid(), ui_draw_but_CURVEPROFILE(), UI_GetThemeColor4fv(), UI_SCALE_FAC, CurveProfile::view_rect, ARegion::winx, ARegion::winy, CurveProfilePoint::x, rctf::xmax, rcti::xmax, rctf::xmin, rcti::xmin, CurveProfilePoint::y, rctf::ymax, rcti::ymax, rctf::ymin, and rcti::ymin.

Referenced by ui_draw_but(), and ui_draw_but_CURVEPROFILE().

◆ ui_draw_but_HISTOGRAM()

◆ ui_draw_but_IMAGE()

◆ ui_draw_but_TAB_outline()

◆ ui_draw_but_TRACKPREVIEW()

void ui_draw_but_TRACKPREVIEW ( ARegion * region,
uiBut * but,
const uiWidgetColors * wcol,
const rcti * recti )

◆ ui_draw_but_UNITVEC()

◆ ui_draw_but_VECTORSCOPE()

void ui_draw_but_VECTORSCOPE ( ARegion * region,
uiBut * but,
const uiWidgetColors * wcol,
const rcti * recti )

◆ ui_draw_but_WAVEFORM()

void ui_draw_but_WAVEFORM ( ARegion * region,
uiBut * but,
const uiWidgetColors * wcol,
const rcti * recti )

◆ ui_draw_gradient()

◆ ui_draw_layout_panels_backdrop()

◆ ui_draw_menu_back()

◆ ui_draw_menu_item()

void ui_draw_menu_item ( const uiFontStyle * fstyle,
rcti * rect,
rcti * back_rect,
float zoom,
bool use_unpadded,
const char * name,
int iconid,
int but_flag,
uiMenuItemSeparatorType separator_type,
int * r_xmax )

Helper call to draw a menu item without a button.

Parameters
back_rectUsed to draw/leave out the backdrop of the menu item. Useful when layering multiple items with different formatting like in search menus.
but_flagButton flags (uiBut.flag) indicating the state of the item, typically UI_HOVER, UI_BUT_DISABLED, UI_BUT_INACTIVE.
separator_typeThe kind of separator which controls if and how the string is clipped.
r_xmaxThe right hand position of the text, this takes into the icon, padding and text clipping when there is not enough room to display the full text.

Definition at line 5647 of file interface_widgets.cc.

References uiFontStyleDraw_Params::align, BLF_width(), BLI_assert_msg, BLI_rcti_size_x(), BLI_rcti_size_y(), uiWidgetStateInfo::but_flag, uiWidgetType::draw, GPU_blend(), GPU_BLEND_ALPHA, GPU_BLEND_NONE, padding(), state, uiWidgetType::state, STATE_INFO_NULL, STRNCPY(), uiWidgetColors::text, U, UI_BUT_INACTIVE, ui_draw_menu_item(), UI_fontstyle_draw(), UI_fontstyle_draw_ex(), UI_fontstyle_set(), UI_icon_draw_ex(), UI_ICON_SIZE, UI_MAX_DRAW_STR, UI_MENU_ITEM_SEPARATOR_HINT, UI_MENU_ITEM_SEPARATOR_NONE, UI_MENU_ITEM_SEPARATOR_SHORTCUT, UI_NO_ICON_OVERLAY_TEXT, UI_SEP_CHAR, UI_STYLE_TEXT_LEFT, UI_STYLE_TEXT_RIGHT, UI_text_clip_middle_ex(), UI_UNIT_X, UI_WTYPE_MENU_ITEM, UI_WTYPE_MENU_ITEM_UNPADDED, uiFontStyle::uifont_id, blender::ui::Undefined, uiWidgetType::wcol, widget_type(), ResultBLF::width, rcti::xmax, rcti::xmin, and rcti::ymin.

Referenced by ui_draw_menu_item(), ui_searchbox_region_draw_cb__operator(), and ui_searchbox_region_draw_fn().

◆ ui_draw_pie_center()

◆ ui_draw_popover_back()

◆ ui_draw_preview_item()

void ui_draw_preview_item ( const uiFontStyle * fstyle,
rcti * rect,
float zoom,
const char * name,
int iconid,
int but_flag,
eFontStyle_Align text_align )

◆ ui_draw_preview_item_stateless()

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,
const bool add_padding )

Version of ui_draw_preview_item() that does not draw the menu background and item text based on state. It just draws the preview and text directly.

Parameters
draw_as_iconInstead of stretching the preview/icon to the available width/height, draw it at the standard icon size. Mono-icons will draw with text_col or the corresponding theme override for this type of icon.

Definition at line 5785 of file interface_widgets.cc.

References uiFontStyleDraw_Params::align, BLI_rcti_size_x(), blender::StringRefBase::data(), GPU_blend(), GPU_BLEND_ALPHA, GPU_BLEND_NONE, blender::StringRefBase::is_empty(), PREVIEW_PAD, blender::StringRefBase::size(), ui_draw_preview_item_stateless(), UI_fontstyle_draw(), UI_ICON_SIZE, UI_MAX_DRAW_STR, UI_text_clip_middle_ex(), UI_UNIT_Y, widget_draw_preview_icon(), rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.

Referenced by ui_draw_preview_item(), ui_draw_preview_item_stateless(), and widget_preview_tile().

◆ ui_draw_rounded_corners_inverted()

void ui_draw_rounded_corners_inverted ( const rcti & rect,
const float rad,
const blender::float4 color )

Draws rounded corner segments but inverted. Imagine each corner like a filled right triangle, just that the hypotenuse is nicely curved inwards (towards the right angle of the triangle).

Useful for connecting orthogonal shapes with a rounded corner, which can look quite nice.

Definition at line 151 of file interface_draw.cc.

References GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_PRIM_TRI_FAN, GPU_SHADER_3D_UNIFORM_COLOR, GPU_vertformat_attr_add(), immBegin(), immBindBuiltinProgram(), immEnd(), immUnbindProgram(), immUniformColor4fv(), immVertex2f(), immVertexFormat(), mul_v2_fl(), roundboxtype, UI_CNR_BOTTOM_LEFT, UI_CNR_BOTTOM_RIGHT, UI_CNR_TOP_LEFT, UI_CNR_TOP_RIGHT, ui_draw_rounded_corners_inverted(), rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.

Referenced by ui_draw_button_sections_alignment_separator(), and ui_draw_rounded_corners_inverted().

◆ ui_draw_tooltip_background()

◆ ui_draw_widget_menu_back()

void ui_draw_widget_menu_back ( const rcti * rect,
bool use_shadow )

◆ ui_draw_widget_menu_back_color()

void ui_draw_widget_menu_back_color ( const rcti * rect,
bool use_shadow,
const float color[4] )

◆ ui_event_icon_offset()

◆ ui_fontscale()

void ui_fontscale ( float * points,
float aspect )

◆ ui_handle_afterfunc_add_operator()

void ui_handle_afterfunc_add_operator ( wmOperatorType * ot,
wmOperatorCallContext opcontext )

◆ ui_handler_panel_region()

◆ ui_hsvcircle_pos_from_vals()

void ui_hsvcircle_pos_from_vals ( const ColorPicker * cpicker,
const rcti * rect,
const float * hsv,
float * r_xpos,
float * r_ypos )

◆ ui_hsvcircle_vals_from_pos()

void ui_hsvcircle_vals_from_pos ( const rcti * rect,
float mx,
float my,
float * r_val_rad,
float * r_val_dist )

◆ ui_hsvcube_pos_from_vals()

◆ ui_icon_ensure_deferred()

◆ ui_icon_is_preview_deferred_loading()

bool ui_icon_is_preview_deferred_loading ( int icon_id,
bool big )

◆ ui_id_icon_get()

◆ ui_interface_tag_script_reload_queries()

void ui_interface_tag_script_reload_queries ( )

◆ ui_item_menutype_func()

void ui_item_menutype_func ( bContext * C,
uiLayout * layout,
void * arg_mt )

◆ ui_item_paneltype_func()

◆ ui_jump_to_target_button_poll()

bool ui_jump_to_target_button_poll ( bContext * C)

◆ ui_layout_add_but()

◆ ui_layout_list_set_labels_active()

void ui_layout_list_set_labels_active ( uiLayout * layout)

Check all buttons defined in this layout, and set any button flagged as UI_BUT_LIST_ITEM as active/selected. Needed to handle correctly text colors of active (selected) list item.

Definition at line 5025 of file interface_layout.cc.

References uiButtonItem::but, uiBut::flag, uiLayout::items_, uiItem::type_, UI_but_flag_enable(), UI_BUT_LIST_ITEM, ui_layout_list_set_labels_active(), and UI_SELECT.

Referenced by blender::ui::TreeViewLayoutBuilder::build_row(), ui_layout_list_set_labels_active(), and ui_template_list_layout_draw().

◆ ui_layout_panel_header_under_mouse()

◆ ui_layout_panel_popup_scroll_apply()

void ui_layout_panel_popup_scroll_apply ( Panel * panel,
const float dy )

◆ ui_layout_panel_toggle_open()

◆ ui_layout_remove_but()

◆ ui_layout_replace_but_ptr()

bool ui_layout_replace_but_ptr ( uiLayout * layout,
const void * old_but_ptr,
uiBut * new_but )
Returns
true if the button was successfully replaced.

Definition at line 5858 of file interface_layout.cc.

References uiButtonItem::but, ui_layout_find_button_item(), and ui_layout_replace_but_ptr().

Referenced by ui_but_change_type(), and ui_layout_replace_but_ptr().

◆ ui_list_find_from_row()

uiBut * ui_list_find_from_row ( const ARegion * region,
const uiBut * row_but )

◆ ui_list_find_mouse_over()

◆ ui_list_find_mouse_over_ex()

◆ ui_list_row_find_index()

uiBut * ui_list_row_find_index ( const ARegion * region,
int index,
uiBut * listbox )

◆ ui_list_row_find_mouse_over()

◆ UI_OT_eyedropper_color()

◆ UI_OT_eyedropper_depth()

◆ UI_OT_eyedropper_driver()

◆ UI_OT_eyedropper_grease_pencil_color()

◆ UI_OT_eyedropper_id()

◆ ui_pan_to_scroll()

◆ ui_panel_drag_collapse_handler_add()

◆ ui_panel_tag_search_filter_match()

void ui_panel_tag_search_filter_match ( Panel * panel)

◆ ui_perceptual_to_scene_linear_space()

◆ ui_pie_menu_level_create()

◆ ui_popover_panel_create()

◆ ui_popup_block_create()

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 )

◆ ui_popup_block_free()

◆ ui_popup_block_refresh()

uiBlock * ui_popup_block_refresh ( bContext * C,
uiPopupBlockHandle * handle,
ARegion * butregion,
uiBut * but )

Called for creating new popups and refreshing existing ones.

Definition at line 625 of file interface_region_popup.cc.

References uiPopupBlockCreate::arg, uiBlock::aspect, BLI_addhead(), BLI_assert, BLI_rctf_recenter(), BLI_rctf_size_x(), BLI_rctf_size_y(), uiBut::block, uiBlock::bounds_type, uiBlock::buttons, C, uiPopupBlockHandle::can_refresh, copy_v2_v2(), create_func(), uiPopupBlockCreate::create_func, CTX_data_depsgraph_pointer(), CTX_data_main(), CTX_data_scene(), CTX_wm_window(), uiBlock::direction, uiPopupBlockHandle::direction, ED_region_floating_init(), ED_region_tag_redraw(), ED_region_update_rect(), ELEM, uiBlock::endblock, wmWindow::event_last_handled, uiPopupBlockCreate::event_xy, wmWindow::eventstate, uiBlock::flag, PieMenuData::flags, FLT_MAX, uiBlock::handle, uiPopupBlockCreate::handle_create_func, max_ff(), MEM_callocN(), min_ff(), uiBlock::oldblock, uiBlock::panel, PieMenuData::pie_center_init, PieMenuData::pie_center_spawned, uiBlock::pie_data, uiPopupBlockHandle::popup_create_vars, uiPopupBlockHandle::prev_block_rect, uiBlock::rect, uiPopupBlockHandle::refresh, uiPopupBlockHandle::region, ARegion::regiondata, ARegion::runtime, uiBlock::saferct, uiBlock::safety, uiSafetyRct::safety, uiPopupBlockHandle::scrolloffset, U, UI_BLOCK_BOUNDS_POPUP_CENTER, ui_block_calc_pie_segment(), UI_block_end_ex(), ui_block_is_menu(), UI_BLOCK_LOOP, UI_BLOCK_NO_ACCELERATOR_KEYS, UI_BLOCK_PIE_MENU, UI_BLOCK_POPOVER, UI_BLOCK_POPUP, UI_BLOCK_THEME_STYLE_POPUP, UI_block_theme_style_set(), UI_block_translate(), UI_block_update_from_old(), UI_blocklist_free_inactive(), UI_DIR_DOWN, UI_DIR_UP, ui_layout_panel_popup_scroll_apply(), UI_MENU_SCROLL_PAD, UI_PIE_INITIAL_DIRECTION, ui_popup_block_clip(), ui_popup_block_position(), ui_popup_block_refresh(), ui_popup_block_scrolltest(), UI_POPUP_MARGIN, UI_POPUP_MENU_TOP, UI_RADIAL_NONE, UI_SCREEN_MARGIN, UI_UNIT_Y, UNPACK2, uiBlock::winmat, ARegion::winrct, WM_window_native_pixel_size(), wmGetProjectionMatrix(), rctf::xmax, rcti::xmax, rctf::xmin, rcti::xmin, rctf::ymax, rcti::ymax, rctf::ymin, and rcti::ymin.

Referenced by ui_block_region_refresh(), ui_popup_block_create(), ui_popup_block_refresh(), and ui_searchbox_inside().

◆ ui_popup_block_scrolltest()

◆ ui_popup_context_menu_for_button()

bool ui_popup_context_menu_for_button ( bContext * C,
uiBut * but,
const wmEvent * event )

Definition at line 521 of file interface_context_menu.cc.

References ANIM_driver_can_paste(), uiBut::apply_func, ID::asset_data, BLI_assert, BLI_exists(), BLI_path_split_dir_part(), uiBut::block, BLT_I18NCONTEXT_OPERATOR_DEFAULT, blender::ui::AbstractViewItem::build_context_menu(), C, blender::ed::asset::can_mark_single_from_context(), uiLayout::column(), uiBut::context, CTX_data_main(), CTX_data_pointer_get_type(), CTX_IFACE_, CTX_store_get(), CTX_store_set(), CTX_wm_area(), CTX_wm_region(), CTX_wm_region_popup(), PointerRNA::data, ED_buttons_navbar_menu(), ED_buttons_visible_tabs_menu(), ED_screen_user_menu_ensure(), ED_screen_user_menu_item_remove(), ED_screen_user_menus_find(), ED_screens_footer_tools_menu_create(), ED_screens_header_tools_menu_create(), ELEM, EVT_TYPE_MASK_ALL, FILE_MAX, FILE_MAXDIR, uiBut::flag, IFACE_, is_disabled, ISKEYBOARD, ISNDOF_BUTTON, bUserMenu::items, MEM_freeN(), uiButTab::menu, uiLayout::menu(), menu_add_shortcut(), menu_add_shortcut_cancel(), menu_change_shortcut(), uiBut::menu_create_func, uiLayout::menu_fn(), nullptr, uiLayout::op(), uiBut::opcontext, uiBut::opptr, uiBut::optype, PointerRNA::owner_id, MenuType::poll, PROP_BOOLEAN, PROP_DIRPATH, PROP_ENUM, PROP_FILEPATH, PROP_FLOAT, PROP_INT, PROP_POINTER, PROP_STRING, ARegion::regiontype, remove_shortcut_func(), RGN_TYPE_FOOTER, RGN_TYPE_HEADER, RGN_TYPE_NAV_BAR, RGN_TYPE_TOOL_HEADER, RNA_boolean_set(), RNA_OVERRIDE_STATUS_OVERRIDABLE, RNA_property_anim_editable(), RNA_property_array_length(), RNA_property_is_idprop(), RNA_property_override_library_status(), RNA_property_path_from_ID_check(), RNA_property_string_get(), RNA_property_subtype(), RNA_property_type(), RNA_string_set(), RNA_struct_find_property(), RNA_struct_property_is_set(), uiBut::rnaindex, uiBut::rnapoin, uiBut::rnaprop, uiLayout::separator(), set_layout_context_from_button(), shortcut_free_operator_property(), shortcut_get_operator_property(), SPACE_PROPERTIES, ScrArea::spacetype, TIP_, PointerRNA::type, uiBut::type, wmKeyMapItem::type, U, ui_block_is_menu(), ui_block_is_popup_any(), UI_BTYPE_BUT, UI_BTYPE_IMAGE, UI_BTYPE_LABEL, UI_BTYPE_SEARCH_MENU, UI_BTYPE_TAB, UI_BTYPE_VIEW_ITEM, UI_BUT_ANIMATED, UI_BUT_ANIMATED_KEY, UI_but_context_menu_title_from_button(), UI_BUT_DISABLED, UI_BUT_DRIVEN, UI_but_flag_enable(), UI_but_func_set(), ui_but_is_user_menu_compatible(), ui_but_menu_add_path_operators(), UI_but_online_manual_id(), UI_BUT_OVERRIDDEN, ui_but_user_menu_add(), ui_but_user_menu_find(), UI_ITEM_NONE, ui_jump_to_target_button_poll(), ui_list_find_mouse_over(), ui_list_row_find_mouse_over(), UI_menutype_draw(), UI_popup_block_ex(), UI_popup_block_invoke(), ui_popup_context_menu_for_button(), UI_popup_menu_begin(), UI_popup_menu_end_or_cancel(), UI_popup_menu_layout(), ui_rna_collection_search_update_fn(), UI_UNIT_Y, ui_view_item_find_mouse_over(), uiDefBlockBut(), uiDefIconTextBut(), uiLayoutGetBlock(), uiLayoutGetWidth(), uiLayoutSetContextFromBut(), uiLayoutSetEnabled(), uiLayoutSetOperatorContext(), USER_DEVELOPER_UI, uiButViewItem::view_item, w(), WM_key_event_operator(), WM_keymap_guess_opname(), WM_menutype_find(), WM_OP_EXEC_DEFAULT, WM_OP_INVOKE_DEFAULT, WM_operatortype_find(), and wmEvent::xy.

Referenced by ui_do_button(), ui_popup_context_menu_for_button(), ui_screen_region_find_mouse_over_ex(), and ui_search_menu_create_context_menu().

◆ ui_popup_context_menu_for_panel()

◆ ui_popup_menu_create()

uiPopupBlockHandle * ui_popup_menu_create ( bContext * C,
ARegion * butregion,
uiBut * but,
uiMenuCreateFunc menu_func,
void * arg )

◆ ui_popup_menu_memory_get()

uiBut * ui_popup_menu_memory_get ( uiBlock * block)

◆ ui_popup_menu_memory_set()

void ui_popup_menu_memory_set ( uiBlock * block,
uiBut * but )

◆ ui_popup_translate()

void ui_popup_translate ( ARegion * region,
const int mdiff[2] )

◆ ui_region_contains_point_px()

◆ ui_region_contains_rect_px()

◆ ui_region_find_active_but()

◆ ui_region_find_first_but_test_flag()

uiBut * ui_region_find_first_but_test_flag ( ARegion * region,
int flag_include,
int flag_exclude )

◆ ui_region_to_window()

void ui_region_to_window ( const ARegion * region,
int * x,
int * y )

Definition at line 256 of file interface.cc.

References ui_region_to_window(), ARegion::winrct, x, rcti::xmin, y, and rcti::ymin.

Referenced by ui_region_to_window().

◆ ui_region_winrct_get_no_margin()

void ui_region_winrct_get_no_margin ( const ARegion * region,
rcti * r_rect )

Popups will add a margin to ARegion.winrct for shadow, for interactivity (point-inside tests for eg), we want the winrct without the margin added.

Definition at line 376 of file interface.cc.

References BLI_rcti_rctf_copy_floor(), BLI_rcti_translate(), uiBlock::flag, uiBlock::rect, ARegion::runtime, UI_BLOCK_LOOP, UI_BLOCK_PIE_MENU, ui_region_winrct_get_no_margin(), ARegion::winrct, rcti::xmin, and rcti::ymin.

Referenced by ui_region_contains_point_px(), ui_region_contains_rect_px(), ui_region_winrct_get_no_margin(), and ui_screen_region_find_mouse_over_ex().

◆ ui_resources_free()

void ui_resources_free ( )

Definition at line 51 of file resources.cc.

References UI_icons_free(), and ui_resources_free().

Referenced by UI_exit(), and ui_resources_free().

◆ ui_resources_init()

void ui_resources_init ( )

Definition at line 46 of file resources.cc.

References UI_icons_init(), and ui_resources_init().

Referenced by UI_init(), and ui_resources_init().

◆ ui_rna_collection_search_update_fn()

◆ ui_scene_linear_to_perceptual_space()

◆ ui_screen_region_find_mouse_over()

◆ ui_screen_region_find_mouse_over_ex()

◆ ui_searchbox_apply()

◆ ui_searchbox_autocomplete()

◆ ui_searchbox_create_generic()

ARegion * ui_searchbox_create_generic ( bContext * C,
ARegion * butregion,
uiButSearch * search_but )

◆ ui_searchbox_create_menu()

◆ ui_searchbox_create_operator()

◆ ui_searchbox_event()

◆ ui_searchbox_find_index()

bool int ui_searchbox_find_index ( ARegion * region,
const char * name )

◆ ui_searchbox_free()

void ui_searchbox_free ( bContext * C,
ARegion * region )

◆ ui_searchbox_inside()

◆ ui_searchbox_update()

◆ ui_template_id_liboverride_hierarchy_make()

ID * ui_template_id_liboverride_hierarchy_make ( bContext * C,
Main * bmain,
ID * owner_id,
ID * id,
const char ** r_undo_push_label )

Definition at line 355 of file interface_template_id.cc.

References BKE_collection_child_add(), BKE_collection_has_collection(), BKE_collection_has_object_recursive(), BKE_collection_object_add(), BKE_lib_override_library_create(), BKE_lib_override_library_get(), BKE_lib_override_library_id_reset(), BKE_scene_collections_object_remove(), BKE_scene_has_object(), C, Main::collections, CTX_data_active_object(), CTX_data_collection(), CTX_data_scene(), CTX_data_view_layer(), IDOverrideLibrary::flag, GS, IDOverrideLibrary::hierarchy_root, Collection::id, Object::id, ID_AR, ID_CA, ID_CU_LEGACY, ID_CV, ID_GD_LEGACY, ID_GR, ID_IM, ID_IS_LINKED, ID_IS_OVERRIDABLE_LIBRARY_HIERARCHY, ID_IS_OVERRIDE_LIBRARY, ID_IS_OVERRIDE_LIBRARY_REAL, ID_LA, ID_LT, ID_MA, ID_MB, ID_ME, ID_NT, ID_OB, ID_PA, ID_PT, ID_SPK, ID_TAG_DOIT, ID_TE, ID_VO, ID_WO, Object::instance_collection, ID::lib, LIBOVERRIDE_FLAG_SYSTEM_DEFINED, LISTBASE_FOREACH, Scene::master_collection, NA_ADDED, NA_REMOVED, ID::name, NC_ID, NC_SPACE, NC_WM, ND_DATACHANGED, ND_LIB_OVERRIDE_CHANGED, ND_SPACE_OUTLINER, ND_SPACE_VIEW3D, ID::override_library, RPT_ERROR, RPT_WARNING, ID::tag, template_id_liboverride_hierarchy_collection_root_find_recursive(), template_id_liboverride_hierarchy_collections_tag_recursive(), ui_template_id_liboverride_hierarchy_make(), WM_event_add_notifier(), and WM_global_reportf().

Referenced by override_idtemplate_make_exec(), template_id_liboverride_hierarchy_make(), and ui_template_id_liboverride_hierarchy_make().

◆ ui_textedit_undo()

const char * ui_textedit_undo ( uiUndoStack_Text * stack,
int direction,
int * r_cursor_index )

◆ ui_textedit_undo_push()

void ui_textedit_undo_push ( uiUndoStack_Text * stack,
const char * text,
int cursor_index )

Push the information in the arguments to a new state in the undo stack.

Note
Currently the total length of the undo stack is not limited.

Definition at line 79 of file interface_undo.cc.

References BLI_addtail(), BLI_remlink(), uiUndoStack_Text::current, uiUndoStack_Text_State::cursor_index, MEM_freeN(), MEM_mallocN(), uiUndoStack_Text_State::next, state, uiUndoStack_Text::states, uiUndoStack_Text_State::text, and ui_textedit_undo_push().

Referenced by ui_do_but_textedit(), ui_textedit_begin(), and ui_textedit_undo_push().

◆ ui_textedit_undo_stack_create()

uiUndoStack_Text * ui_textedit_undo_stack_create ( )

Start the undo stack.

Note
The current state should be pushed immediately after calling this.

Definition at line 99 of file interface_undo.cc.

References BLI_listbase_clear(), uiUndoStack_Text::current, MEM_callocN(), uiUndoStack_Text::states, and ui_textedit_undo_stack_create().

Referenced by ui_textedit_begin(), and ui_textedit_undo_stack_create().

◆ ui_textedit_undo_stack_destroy()

void ui_textedit_undo_stack_destroy ( uiUndoStack_Text * stack)

◆ ui_to_pixelrect()

rcti ui_to_pixelrect ( const ARegion * region,
const uiBlock * block,
const rctf * src_rect )

◆ ui_tooltip_get_theme()

◆ UI_UL_asset_view()

◆ UI_UL_cache_file_layers()

◆ ui_view_item_find_active()

◆ ui_view_item_find_mouse_over()

◆ ui_view_item_find_search_highlight()

◆ ui_view_item_swap_button_pointers()

◆ ui_window_to_block()

◆ ui_window_to_block_fl()

◆ ui_window_to_block_rctf()

void ui_window_to_block_rctf ( const ARegion * region,
const uiBlock * block,
rctf * rct_dst,
const rctf * rct_src )

◆ ui_window_to_region()

void ui_window_to_region ( const ARegion * region,
int * x,
int * y )

◆ ui_window_to_region_rctf()

void ui_window_to_region_rctf ( const ARegion * region,
rctf * rect_dst,
const rctf * rct_src )

◆ ui_window_to_region_rcti()

void ui_window_to_region_rcti ( const ARegion * region,
rcti * rect_dst,
const rcti * rct_src )

◆ uiStyleInit()

Variable Documentation

◆ ATTR_WARN_UNUSED_RESULT

bool ATTR_WARN_UNUSED_RESULT

Definition at line 1503 of file interface_intern.hh.

◆ ui_pixel_jitter

const float ui_pixel_jitter[UI_PIXEL_AA_JITTER][2]
extern

Definition at line 290 of file interface_widgets.cc.

Referenced by widget_progress_type_ring().

◆ ui_radial_dir_order

const char ui_radial_dir_order[8]
extern

Definition at line 1647 of file interface.cc.

Referenced by ui_get_radialbut_vec().

◆ ui_radial_dir_to_angle

const short ui_radial_dir_to_angle[8]
extern

Definition at line 1659 of file interface.cc.

Referenced by ui_but_pie_dir().

◆ ui_radial_dir_to_numpad

const char ui_radial_dir_to_numpad[8]
extern

Definition at line 1658 of file interface.cc.

Referenced by ui_but_pie_direction_string().