mirror of
https://github.com/Drezil/imgui.git
synced 2024-12-18 06:06:35 +00:00
InputText: doesn't reset scrolling when active text input becomes bigger than its content. (#200)
Mostly because it's expensive.
This commit is contained in:
parent
f75b8c72cf
commit
7dc5228235
12
imgui.cpp
12
imgui.cpp
@ -6671,18 +6671,6 @@ void ImGuiTextEditState::UpdateScrollOffset()
|
||||
const ImWchar* text = Text.begin();
|
||||
CalcTextSizeW(Font, FontSize, FLT_MAX, text, text+StbState.cursor, NULL, &cursor_offset);
|
||||
|
||||
// If widget became bigger than text (because of a resize), reset horizontal scrolling
|
||||
// FIXME-OPT
|
||||
if (Scroll.x > 0.0f || Scroll.y > 0.0f)
|
||||
{
|
||||
ImVec2 text_size = CalcTextSizeW(Font, FontSize, FLT_MAX, text, NULL, NULL);
|
||||
bool ret = false;
|
||||
if (text_size.x < Size.x) { Scroll.x = 0.0f; ret = true; }
|
||||
if (text_size.y < Size.y) { Scroll.y = 0.0f; ret = true; }
|
||||
if (ret)
|
||||
return;
|
||||
}
|
||||
|
||||
const ImVec2 scroll_increment(Size.x * 0.25f, FontSize);
|
||||
if (cursor_offset.x < Scroll.x)
|
||||
Scroll.x = ImMax(0.0f, cursor_offset.x - scroll_increment.x);
|
||||
|
Loading…
Reference in New Issue
Block a user