mirror of
https://github.com/Drezil/imgui.git
synced 2024-11-15 01:17:00 +00:00
InputText: triple-click avoid scroll + include end of line character. (#2244)
This commit is contained in:
parent
126a6f894f
commit
99552420a2
@ -4205,8 +4205,16 @@ bool ImGui::InputTextEx(const char* label, const char* hint, char* buf, int buf_
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Triple-click: Select line
|
// Triple-click: Select line
|
||||||
|
const bool is_eol = ImStb::STB_TEXTEDIT_GETCHAR(state, state->Stb.cursor) == '\n';
|
||||||
state->OnKeyPressed(STB_TEXTEDIT_K_LINESTART);
|
state->OnKeyPressed(STB_TEXTEDIT_K_LINESTART);
|
||||||
state->OnKeyPressed(STB_TEXTEDIT_K_LINEEND | STB_TEXTEDIT_K_SHIFT);
|
state->OnKeyPressed(STB_TEXTEDIT_K_LINEEND | STB_TEXTEDIT_K_SHIFT);
|
||||||
|
state->OnKeyPressed(STB_TEXTEDIT_K_RIGHT | STB_TEXTEDIT_K_SHIFT);
|
||||||
|
if (!is_eol && is_multiline)
|
||||||
|
{
|
||||||
|
ImSwap(state->Stb.select_start, state->Stb.select_end);
|
||||||
|
state->Stb.cursor = state->Stb.select_end;
|
||||||
|
}
|
||||||
|
state->CursorFollow = false;
|
||||||
}
|
}
|
||||||
state->CursorAnimReset();
|
state->CursorAnimReset();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user