Blender  V3.3
Classes
interface_widgets.c File Reference
#include <limits.h>
#include <stdlib.h>
#include <string.h>
#include "DNA_brush_types.h"
#include "DNA_screen_types.h"
#include "DNA_userdef_types.h"
#include "BLI_listbase.h"
#include "BLI_math.h"
#include "BLI_rect.h"
#include "BLI_string.h"
#include "BLI_string_utf8.h"
#include "BLI_utildefines.h"
#include "BKE_context.h"
#include "RNA_access.h"
#include "BLF_api.h"
#include "ED_node.h"
#include "UI_interface.h"
#include "UI_interface_icons.h"
#include "UI_view2d.h"
#include "interface_intern.h"
#include "GPU_batch.h"
#include "GPU_batch_presets.h"
#include "GPU_immediate.h"
#include "GPU_immediate_util.h"
#include "GPU_matrix.h"
#include "GPU_platform.h"
#include "GPU_state.h"

Go to the source code of this file.

Classes

struct  uiWidgetStateInfo
 
struct  uiWidgetTrias
 
struct  uiWidgetBase
 
struct  uiWidgetType
 
struct  UnderlineData
 

Functions

Internal Color Utilities
static void color_blend_v3_v3 (uchar cp[3], const uchar cpstate[3], const float fac)
 
static void color_blend_v4_v4v4 (uchar r_col[4], const uchar col1[4], const uchar col2[4], const float fac)
 
static void color_add_v3_i (uchar cp[3], int tint)
 
static void color_ensure_contrast_v3 (uchar cp[3], const uchar cp_other[3], int contrast)
 
static void color_mul_hsl_v3 (uchar ch[3], float h_factor, float s_factor, float l_factor)
 
Draw Triangle Arrow
static void draw_anti_tria (float x1, float y1, float x2, float y2, float x3, float y3, const float color[4])
 
void UI_draw_icon_tri (float x, float y, char dir, const float color[4])
 
static void draw_anti_tria_rect (const rctf *rect, char dir, const float color[4])
 
static void widget_init (uiWidgetBase *wtb)
 
Draw Round Box
static int round_box_shadow_edges (float(*vert)[2], const rcti *rect, float rad, int roundboxalign, float step)
 
static void round_box__edges (uiWidgetBase *wt, int roundboxalign, const rcti *rect, float rad, float radi)
 
static void round_box_edges (uiWidgetBase *wt, int roundboxalign, const rcti *rect, float rad)
 
Shape Preset Mini API
static void shape_preset_init_trias_ex (uiWidgetTrias *tria, const rcti *rect, float triasize, char where, const float verts[][2], const int verts_tot, const uint tris[][3], const int tris_tot)
 
static void shape_preset_init_number_arrows (uiWidgetTrias *tria, const rcti *rect, float triasize, char where)
 
static void shape_preset_init_hold_action (uiWidgetTrias *tria, const rcti *rect, float triasize, char where)
 
static void shape_preset_init_scroll_circle (uiWidgetTrias *tria, const rcti *rect, float triasize, char where)
 
static void widget_draw_vertex_buffer (uint pos, uint col, int mode, const float quads_pos[WIDGET_SIZE_MAX][2], const uchar quads_col[WIDGET_SIZE_MAX][4], uint totvert)
 
static void shape_preset_trias_from_rect_menu (uiWidgetTrias *tria, const rcti *rect)
 
static void shape_preset_trias_from_rect_checkmark (uiWidgetTrias *tria, const rcti *rect)
 
Widget Base Drawing
static void shadecolors4 (uchar coltop[4], uchar coldown[4], const uchar *color, short shadetop, short shadedown)
 
static void widget_verts_to_triangle_strip (uiWidgetBase *wtb, const int totvert, float triangle_strip[WIDGET_SIZE_MAX *2+2][2])
 
static void widgetbase_outline (uiWidgetBase *wtb, uint pos)
 
static void widgetbase_set_uniform_alpha_discard (uiWidgetBase *wtb, const bool alpha_check, const float discard_factor)
 
static void widgetbase_set_uniform_alpha_check (uiWidgetBase *wtb, const bool alpha_check)
 
static void widgetbase_set_uniform_discard_factor (uiWidgetBase *wtb, const float discard_factor)
 
static void widgetbase_set_uniform_colors_ubv (uiWidgetBase *wtb, const uchar *col1, const uchar *col2, const uchar *outline, const uchar *emboss, const uchar *tria, const bool alpha_check)
 
Widget State Management

Adjust widget display based on animated, driven, overridden ... etc.

static void ui_widget_color_disabled (uiWidgetType *wt, const uiWidgetStateInfo *state)
 
static void widget_active_color (uiWidgetColors *wcol)
 
static const ucharwidget_color_blend_from_flags (const uiWidgetStateColors *wcol_state, const uiWidgetStateInfo *state, const eUIEmbossType emboss)
 
static void widget_state (uiWidgetType *wt, const uiWidgetStateInfo *state, eUIEmbossType emboss)
 
Widget Corner Radius Calculation

A lot of places of the UI like the Node Editor or panels are zoomable. In most cases we can get the zoom factor from the aspect, but in some cases like popups we need to fall back to using the size of the element. The latter method relies on the element always being the same size.

static float widget_radius_from_zoom (const float zoom, const uiWidgetColors *wcol)
 
static float widget_radius_from_rcti (const rcti *rect, const uiWidgetColors *wcol)
 
Widget Types
static void widget_state_numslider (uiWidgetType *wt, const uiWidgetStateInfo *state, eUIEmbossType emboss)
 
static void widget_state_option_menu (uiWidgetType *wt, const uiWidgetStateInfo *state, eUIEmbossType emboss)
 
static void widget_state_nothing (uiWidgetType *wt, const uiWidgetStateInfo *UNUSED(state), eUIEmbossType UNUSED(emboss))
 
static void widget_state_pulldown (uiWidgetType *wt, const uiWidgetStateInfo *UNUSED(state), eUIEmbossType UNUSED(emboss))
 
static void widget_state_pie_menu_item (uiWidgetType *wt, const uiWidgetStateInfo *state, eUIEmbossType UNUSED(emboss))
 
static void widget_state_menu_item (uiWidgetType *wt, const uiWidgetStateInfo *state, eUIEmbossType UNUSED(emboss))
 
Draw Menu Backdrop
static void widget_softshadow (const rcti *rect, int roundboxalign, const float radin)
 
static void widget_menu_back (uiWidgetColors *wcol, rcti *rect, const int block_flag, const int direction, const float zoom)
 
static void ui_hsv_cursor (const float x, const float y, const float zoom)
 
void ui_hsvcircle_vals_from_pos (const rcti *rect, const float mx, const 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)
 
static void ui_draw_but_HSVCIRCLE (uiBut *but, const uiWidgetColors *wcol, const rcti *rect)
 
Draw Custom Buttons
void ui_draw_gradient (const rcti *rect, const float hsv[3], const eButGradientType type, const float alpha)
 
void ui_hsvcube_pos_from_vals (const uiButHSVCube *hsv_but, const rcti *rect, const float *hsv, float *r_xp, float *r_yp)
 
static void ui_draw_but_HSVCUBE (uiBut *but, const rcti *rect)
 
static void ui_draw_but_HSV_v (uiBut *but, const rcti *rect)
 
static void ui_draw_separator (const rcti *rect, const uiWidgetColors *wcol)
 
Public API
void ui_draw_but (const bContext *C, struct ARegion *region, uiStyle *style, uiBut *but, rcti *rect)
 
static void ui_draw_clip_tri (uiBlock *block, rcti *rect, uiWidgetType *wt)
 
void ui_draw_menu_back (uiStyle *UNUSED(style), uiBlock *block, rcti *rect)
 
static void ui_draw_popover_back_impl (const uiWidgetColors *wcol, rcti *rect, int direction, const float unit_size, const float mval_origin[2])
 
void ui_draw_popover_back (struct ARegion *region, uiStyle *UNUSED(style), uiBlock *block, rcti *rect)
 
static void draw_disk_shaded (float start, float angle, float radius_int, float radius_ext, int subd, const uchar col1[4], const uchar col2[4], bool shaded)
 
void ui_draw_pie_center (uiBlock *block)
 
const uiWidgetColorsui_tooltip_get_theme (void)
 
static void ui_draw_widget_back_color (uiWidgetTypeEnum type, bool use_shadow, const rcti *rect, const float color[4])
 
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 *UNUSED(style), uiBlock *UNUSED(block), rcti *rect)
 
void ui_draw_menu_item (const uiFontStyle *fstyle, rcti *rect, const char *name, int iconid, int but_flag, uiMenuItemSeparatorType separator_type, int *r_xmax)
 
void ui_draw_preview_item_stateless (const uiFontStyle *fstyle, rcti *rect, const char *name, int iconid, const uchar text_col[4], eFontStyle_Align text_align)
 
void ui_draw_preview_item (const uiFontStyle *fstyle, rcti *rect, const char *name, int iconid, int but_flag, eFontStyle_Align text_align)
 

Local Enums/Defines

#define ICON_SIZE_FROM_BUTRECT(rect)   (0.8f * BLI_rcti_size_y(rect))
 
enum  uiWidgetTypeEnum {
  UI_WTYPE_REGULAR , UI_WTYPE_LABEL , UI_WTYPE_TOGGLE , UI_WTYPE_CHECKBOX ,
  UI_WTYPE_RADIO , UI_WTYPE_NUMBER , UI_WTYPE_SLIDER , UI_WTYPE_EXEC ,
  UI_WTYPE_TOOLBAR_ITEM , UI_WTYPE_TAB , UI_WTYPE_TOOLTIP , UI_WTYPE_NAME ,
  UI_WTYPE_NAME_LINK , UI_WTYPE_POINTER_LINK , UI_WTYPE_FILENAME , UI_WTYPE_MENU_RADIO ,
  UI_WTYPE_MENU_ICON_RADIO , UI_WTYPE_MENU_POINTER_LINK , UI_WTYPE_MENU_NODE_LINK , UI_WTYPE_PULLDOWN ,
  UI_WTYPE_MENU_ITEM , UI_WTYPE_MENU_ITEM_UNPADDED , UI_WTYPE_MENU_ITEM_RADIAL , UI_WTYPE_MENU_BACK ,
  UI_WTYPE_ICON , UI_WTYPE_ICON_LABEL , UI_WTYPE_PREVIEW_TILE , UI_WTYPE_SWATCH ,
  UI_WTYPE_RGB_PICKER , UI_WTYPE_UNITVEC , UI_WTYPE_BOX , UI_WTYPE_SCROLL ,
  UI_WTYPE_LISTITEM , UI_WTYPE_PROGRESSBAR , UI_WTYPE_NODESOCKET , UI_WTYPE_VIEW_ITEM
}
 
static const uiWidgetStateInfo STATE_INFO_NULL = {0}
 

Widget Base Type

#define WIDGET_CURVE_RESOLU   9
 
#define WIDGET_SIZE_MAX   (WIDGET_CURVE_RESOLU * 4)
 
typedef struct uiWidgetTrias uiWidgetTrias
 
typedef struct uiWidgetBase uiWidgetBase
 
typedef struct uiWidgetType uiWidgetType
 

Shape Preset Data

#define WIDGET_AA_JITTER   UI_PIXEL_AA_JITTER
 
#define jit   ui_pixel_jitter
 
#define OY   (-0.2 / 2)
 
#define SC   (0.35 * 2)
 
static const float cornervec [WIDGET_CURVE_RESOLU][2]
 
const float ui_pixel_jitter [UI_PIXEL_AA_JITTER][2]
 
static const float g_shape_preset_number_arrow_vert [3][2]
 
static const uint g_shape_preset_number_arrow_face [1][3]
 
static const float g_shape_preset_scroll_circle_vert [16][2]
 
static const uint g_shape_preset_scroll_circle_face [14][3]
 
static const float g_shape_preset_menu_arrow_vert [6][2]
 
static const uint g_shape_preset_menu_arrow_face [2][3] = {{2, 0, 1}, {3, 5, 4}}
 
static const float g_shape_preset_checkmark_vert [6][2]
 
static const uint g_shape_preset_checkmark_face [4][3]
 
static const float g_shape_preset_hold_action_vert [6][2]
 
static const uint g_shape_preset_hold_action_face [2][3] = {{2, 0, 1}, {3, 5, 4}}
 

#GPUBatch Creation

In order to speed up UI drawing we create some batches that are then modified by specialized shaders to draw certain elements really fast. TODO: find a better place. Maybe its own file?

#define INNER   0
 
#define OUTLINE   1
 
#define EMBOSS   2
 
#define NO_AA   0
 
struct {
   GPUBatch *   roundbox_widget
 
   GPUBatch *   roundbox_shadow
 
   GPUVertFormat   format
 
   uint   vflag_id
 
g_ui_batch_cache = {0}
 
static GPUVertFormatvflag_format (void)
 
static void set_roundbox_vertex_data (GPUVertBufRaw *vflag_step, uint32_t d)
 
static uint32_t set_roundbox_vertex (GPUVertBufRaw *vflag_step, int corner_id, int corner_v, int jit_v, bool inner, bool emboss, int color)
 
GPUBatchui_batch_roundbox_widget_get (void)
 
GPUBatchui_batch_roundbox_shadow_get (void)
 

Widget Base Drawing #GPUBatch Cache

#define MAX_WIDGET_BASE_BATCH   6
 
#define MAX_WIDGET_PARAMETERS   12
 
struct {
   uiWidgetBaseParameters   params [MAX_WIDGET_BASE_BATCH]
 
   int   count
 
   bool   enabled
 
g_widget_base_batch = {{{{0}}}}
 
void UI_widgetbase_draw_cache_flush (void)
 
void UI_widgetbase_draw_cache_begin (void)
 
void UI_widgetbase_draw_cache_end (void)
 
static bool draw_widgetbase_batch_skip_draw_cache (void)
 
static void draw_widgetbase_batch (uiWidgetBase *wtb)
 
static void widgetbase_draw_ex (uiWidgetBase *wtb, const uiWidgetColors *wcol, bool show_alpha_checkers)
 
static void widgetbase_draw (uiWidgetBase *wtb, const uiWidgetColors *wcol)
 

Text/Icon Drawing

#define UI_TEXT_CLIP_MARGIN   (0.25f * U.widget_unit / but->block->aspect)
 
#define PREVIEW_PAD   4
 
static float widget_alpha_factor (const uiWidgetStateInfo *state)
 
static void widget_draw_preview (BIFIconID icon, float alpha, const rcti *rect)
 
static int ui_but_draw_menu_icon (const uiBut *but)
 
static void widget_draw_icon (const uiBut *but, BIFIconID icon, float alpha, const rcti *rect, const uchar mono_color[4])
 
static void widget_draw_submenu_tria (const uiBut *but, const rcti *rect, const uiWidgetColors *wcol)
 
static void ui_text_clip_give_prev_off (uiBut *but, const char *str)
 
static void ui_text_clip_give_next_off (uiBut *but, const char *str, const char *str_end)
 
static void ui_text_clip_right_ex (const uiFontStyle *fstyle, char *str, const size_t max_len, const float okwidth, const char *sep, const int sep_len, const float sep_strwidth, size_t *r_final_len)
 
float UI_text_clip_middle_ex (const uiFontStyle *fstyle, char *str, float okwidth, const float minwidth, const size_t max_len, const char rpart_sep)
 
static void ui_text_clip_middle (const uiFontStyle *fstyle, uiBut *but, const rcti *rect)
 
static void ui_text_clip_middle_protect_right (const uiFontStyle *fstyle, uiBut *but, const rcti *rect, const char rsep)
 
static void ui_text_clip_cursor (const uiFontStyle *fstyle, uiBut *but, const rcti *rect)
 
static void ui_text_clip_right_label (const uiFontStyle *fstyle, uiBut *but, const rcti *rect)
 
static bool widget_draw_text_underline_calc_position (const char *UNUSED(str), const size_t str_step_ofs, const rcti *glyph_step_bounds, const int UNUSED(glyph_advance_x), const rcti *glyph_bounds, const int UNUSED(glyph_bearing[2]), void *user_data)
 
static void widget_draw_text (const uiFontStyle *fstyle, const uiWidgetColors *wcol, uiBut *but, rcti *rect)
 
static void widget_draw_extra_icons (const uiWidgetColors *wcol, uiBut *but, rcti *rect, float alpha)
 
static void widget_draw_node_link_socket (const uiWidgetColors *wcol, const rcti *rect, uiBut *but, float alpha)
 
static void widget_draw_text_icon (const uiFontStyle *fstyle, const uiWidgetColors *wcol, uiBut *but, rcti *rect)
 

Button Draw Callbacks

#define NUM_BUT_PADDING_FACTOR   0.425f
 
#define SWATCH_KEYED_BORDER   3
 
static void widget_numbut_draw (uiWidgetColors *wcol, rcti *rect, const float zoom, const uiWidgetStateInfo *state, int roundboxalign, bool emboss)
 
static void widget_numbut (uiWidgetColors *wcol, rcti *rect, const uiWidgetStateInfo *state, int roundboxalign, const float zoom)
 
static void widget_menubut (uiWidgetColors *wcol, rcti *rect, const uiWidgetStateInfo *UNUSED(state), int roundboxalign, const float zoom)
 
static void widget_menubut_embossn (const uiBut *UNUSED(but), uiWidgetColors *wcol, rcti *rect, const uiWidgetStateInfo *UNUSED(state), int UNUSED(roundboxalign))
 
static void widget_numbut_embossn (const uiBut *UNUSED(but), uiWidgetColors *wcol, rcti *rect, const uiWidgetStateInfo *state, int roundboxalign, const float zoom)
 
void UI_draw_widget_scroll (uiWidgetColors *wcol, const rcti *rect, const rcti *slider, int state)
 
static void widget_scroll (uiBut *but, uiWidgetColors *wcol, rcti *rect, const uiWidgetStateInfo *state, int UNUSED(roundboxalign), const float UNUSED(zoom))
 
static void widget_progressbar (uiBut *but, uiWidgetColors *wcol, rcti *rect, const uiWidgetStateInfo *UNUSED(state), int roundboxalign, const float zoom)
 
static void widget_view_item (uiWidgetColors *wcol, rcti *rect, const uiWidgetStateInfo *state, int UNUSED(roundboxalign), const float zoom)
 
static void widget_nodesocket (uiBut *but, uiWidgetColors *wcol, rcti *rect, const uiWidgetStateInfo *UNUSED(state), int UNUSED(roundboxalign), const float UNUSED(zoom))
 
static void widget_numslider (uiBut *but, uiWidgetColors *wcol, rcti *rect, const uiWidgetStateInfo *state, int roundboxalign, const float zoom)
 
static void widget_swatch (uiBut *but, uiWidgetColors *wcol, rcti *rect, const uiWidgetStateInfo *state, int roundboxalign, const float zoom)
 
static void widget_unitvec (uiBut *but, uiWidgetColors *wcol, rcti *rect, const uiWidgetStateInfo *UNUSED(state), int UNUSED(roundboxalign), const float zoom)
 
static void widget_icon_has_anim (uiBut *but, uiWidgetColors *wcol, rcti *rect, const uiWidgetStateInfo *state, int roundboxalign, const float zoom)
 
static void widget_textbut (uiWidgetColors *wcol, rcti *rect, const uiWidgetStateInfo *state, int roundboxalign, const float zoom)
 
static void widget_preview_tile (uiBut *but, uiWidgetColors *wcol, rcti *rect, const uiWidgetStateInfo *UNUSED(state), int UNUSED(roundboxalign), const float UNUSED(zoom))
 
static void widget_menuiconbut (uiWidgetColors *wcol, rcti *rect, const uiWidgetStateInfo *UNUSED(state), int roundboxalign, const float zoom)
 
static void widget_pulldownbut (uiWidgetColors *wcol, rcti *rect, const uiWidgetStateInfo *state, int roundboxalign, const float zoom)
 
static void widget_menu_itembut (uiWidgetColors *wcol, rcti *rect, const uiWidgetStateInfo *UNUSED(state), int UNUSED(roundboxalign), const float zoom)
 
static void widget_menu_itembut_unpadded (uiWidgetColors *wcol, rcti *rect, const uiWidgetStateInfo *UNUSED(state), int UNUSED(roundboxalign), const float zoom)
 
static void widget_menu_radial_itembut (uiBut *but, uiWidgetColors *wcol, rcti *rect, const uiWidgetStateInfo *UNUSED(state), int UNUSED(roundboxalign), const float zoom)
 
static void widget_list_itembut (uiWidgetColors *wcol, rcti *rect, const uiWidgetStateInfo *UNUSED(state), int UNUSED(roundboxalign), const float zoom)
 
static void widget_optionbut (uiWidgetColors *wcol, rcti *rect, const uiWidgetStateInfo *state, int UNUSED(roundboxalign), const float UNUSED(zoom))
 
static void widget_state_label (uiWidgetType *wt, const uiWidgetStateInfo *state, eUIEmbossType emboss)
 
static void widget_radiobut (uiWidgetColors *wcol, rcti *rect, const uiWidgetStateInfo *UNUSED(state), int roundboxalign, const float zoom)
 
static void widget_box (uiBut *but, uiWidgetColors *wcol, rcti *rect, const uiWidgetStateInfo *UNUSED(state), int roundboxalign, const float zoom)
 
static void widget_but (uiWidgetColors *wcol, rcti *rect, const uiWidgetStateInfo *UNUSED(state), int roundboxalign, const float zoom)
 
static void widget_roundbut_exec (uiWidgetColors *wcol, rcti *rect, const uiWidgetStateInfo *state, int roundboxalign, const float zoom)
 
static void widget_tab (uiWidgetColors *wcol, rcti *rect, const uiWidgetStateInfo *state, int roundboxalign, const float zoom)
 
static void widget_draw_extra_mask (const bContext *C, uiBut *but, uiWidgetType *wt, rcti *rect)
 
static uiWidgetTypewidget_type (uiWidgetTypeEnum type)
 
static int widget_roundbox_set (uiBut *but, rcti *rect)
 

Macro Definition Documentation

◆ EMBOSS

#define EMBOSS   2

Definition at line 422 of file interface_widgets.c.

◆ ICON_SIZE_FROM_BUTRECT

#define ICON_SIZE_FROM_BUTRECT (   rect)    (0.8f * BLI_rcti_size_y(rect))

Definition at line 54 of file interface_widgets.c.

◆ INNER

#define INNER   0

Definition at line 420 of file interface_widgets.c.

◆ jit

Definition at line 307 of file interface_widgets.c.

◆ MAX_WIDGET_BASE_BATCH

#define MAX_WIDGET_BASE_BATCH   6

Definition at line 1128 of file interface_widgets.c.

◆ MAX_WIDGET_PARAMETERS

#define MAX_WIDGET_PARAMETERS   12

Definition at line 1129 of file interface_widgets.c.

◆ NO_AA

#define NO_AA   0

Definition at line 423 of file interface_widgets.c.

◆ NUM_BUT_PADDING_FACTOR

#define NUM_BUT_PADDING_FACTOR   0.425f

Definition at line 3332 of file interface_widgets.c.

◆ OUTLINE

#define OUTLINE   1

Definition at line 421 of file interface_widgets.c.

◆ OY

#define OY   (-0.2 / 2)

Definition at line 379 of file interface_widgets.c.

◆ PREVIEW_PAD

#define PREVIEW_PAD   4

Definition at line 1301 of file interface_widgets.c.

◆ SC

#define SC   (0.35 * 2)

Definition at line 380 of file interface_widgets.c.

◆ SWATCH_KEYED_BORDER

#define SWATCH_KEYED_BORDER   3

Definition at line 3847 of file interface_widgets.c.

◆ UI_TEXT_CLIP_MARGIN

#define UI_TEXT_CLIP_MARGIN   (0.25f * U.widget_unit / but->block->aspect)

Definition at line 1299 of file interface_widgets.c.

◆ WIDGET_AA_JITTER

#define WIDGET_AA_JITTER   UI_PIXEL_AA_JITTER

Definition at line 306 of file interface_widgets.c.

◆ WIDGET_CURVE_RESOLU

#define WIDGET_CURVE_RESOLU   9

Definition at line 227 of file interface_widgets.c.

◆ WIDGET_SIZE_MAX

#define WIDGET_SIZE_MAX   (WIDGET_CURVE_RESOLU * 4)

Definition at line 228 of file interface_widgets.c.

Typedef Documentation

◆ uiWidgetBase

typedef struct uiWidgetBase uiWidgetBase

◆ uiWidgetTrias

typedef struct uiWidgetTrias uiWidgetTrias
  • in: roundbox codes for corner types and radius
  • return: array of [size][2][x, y] points, the edges of the roundbox, + UV coords
  • draw black box with alpha 0 on exact button boundbox
  • for every AA step:
    • draw the inner part for a round filled box, with color blend codes or texture coords
    • draw outline in outline color
    • draw outer part, bottom half, extruded 1 pixel to bottom, for emboss shadow
    • draw extra decorations
  • draw background color box with alpha 1 on exact button boundbox

◆ uiWidgetType

typedef struct uiWidgetType uiWidgetType

For time being only for visual appearance, later, a handling callback can be added too.

Enumeration Type Documentation

◆ uiWidgetTypeEnum

Enumerator
UI_WTYPE_REGULAR 
UI_WTYPE_LABEL 
UI_WTYPE_TOGGLE 
UI_WTYPE_CHECKBOX 
UI_WTYPE_RADIO 
UI_WTYPE_NUMBER 
UI_WTYPE_SLIDER 
UI_WTYPE_EXEC 
UI_WTYPE_TOOLBAR_ITEM 
UI_WTYPE_TAB 
UI_WTYPE_TOOLTIP 
UI_WTYPE_NAME 
UI_WTYPE_NAME_LINK 
UI_WTYPE_POINTER_LINK 
UI_WTYPE_FILENAME 
UI_WTYPE_MENU_RADIO 
UI_WTYPE_MENU_ICON_RADIO 
UI_WTYPE_MENU_POINTER_LINK 
UI_WTYPE_MENU_NODE_LINK 
UI_WTYPE_PULLDOWN 
UI_WTYPE_MENU_ITEM 
UI_WTYPE_MENU_ITEM_UNPADDED 
UI_WTYPE_MENU_ITEM_RADIAL 
UI_WTYPE_MENU_BACK 
UI_WTYPE_ICON 
UI_WTYPE_ICON_LABEL 
UI_WTYPE_PREVIEW_TILE 
UI_WTYPE_SWATCH 
UI_WTYPE_RGB_PICKER 
UI_WTYPE_UNITVEC 
UI_WTYPE_BOX 
UI_WTYPE_SCROLL 
UI_WTYPE_LISTITEM 
UI_WTYPE_PROGRESSBAR 
UI_WTYPE_NODESOCKET 
UI_WTYPE_VIEW_ITEM 

Definition at line 58 of file interface_widgets.c.

Function Documentation

◆ color_add_v3_i()

static void color_add_v3_i ( uchar  cp[3],
int  tint 
)
static

Definition at line 156 of file interface_widgets.c.

References clamp_i().

Referenced by color_ensure_contrast_v3().

◆ color_blend_v3_v3()

static void color_blend_v3_v3 ( uchar  cp[3],
const uchar  cpstate[3],
const float  fac 
)
static

◆ color_blend_v4_v4v4()

static void color_blend_v4_v4v4 ( uchar  r_col[4],
const uchar  col1[4],
const uchar  col2[4],
const float  fac 
)
static

Definition at line 142 of file interface_widgets.c.

References unit_float_to_uchar_clamp().

Referenced by draw_disk_shaded().

◆ color_ensure_contrast_v3()

static void color_ensure_contrast_v3 ( uchar  cp[3],
const uchar  cp_other[3],
int  contrast 
)
static

Definition at line 163 of file interface_widgets.c.

References BLI_assert, color_add_v3_i(), and rgb_to_grayscale_byte().

Referenced by widget_state_numslider().

◆ color_mul_hsl_v3()

static void color_mul_hsl_v3 ( uchar  ch[3],
float  h_factor,
float  s_factor,
float  l_factor 
)
static

◆ draw_anti_tria()

static void draw_anti_tria ( float  x1,
float  y1,
float  x2,
float  y2,
float  x3,
float  y3,
const float  color[4] 
)
static

◆ draw_anti_tria_rect()

static void draw_anti_tria_rect ( const rctf rect,
char  dir,
const float  color[4] 
)
static

◆ draw_disk_shaded()

static void draw_disk_shaded ( float  start,
float  angle,
float  radius_int,
float  radius_ext,
int  subd,
const uchar  col1[4],
const uchar  col2[4],
bool  shaded 
)
static

◆ draw_widgetbase_batch()

static void draw_widgetbase_batch ( uiWidgetBase wtb)
static

◆ draw_widgetbase_batch_skip_draw_cache()

static bool draw_widgetbase_batch_skip_draw_cache ( void  )
static

◆ round_box__edges()

static void round_box__edges ( uiWidgetBase wt,
int  roundboxalign,
const rcti rect,
float  rad,
float  radi 
)
static

◆ round_box_edges()

static void round_box_edges ( uiWidgetBase wt,
int  roundboxalign,
const rcti rect,
float  rad 
)
static

◆ round_box_shadow_edges()

static int round_box_shadow_edges ( float(*)  vert[2],
const rcti rect,
float  rad,
int  roundboxalign,
float  step 
)
static

◆ set_roundbox_vertex()

static uint32_t set_roundbox_vertex ( GPUVertBufRaw vflag_step,
int  corner_id,
int  corner_v,
int  jit_v,
bool  inner,
bool  emboss,
int  color 
)
static

Definition at line 431 of file interface_widgets.c.

References color, data, and GPU_vertbuf_raw_step().

Referenced by ui_batch_roundbox_shadow_get().

◆ set_roundbox_vertex_data()

static void set_roundbox_vertex_data ( GPUVertBufRaw vflag_step,
uint32_t  d 
)
static

Definition at line 425 of file interface_widgets.c.

References data, and GPU_vertbuf_raw_step().

Referenced by ui_batch_roundbox_shadow_get().

◆ shadecolors4()

static void shadecolors4 ( uchar  coltop[4],
uchar  coldown[4],
const uchar color,
short  shadetop,
short  shadedown 
)
static

Definition at line 1043 of file interface_widgets.c.

References CLAMPIS, and color.

Referenced by ui_draw_pie_center(), and widgetbase_draw_ex().

◆ shape_preset_init_hold_action()

static void shape_preset_init_hold_action ( uiWidgetTrias tria,
const rcti rect,
float  triasize,
char  where 
)
static

◆ shape_preset_init_number_arrows()

static void shape_preset_init_number_arrows ( uiWidgetTrias tria,
const rcti rect,
float  triasize,
char  where 
)
static

◆ shape_preset_init_scroll_circle()

static void shape_preset_init_scroll_circle ( uiWidgetTrias tria,
const rcti rect,
float  triasize,
char  where 
)
static

◆ shape_preset_init_trias_ex()

static void shape_preset_init_trias_ex ( uiWidgetTrias tria,
const rcti rect,
float  triasize,
char  where,
const float  verts[][2],
const int  verts_tot,
const uint  tris[][3],
const int  tris_tot 
)
static

◆ shape_preset_trias_from_rect_checkmark()

static void shape_preset_trias_from_rect_checkmark ( uiWidgetTrias tria,
const rcti rect 
)
static

◆ shape_preset_trias_from_rect_menu()

static void shape_preset_trias_from_rect_menu ( uiWidgetTrias tria,
const rcti rect 
)
static

◆ ui_batch_roundbox_shadow_get()

GPUBatch* ui_batch_roundbox_shadow_get ( void  )

◆ ui_batch_roundbox_widget_get()

GPUBatch* ui_batch_roundbox_widget_get ( void  )

◆ ui_but_draw_menu_icon()

static int ui_but_draw_menu_icon ( const uiBut but)
static

◆ ui_draw_but()

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

Definition at line 4676 of file interface_widgets.c.

References uiBlock::aspect, BLI_assert, BLI_rcti_size_x(), BLI_rcti_size_y(), uiBut::block, C, uiWidgetType::custom, uiWidgetType::draw, uiBut::drawflag, uiBut::drawstr, uiBut::editstr, ELEM, uiBut::emboss, uiBut::flag, uiBlock::flag, GPU_blend(), GPU_BLEND_ALPHA, GPU_BLEND_NONE, uiButHSVCube::gradient_type, uiBut::hold_func, uiBut::icon, NULL, state, uiWidgetType::state, uiBut::str, uiWidgetType::text, uiBlock::theme_style, bTheme::tui, uiBut::type, UI_ACTIVE, 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_BAR, 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_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_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_EMBOSS, UI_EMBOSS_NONE, UI_EMBOSS_NONE_OR_STATUS, UI_EMBOSS_PULLDOWN, UI_EMBOSS_RADIAL, UI_GetTheme(), UI_GRAD_L_ALT, UI_GRAD_V_ALT, UI_HAS_ICON, UI_SEARCH_FILTER_NO_MATCH, UI_SELECT, UI_SELECT_DRAW, UI_UNIT_X, 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_RADIAL, 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_PROGRESSBAR, 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(), uiStyle::widgetlabel, rcti::xmax, and rcti::xmin.

◆ ui_draw_but_HSV_v()

static void ui_draw_but_HSV_v ( uiBut but,
const rcti rect 
)
static

◆ ui_draw_but_HSVCIRCLE()

static void ui_draw_but_HSVCIRCLE ( uiBut but,
const uiWidgetColors wcol,
const rcti rect 
)
static

◆ ui_draw_but_HSVCUBE()

static void ui_draw_but_HSVCUBE ( uiBut but,
const rcti rect 
)
static

◆ ui_draw_clip_tri()

static void ui_draw_clip_tri ( uiBlock block,
rcti rect,
uiWidgetType wt 
)
static

◆ ui_draw_gradient()

void ui_draw_gradient ( const rcti rect,
const float  hsv[3],
eButGradientType  type,
float  alpha 
)

◆ UI_draw_icon_tri()

void UI_draw_icon_tri ( float  x,
float  y,
char  dir,
const float  color[4] 
)

Triangle 'icon' for panel header and other cases.

Definition at line 555 of file interface_widgets.c.

References color, draw_anti_tria(), x, and y.

Referenced by draw_columnheader_columns(), and ui_draw_clip_tri().

◆ ui_draw_menu_back()

void ui_draw_menu_back ( uiStyle UNUSEDstyle,
uiBlock block,
rcti rect 
)

◆ ui_draw_menu_item()

void ui_draw_menu_item ( const uiFontStyle fstyle,
rcti rect,
const char *  name,
int  iconid,
int  but_flag,
uiMenuItemSeparatorType  separator_type,
int *  r_xmax 
)

◆ ui_draw_pie_center()

void ui_draw_pie_center ( uiBlock block)

◆ ui_draw_popover_back()

void ui_draw_popover_back ( struct ARegion region,
uiStyle UNUSEDstyle,
uiBlock block,
rcti rect 
)

◆ ui_draw_popover_back_impl()

static void ui_draw_popover_back_impl ( const uiWidgetColors wcol,
rcti rect,
int  direction,
const float  unit_size,
const float  mval_origin[2] 
)
static

◆ ui_draw_preview_item()

void ui_draw_preview_item ( const uiFontStyle fstyle,
rcti rect,
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,
const char *  name,
int  iconid,
const uchar  text_col[4],
eFontStyle_Align  text_align 
)

◆ ui_draw_separator()

static void ui_draw_separator ( const rcti rect,
const uiWidgetColors wcol 
)
static

◆ ui_draw_tooltip_background()

void ui_draw_tooltip_background ( const uiStyle UNUSEDstyle,
uiBlock UNUSEDblock,
rcti rect 
)

◆ ui_draw_widget_back_color()

static void ui_draw_widget_back_color ( uiWidgetTypeEnum  type,
bool  use_shadow,
const rcti rect,
const float  color[4] 
)
static

◆ 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] 
)

Definition at line 5344 of file interface_widgets.c.

References color, ui_draw_widget_back_color(), and UI_WTYPE_MENU_BACK.

◆ UI_draw_widget_scroll()

void UI_draw_widget_scroll ( uiWidgetColors wcol,
const rcti rect,
const rcti slider,
int  state 
)

◆ ui_hsv_cursor()

static void ui_hsv_cursor ( const float  x,
const float  y,
const float  zoom 
)
static

◆ ui_hsvcircle_pos_from_vals()

void ui_hsvcircle_pos_from_vals ( const ColorPicker cpicker,
const rcti rect,
const float hsv,
float xpos,
float ypos 
)

◆ ui_hsvcircle_vals_from_pos()

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

◆ ui_hsvcube_pos_from_vals()

void ui_hsvcube_pos_from_vals ( const uiButHSVCube hsv_but,
const rcti rect,
const float hsv,
float r_xp,
float r_yp 
)

◆ ui_text_clip_cursor()

static void ui_text_clip_cursor ( const uiFontStyle fstyle,
uiBut but,
const rcti rect 
)
static

◆ ui_text_clip_give_next_off()

static void ui_text_clip_give_next_off ( uiBut but,
const char *  str,
const char *  str_end 
)
static

◆ ui_text_clip_give_prev_off()

static void ui_text_clip_give_prev_off ( uiBut but,
const char *  str 
)
static

Definition at line 1468 of file interface_widgets.c.

References BLI_str_find_prev_char_utf8(), uiBut::ofs, and str.

Referenced by ui_text_clip_cursor().

◆ ui_text_clip_middle()

static void ui_text_clip_middle ( const uiFontStyle fstyle,
uiBut but,
const rcti rect 
)
static

◆ UI_text_clip_middle_ex()

float UI_text_clip_middle_ex ( const uiFontStyle fstyle,
char *  str,
float  okwidth,
const float  minwidth,
const size_t  max_len,
const char  rpart_sep 
)

◆ ui_text_clip_middle_protect_right()

static void ui_text_clip_middle_protect_right ( const uiFontStyle fstyle,
uiBut but,
const rcti rect,
const char  rsep 
)
static

Like ui_text_clip_middle(), but protect/preserve at all cost the right part of the string after sep. Useful for strings with shortcuts (like 'AVeryLongFooBarLabelForMenuEntry|Ctrl O' -> 'AVeryLong...MenuEntry|Ctrl O').

Definition at line 1658 of file interface_widgets.c.

References uiBlock::aspect, BLI_rcti_size_x(), uiBut::block, border, uiBut::drawstr, ELEM, float(), max_ii(), uiBut::ofs, uiBut::strwidth, uiBut::type, UI_BTYPE_LABEL, UI_BTYPE_MENU, UI_BTYPE_POPOVER, UI_DPI_ICON_SIZE, UI_TEXT_CLIP_MARGIN, and UI_text_clip_middle_ex().

Referenced by widget_draw_text_icon().

◆ ui_text_clip_right_ex()

static void ui_text_clip_right_ex ( const uiFontStyle fstyle,
char *  str,
const size_t  max_len,
const float  okwidth,
const char *  sep,
const int  sep_len,
const float  sep_strwidth,
size_t *  r_final_len 
)
static

Helper. This func assumes things like kerning handling have already been handled! Return the length of modified (right-clipped + ellipsis) string.

Definition at line 1489 of file interface_widgets.c.

References BLF_width_to_strlen(), BLI_assert, NULL, str, and uiFontStyle::uifont_id.

Referenced by UI_text_clip_middle_ex().

◆ ui_text_clip_right_label()

static void ui_text_clip_right_label ( const uiFontStyle fstyle,
uiBut but,
const rcti rect 
)
static

Cut off the end of text to fit into the width of rect.

Note
deals with ': ' especially for number buttons

Definition at line 1740 of file interface_widgets.c.

References BLF_width(), BLF_width_to_strlen(), BLI_rcti_size_x(), BLI_str_find_prev_char_utf8(), border, uiBut::drawstr, max_ii(), uiBut::ofs, uiBut::strwidth, UI_fontstyle_set(), ui_text_clip_give_next_off(), UI_TEXT_CLIP_MARGIN, and uiFontStyle::uifont_id.

Referenced by widget_draw_text_icon().

◆ ui_tooltip_get_theme()

const uiWidgetColors* ui_tooltip_get_theme ( void  )

◆ ui_widget_color_disabled()

static void ui_widget_color_disabled ( uiWidgetType wt,
const uiWidgetStateInfo state 
)
static

◆ UI_widgetbase_draw_cache_begin()

void UI_widgetbase_draw_cache_begin ( void  )

Definition at line 1167 of file interface_widgets.c.

References BLI_assert, and g_widget_base_batch.

Referenced by UI_block_draw().

◆ UI_widgetbase_draw_cache_end()

void UI_widgetbase_draw_cache_end ( void  )

◆ UI_widgetbase_draw_cache_flush()

void UI_widgetbase_draw_cache_flush ( void  )

◆ vflag_format()

static GPUVertFormat* vflag_format ( void  )
static

◆ widget_active_color()

static void widget_active_color ( uiWidgetColors wcol)
static

◆ widget_alpha_factor()

static float widget_alpha_factor ( const uiWidgetStateInfo state)
static

◆ widget_box()

static void widget_box ( uiBut but,
uiWidgetColors wcol,
rcti rect,
const uiWidgetStateInfo UNUSEDstate,
int  roundboxalign,
const float  zoom 
)
static

◆ widget_but()

static void widget_but ( uiWidgetColors wcol,
rcti rect,
const uiWidgetStateInfo UNUSEDstate,
int  roundboxalign,
const float  zoom 
)
static

◆ widget_color_blend_from_flags()

static const uchar* widget_color_blend_from_flags ( const uiWidgetStateColors wcol_state,
const uiWidgetStateInfo state,
const eUIEmbossType  emboss 
)
static

◆ widget_draw_extra_icons()

static void widget_draw_extra_icons ( const uiWidgetColors wcol,
uiBut but,
rcti rect,
float  alpha 
)
static

◆ widget_draw_extra_mask()

static void widget_draw_extra_mask ( const bContext C,
uiBut but,
uiWidgetType wt,
rcti rect 
)
static

◆ widget_draw_icon()

static void widget_draw_icon ( const uiBut but,
BIFIconID  icon,
float  alpha,
const rcti rect,
const uchar  mono_color[4] 
)
static

◆ widget_draw_node_link_socket()

static void widget_draw_node_link_socket ( const uiWidgetColors wcol,
const rcti rect,
uiBut but,
float  alpha 
)
static

◆ widget_draw_preview()

static void widget_draw_preview ( BIFIconID  icon,
float  alpha,
const rcti rect 
)
static

◆ widget_draw_submenu_tria()

static void widget_draw_submenu_tria ( const uiBut but,
const rcti rect,
const uiWidgetColors wcol 
)
static

◆ widget_draw_text()

static void widget_draw_text ( const uiFontStyle fstyle,
const uiWidgetColors wcol,
uiBut but,
rcti rect 
)
static

◆ widget_draw_text_icon()

static void widget_draw_text_icon ( const uiFontStyle fstyle,
const uiWidgetColors wcol,
uiBut but,
rcti rect 
)
static

◆ widget_draw_text_underline_calc_position()

static bool widget_draw_text_underline_calc_position ( const char *  UNUSEDstr,
const size_t  str_step_ofs,
const rcti glyph_step_bounds,
const int   UNUSEDglyph_advance_x,
const rcti glyph_bounds,
const int   UNUSEDglyph_bearing[2],
void user_data 
)
static

◆ widget_draw_vertex_buffer()

static void widget_draw_vertex_buffer ( uint  pos,
uint  col,
int  mode,
const float  quads_pos[WIDGET_SIZE_MAX][2],
const uchar  quads_col[WIDGET_SIZE_MAX][4],
uint  totvert 
)
static

Definition at line 972 of file interface_widgets.c.

References col, immAttr4ubv(), immBegin(), immEnd(), immVertex2fv(), and pos.

Referenced by widget_softshadow(), and widgetbase_outline().

◆ widget_icon_has_anim()

static void widget_icon_has_anim ( uiBut but,
uiWidgetColors wcol,
rcti rect,
const uiWidgetStateInfo state,
int  roundboxalign,
const float  zoom 
)
static

◆ widget_init()

static void widget_init ( uiWidgetBase wtb)
static

◆ widget_list_itembut()

static void widget_list_itembut ( uiWidgetColors wcol,
rcti rect,
const uiWidgetStateInfo UNUSEDstate,
int   UNUSEDroundboxalign,
const float  zoom 
)
static

◆ widget_menu_back()

static void widget_menu_back ( uiWidgetColors wcol,
rcti rect,
const int  block_flag,
const int  direction,
const float  zoom 
)
static

◆ widget_menu_itembut()

static void widget_menu_itembut ( uiWidgetColors wcol,
rcti rect,
const uiWidgetStateInfo UNUSEDstate,
int   UNUSEDroundboxalign,
const float  zoom 
)
static

◆ widget_menu_itembut_unpadded()

static void widget_menu_itembut_unpadded ( uiWidgetColors wcol,
rcti rect,
const uiWidgetStateInfo UNUSEDstate,
int   UNUSEDroundboxalign,
const float  zoom 
)
static

◆ widget_menu_radial_itembut()

static void widget_menu_radial_itembut ( uiBut but,
uiWidgetColors wcol,
rcti rect,
const uiWidgetStateInfo UNUSEDstate,
int   UNUSEDroundboxalign,
const float  zoom 
)
static

◆ widget_menubut()

static void widget_menubut ( uiWidgetColors wcol,
rcti rect,
const uiWidgetStateInfo UNUSEDstate,
int  roundboxalign,
const float  zoom 
)
static

◆ widget_menubut_embossn()

static void widget_menubut_embossn ( const uiBut UNUSEDbut,
uiWidgetColors wcol,
rcti rect,
const uiWidgetStateInfo UNUSEDstate,
int   UNUSEDroundboxalign 
)
static

Draw menu buttons still with triangles when field is not embossed

Definition at line 3474 of file interface_widgets.c.

References uiWidgetBase::draw_inner, uiWidgetBase::draw_outline, shape_preset_trias_from_rect_menu(), uiWidgetBase::tria1, uiWidgetBase::tria2, widget_init(), and widgetbase_draw().

Referenced by widget_icon_has_anim().

◆ widget_menuiconbut()

static void widget_menuiconbut ( uiWidgetColors wcol,
rcti rect,
const uiWidgetStateInfo UNUSEDstate,
int  roundboxalign,
const float  zoom 
)
static

◆ widget_nodesocket()

static void widget_nodesocket ( uiBut but,
uiWidgetColors wcol,
rcti rect,
const uiWidgetStateInfo UNUSEDstate,
int   UNUSEDroundboxalign,
const float   UNUSEDzoom 
)
static

◆ widget_numbut()

static void widget_numbut ( uiWidgetColors wcol,
rcti rect,
const uiWidgetStateInfo state,
int  roundboxalign,
const float  zoom 
)
static

Definition at line 3439 of file interface_widgets.c.

References state, and widget_numbut_draw().

Referenced by widget_type().

◆ widget_numbut_draw()

static void widget_numbut_draw ( uiWidgetColors wcol,
rcti rect,
const float  zoom,
const uiWidgetStateInfo state,
int  roundboxalign,
bool  emboss 
)
static

◆ widget_numbut_embossn()

static void widget_numbut_embossn ( const uiBut UNUSEDbut,
uiWidgetColors wcol,
rcti rect,
const uiWidgetStateInfo state,
int  roundboxalign,
const float  zoom 
)
static

Draw number buttons still with triangles when field is not embossed

Definition at line 3496 of file interface_widgets.c.

References state, and widget_numbut_draw().

Referenced by widget_icon_has_anim().

◆ widget_numslider()

static void widget_numslider ( uiBut but,
uiWidgetColors wcol,
rcti rect,
const uiWidgetStateInfo state,
int  roundboxalign,
const float  zoom 
)
static

◆ widget_optionbut()

static void widget_optionbut ( uiWidgetColors wcol,
rcti rect,
const uiWidgetStateInfo state,
int   UNUSEDroundboxalign,
const float   UNUSEDzoom 
)
static

◆ widget_preview_tile()

static void widget_preview_tile ( uiBut but,
uiWidgetColors wcol,
rcti rect,
const uiWidgetStateInfo UNUSEDstate,
int   UNUSEDroundboxalign,
const float   UNUSEDzoom 
)
static

◆ widget_progressbar()

static void widget_progressbar ( uiBut but,
uiWidgetColors wcol,
rcti rect,
const uiWidgetStateInfo UNUSEDstate,
int  roundboxalign,
const float  zoom 
)
static

◆ widget_pulldownbut()

static void widget_pulldownbut ( uiWidgetColors wcol,
rcti rect,
const uiWidgetStateInfo state,
int  roundboxalign,
const float  zoom 
)
static

◆ widget_radiobut()

static void widget_radiobut ( uiWidgetColors wcol,
rcti rect,
const uiWidgetStateInfo UNUSEDstate,
int  roundboxalign,
const float  zoom 
)
static

◆ widget_radius_from_rcti()

static float widget_radius_from_rcti ( const rcti rect,
const uiWidgetColors wcol 
)
static

Definition at line 2604 of file interface_widgets.c.

References BLI_rcti_size_y(), and uiWidgetColors::roundness.

Referenced by widget_optionbut().

◆ widget_radius_from_zoom()

static float widget_radius_from_zoom ( const float  zoom,
const uiWidgetColors wcol 
)
static

◆ widget_roundbox_set()

static int widget_roundbox_set ( uiBut but,
rcti rect 
)
static

◆ widget_roundbut_exec()

static void widget_roundbut_exec ( uiWidgetColors wcol,
rcti rect,
const uiWidgetStateInfo state,
int  roundboxalign,
const float  zoom 
)
static

◆ widget_scroll()

static void widget_scroll ( uiBut but,
uiWidgetColors wcol,
rcti rect,
const uiWidgetStateInfo state,
int   UNUSEDroundboxalign,
const float   UNUSEDzoom 
)
static

◆ widget_softshadow()

static void widget_softshadow ( const rcti rect,
int  roundboxalign,
const float  radin 
)
static

◆ widget_state()

static void widget_state ( uiWidgetType wt,
const uiWidgetStateInfo state,
eUIEmbossType  emboss 
)
static

◆ widget_state_label()

static void widget_state_label ( uiWidgetType wt,
const uiWidgetStateInfo state,
eUIEmbossType  emboss 
)
static

◆ widget_state_menu_item()

static void widget_state_menu_item ( uiWidgetType wt,
const uiWidgetStateInfo state,
eUIEmbossType   UNUSEDemboss 
)
static

◆ widget_state_nothing()

static void widget_state_nothing ( uiWidgetType wt,
const uiWidgetStateInfo UNUSEDstate,
eUIEmbossType   UNUSEDemboss 
)
static

Definition at line 2660 of file interface_widgets.c.

References uiWidgetType::wcol, and uiWidgetType::wcol_theme.

Referenced by widget_type().

◆ widget_state_numslider()

static void widget_state_numslider ( uiWidgetType wt,
const uiWidgetStateInfo state,
eUIEmbossType  emboss 
)
static

◆ widget_state_option_menu()

static void widget_state_option_menu ( uiWidgetType wt,
const uiWidgetStateInfo state,
eUIEmbossType  emboss 
)
static

◆ widget_state_pie_menu_item()

static void widget_state_pie_menu_item ( uiWidgetType wt,
const uiWidgetStateInfo state,
eUIEmbossType   UNUSEDemboss 
)
static

◆ widget_state_pulldown()

static void widget_state_pulldown ( uiWidgetType wt,
const uiWidgetStateInfo UNUSEDstate,
eUIEmbossType   UNUSEDemboss 
)
static

Definition at line 2668 of file interface_widgets.c.

References uiWidgetType::wcol, and uiWidgetType::wcol_theme.

Referenced by widget_type().

◆ widget_swatch()

static void widget_swatch ( uiBut but,
uiWidgetColors wcol,
rcti rect,
const uiWidgetStateInfo state,
int  roundboxalign,
const float  zoom 
)
static

◆ widget_tab()

static void widget_tab ( uiWidgetColors wcol,
rcti rect,
const uiWidgetStateInfo state,
int  roundboxalign,
const float  zoom 
)
static

◆ widget_textbut()

static void widget_textbut ( uiWidgetColors wcol,
rcti rect,
const uiWidgetStateInfo state,
int  roundboxalign,
const float  zoom 
)
static

◆ widget_type()

static uiWidgetType* widget_type ( uiWidgetTypeEnum  type)
static

Definition at line 4411 of file interface_widgets.c.

References uiWidgetType::custom, uiWidgetType::draw, uiWidgetType::draw_block, NULL, uiWidgetType::state, uiWidgetType::text, bTheme::tui, type, UI_GetTheme(), UI_WTYPE_BOX, UI_WTYPE_CHECKBOX, UI_WTYPE_EXEC, UI_WTYPE_FILENAME, UI_WTYPE_ICON, UI_WTYPE_ICON_LABEL, UI_WTYPE_LABEL, UI_WTYPE_LISTITEM, UI_WTYPE_MENU_BACK, UI_WTYPE_MENU_ICON_RADIO, UI_WTYPE_MENU_ITEM, UI_WTYPE_MENU_ITEM_RADIAL, UI_WTYPE_MENU_ITEM_UNPADDED, UI_WTYPE_MENU_NODE_LINK, UI_WTYPE_MENU_POINTER_LINK, UI_WTYPE_MENU_RADIO, UI_WTYPE_NAME, UI_WTYPE_NAME_LINK, UI_WTYPE_NODESOCKET, UI_WTYPE_NUMBER, UI_WTYPE_POINTER_LINK, UI_WTYPE_PREVIEW_TILE, UI_WTYPE_PROGRESSBAR, UI_WTYPE_PULLDOWN, UI_WTYPE_RADIO, UI_WTYPE_REGULAR, UI_WTYPE_RGB_PICKER, UI_WTYPE_SCROLL, UI_WTYPE_SLIDER, UI_WTYPE_SWATCH, UI_WTYPE_TAB, UI_WTYPE_TOGGLE, UI_WTYPE_TOOLBAR_ITEM, UI_WTYPE_TOOLTIP, UI_WTYPE_UNITVEC, UI_WTYPE_VIEW_ITEM, ThemeUI::wcol_box, ThemeUI::wcol_list_item, ThemeUI::wcol_menu, ThemeUI::wcol_menu_back, ThemeUI::wcol_menu_item, ThemeUI::wcol_num, ThemeUI::wcol_numslider, ThemeUI::wcol_option, ThemeUI::wcol_pie_menu, ThemeUI::wcol_progress, ThemeUI::wcol_pulldown, ThemeUI::wcol_radio, ThemeUI::wcol_regular, ThemeUI::wcol_scroll, uiWidgetType::wcol_state, ThemeUI::wcol_state, ThemeUI::wcol_tab, ThemeUI::wcol_text, uiWidgetType::wcol_theme, ThemeUI::wcol_toggle, ThemeUI::wcol_tool, ThemeUI::wcol_toolbar_item, ThemeUI::wcol_tooltip, ThemeUI::wcol_view_item, widget_box(), widget_but(), widget_draw_text_icon(), widget_icon_has_anim(), widget_list_itembut(), widget_menu_back(), widget_menu_itembut(), widget_menu_itembut_unpadded(), widget_menu_radial_itembut(), widget_menubut(), widget_menuiconbut(), widget_nodesocket(), widget_numbut(), widget_numslider(), widget_optionbut(), widget_preview_tile(), widget_progressbar(), widget_pulldownbut(), widget_radiobut(), widget_roundbut_exec(), widget_scroll(), widget_state(), widget_state_label(), widget_state_menu_item(), widget_state_nothing(), widget_state_numslider(), widget_state_pie_menu_item(), widget_state_pulldown(), widget_swatch(), widget_tab(), widget_textbut(), widget_unitvec(), and widget_view_item().

Referenced by ui_draw_but(), ui_draw_menu_back(), ui_draw_menu_item(), ui_draw_popover_back(), ui_draw_preview_item(), ui_draw_tooltip_background(), ui_draw_widget_back_color(), and ui_tooltip_get_theme().

◆ widget_unitvec()

static void widget_unitvec ( uiBut but,
uiWidgetColors wcol,
rcti rect,
const uiWidgetStateInfo UNUSEDstate,
int   UNUSEDroundboxalign,
const float  zoom 
)
static

Definition at line 3938 of file interface_widgets.c.

References ui_draw_but_UNITVEC(), and widget_radius_from_zoom().

Referenced by widget_type().

◆ widget_verts_to_triangle_strip()

static void widget_verts_to_triangle_strip ( uiWidgetBase wtb,
const int  totvert,
float  triangle_strip[WIDGET_SIZE_MAX *2+2][2] 
)
static

◆ widget_view_item()

static void widget_view_item ( uiWidgetColors wcol,
rcti rect,
const uiWidgetStateInfo state,
int   UNUSEDroundboxalign,
const float  zoom 
)
static

◆ widgetbase_draw()

static void widgetbase_draw ( uiWidgetBase wtb,
const uiWidgetColors wcol 
)
static

◆ widgetbase_draw_ex()

static void widgetbase_draw_ex ( uiWidgetBase wtb,
const uiWidgetColors wcol,
bool  show_alpha_checkers 
)
static

◆ widgetbase_outline()

static void widgetbase_outline ( uiWidgetBase wtb,
uint  pos 
)
static

◆ widgetbase_set_uniform_alpha_check()

static void widgetbase_set_uniform_alpha_check ( uiWidgetBase wtb,
const bool  alpha_check 
)
static

◆ widgetbase_set_uniform_alpha_discard()

static void widgetbase_set_uniform_alpha_discard ( uiWidgetBase wtb,
const bool  alpha_check,
const float  discard_factor 
)
static

◆ widgetbase_set_uniform_colors_ubv()

static void widgetbase_set_uniform_colors_ubv ( uiWidgetBase wtb,
const uchar col1,
const uchar col2,
const uchar outline,
const uchar emboss,
const uchar tria,
const bool  alpha_check 
)
static

◆ widgetbase_set_uniform_discard_factor()

static void widgetbase_set_uniform_discard_factor ( uiWidgetBase wtb,
const float  discard_factor 
)
static

Variable Documentation

◆ cornervec

const float cornervec[WIDGET_CURVE_RESOLU][2]
static
Initial value:
= {
{0.0, 0.0},
{0.195, 0.02},
{0.383, 0.067},
{0.55, 0.169},
{0.707, 0.293},
{0.831, 0.45},
{0.924, 0.617},
{0.98, 0.805},
{1.0, 1.0},
}

Definition at line 284 of file interface_widgets.c.

Referenced by round_box__edges(), and round_box_shadow_edges().

◆ count

int count

Definition at line 1133 of file interface_widgets.c.

Referenced by Freestyle::__recursiveSplit(), _bli_buffer_append_array(), KDL::_EatSpace(), KDL::_EatUntilEndOfComment(), KDL::_EatUntilEndOfLine(), blender::bke::curves::accumulate_counts_to_offsets(), action_create(), allocate_arrays(), armature_fill_bones_exec(), arrayModifier_doArray(), blender::bke::tests::AssetCatalogTest::assert_expected_item(), bezier_handle_calc_smooth_fcurve(), bezier_relax_direction(), BKE_animsys_nla_remap_keyframe_values(), BKE_constraint_targets_get(), BKE_defvert_blend_read(), BKE_defvert_blend_write(), BKE_gpencil_stroke_sample(), BKE_lnor_space_define(), BKE_mask_layer_shape_changed_remove(), BKE_mesh_from_metaball(), BKE_mesh_remap_calc_loops_from_mesh(), BKE_nurb_handle_smooth_fcurve(), BKE_packedfile_count_all(), BKE_texpaint_slot_refresh_cache(), BKE_view_layer_verify_aov(), blend_read_mdisps(), blend_read_paint_mask(), BLF_dir_free(), BLF_dir_get(), BLI_array_frand(), BLI_bvhtree_overlap_ex(), BLI_ghash_calc_quality_ex(), BLI_listbase_count(), BLI_listbase_count_at_most(), BLI_STATIC_ASSERT(), BLI_tridiagonal_solve(), BLI_tridiagonal_solve_cyclic(), BM_edge_face_count(), BM_edge_face_count_at_most(), bm_edge_flagged_radial_count(), bm_edge_info_average_length_fallback(), bm_edge_rotate_is_boundary(), BM_face_share_edge_count(), BM_face_share_face_count(), BM_face_share_vert_count(), bm_face_split_edgenet_find_loop_pair(), bm_face_split_edgenet_find_loop_pair_exists(), BM_iter_elem_count_flag(), BM_iter_mesh_count(), BM_iter_mesh_count_flag(), bm_loop_build(), bm_loop_region_count__clear(), bm_loop_region_count__recursive(), BM_loop_region_loops_count_at_most(), BM_mesh_edgeloops_find(), BM_mesh_intersect_edges(), BM_vert_edge_count_nonwire(), BM_vert_is_manifold_region(), bm_vert_other_tag(), BM_verts_in_face_count(), bm_verts_tag_count(), bmesh_disk_count(), bmesh_disk_count_at_most(), bmesh_disk_facevert_count(), bmesh_disk_facevert_count_at_most(), bmesh_radial_facevert_count(), bmesh_radial_facevert_count_at_most(), bmiter__elem_of_mesh_step(), bmiter__face_of_vert_begin(), bmiter__face_of_vert_step(), bmiter__loop_of_vert_begin(), bmiter__loop_of_vert_step(), bmiter__vert_of_edge_step(), bmo_bridge_loops_exec(), bmo_collapse_exec(), bmo_edgenet_prepare_exec(), bmo_grid_fill_exec(), BMO_iter_elem_count_flag(), bmo_subdivide_edgering_exec(), bone_looper(), bottomup(), bounds(), boxsample(), bpy_bmeditselseq_subscript_slice(), bpy_bmelemseq_subscript_slice(), bpy_bmlayercollection_subscript_slice(), BPy_IDArray_slice(), btPoolAllocator::btPoolAllocator(), Buffer_ass_slice(), Buffer_slice(), build_edge_mats(), build_frames(), build_leaf(), build_pict_list_ex(), blender::ed::spreadsheet::GeometryDataSetTreeViewItem::build_row(), build_sub(), bvh_reference_sort(), bvh_reference_sort_threaded(), BVHObjectBinning::BVHObjectBinning(), blender::io::obj::calc_chunk_count(), blender::nodes::node_geo_curve_to_points_cc::calculate_spline_point_offsets(), check_point_in_stroke(), clipx_rctf_swap(), clipy_rctf_swap(), clone_window(), collection_object_active_itemf(), btDbvtBroadphase::collide(), btDbvt::collideKDOP(), btDbvt::collideOCL(), Color_slice(), compressrow(), btConvexHullComputer::compute(), btConvexHullInternal::compute(), Freestyle::computeCumulativeVisibility(), blender::nodes::node_geo_input_spline_length_cc::construct_curve_point_count_gvarray(), convert_include(), btMatrixX< T >::copyLowerToUpperTriangle(), blender::bke::tests::TestableAssetCatalogService::count_catalogs_with_path(), count_ccw_edges_between(), count_fcurve_keys(), count_gplayer_frames(), count_masklayer_frames(), count_utf_16_from_8(), count_utf_8_from_16(), coverage_from_count(), blender::nodes::create_line_mesh(), blender::geometry::create_merged_mesh(), GHOST_XrSession::createActionBindings(), GHOST_XrSession::createActions(), createTransActionData(), createTransCurveVerts(), createTransEdge(), createTransLatticeVerts(), createTransMaskingData(), createTransMBallVerts(), createTransNlaData(), createTransParticleVerts(), createTransSeqData(), createTransSeqImageData(), createTransUVs(), CustomData_blend_read(), CustomData_blend_write(), CustomData_bmesh_interp(), CustomData_bmesh_interp_n(), CustomData_copy_data(), CustomData_copy_data_layer(), CustomData_copy_data_named(), CustomData_copy_elements(), CustomData_copy_layer_type_data(), customdata_data_transfer_interp_generic(), customdata_data_transfer_interp_normal_normals(), CustomData_free_elem(), CustomData_interp(), CustomData_layer_ensure_data_exists(), blender::geometry::customdata_weld(), data_transfer_interp_char(), decodetarga(), delete_exec(), delete_feather_points(), GHOST_XrSession::destroyActionBindings(), GHOST_XrSession::destroyActions(), device_cuda_capabilities(), device_cuda_info(), device_hip_capabilities(), device_hip_info(), displayed_layer_count(), DM_copy_vert_data(), DM_interp_vert_data(), blender::io::alembic::ABCNurbsWriter::do_write(), docube(), btSoftBodyHelpers::Draw(), draw_fcurve_curve_samples(), draw_select_buffer(), draw_track_path(), draw_tracking_tracks(), drw_command_draw_instance(), drw_command_draw_intance_range(), drw_command_draw_range(), drw_debug_draw_lines(), drw_debug_draw_spheres(), DRW_shgroup_call_instances(), blender::nodes::node_geo_duplicate_elements_cc::duplicate_curves(), blender::nodes::node_geo_duplicate_elements_cc::duplicate_faces(), duplicateStroke(), KDL::Eat(), KDL::EatWord(), ED_curve_beztcpy(), ED_curve_bpcpy(), ed_editcurve_extrude(), ED_fsmenu_get_nentries(), ED_mesh_edges_add(), ED_mesh_edges_remove(), ED_mesh_loops_add(), ED_mesh_loops_remove(), ED_mesh_polys_add(), ED_mesh_polys_remove(), ED_mesh_verts_add(), ED_mesh_verts_remove(), edbm_average_normals_exec(), edbm_fill_grid_prepare(), edbm_remove_doubles_exec(), EEVEE_shadows_caster_register(), end_node_frames(), Euler_slice(), blender::compositor::KeyingBlurOperation::execute_pixel(), blender::compositor::KeyingClipOperation::execute_pixel(), blender::compositor::ScreenLensDistortionOperation::execute_pixel(), expandrow(), expandrow2(), fcurve_is_changed(), InternalNode::fill_children(), fill_generic_attribute(), blender::geometry::fillet_curves_poly(), fwritecolrs(), InternalNode::get_child(), InternalNode::get_child_index(), blender::geometry::get_count_input_from_length(), DocumentImporter::get_import_version(), get_keyframe_values_create_reports(), get_limit_motor_info2(), ArmatureImporter::get_rna_path_for_joint(), blender::io::alembic::get_uvs(), GetApplicationSupportDir(), Freestyle::Functions0D::getFEdges(), GHOST_SystemWin32::getMilliSeconds(), GHOST_DisplayManagerCocoa::getNumDisplays(), getSingleCoordinate(), getSurroundingVerts(), GHOST_SystemPathsCocoa::getUserSpecialDir(), GHOST_WindowX11::GHOST_WindowX11(), give_parvert(), gpencil_bone_looper(), gpencil_editcurve_subdivide_count(), gpencil_snap_cursor_to_sel(), GPLayerToTransData(), gpu_pbvh_make_attr_offs(), GHOST_SystemCocoa::handleOpenDocumentRequest(), hide_pose_bone_fn(), imb_exr_get_multiView_id(), imb_loadpng(), imb_loadtarga(), immUniformArray4fv(), iTaSC::Scene::initialize(), btHashMap< Key, Value >::insert(), int4_ghash_tests(), int_ghash_tests(), is_read_within_bounds(), is_track_clean(), itasc_initialize_tree(), keyIndex_updateBezt(), keyIndex_updateBP(), keyIndex_updateCV(), knife_calculate_snap_ref_edges(), knife_snap_angle_relative(), layerCopy_bmesh_elem_py_ptr(), layerCopy_grid_paint_mask(), layerCopy_mdeformvert(), layerCopy_mdisps(), layerCopy_mvert_skin(), layerCopy_origspace_face(), layerCopy_propFloat(), layerCopy_propInt(), layerCopy_propString(), layerCopy_tface(), layerDefault_fmap(), layerDefault_mcol(), layerDefault_mloopcol(), layerDefault_mvert_skin(), layerDefault_origindex(), layerDefault_origspace_face(), layerDefault_propcol(), layerDefault_tface(), layerFilesize_mdisps(), layerFree_bmesh_elem_py_ptr(), layerFree_grid_paint_mask(), layerFree_mdeformvert(), layerFree_mdisps(), layerInterp_bweight(), layerInterp_mcol(), layerInterp_mdeformvert(), layerInterp_mloop_origspace(), layerInterp_mloopcol(), layerInterp_mloopuv(), layerInterp_mvert_skin(), layerInterp_normal(), layerInterp_origspace_face(), layerInterp_paint_mask(), layerInterp_propbool(), layerInterp_propcol(), layerInterp_propFloat(), layerInterp_propfloat2(), layerInterp_propfloat3(), layerInterp_propInt(), layerInterp_shapekey(), layerInterp_tface(), layerRead_mdisps(), layerWrite_mdisps(), leaf_needs_material_split(), lineart_edge_type_duplication_count(), lineart_finalize_object_edge_array_reserve(), lineart_gpencil_generate(), lineart_loose_data_reallocate(), load_node(), logimage_fread(), logimage_fwrite(), loop_find_regions(), MaskLayerToTransData(), Matrix_slice(), MatrixAccess_slice(), maxdirfiltered(), maxdirsterid(), mem_read(), mesh_island_to_astar_graph_edge_process(), metadata_box_height_get(), MOD_lineart_chain_count(), modifier_skin_armature_create(), multi_small_ghash_tests(), multi_small_ghash_tests_one(), multires_reshape_apply_base_refit_base_mesh(), new_adj_vmesh(), blender::ed::space_node::node_count_links(), node_count_links(), blender::nodes::node_geo_curve_resample_cc::node_geo_exec(), blender::nodes::node_geo_mesh_primitive_line_cc::node_geo_exec(), blender::nodes::node_geo_points_cc::node_geo_exec(), Freestyle::Functions0D::Curvature2DAngleF0D::operator()(), blender::meshintersect::operator<<(), KDL::Rotation::operator=(), paint_2d_lift_soften(), paint_space_stroke(), parse_alloc_ops(), blender::io::obj::parse_floats(), parse_unary(), pbvh_bmesh_node_vert_use_count_at_most(), blender::bke::pbvh_vertex_color_get(), plConvexHullCompute(), plConvexHullGetFaceLoops(), plConvexHullGetFaceSize(), plConvexHullGetFaceVertices(), blender::gpu::GPUSource::print_error(), btSoftColliders::CollideCL_SS::Process(), ptcache_add_extra_data(), pygpu_buffer_ass_slice(), pygpu_buffer_slice(), pygpu_shader_uniform_vector_float(), pygpu_shader_uniform_vector_int(), pyrna_prop_array_subscript_slice(), pyrna_prop_collection_subscript_slice(), Quaternion_slice(), randint_ghash_tests(), RB_shape_new_convex_hull(), re_delaunay_triangulate(), recount_totsel(), recount_totsels_range_edge_func(), recount_totsels_range_face_func(), recount_totsels_range_vert_func(), region_quadview_exec(), region_rect_recursive(), rna_def_effect_inputs(), rna_function_arg_count(), rotl(), blender::length_parameterize::sample_at_lengths(), blender::length_parameterize::sample_uniform(), SCULPT_bmesh_topology_rake(), SCULPT_smooth(), SEQ_effect_get_num_inputs(), seq_get_snap_target_points_count(), seq_prefetch_scene_strip_is_rendered(), SEQ_render_give_ibuf(), seq_render_strip_stack(), SeqToTransData_build(), SeqTransCount(), InternalNode::set_child(), InternalNode::set_internal_child(), InternalNode::set_leaf_child(), DDSHeader::setMipmapCount(), GHOST_WindowCocoa::setOrder(), show_pose_bone_cb(), sig_handle_blender_esc(), singularValueDecomposition(), snap_curs_to_sel_ex(), split(), sss_calculate_offsets(), stroke_defvert_create_nr_list(), stroke_defvert_new_count(), task_listbase_heavy_membarrier_iter_func(), task_listbase_iter_func(), task_listbase_light_membarrier_iter_func(), task_listbase_test(), task_mempool_iter_func(), blender::tests::TEST(), test_polyfill_winding(), blender::bke::tests::test_vec_roll_to_mat3_orthogonal(), timeline_cache_segments_count(), topdown(), CurveEval::total_control_point_num(), blender::io::obj::Geometry::track_all_vertices(), track_to_path_segment(), ui_handle_menu_event(), unpack_all_invoke(), unsubdivide_is_all_quads(), blender::compositor::KeyingBlurOperation::update_memory_buffer_partial(), blender::compositor::KeyingClipOperation::update_memory_buffer_partial(), blender::compositor::ScreenLensDistortionOperation::update_memory_buffer_partial(), update_vb(), GHOST_XrControllerModel::updateComponents(), CCL_NAMESPACE_BEGIN::util_image_downscale_sample(), uv_rip_pairs_loop_count_on_side(), Vector_slice(), vgroup_fix(), vgroups_datatransfer_interp(), view3d_project_segment_to_screen_with_clip_tag(), WM_xr_action_binding_create(), WM_xr_action_create(), WM_xr_controller_pose_actions_set(), wm_xr_session_controller_data_populate(), wm_xr_session_events_dispatch(), write_grid_paint_mask(), write_mdisps(), and blender::io::obj::write_mesh_objects().

◆ enabled

bool enabled

Definition at line 1134 of file interface_widgets.c.

◆ format

Definition at line 406 of file interface_widgets.c.

◆ g_shape_preset_checkmark_face

const uint g_shape_preset_checkmark_face[4][3]
static
Initial value:
= {
{3, 2, 4},
{3, 4, 5},
{1, 0, 3},
{0, 2, 3},
}

Definition at line 372 of file interface_widgets.c.

Referenced by shape_preset_trias_from_rect_checkmark().

◆ g_shape_preset_checkmark_vert

const float g_shape_preset_checkmark_vert[6][2]
static
Initial value:
= {
{-0.578579, 0.253369},
{-0.392773, 0.412794},
{-0.004241, -0.328551},
{-0.003001, 0.034320},
{1.055313, 0.864744},
{0.866408, 1.026895},
}

Definition at line 363 of file interface_widgets.c.

Referenced by shape_preset_trias_from_rect_checkmark().

◆ g_shape_preset_hold_action_face

const uint g_shape_preset_hold_action_face[2][3] = {{2, 0, 1}, {3, 5, 4}}
static

Definition at line 386 of file interface_widgets.c.

Referenced by shape_preset_init_hold_action().

◆ g_shape_preset_hold_action_vert

const float g_shape_preset_hold_action_vert[6][2]
static
Initial value:
= {
{-0.5 + SC, 1.0 + OY},
{0.5, 1.0 + OY},
{0.5, 0.0 + OY + SC},
}
#define SC
#define OY

Definition at line 381 of file interface_widgets.c.

Referenced by shape_preset_init_hold_action().

◆ g_shape_preset_menu_arrow_face

const uint g_shape_preset_menu_arrow_face[2][3] = {{2, 0, 1}, {3, 5, 4}}
static

Definition at line 361 of file interface_widgets.c.

Referenced by shape_preset_trias_from_rect_menu().

◆ g_shape_preset_menu_arrow_vert

const float g_shape_preset_menu_arrow_vert[6][2]
static
Initial value:
= {
{-0.33, 0.16},
{0.33, 0.16},
{0, 0.82},
{0, -0.82},
{-0.33, -0.16},
{0.33, -0.16},
}

Definition at line 353 of file interface_widgets.c.

Referenced by shape_preset_trias_from_rect_menu().

◆ g_shape_preset_number_arrow_face

const uint g_shape_preset_number_arrow_face[1][3]
static
Initial value:
= {
{0, 1, 2},
}

Definition at line 314 of file interface_widgets.c.

Referenced by shape_preset_init_number_arrows().

◆ g_shape_preset_number_arrow_vert

const float g_shape_preset_number_arrow_vert[3][2]
static
Initial value:
= {
{-0.352077, 0.532607},
{-0.352077, -0.549313},
{0.330000, -0.008353},
}

Definition at line 309 of file interface_widgets.c.

Referenced by shape_preset_init_number_arrows().

◆ g_shape_preset_scroll_circle_face

const uint g_shape_preset_scroll_circle_face[14][3]
static
Initial value:
= {
{0, 1, 2},
{2, 0, 3},
{3, 0, 15},
{3, 15, 4},
{4, 15, 14},
{4, 14, 5},
{5, 14, 13},
{5, 13, 6},
{6, 13, 12},
{6, 12, 7},
{7, 12, 11},
{7, 11, 8},
{8, 11, 10},
{8, 10, 9},
}

Definition at line 336 of file interface_widgets.c.

Referenced by shape_preset_init_scroll_circle().

◆ g_shape_preset_scroll_circle_vert

const float g_shape_preset_scroll_circle_vert[16][2]
static
Initial value:
= {
{0.382684, 0.923879},
{0.000001, 1.000000},
{-0.382683, 0.923880},
{-0.707107, 0.707107},
{-0.923879, 0.382684},
{-1.000000, 0.000000},
{-0.923880, -0.382684},
{-0.707107, -0.707107},
{-0.382683, -0.923880},
{0.000000, -1.000000},
{0.382684, -0.923880},
{0.707107, -0.707107},
{0.923880, -0.382684},
{1.000000, -0.000000},
{0.923880, 0.382683},
{0.707107, 0.707107},
}

Definition at line 318 of file interface_widgets.c.

Referenced by shape_preset_init_scroll_circle().

◆ 

struct { ... } g_ui_batch_cache

◆ 

struct { ... } g_widget_base_batch

◆ params

Definition at line 1132 of file interface_widgets.c.

Referenced by ABC_export(), ABC_read_mesh(), blender::io::alembic::ABCArchive::ABCArchive(), action_channel_region_listener(), action_header_region_listener(), action_listener(), action_main_region_listener(), action_region_listener(), blender::fn::VariableState::add_as_input(), blender::fn::VariableState::add_as_input__one(), blender::fn::VariableState::add_as_mutable(), blender::fn::VariableState::add_as_mutable__one(), blender::fn::VariableState::add_as_output(), blender::fn::VariableState::add_as_output__one(), blender::fn::VariableStates::add_as_param(), blender::fn::VariableStates::add_as_param__one(), blender::ed::space_node::add_existing_group_input_fn(), blender::ed::space_node::add_group_input_node_fn(), ImageManager::add_image(), blender::fn::VariableStates::add_initial_variable_states(), blender::nodes::node_geo_instance_on_points_cc::add_instances_from_component(), blender::ed::space_node::add_reroute_node_fn(), PrincipledHairClosure::alloc(), PrincipledClearcoatClosure::alloc(), MicrofacetFresnelClosure::alloc(), MicrofacetMultiClosure::alloc(), MicrofacetMultiFresnelClosure::alloc(), CBSSRDFClosure::alloc(), alter_co(), libmv::ApplyNukeDistortionModel(), arg_handle_window_geometry(), asset_view_listener(), utils::assign_materials(), assignConstraintsToGridBatches(), AssignConstraintsToGridBatchesLoop::AssignConstraintsToGridBatchesLoop(), BKE_blendfile_link_append_context_new(), BKE_blendfile_read(), BKE_blendfile_read_from_memfile(), BKE_blendfile_read_from_memory(), BKE_blendfile_read_setup(), BKE_blendfile_read_setup_ex(), BKE_camera_multiview_params(), BKE_camera_multiview_window_matrix(), BKE_camera_params_compute_matrix(), BKE_camera_params_compute_viewplane(), BKE_camera_params_from_object(), BKE_camera_params_from_view3d(), BKE_camera_params_init(), BKE_camera_view_frame_fit_to_coords(), BKE_camera_view_frame_fit_to_scene(), BKE_editmesh_looptri_calc_ex(), BKE_editmesh_looptri_calc_with_partial_ex(), BKE_kelvinlet_grab(), BKE_kelvinlet_grab_biscale(), BKE_kelvinlet_grab_triscale(), BKE_kelvinlet_init_params(), BKE_kelvinlet_scale(), BKE_kelvinlet_twist(), BKE_keyconfig_keymap_filter_item(), BKE_keyconfig_pref_filter_items(), BKE_memfile_undo_decode(), BKE_mesh_from_bmesh_nomain(), BKE_mesh_to_bmesh(), BKE_ntree_update_main(), BKE_ntree_update_main_tree(), BKE_view_layer_array_from_bases_in_mode_params(), BKE_view_layer_array_from_objects_in_mode_params(), BKE_view_layer_array_selected_objects_params(), blo_filedata_from_memfile(), BLO_library_link_begin(), BLO_library_link_end(), BLO_library_link_named_part(), BLO_library_link_params_init(), BLO_library_link_params_init_with_context(), BLO_read_from_memfile(), BLO_write_file(), BM_mesh_bm_from_me(), BM_mesh_bm_to_me(), BM_mesh_calc_path_edge(), BM_mesh_calc_path_face(), BM_mesh_calc_path_uv_edge(), BM_mesh_calc_path_uv_face(), BM_mesh_calc_path_uv_vert(), BM_mesh_calc_path_vert(), BM_mesh_calc_tessellation_ex(), bm_mesh_calc_tessellation_with_partial__multi_threaded(), bm_mesh_calc_tessellation_with_partial__single_threaded(), BM_mesh_calc_tessellation_with_partial_ex(), BM_mesh_create(), BM_mesh_normals_update_ex(), BM_mesh_normals_update_with_partial_ex(), BM_mesh_partial_create_from_verts(), BM_mesh_partial_create_from_verts_group_multi(), BM_mesh_partial_create_from_verts_group_single(), BM_mesh_rebuild(), BM_mesh_toolflags_set(), bm_subdivide_edge_addvert(), bm_subdivide_multicut(), bmo_bisect_edges_exec(), bmo_subd_init_shape_info(), bmo_subdivide_edges_exec(), bone_mouse_select_menu(), bone_select_menu_exec(), bookmark_add_exec(), bookmark_select_exec(), bpy_bmesh_to_mesh(), bpy_context_temp_override(), bpy_gizmo_target_get_range(), bpy_gizmo_target_get_value(), bpy_gizmo_target_set_handler(), bpy_gizmo_target_set_value(), bpy_gizmotype_target_property_def(), BPY_rna_operator_poll_message_set(), bsdf_principled_sheen_params(), MultiDevice::build_bvh(), buttons_area_listener(), buttons_header_region_message_subscribe(), buttons_main_region_listener(), buttons_navigation_bar_region_message_subscribe(), blender::nodes::node_geo_curve_to_points_cc::calculate_spline_point_offsets(), blender::nodes::node_shader_math_cc::ClampWrapperFunction::call(), blender::nodes::node_fn_align_euler_to_vector_cc::MF_AlignEulerToVector::call(), blender::nodes::node_fn_input_special_characters_cc::MF_SpecialCharacters::call(), blender::nodes::SeparateRGBAFunction::call(), blender::nodes::SeparateHSVAFunction::call(), blender::nodes::SeparateHSLAFunction::call(), blender::nodes::node_geo_curve_sample_cc::SampleFloatSegmentsFunction::call(), blender::nodes::node_geo_curve_sample_cc::SampleCurveFunction::call(), blender::nodes::node_geo_image_texture_cc::ImageFieldsFunction::call(), blender::nodes::node_geo_proximity_cc::ProximityFunction::call(), blender::nodes::node_geo_raycast_cc::RaycastFunction::call(), blender::nodes::node_geo_transfer_attribute_cc::NearestInterpolatedTransferFunction::call(), blender::nodes::node_geo_transfer_attribute_cc::NearestTransferFunction::call(), blender::nodes::node_geo_transfer_attribute_cc::IndexTransferFunction::call(), blender::nodes::node_shader_color_ramp_cc::ColorBandFunction::call(), blender::nodes::node_shader_curves_cc::CurveVecFunction::call(), blender::nodes::node_shader_curves_cc::CurveRGBFunction::call(), blender::nodes::node_shader_curves_cc::CurveFloatFunction::call(), blender::nodes::node_shader_mix_rgb_cc::MixRGBFunction::call(), blender::nodes::node_shader_sepcomb_rgb_cc::SeparateRGBFunction::call(), blender::nodes::node_shader_sepcomb_xyz_cc::MF_SeparateXYZ::call(), blender::nodes::node_shader_tex_brick_cc::BrickFunction::call(), blender::nodes::node_shader_tex_checker_cc::NodeTexChecker::call(), blender::nodes::node_shader_tex_gradient_cc::GradientFunction::call(), blender::nodes::node_shader_tex_magic_cc::MagicFunction::call(), blender::nodes::node_shader_tex_musgrave_cc::MusgraveFunction::call(), blender::nodes::node_shader_tex_noise_cc::NoiseFunction::call(), blender::nodes::node_shader_tex_voronoi_cc::VoronoiMinowskiFunction::call(), blender::nodes::node_shader_tex_voronoi_cc::VoronoiMetricFunction::call(), blender::nodes::node_shader_tex_voronoi_cc::VoronoiEdgeFunction::call(), blender::nodes::node_shader_tex_wave_cc::WaveFunction::call(), blender::nodes::node_shader_tex_white_noise_cc::WhiteNoiseFunction::call(), blender::fn::CustomMF_GenericConstant::call(), blender::fn::CustomMF_GenericConstantArray::call(), blender::fn::CustomMF_DefaultOutput::call(), blender::fn::CustomMF_GenericCopy::call(), blender::fn::MFProcedureExecutor::call(), blender::fn::CustomMF< ParamTags >::call(), blender::fn::CustomMF_SM< Mut1 >::call(), blender::fn::CustomMF_Constant< T >::call(), blender::fn::tests::TwoOutputFunction::call(), blender::fn::tests::AddPrefixFunction::call(), blender::fn::tests::CreateRangeFunction::call(), blender::fn::tests::GenericAppendFunction::call(), blender::fn::tests::ConcatVectorsFunction::call(), blender::fn::tests::AppendFunction::call(), blender::fn::tests::SumVectorFunction::call(), blender::fn::tests::OptionalOutputsFunction::call(), blender::fn::MultiFunction::call_auto(), blender::FunctionRef< Ret(Params...)>::call_safe(), camera_frame_fit_calc_from_data(), camera_frame_fit_data_init(), CBSSRDFClosure::CBSSRDFClosure(), clip_header_region_listener(), clip_listener(), clip_main_region_listener(), clip_properties_region_listener(), clip_props_region_listener(), closure_absorption_params(), closure_background_params(), closure_bsdf_diffuse_ramp_params(), closure_bsdf_microfacet_ggx_aniso_fresnel_params(), closure_bsdf_microfacet_ggx_fresnel_params(), closure_bsdf_microfacet_multi_ggx_aniso_fresnel_params(), closure_bsdf_microfacet_multi_ggx_aniso_params(), closure_bsdf_microfacet_multi_ggx_fresnel_params(), closure_bsdf_microfacet_multi_ggx_glass_fresnel_params(), closure_bsdf_microfacet_multi_ggx_glass_params(), closure_bsdf_microfacet_multi_ggx_params(), closure_bsdf_microfacet_params(), closure_bsdf_phong_ramp_params(), closure_bsdf_principled_clearcoat_params(), closure_bsdf_principled_hair_params(), closure_bsdf_transparent_params(), closure_bssrdf_params(), closure_emission_params(), closure_henyey_greenstein_params(), closure_holdout_params(), collection_drop_exec(), blender::io::obj::obj_exporter_regression_test::compare_obj_export_to_golden(), Geometry::compute_bvh(), console_main_region_listener(), blender::bke::DataTypeConversions::convert_to_initialized_n(), Denoiser::create(), blender::nodes::node_geo_string_to_curves_cc::create_attributes(), blender::nodes::node_geo_string_to_curves_cc::create_curve_instances(), blender::nodes::node_geo_mesh_primitive_ico_sphere_cc::create_ico_sphere_mesh(), blender::io::alembic::create_time_sampling(), CTX_wm_operator_poll_msg_clear(), CTX_wm_operator_poll_msg_get(), CTX_wm_operator_poll_msg_set_dynamic(), curve_pen_modal(), blender::fn::CustomMF< ParamTags >::CustomMF(), denoise_func(), Denoiser::Denoiser(), DenoiserPipeline::DenoiserPipeline(), dial_3d_draw_util(), do_elastic_deform_brush_task_cb_ex(), do_snake_hook_brush_task_cb_ex(), PathTraceDisplay::draw(), OpenGLDisplayDriver::draw(), BlenderDisplayDriver::draw(), blender::ed::spreadsheet::SpreadsheetLayoutDrawer::draw_byte_color(), blender::ed::spreadsheet::draw_cell_contents(), draw_columnheader_columns(), blender::ed::spreadsheet::SpreadsheetLayoutDrawer::draw_content_cell(), draw_details_columns(), blender::ed::spreadsheet::SpreadsheetLayoutDrawer::draw_float_vector(), blender::ed::spreadsheet::SpreadsheetLayoutDrawer::draw_left_column_cell(), blender::ed::spreadsheet::draw_left_column_content(), blender::ed::spreadsheet::SpreadsheetLayoutDrawer::draw_top_row_cell(), blender::ed::spreadsheet::draw_top_row_content(), ED_area_do_listen(), ED_area_do_mgs_subscribe_for_tool_header(), ED_area_do_mgs_subscribe_for_tool_ui(), ED_armature_edit_select_pick(), ED_armature_edit_select_pick_bone(), ED_armature_pose_select_pick_bone(), ED_armature_pose_select_pick_with_buffer(), ED_curve_editfont_select_pick(), ED_curve_editnurb_select_pick(), ed_curve_select_nth(), ED_file_change_dir_ex(), ED_file_path_button(), ED_fileselect_activate_asset_catalog(), ED_fileselect_activate_by_id(), ED_fileselect_activate_by_relpath(), ED_fileselect_active_asset_get(), ED_fileselect_clear(), ED_fileselect_init_layout(), ED_fileselect_params_to_userdef(), ED_fileselect_set_params_from_userdef(), ED_lattice_select_pick(), ED_mball_select_pick(), ED_node_tree_propagate_change(), ed_object_select_pick(), ed_object_select_pick_camera_track(), ED_region_do_listen(), ED_region_generic_tools_region_message_subscribe(), ED_region_message_subscribe(), ED_select_pick_get_name(), ED_select_pick_params_from_operator(), ED_transform_calc_gizmo_stats(), ED_transform_snap_object_project_all_view3d_ex(), ED_transform_snap_object_project_ray(), ED_transform_snap_object_project_ray_all(), ED_transform_snap_object_project_ray_ex(), ED_transform_snap_object_project_view3d(), ED_transform_snap_object_project_view3d_ex(), ED_uvedit_pack_islands_multi(), ED_view3d_clip_range_get(), ED_view3d_draw_offscreen_imbuf(), ED_view3d_draw_offscreen_imbuf_simple(), ED_view3d_from_object(), ED_view3d_radius_to_dist(), ED_view3d_viewplane_get(), ed_wpaint_vertex_select_pick(), EDBM_mesh_normals_update_ex(), edbm_point_normals_modal(), EDBM_select_pick(), edbm_shortest_path_pick_invoke(), EDBM_update(), edgetag_add_adjacent(), edgetag_add_adjacent_uv(), editmesh_partial_update_begin_fn(), editmesh_tessface_calc_intern(), libmv::EuclideanResect(), blender::modifiers::geometry_nodes::evaluate_geometry_nodes(), exec(), blender::fn::CustomMF< ParamTags >::execute(), blender::fn::execute_call_instruction(), blender::modifiers::geometry_nodes::GeometryNodesEvaluator::execute_geometry_node(), blender::modifiers::geometry_nodes::GeometryNodesEvaluator::execute_multi_function_node__value(), face_set_extract_modal(), facetag_add_adjacent(), facetag_add_adjacent_uv(), file_attribute_column_type_enabled(), file_attribute_column_type_find_isect(), file_attribute_columns_init(), file_attribute_columns_widths(), file_box_select_modal(), file_column_sort_ui_context_invoke(), file_context(), file_create_asset_catalog_tree_view_in_layout(), file_delete_exec(), file_delete_poll(), file_delete_single(), file_directory_enter_handle(), file_directory_new_exec(), file_draw_check_exists(), file_draw_list(), file_edit_directory_path_exec(), file_ensure_valid_region_state(), file_execute(), file_expand_directory(), file_filename_enter_handle(), file_filenum_exec(), file_filenum_poll(), file_hidedot_exec(), file_highlight_set(), file_listener(), file_main_region_draw(), file_main_region_message_subscribe(), file_next_exec(), file_operator_to_sfile(), file_panel_asset_catalog_buttons_draw(), file_panel_execution_buttons_draw(), file_params_find_renamed(), file_params_invoke_rename_postscroll(), file_params_rename_end(), file_params_renamefile_activate(), file_params_renamefile_clear(), file_parent_exec(), file_previous_exec(), file_refresh(), file_rename_exec(), file_rename_state_activate(), file_select(), file_select_all_exec(), file_select_do(), file_select_exec(), file_sfile_filepath_set(), file_sfile_to_operator_ex(), file_smoothscroll_invoke(), file_start_filter_exec(), file_view_selected_exec(), file_walk_select_do(), file_walk_select_invoke(), file_walk_select_selection_set(), fileselect_ensure_updated_file_params(), fileselect_file_set(), fileselect_initialize_params_common(), blender::fn::fill_params(), blender::fn::fill_params__one(), utils::find_existing_material(), blender::nodes::node_fn_random_value_cc::fn_node_random_value_gather_link_search(), folderlist_clear_next(), followtrack_evaluate_using_2d_position(), blender::ed::space_node::gather_socket_link_operations(), blender::nodes::node_geo_input_mesh_face_is_planar_cc::geo_node_exec(), geometry_extract_apply(), geometry_extract_tag_face_set(), geometry_extract_tag_masked_faces(), BlenderSync::get_buffer_params(), PathTraceWork::get_display_pass_access_info(), blender::io::alembic::get_frames(), blender::nodes::node_geo_raycast_cc::get_input_attribute_field(), blender::nodes::node_geo_transfer_attribute_cc::get_input_attribute_field(), blender::nodes::node_geo_curve_sample_cc::get_length_input_field(), blender::nodes::node_geo_string_to_curves_cc::get_pivot_point(), BlenderSync::get_scene_params(), BlenderSync::get_session_params(), blender::io::alembic::get_shutter_samples(), blender::io::obj::get_smooth_group(), blender::nodes::node_geo_string_to_curves_cc::get_text_layout(), gizmo_calc_matrix_final_no_offset(), gizmo_window_project_2d(), gizmo_window_project_3d(), gizmogroup_init(), GPU_link(), GPU_shader_create_from_arrays_impl(), GPU_stack_link(), gpu_stack_link_v(), graph_listener(), graph_region_listener(), graph_region_message_subscribe(), image_buttons_region_listener(), image_header_region_listener(), image_listener(), image_main_region_listener(), ImageTextureNode::image_params(), EnvironmentTextureNode::image_params(), PointDensityTextureNode::image_params(), image_tools_region_listener(), blender::io::obj::obj_importer_test::import_and_check(), info_header_listener(), info_header_region_message_subscribe(), info_main_region_listener(), init_kelvinlet_grab(), blender::io::obj::ObjExporterWriterTest::init_writer(), libmv::InvertBrownDistortionModel(), libmv::InvertDivisionDistortionModel(), libmv::InvertPolynomialDistortionModel(), iter_snap_objects(), keymap_event_set(), blender::ed::space_node::link_drag_search_exec_fn(), DenoiseTask::load(), libmv::Dogleg< Function, Jacobian, Solver >::minimize(), libmv::LevenbergMarquardt< Function, Jacobian, Solver >::minimize(), SceneParams::modified(), SessionParams::modified(), modifyMesh(), mouse_mesh_uv_shortest_path_edge(), mouse_mesh_uv_shortest_path_face(), mouse_mesh_uv_shortest_path_vert(), nearest_world_editmesh(), nearest_world_mesh(), nearest_world_object_fn(), nearest_world_tree(), nearestWorldObjects(), nla_channel_region_listener(), nla_channel_region_message_subscribe(), nla_listener(), nla_main_region_listener(), nla_main_region_message_subscribe(), nla_region_listener(), blender::ed::space_node::node_area_listener(), blender::nodes::node_fn_compare_cc::node_compare_gather_link_searches(), blender::nodes::node_geo_input_scene_time_cc::node_exec(), blender::nodes::node_fn_boolean_math_cc::node_gather_link_searches(), blender::nodes::node_geo_accumulate_field_cc::node_gather_link_searches(), blender::nodes::node_geo_attribute_capture_cc::node_gather_link_searches(), blender::nodes::node_geo_attribute_statistic_cc::node_gather_link_searches(), blender::nodes::node_geo_curve_primitive_quadrilateral_cc::node_gather_link_searches(), blender::nodes::node_geo_curve_trim_cc::node_gather_link_searches(), blender::nodes::node_geo_field_at_index_cc::node_gather_link_searches(), blender::nodes::node_geo_input_named_attribute_cc::node_gather_link_searches(), blender::nodes::node_geo_interpolate_domain_cc::node_gather_link_searches(), blender::nodes::node_geo_mesh_primitive_line_cc::node_gather_link_searches(), blender::nodes::node_geo_raycast_cc::node_gather_link_searches(), blender::nodes::node_geo_store_named_attribute_cc::node_gather_link_searches(), blender::nodes::node_geo_switch_cc::node_gather_link_searches(), blender::nodes::node_geo_transfer_attribute_cc::node_gather_link_searches(), blender::nodes::node_geo_viewer_cc::node_gather_link_searches(), blender::nodes::node_shader_tex_sky_cc::node_gather_link_searches(), blender::nodes::node_geo_accumulate_field_cc::node_geo_exec(), blender::nodes::node_geo_attribute_capture_cc::node_geo_exec(), blender::nodes::node_geo_attribute_domain_size_cc::node_geo_exec(), blender::nodes::node_geo_attribute_statistic_cc::node_geo_exec(), blender::nodes::node_geo_boolean_cc::node_geo_exec(), blender::nodes::node_geo_bounding_box_cc::node_geo_exec(), blender::nodes::node_geo_collection_info_cc::node_geo_exec(), blender::nodes::node_geo_convex_hull_cc::node_geo_exec(), blender::nodes::node_geo_curve_endpoint_selection_cc::node_geo_exec(), blender::nodes::node_geo_curve_fill_cc::node_geo_exec(), blender::nodes::node_geo_curve_fillet_cc::node_geo_exec(), blender::nodes::node_geo_curve_handle_type_selection_cc::node_geo_exec(), blender::nodes::node_geo_curve_length_cc::node_geo_exec(), blender::nodes::node_geo_curve_primitive_arc_cc::node_geo_exec(), blender::nodes::node_geo_curve_primitive_bezier_segment_cc::node_geo_exec(), blender::nodes::node_geo_curve_primitive_circle_cc::node_geo_exec(), blender::nodes::node_geo_curve_primitive_line_cc::node_geo_exec(), blender::nodes::node_geo_curve_primitive_quadratic_bezier_cc::node_geo_exec(), blender::nodes::node_geo_curve_primitive_quadrilateral_cc::node_geo_exec(), blender::nodes::node_geo_curve_primitive_spiral_cc::node_geo_exec(), blender::nodes::node_geo_curve_primitive_star_cc::node_geo_exec(), blender::nodes::node_geo_curve_resample_cc::node_geo_exec(), blender::nodes::node_geo_curve_reverse_cc::node_geo_exec(), blender::nodes::node_geo_curve_sample_cc::node_geo_exec(), blender::nodes::node_geo_curve_set_handle_type_cc::node_geo_exec(), blender::nodes::node_geo_curve_spline_parameter_cc::node_geo_exec(), blender::nodes::node_geo_curve_spline_type_cc::node_geo_exec(), blender::nodes::node_geo_curve_subdivide_cc::node_geo_exec(), blender::nodes::node_geo_curve_to_mesh_cc::node_geo_exec(), blender::nodes::node_geo_curve_to_points_cc::node_geo_exec(), blender::nodes::node_geo_curve_trim_cc::node_geo_exec(), blender::nodes::node_geo_deform_curves_on_surface_cc::node_geo_exec(), blender::nodes::node_geo_delete_geometry_cc::node_geo_exec(), blender::nodes::node_geo_distribute_points_on_faces_cc::node_geo_exec(), blender::nodes::node_geo_dual_mesh_cc::node_geo_exec(), blender::nodes::node_geo_duplicate_elements_cc::node_geo_exec(), blender::nodes::node_geo_edge_paths_to_curves_cc::node_geo_exec(), blender::nodes::node_geo_edge_paths_to_selection_cc::node_geo_exec(), blender::nodes::node_geo_edge_split_cc::node_geo_exec(), blender::nodes::node_geo_extrude_mesh_cc::node_geo_exec(), blender::nodes::node_geo_field_at_index_cc::node_geo_exec(), blender::nodes::node_geo_flip_faces_cc::node_geo_exec(), blender::nodes::node_geo_geometry_to_instance_cc::node_geo_exec(), blender::nodes::node_geo_image_texture_cc::node_geo_exec(), blender::nodes::node_geo_input_curve_handles_cc::node_geo_exec(), blender::nodes::node_geo_input_curve_tilt_cc::node_geo_exec(), blender::nodes::node_geo_input_id_cc::node_geo_exec(), blender::nodes::node_geo_input_index_cc::node_geo_exec(), blender::nodes::node_geo_input_instance_rotation_cc::node_geo_exec(), blender::nodes::node_geo_input_instance_scale_cc::node_geo_exec(), blender::nodes::node_geo_input_material_cc::node_geo_exec(), blender::nodes::node_geo_input_material_index_cc::node_geo_exec(), blender::nodes::node_geo_input_mesh_edge_angle_cc::node_geo_exec(), blender::nodes::node_geo_input_mesh_edge_neighbors_cc::node_geo_exec(), blender::nodes::node_geo_input_mesh_edge_vertices_cc::node_geo_exec(), blender::nodes::node_geo_input_mesh_face_area_cc::node_geo_exec(), blender::nodes::node_geo_input_mesh_face_neighbors_cc::node_geo_exec(), blender::nodes::node_geo_input_mesh_island_cc::node_geo_exec(), blender::nodes::node_geo_input_mesh_vertex_neighbors_cc::node_geo_exec(), blender::nodes::node_geo_input_named_attribute_cc::node_geo_exec(), blender::nodes::node_geo_input_normal_cc::node_geo_exec(), blender::nodes::node_geo_input_position_cc::node_geo_exec(), blender::nodes::node_geo_input_radius_cc::node_geo_exec(), blender::nodes::node_geo_input_shade_smooth_cc::node_geo_exec(), blender::nodes::node_geo_input_shortest_edge_paths_cc::node_geo_exec(), blender::nodes::node_geo_input_spline_cyclic_cc::node_geo_exec(), blender::nodes::node_geo_input_spline_length_cc::node_geo_exec(), blender::nodes::node_geo_input_spline_resolution_cc::node_geo_exec(), blender::nodes::node_geo_input_tangent_cc::node_geo_exec(), blender::nodes::node_geo_instance_on_points_cc::node_geo_exec(), blender::nodes::node_geo_instances_to_points_cc::node_geo_exec(), blender::nodes::node_geo_interpolate_domain_cc::node_geo_exec(), blender::nodes::node_geo_is_viewport_cc::node_geo_exec(), blender::nodes::node_geo_join_geometry_cc::node_geo_exec(), blender::nodes::node_geo_material_replace_cc::node_geo_exec(), blender::nodes::node_geo_material_selection_cc::node_geo_exec(), blender::nodes::node_geo_merge_by_distance_cc::node_geo_exec(), blender::nodes::node_geo_mesh_primitive_circle_cc::node_geo_exec(), blender::nodes::node_geo_mesh_primitive_cone_cc::node_geo_exec(), blender::nodes::node_geo_mesh_primitive_cube_cc::node_geo_exec(), blender::nodes::node_geo_mesh_primitive_cylinder_cc::node_geo_exec(), blender::nodes::node_geo_mesh_primitive_grid_cc::node_geo_exec(), blender::nodes::node_geo_mesh_primitive_ico_sphere_cc::node_geo_exec(), blender::nodes::node_geo_mesh_primitive_line_cc::node_geo_exec(), blender::nodes::node_geo_mesh_primitive_uv_sphere_cc::node_geo_exec(), blender::nodes::node_geo_mesh_subdivide_cc::node_geo_exec(), blender::nodes::node_geo_mesh_to_curve_cc::node_geo_exec(), blender::nodes::node_geo_mesh_to_points_cc::node_geo_exec(), blender::nodes::node_geo_mesh_to_volume_cc::node_geo_exec(), blender::nodes::node_geo_object_info_cc::node_geo_exec(), blender::nodes::node_geo_points_cc::node_geo_exec(), blender::nodes::node_geo_points_to_vertices_cc::node_geo_exec(), blender::nodes::node_geo_points_to_volume_cc::node_geo_exec(), blender::nodes::node_geo_proximity_cc::node_geo_exec(), blender::nodes::node_geo_raycast_cc::node_geo_exec(), blender::nodes::node_geo_realize_instances_cc::node_geo_exec(), blender::nodes::node_geo_remove_attribute_cc::node_geo_exec(), blender::nodes::node_geo_rotate_instances_cc::node_geo_exec(), blender::nodes::node_geo_scale_elements_cc::node_geo_exec(), blender::nodes::node_geo_scale_instances_cc::node_geo_exec(), blender::nodes::node_geo_separate_components_cc::node_geo_exec(), blender::nodes::node_geo_separate_geometry_cc::node_geo_exec(), blender::nodes::node_geo_set_curve_handles_cc::node_geo_exec(), blender::nodes::node_geo_set_curve_radius_cc::node_geo_exec(), blender::nodes::node_geo_set_curve_tilt_cc::node_geo_exec(), blender::nodes::node_geo_set_id_cc::node_geo_exec(), blender::nodes::node_geo_set_material_cc::node_geo_exec(), blender::nodes::node_geo_set_material_index_cc::node_geo_exec(), blender::nodes::node_geo_set_point_radius_cc::node_geo_exec(), blender::nodes::node_geo_set_position_cc::node_geo_exec(), blender::nodes::node_geo_set_shade_smooth_cc::node_geo_exec(), blender::nodes::node_geo_set_spline_cyclic_cc::node_geo_exec(), blender::nodes::node_geo_set_spline_resolution_cc::node_geo_exec(), blender::nodes::node_geo_store_named_attribute_cc::node_geo_exec(), blender::nodes::node_geo_string_join_cc::node_geo_exec(), blender::nodes::node_geo_string_to_curves_cc::node_geo_exec(), blender::nodes::node_geo_subdivision_surface_cc::node_geo_exec(), blender::nodes::node_geo_switch_cc::node_geo_exec(), blender::nodes::node_geo_transfer_attribute_cc::node_geo_exec(), blender::nodes::node_geo_transform_cc::node_geo_exec(), blender::nodes::node_geo_translate_instances_cc::node_geo_exec(), blender::nodes::node_geo_triangulate_cc::node_geo_exec(), blender::nodes::node_geo_uv_pack_islands_cc::node_geo_exec(), blender::nodes::node_geo_uv_unwrap_cc::node_geo_exec(), blender::nodes::node_geo_volume_cube_cc::node_geo_exec(), blender::nodes::node_geo_volume_to_mesh_cc::node_geo_exec(), blender::nodes::node_shader_map_range_cc::node_map_range_gather_link_searches(), blender::ed::space_node::node_mouse_select(), blender::ed::space_node::node_region_listener(), blender::ed::space_node::node_select_exec(), blender::ed::space_node::node_widgets(), object_mouse_select_menu(), object_transform_to_mouse_exec(), OIDNDenoiser::OIDNDenoiser(), blender::nodes::node_fn_compare_cc::SocketSearchOp::operator()(), blender::nodes::node_geo_curve_primitive_quadrilateral_cc::SocketSearchOp::operator()(), blender::nodes::node_geo_curve_trim_cc::SocketSearchOp::operator()(), blender::nodes::node_shader_map_range_cc::SocketSearchOp::operator()(), blender::nodes::node_shader_math_cc::SocketSearchOp::operator()(), blender::nodes::node_shader_vector_math_cc::SocketSearchOp::operator()(), blender::FunctionRef< Ret(Params...)>::operator()(), outliner_header_region_listener(), outliner_main_region_listener(), outliner_main_region_message_subscribe(), blender::nodes::node_geo_raycast_cc::output_attribute_field(), blender::nodes::node_geo_transfer_attribute_cc::output_attribute_field(), paint_mask_extract_exec(), paintface_mouse_select(), PE_mouse_particles(), blender::nodes::node_geo_distribute_points_on_faces_cc::point_distribution_calculate(), blender::io::gpencil::GpencilIO::prepare_camera_params(), prepare_mesh_for_viewport_render(), proj_paint_state_viewport_init(), libmv::ProjectiveIntersect(), libmv::ProjectiveReconstructTwoFrames(), libmv::ProjectiveResect(), pygpu_shader__tp_new(), pygpu_shader_uniform_bool(), pygpu_shader_uniform_float(), pygpu_shader_uniform_int(), pygpu_vertbuf__tp_new(), pyrna_callback_classmethod_add(), pyrna_callback_classmethod_remove(), quad_1edge_split(), quad_2edge_split_fan(), quad_2edge_split_innervert(), quad_2edge_split_path(), quad_3edge_split(), quad_4edge_subdivide(), raycast_obj_fn(), raycastEditMesh(), raycastMesh(), raycastObjects(), RE_GetCameraWindowWithOverscan(), RE_SetCamera(), DenoiseImage::read_pixels(), DenoiseImage::read_previous_pixels(), register_closure(), renamebutton_cb(), TileManager::reset_scheduling(), RNA_property_collection_add(), RNA_property_collection_remove(), blender::nodes::node_geo_rotate_instances_cc::rotate_instances(), saction_channel_region_message_subscribe(), saction_main_region_message_subscribe(), scale_buffer_params(), blender::nodes::node_geo_scale_elements_cc::scale_edges_on_axis(), blender::nodes::node_geo_scale_elements_cc::scale_edges_uniformly(), blender::nodes::node_geo_scale_elements_cc::scale_faces_on_axis(), blender::nodes::node_geo_scale_elements_cc::scale_faces_uniformly(), blender::nodes::node_geo_scale_instances_cc::scale_instances(), sculpt_elastic_transform_task_cb(), blender::nodes::search_link_ops_for_basic_node(), blender::nodes::search_link_ops_for_declarations(), blender::nodes::search_link_ops_for_socket_templates(), select_nth_bezt(), select_nth_bp(), sequencer_buttons_region_listener(), sequencer_listener(), sequencer_main_region_listener(), sequencer_main_region_message_subscribe(), sequencer_preview_region_listener(), ImageManager::set_animation_frame_update(), PathTrace::set_denoiser_params(), RenderScheduler::set_denoiser_params(), Denoiser::set_params(), CBSSRDFClosure::setup(), PrincipledSheenClosure::setup(), PrincipledHairClosure::setup(), PrincipledClearcoatClosure::setup(), MicrofacetClosure::setup(), MicrofacetGGXFresnelClosure::setup(), MicrofacetGGXAnisoFresnelClosure::setup(), MicrofacetMultiGGXClosure::setup(), MicrofacetMultiGGXAnisoClosure::setup(), MicrofacetMultiGGXGlassClosure::setup(), MicrofacetMultiGGXFresnelClosure::setup(), MicrofacetMultiGGXAnisoFresnelClosure::setup(), MicrofacetMultiGGXGlassFresnelClosure::setup(), VolumeHenyeyGreensteinClosure::setup(), DiffuseRampClosure::setup(), PhongRampClosure::setup(), setup_app_blend_file_data(), setup_app_data(), setupSpatialGridBatchesMt(), blender::nodes::node_shader_math_cc::sh_node_math_gather_link_searches(), blender::nodes::node_shader_vector_math_cc::sh_node_vector_math_gather_link_searches(), snap_mesh_edge_verts_mixed(), snap_mesh_polygon(), snap_obj_fn(), snapArmature(), snapCurve(), snapEditMesh(), snapMesh(), snapObjectsRay(), space_view3d_listener(), spreadsheet_dataset_region_listener(), spreadsheet_header_region_listener(), spreadsheet_main_region_listener(), statusbar_header_region_listener(), statusbar_header_region_message_subscribe(), subdivide_edge_num(), blender::nodes::node_geo_switch_cc::switch_fields(), blender::nodes::node_geo_switch_cc::switch_no_fields(), HdCyclesField::Sync(), sync_smoke_volume(), sync_volume_object(), blender::fn::tests::TEST(), blender::io::alembic::TEST_F(), tex_call_delegate(), tex_input(), tex_input_rgba(), tex_input_value(), tex_input_vec(), text_listener(), topbar_header_listener(), topbar_header_region_message_subscribe(), topbar_main_region_listener(), blender::nodes::transform_geometry_set(), transform_snap_context_project_ray_impl(), transform_snap_context_project_view3d_mixed_impl(), blender::nodes::transform_volume(), blender::nodes::translate_geometry_set(), blender::nodes::node_geo_translate_instances_cc::translate_instances(), blender::nodes::translate_volume(), tri_1edge_split(), tri_3edge_subdivide(), ui_block_region_popup_window_listener(), ui_but_context_poll_operator(), ui_but_event_operator_string(), ui_layout_operator_buts_poll_property(), uiTemplateFileSelectPath(), TileManager::update(), libmv::Dogleg< Function, Jacobian, Solver >::Update(), libmv::LevenbergMarquardt< Function, Jacobian, Solver >::Update(), PathTrace::update_allocated_work_buffer_params(), OpenGLDisplayDriver::update_begin(), BlenderDisplayDriver::update_begin(), PathTraceDisplay::update_begin(), PathTrace::update_effective_work_buffer_params(), blender::gpu::MTLTexture::update_sub(), USD_create_handle(), USD_export(), USD_import(), uv_mouse_select(), uv_mouse_select_multi(), uv_select_exec(), uvprojectModifier_do(), vertex_buffer_update(), OpenGLDisplayDriver::vertex_buffer_update(), vertex_group_lock_description(), verttag_add_adjacent(), verttag_add_adjacent_uv(), view3d_buttons_region_listener(), view3d_camera_border(), view3d_header_region_listener(), view3d_header_region_message_subscribe(), view3d_main_region_listener(), view3d_main_region_message_subscribe(), view3d_select_exec(), blender::ed::space_node::WIDGETGROUP_node_crop_refresh(), blender::ed::space_node::WIDGETGROUP_node_transform_refresh(), wm_context_member_from_ptr(), WM_file_read(), wm_file_read_post(), WM_gizmo_calc_matrix_final_params(), WM_gizmo_target_property_def_func(), WM_gizmo_target_property_def_func_ptr(), WM_gizmogroup_keymap_template_select_ex(), WM_gizmogroup_setup_keymap_generic_select(), wm_homefile_read_ex(), WM_keymap_add_item(), WM_keymap_add_menu(), WM_keymap_add_menu_pie(), WM_keymap_add_panel(), WM_keymap_add_tool(), wm_keymap_item_find(), wm_keymap_item_find_handlers(), wm_keymap_item_find_in_keymap(), wm_keymap_item_find_props(), WM_modalkeymap_add_item(), WM_modalkeymap_add_item_str(), wm_msg_rna_gset_hash(), wm_msg_static_gset_hash(), and wm_open_mainfile_description().

◆ roundbox_shadow

GPUBatch* roundbox_shadow

Definition at line 403 of file interface_widgets.c.

◆ roundbox_widget

GPUBatch* roundbox_widget

Definition at line 402 of file interface_widgets.c.

◆ STATE_INFO_NULL

const uiWidgetStateInfo STATE_INFO_NULL = {0}
static

◆ ui_pixel_jitter

const float ui_pixel_jitter[UI_PIXEL_AA_JITTER][2]
Initial value:
= {
{0.468813, -0.481430},
{-0.155755, -0.352820},
{0.219306, -0.238501},
{-0.393286, -0.110949},
{-0.024699, 0.013908},
{0.343805, 0.147431},
{-0.272855, 0.269918},
{0.095909, 0.388710},
}

Definition at line 296 of file interface_widgets.c.

◆ vflag_id

uint vflag_id

Definition at line 407 of file interface_widgets.c.