Something that I always thought would help is some sort of visual cue of where the areas are, restricting the click areas to the arrows is an obvious way (which, as you say, results in a smaller hit area) Another is to add feint lines to show those thirds you were talking about, which, in my experience, isn't always clear even though I know it's split in thirds.
On 18 February 2014 10:57, Brecht Van Lommel <[email protected]>wrote: > Commit: a66236c8f93a56c77351a21fc2e1a4b57bc67486 > Author: Brecht Van Lommel > Date: Tue Feb 18 19:54:42 2014 +0100 > https://developer.blender.org/rBa66236c8f93a56c77351a21fc2e1a4b57bc67486 > > Fix T38661: make number button increment/decrement areas smaller. > > Previously 1/3 of the button was used to decrement, 1/3 to edit and 1/3 to > increment. However with the number text now right aligned this meant that > the increment area would overlap the number text, which is confusing. So it > was made to smaller to only cover the arrows. > > It's not as easy to click but I don't know of a better solution with right > aligned number text. > > =================================================================== > > M source/blender/editors/interface/interface_handlers.c > > =================================================================== > > diff --git a/source/blender/editors/interface/interface_handlers.c > b/source/blender/editors/interface/interface_handlers.c > index 9df6b7b..7aa2e98 100644 > --- a/source/blender/editors/interface/interface_handlers.c > +++ b/source/blender/editors/interface/interface_handlers.c > @@ -3517,13 +3517,16 @@ static int ui_do_but_NUM(bContext *C, uiBlock > *block, uiBut *but, uiHandleButton > /* we can click on the side arrows to increment/decrement, > * or click inside to edit the value directly */ > float tempf, softmin, softmax; > + float handlewidth; > int temp; > > softmin = but->softmin; > softmax = but->softmax; > > + handlewidth = min_ff(BLI_rctf_size_x(&but->rect)/3, > BLI_rctf_size_y(&but->rect)); > + > if (!ui_is_but_float(but)) { > - if (mx < (but->rect.xmin + > BLI_rctf_size_x(&but->rect) / 3 - 3)) { > + if (mx < (but->rect.xmin + handlewidth)) { > button_activate_state(C, but, > BUTTON_STATE_NUM_EDITING); > > temp = (int)data->value - 1; > @@ -3534,7 +3537,7 @@ static int ui_do_but_NUM(bContext *C, uiBlock > *block, uiBut *but, uiHandleButton > > button_activate_state(C, but, > BUTTON_STATE_EXIT); > } > - else if (mx > (but->rect.xmin + (2 * > BLI_rctf_size_x(&but->rect) / 3) + 3)) { > + else if (mx > (but->rect.xmax - handlewidth)) { > button_activate_state(C, but, > BUTTON_STATE_NUM_EDITING); > > temp = (int)data->value + 1; > @@ -3550,7 +3553,7 @@ static int ui_do_but_NUM(bContext *C, uiBlock > *block, uiBut *but, uiHandleButton > } > } > else { > - if (mx < (but->rect.xmin + > BLI_rctf_size_x(&but->rect) / 3 - 3)) { > + if (mx < (but->rect.xmin + handlewidth)) { > button_activate_state(C, but, > BUTTON_STATE_NUM_EDITING); > > tempf = (float)data->value - 0.01f * > but->a1; > @@ -3559,7 +3562,7 @@ static int ui_do_but_NUM(bContext *C, uiBlock > *block, uiBut *but, uiHandleButton > > button_activate_state(C, but, > BUTTON_STATE_EXIT); > } > - else if (mx > but->rect.xmin + (2 * > (BLI_rctf_size_x(&but->rect) / 3) + 3)) { > + else if (mx > but->rect.xmax - handlewidth) { > button_activate_state(C, but, > BUTTON_STATE_NUM_EDITING); > > tempf = (float)data->value + 0.01f * > but->a1; > > _______________________________________________ > Bf-blender-cvs mailing list > [email protected] > http://lists.blender.org/mailman/listinfo/bf-blender-cvs > _______________________________________________ Bf-committers mailing list [email protected] http://lists.blender.org/mailman/listinfo/bf-committers
