Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/interface/interface_widgets.c
| Show First 20 Lines • Show All 100 Lines • ▼ Show 20 Lines | typedef enum { | ||||
| UI_WTYPE_ICON_LABEL, | UI_WTYPE_ICON_LABEL, | ||||
| UI_WTYPE_SWATCH, | UI_WTYPE_SWATCH, | ||||
| 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, | |||||
| } 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,502 Lines • ▼ Show 20 Lines | static void widget_progressbar( | ||||
| copy_v3_v3_char(wcol->inner, wcol->item); | copy_v3_v3_char(wcol->inner, wcol->item); | ||||
| widgetbase_draw(&wtb_bar, wcol); | widgetbase_draw(&wtb_bar, wcol); | ||||
| /* raise text a bit */ | /* raise text a bit */ | ||||
| rect->xmin += (BLI_rcti_size_x(&rect_prog) / 2); | rect->xmin += (BLI_rcti_size_x(&rect_prog) / 2); | ||||
| rect->xmax += (BLI_rcti_size_x(&rect_prog) / 2); | rect->xmax += (BLI_rcti_size_x(&rect_prog) / 2); | ||||
| } | } | ||||
| static void widget_nodesocket( | |||||
| uiBut *but, uiWidgetColors *wcol, rcti *rect, int UNUSED(state), int UNUSED(roundboxalign)) | |||||
| { | |||||
| uiWidgetBase wtb; | |||||
| int radi = 5; | |||||
| char old_inner[3], old_outline[3]; | |||||
| widget_init(&wtb); | |||||
| copy_v3_v3_char(old_inner, wcol->inner); | |||||
| copy_v3_v3_char(old_outline, wcol->outline); | |||||
| wcol->inner[0] = but->col[0]; | |||||
| wcol->inner[1] = but->col[1]; | |||||
| wcol->inner[2] = but->col[2]; | |||||
| wcol->outline[0] = 0; | |||||
| wcol->outline[1] = 0; | |||||
| wcol->outline[2] = 0; | |||||
| wcol->outline[3] = 150; | |||||
| int cent_x = BLI_rcti_cent_x(rect); | |||||
| int cent_y = BLI_rcti_cent_y(rect); | |||||
| rect->xmin = cent_x - radi; | |||||
| rect->xmax = cent_x + radi; | |||||
| rect->ymin = cent_y - radi; | |||||
| rect->ymax = cent_y + radi; | |||||
| wtb.draw_outline = true; | |||||
| round_box_edges(&wtb, UI_CNR_ALL, rect, (float)radi); | |||||
| widgetbase_draw(&wtb, wcol); | |||||
| copy_v3_v3_char(wcol->inner, old_inner); | |||||
| copy_v3_v3_char(wcol->outline, old_outline); | |||||
| } | |||||
| static void widget_numslider( | static void widget_numslider( | ||||
| uiBut *but, uiWidgetColors *wcol, rcti *rect, int state, int roundboxalign) | uiBut *but, uiWidgetColors *wcol, rcti *rect, int state, int roundboxalign) | ||||
| { | { | ||||
| uiWidgetBase wtb, wtb1; | uiWidgetBase wtb, wtb1; | ||||
| rcti rect1; | rcti rect1; | ||||
| float offs, toffs; | float offs, toffs; | ||||
| char outline[3]; | char outline[3]; | ||||
| ▲ Show 20 Lines • Show All 736 Lines • ▼ Show 20 Lines | case UI_WTYPE_LISTITEM: | ||||
| wt.draw = widget_list_itembut; | wt.draw = widget_list_itembut; | ||||
| break; | break; | ||||
| case UI_WTYPE_PROGRESSBAR: | 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_NODESOCKET: | |||||
| wt.custom = widget_nodesocket; | |||||
| 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; | ||||
| break; | break; | ||||
| } | } | ||||
| return &wt; | return &wt; | ||||
| ▲ Show 20 Lines • Show All 306 Lines • ▼ Show 20 Lines | #endif | ||||
| wt = widget_type(UI_WTYPE_ICON); | wt = widget_type(UI_WTYPE_ICON); | ||||
| break; | break; | ||||
| case UI_BTYPE_TRACK_PREVIEW: | case UI_BTYPE_TRACK_PREVIEW: | ||||
| ui_draw_but_TRACKPREVIEW(ar, but, &tui->wcol_regular, rect); | ui_draw_but_TRACKPREVIEW(ar, but, &tui->wcol_regular, rect); | ||||
| break; | break; | ||||
| case UI_BTYPE_NODE_SOCKET: | case UI_BTYPE_NODE_SOCKET: | ||||
| ui_draw_but_NODESOCKET(ar, but, &tui->wcol_regular, rect); | wt = widget_type(UI_WTYPE_NODESOCKET); | ||||
| break; | break; | ||||
| default: | default: | ||||
| wt = widget_type(UI_WTYPE_REGULAR); | wt = widget_type(UI_WTYPE_REGULAR); | ||||
| break; | break; | ||||
| } | } | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 568 Lines • Show Last 20 Lines | |||||