UI: free up bit in uiBut.flag

This commit is contained in:
2017-11-03 00:22:59 +11:00
parent 5cb8730689
commit 6355d98267
3 changed files with 12 additions and 11 deletions

View File

@@ -155,7 +155,7 @@ enum {
/* but->flag - general state flags. */
enum {
/* warning, the first 6 flags are internal */
/* warning, the first 5 flags are internal */
UI_BUT_ICON_SUBMENU = (1 << 6),
UI_BUT_ICON_PREVIEW = (1 << 7),

View File

@@ -118,8 +118,7 @@ enum {
UI_SCROLLED = (1 << 1), /* temp hidden, scrolled away */
UI_ACTIVE = (1 << 2),
UI_HAS_ICON = (1 << 3),
UI_TEXTINPUT = (1 << 4),
UI_HIDDEN = (1 << 5),
UI_HIDDEN = (1 << 4),
/* warn: rest of uiBut->flag in UI_interface.h */
};

View File

@@ -67,14 +67,16 @@
#define ICON_SIZE_FROM_BUTRECT(rect) (0.8f * BLI_rcti_size_y(rect))
#define UI_BUT_FLAGS_PUBLIC \
(UI_SELECT | UI_SCROLLED | UI_ACTIVE | UI_HAS_ICON | UI_TEXTINPUT | UI_HIDDEN)
(UI_SELECT | UI_SCROLLED | UI_ACTIVE | UI_HAS_ICON | UI_HIDDEN)
/* Bits 0..5 are from UI_SELECT .. etc */
/* Don't overlap w/ UI_BUT_FLAGS_PUBLIC buts. */
enum {
/* Show that holding the button opens a menu. */
UI_STATE_HOLD_ACTION = (1 << 6),
UI_STATE_TEXT_INPUT = (1 << 7),
};
/* ************** widget base functions ************** */
/**
* - in: roundbox codes for corner types and radius
@@ -1984,7 +1986,7 @@ static void widget_state(uiWidgetType *wt, int state)
{
uiWidgetStateColors *wcol_state = wt->wcol_state;
if ((state & UI_BUT_LIST_ITEM) && !(state & UI_TEXTINPUT)) {
if ((state & UI_BUT_LIST_ITEM) && !(state & UI_STATE_TEXT_INPUT)) {
/* Override default widget's colors. */
bTheme *btheme = UI_GetTheme();
wt->wcol_theme = &btheme->tui.wcol_list_item;
@@ -2678,14 +2680,14 @@ static void widget_numbut_draw(uiWidgetColors *wcol, rcti *rect, int state, int
}
/* decoration */
if (!(state & UI_TEXTINPUT)) {
if (!(state & UI_STATE_TEXT_INPUT)) {
shape_preset_init_number_arrows(&wtb.tria1, rect, 0.6f, 'l');
shape_preset_init_number_arrows(&wtb.tria2, rect, 0.6f, 'r');
}
widgetbase_draw(&wtb, wcol);
if (!(state & UI_TEXTINPUT)) {
if (!(state & UI_STATE_TEXT_INPUT)) {
/* text space */
rect->xmin += textofs;
rect->xmax -= textofs;
@@ -2964,7 +2966,7 @@ static void widget_numslider(uiBut *but, uiWidgetColors *wcol, rcti *rect, int s
widgetbase_draw(&wtb, wcol);
/* draw left/right parts only when not in text editing */
if (!(state & UI_TEXTINPUT)) {
if (!(state & UI_STATE_TEXT_INPUT)) {
int roundboxalign_slider;
/* slider part */
@@ -3015,7 +3017,7 @@ static void widget_numslider(uiBut *but, uiWidgetColors *wcol, rcti *rect, int s
widgetbase_draw(&wtb, wcol);
/* add space at either side of the button so text aligns with numbuttons (which have arrow icons) */
if (!(state & UI_TEXTINPUT)) {
if (!(state & UI_STATE_TEXT_INPUT)) {
rect->xmax -= toffs;
rect->xmin += toffs;
}
@@ -3910,7 +3912,7 @@ void ui_draw_but(const bContext *C, ARegion *ar, uiStyle *style, uiBut *but, rct
if ((but->editstr) ||
(UNLIKELY(but->flag & UI_BUT_DRAG_MULTI) && ui_but_drag_multi_edit_get(but)))
{
state |= UI_TEXTINPUT;
state |= UI_STATE_TEXT_INPUT;
}
if (but->hold_func) {