Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/interface/interface_widgets.c
| Show First 20 Lines • Show All 109 Lines • ▼ Show 20 Lines | typedef enum { | ||||
| UI_WTYPE_RGB_PICKER, | UI_WTYPE_RGB_PICKER, | ||||
| UI_WTYPE_UNITVEC, | UI_WTYPE_UNITVEC, | ||||
| UI_WTYPE_BOX, | UI_WTYPE_BOX, | ||||
| UI_WTYPE_SCROLL, | UI_WTYPE_SCROLL, | ||||
| UI_WTYPE_LISTITEM, | UI_WTYPE_LISTITEM, | ||||
| UI_WTYPE_PROGRESSBAR, | UI_WTYPE_PROGRESSBAR, | ||||
| UI_WTYPE_NODESOCKET, | UI_WTYPE_NODESOCKET, | ||||
| UI_WTYPE_DATASETROW, | UI_WTYPE_DATASETROW, | ||||
| UI_WTYPE_TREEROW, | |||||
| } uiWidgetTypeEnum; | } uiWidgetTypeEnum; | ||||
| /* Button state argument shares bits with 'uiBut.flag'. | /* Button state argument shares bits with 'uiBut.flag'. | ||||
| * reuse flags that aren't needed for drawing to avoid collision. */ | * reuse flags that aren't needed for drawing to avoid collision. */ | ||||
| enum { | enum { | ||||
| /* Show that holding the button opens a menu. */ | /* Show that holding the button opens a menu. */ | ||||
| UI_STATE_HOLD_ACTION = UI_BUT_UPDATE_DELAY, | UI_STATE_HOLD_ACTION = UI_BUT_UPDATE_DELAY, | ||||
| UI_STATE_TEXT_INPUT = UI_BUT_UNDO, | UI_STATE_TEXT_INPUT = UI_BUT_UNDO, | ||||
| ▲ Show 20 Lines • Show All 3,548 Lines • ▼ Show 20 Lines | static void widget_progressbar( | ||||
| wtb.draw_outline = true; | wtb.draw_outline = true; | ||||
| widgetbase_draw(&wtb, wcol); | widgetbase_draw(&wtb, wcol); | ||||
| /* "slider" bar color */ | /* "slider" bar color */ | ||||
| copy_v3_v3_uchar(wcol->inner, wcol->item); | copy_v3_v3_uchar(wcol->inner, wcol->item); | ||||
| widgetbase_draw(&wtb_bar, wcol); | widgetbase_draw(&wtb_bar, wcol); | ||||
| } | } | ||||
| static void widget_datasetrow( | static void widget_treerow_exec( | ||||
| uiBut *but, uiWidgetColors *wcol, rcti *rect, int state, int UNUSED(roundboxalign)) | uiWidgetColors *wcol, rcti *rect, int state, int UNUSED(roundboxalign), int indentation) | ||||
| { | { | ||||
| uiButDatasetRow *but_componentrow = (uiButDatasetRow *)but; | |||||
| uiWidgetBase wtb; | uiWidgetBase wtb; | ||||
| widget_init(&wtb); | widget_init(&wtb); | ||||
| /* no outline */ | /* no outline */ | ||||
| wtb.draw_outline = false; | wtb.draw_outline = false; | ||||
| const float rad = wcol->roundness * U.widget_unit; | const float rad = wcol->roundness * U.widget_unit; | ||||
| round_box_edges(&wtb, UI_CNR_ALL, rect, rad); | round_box_edges(&wtb, UI_CNR_ALL, rect, rad); | ||||
| if ((state & UI_ACTIVE) || (state & UI_SELECT)) { | if ((state & UI_ACTIVE) || (state & UI_SELECT)) { | ||||
| widgetbase_draw(&wtb, wcol); | widgetbase_draw(&wtb, wcol); | ||||
| } | } | ||||
| BLI_rcti_resize(rect, | BLI_rcti_resize(rect, BLI_rcti_size_x(rect) - UI_UNIT_X * indentation, BLI_rcti_size_y(rect)); | ||||
| BLI_rcti_size_x(rect) - UI_UNIT_X * but_componentrow->indentation, | BLI_rcti_translate(rect, 0.5f * UI_UNIT_X * indentation, 0); | ||||
| BLI_rcti_size_y(rect)); | } | ||||
| BLI_rcti_translate(rect, 0.5f * UI_UNIT_X * but_componentrow->indentation, 0); | |||||
| static void widget_treerow( | |||||
| uiBut *but, uiWidgetColors *wcol, rcti *rect, int state, int roundboxalign) | |||||
| { | |||||
| uiButTreeRow *tree_row = (uiButTreeRow *)but; | |||||
| BLI_assert(but->type == UI_BTYPE_TREEROW); | |||||
| widget_treerow_exec(wcol, rect, state, roundboxalign, tree_row->indentation); | |||||
| } | |||||
| static void widget_datasetrow( | |||||
| uiBut *but, uiWidgetColors *wcol, rcti *rect, int state, int roundboxalign) | |||||
| { | |||||
| uiButDatasetRow *dataset_row = (uiButDatasetRow *)but; | |||||
| BLI_assert(but->type == UI_BTYPE_DATASETROW); | |||||
| widget_treerow_exec(wcol, rect, state, roundboxalign, dataset_row->indentation); | |||||
| } | } | ||||
| static void widget_nodesocket( | static void widget_nodesocket( | ||||
| uiBut *but, uiWidgetColors *wcol, rcti *rect, int UNUSED(state), int UNUSED(roundboxalign)) | uiBut *but, uiWidgetColors *wcol, rcti *rect, int UNUSED(state), int UNUSED(roundboxalign)) | ||||
| { | { | ||||
| const int radi = 5; | const int radi = 5; | ||||
| uiWidgetBase wtb; | uiWidgetBase wtb; | ||||
| ▲ Show 20 Lines • Show All 777 Lines • ▼ Show 20 Lines | case UI_WTYPE_PROGRESSBAR: | ||||
| wt.wcol_theme = &btheme->tui.wcol_progress; | wt.wcol_theme = &btheme->tui.wcol_progress; | ||||
| wt.custom = widget_progressbar; | wt.custom = widget_progressbar; | ||||
| break; | break; | ||||
| case UI_WTYPE_DATASETROW: | case UI_WTYPE_DATASETROW: | ||||
| wt.custom = widget_datasetrow; | wt.custom = widget_datasetrow; | ||||
| break; | break; | ||||
| case UI_WTYPE_TREEROW: | |||||
| wt.custom = widget_treerow; | |||||
| break; | |||||
| case UI_WTYPE_NODESOCKET: | case UI_WTYPE_NODESOCKET: | ||||
| wt.custom = widget_nodesocket; | wt.custom = widget_nodesocket; | ||||
| break; | break; | ||||
| case UI_WTYPE_MENU_ITEM_RADIAL: | case UI_WTYPE_MENU_ITEM_RADIAL: | ||||
| wt.wcol_theme = &btheme->tui.wcol_pie_menu; | wt.wcol_theme = &btheme->tui.wcol_pie_menu; | ||||
| wt.custom = widget_menu_radial_itembut; | wt.custom = widget_menu_radial_itembut; | ||||
| wt.state = widget_state_pie_menu_item; | wt.state = widget_state_pie_menu_item; | ||||
| ▲ Show 20 Lines • Show All 316 Lines • ▼ Show 20 Lines | #endif | ||||
| fstyle = &style->widgetlabel; | fstyle = &style->widgetlabel; | ||||
| break; | break; | ||||
| case UI_BTYPE_DATASETROW: | case UI_BTYPE_DATASETROW: | ||||
| wt = widget_type(UI_WTYPE_DATASETROW); | wt = widget_type(UI_WTYPE_DATASETROW); | ||||
| fstyle = &style->widgetlabel; | fstyle = &style->widgetlabel; | ||||
| break; | break; | ||||
| case UI_BTYPE_TREEROW: | |||||
| wt = widget_type(UI_WTYPE_TREEROW); | |||||
| fstyle = &style->widgetlabel; | |||||
| break; | |||||
| case UI_BTYPE_SCROLL: | case UI_BTYPE_SCROLL: | ||||
| wt = widget_type(UI_WTYPE_SCROLL); | wt = widget_type(UI_WTYPE_SCROLL); | ||||
| break; | break; | ||||
| case UI_BTYPE_GRIP: | case UI_BTYPE_GRIP: | ||||
| wt = widget_type(UI_WTYPE_ICON); | wt = widget_type(UI_WTYPE_ICON); | ||||
| break; | break; | ||||
| ▲ Show 20 Lines • Show All 671 Lines • Show Last 20 Lines | |||||