InputText: Cursor X position not lost when clicking outside on an item that's submitted after the InputText(). It was only noticeable when restoring focus programmatically. (#1418, #1554)

This commit is contained in:
omar 2018-01-17 12:15:00 +01:00
parent 28a76af185
commit 7ccbb765e2

View File

@ -8606,10 +8606,13 @@ bool ImGui::InputTextEx(const char* label, char* buf, int buf_size, const ImVec2
edit_state.OnKeyPressed(STB_TEXTEDIT_K_WORDRIGHT | STB_TEXTEDIT_K_SHIFT); edit_state.OnKeyPressed(STB_TEXTEDIT_K_WORDRIGHT | STB_TEXTEDIT_K_SHIFT);
} }
else if (io.MouseClicked[0] && !edit_state.SelectedAllMouseLock) else if (io.MouseClicked[0] && !edit_state.SelectedAllMouseLock)
{
if (hovered)
{ {
stb_textedit_click(&edit_state, &edit_state.StbState, mouse_x, mouse_y); stb_textedit_click(&edit_state, &edit_state.StbState, mouse_x, mouse_y);
edit_state.CursorAnimReset(); edit_state.CursorAnimReset();
} }
}
else if (io.MouseDown[0] && !edit_state.SelectedAllMouseLock && (io.MouseDelta.x != 0.0f || io.MouseDelta.y != 0.0f)) else if (io.MouseDown[0] && !edit_state.SelectedAllMouseLock && (io.MouseDelta.x != 0.0f || io.MouseDelta.y != 0.0f))
{ {
stb_textedit_drag(&edit_state, &edit_state.StbState, mouse_x, mouse_y); stb_textedit_drag(&edit_state, &edit_state.StbState, mouse_x, mouse_y);