reverted edit boxes to 0.6 behavior. closes #1937

This commit is contained in:
oy 2019-01-02 19:27:40 +01:00
parent 7b21682fec
commit 2d2fe8bf57

View file

@ -448,11 +448,10 @@ int CMenus::DoEditBox(void *pID, const CUIRect *pRect, char *pStr, unsigned StrS
s_DoScroll = true; s_DoScroll = true;
s_ScrollStart = UI()->MouseX(); s_ScrollStart = UI()->MouseX();
int MxRel = (int)(UI()->MouseX() - pRect->x); int MxRel = (int)(UI()->MouseX() - pRect->x);
float Offset = pRect->w/2.0f-TextRender()->TextWidth(0, FontSize, pStr, -1)/2.0f;
for(int i = 1; i <= Len; i++) for(int i = 1; i <= Len; i++)
{ {
if(Offset + TextRender()->TextWidth(0, FontSize, pStr, i) - *pOffset > MxRel) if(TextRender()->TextWidth(0, FontSize, pStr, i) - *pOffset > MxRel)
{ {
s_AtIndex = i - 1; s_AtIndex = i - 1;
break; break;
@ -562,15 +561,14 @@ int CMenus::DoEditBox(void *pID, const CUIRect *pRect, char *pStr, unsigned StrS
UI()->ClipEnable(pRect); UI()->ClipEnable(pRect);
Textbox.x -= *pOffset; Textbox.x -= *pOffset;
UI()->DoLabel(&Textbox, pDisplayStr, FontSize, CUI::ALIGN_CENTER); UI()->DoLabel(&Textbox, pDisplayStr, FontSize, CUI::ALIGN_LEFT);
// render the cursor // render the cursor
if(UI()->LastActiveItem() == pID && !JustGotActive) if(UI()->LastActiveItem() == pID && !JustGotActive)
{ {
float w = TextRender()->TextWidth(0, FontSize, pDisplayStr, -1); float w = TextRender()->TextWidth(0, FontSize, pDisplayStr, s_AtIndex);
Textbox = *pRect; Textbox = *pRect;
Textbox.x += Textbox.w/2.0f-w/2.0f; Textbox.VSplitLeft(2.0f, 0, &Textbox);
w = TextRender()->TextWidth(0, FontSize, pDisplayStr, s_AtIndex);
Textbox.x += (w-*pOffset-TextRender()->TextWidth(0, FontSize, "|", -1)/2); Textbox.x += (w-*pOffset-TextRender()->TextWidth(0, FontSize, "|", -1)/2);
if((2*time_get()/time_freq()) % 2) // make it blink if((2*time_get()/time_freq()) % 2) // make it blink