diff options
author | Ton Roosendaal <ton@blender.org> | 2009-05-21 21:09:06 +0400 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2009-05-21 21:09:06 +0400 |
commit | aae27374f73a17e5827b0d0a80a65e930ae3f4b5 (patch) | |
tree | 3ad5358e8d641aa94403514bd3f06369e3398ae7 /source/blender/editors/interface/interface_handlers.c | |
parent | 2ede3b6e2307882e7af1d28a7e171cc648c83353 (diff) |
2.5
Interface draw fixes:
- Red cursor for text edit widget was in wrong location
- Selection for text edit widget too
- Number slider text edit was too far too the left
- Number slider 'fill' was drawing outside boundaries.
(Matt: note I just interpolated rounding value :)
Diffstat (limited to 'source/blender/editors/interface/interface_handlers.c')
-rw-r--r-- | source/blender/editors/interface/interface_handlers.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/source/blender/editors/interface/interface_handlers.c b/source/blender/editors/interface/interface_handlers.c index c15e4664862..ce01bc19856 100644 --- a/source/blender/editors/interface/interface_handlers.c +++ b/source/blender/editors/interface/interface_handlers.c @@ -804,6 +804,7 @@ static int ui_textedit_delete_selection(uiBut *but, uiHandleButtonData *data) static void ui_textedit_set_cursor_pos(uiBut *but, uiHandleButtonData *data, short x) { uiStyle *style= U.uistyles.first; // XXX pass on as arg + int startx= but->x1; char *origstr; uiStyleFontSet(&style->widget); @@ -813,7 +814,11 @@ static void ui_textedit_set_cursor_pos(uiBut *but, uiHandleButtonData *data, sho BLI_strncpy(origstr, but->drawstr, data->maxlen+1); but->pos= strlen(origstr)-but->ofs; - while((BLF_width(origstr+but->ofs) + but->x1) > x) { + /* XXX solve generic */ + if(but->type==NUM || but->type==NUMSLI) + startx += 20; + + while((BLF_width(origstr+but->ofs) + startx) > x) { if (but->pos <= 0) break; but->pos--; origstr[but->pos+but->ofs] = 0; |