mirror of
https://github.com/Drezil/imgui.git
synced 2024-11-22 11:57:00 +00:00
Renamed SetScrollHere() to SetScrollHereY(). Kept redirection function (will obsolete).
This commit is contained in:
parent
a7d3ae8937
commit
61d94ff88e
@ -33,6 +33,10 @@ HOW TO UPDATE?
|
|||||||
VERSION 1.66 (In Progress)
|
VERSION 1.66 (In Progress)
|
||||||
-----------------------------------------------------------------------
|
-----------------------------------------------------------------------
|
||||||
|
|
||||||
|
Breaking Changes:
|
||||||
|
|
||||||
|
- Renamed SetScrollHere() to SetScrollHereY(). Kept redirection function (will obsolete).
|
||||||
|
|
||||||
Other Changes:
|
Other Changes:
|
||||||
|
|
||||||
- Fixed calling DestroyContext() always saving .ini data with the current context instead
|
- Fixed calling DestroyContext() always saving .ini data with the current context instead
|
||||||
|
@ -342,6 +342,7 @@ CODE
|
|||||||
When you are not sure about a old symbol or function name, try using the Search/Find function of your IDE to look for comments or references in all imgui files.
|
When you are not sure about a old symbol or function name, try using the Search/Find function of your IDE to look for comments or references in all imgui files.
|
||||||
You can read releases logs https://github.com/ocornut/imgui/releases for more details.
|
You can read releases logs https://github.com/ocornut/imgui/releases for more details.
|
||||||
|
|
||||||
|
- 2018/09/28 (1.66) - renamed SetScrollHere() to SetScrollHereY(). Kept redirection function (will obsolete).
|
||||||
- 2018/09/06 (1.65) - renamed stb_truetype.h to imstb_truetype.h, stb_textedit.h to imstb_textedit.h, and stb_rect_pack.h to imstb_rectpack.h.
|
- 2018/09/06 (1.65) - renamed stb_truetype.h to imstb_truetype.h, stb_textedit.h to imstb_textedit.h, and stb_rect_pack.h to imstb_rectpack.h.
|
||||||
If you were conveniently using the imgui copy of those STB headers in your project you will have to update your include paths.
|
If you were conveniently using the imgui copy of those STB headers in your project you will have to update your include paths.
|
||||||
- 2018/09/05 (1.65) - renamed io.OptCursorBlink/io.ConfigCursorBlink to io.ConfigInputTextCursorBlink. (#1427)
|
- 2018/09/05 (1.65) - renamed io.OptCursorBlink/io.ConfigCursorBlink to io.ConfigInputTextCursorBlink. (#1427)
|
||||||
@ -1992,12 +1993,12 @@ void ImGuiTextBuffer::appendf(const char* fmt, ...)
|
|||||||
|
|
||||||
static void SetCursorPosYAndSetupDummyPrevLine(float pos_y, float line_height)
|
static void SetCursorPosYAndSetupDummyPrevLine(float pos_y, float line_height)
|
||||||
{
|
{
|
||||||
// Set cursor position and a few other things so that SetScrollHere() and Columns() can work when seeking cursor.
|
// Set cursor position and a few other things so that SetScrollHereY() and Columns() can work when seeking cursor.
|
||||||
// FIXME: It is problematic that we have to do that here, because custom/equivalent end-user code would stumble on the same issue.
|
// FIXME: It is problematic that we have to do that here, because custom/equivalent end-user code would stumble on the same issue.
|
||||||
// The clipper should probably have a 4th step to display the last item in a regular manner.
|
// The clipper should probably have a 4th step to display the last item in a regular manner.
|
||||||
ImGui::SetCursorPosY(pos_y);
|
ImGui::SetCursorPosY(pos_y);
|
||||||
ImGuiWindow* window = ImGui::GetCurrentWindow();
|
ImGuiWindow* window = ImGui::GetCurrentWindow();
|
||||||
window->DC.CursorPosPrevLine.y = window->DC.CursorPos.y - line_height; // Setting those fields so that SetScrollHere() can properly function after the end of our clipper usage.
|
window->DC.CursorPosPrevLine.y = window->DC.CursorPos.y - line_height; // Setting those fields so that SetScrollHereY() can properly function after the end of our clipper usage.
|
||||||
window->DC.PrevLineSize.y = (line_height - GImGui->Style.ItemSpacing.y); // If we end up needing more accurate data (to e.g. use SameLine) we may as well make the clipper have a fourth step to let user process and display the last item in their list.
|
window->DC.PrevLineSize.y = (line_height - GImGui->Style.ItemSpacing.y); // If we end up needing more accurate data (to e.g. use SameLine) we may as well make the clipper have a fourth step to let user process and display the last item in their list.
|
||||||
if (window->DC.ColumnsSet)
|
if (window->DC.ColumnsSet)
|
||||||
window->DC.ColumnsSet->LineMinY = window->DC.CursorPos.y; // Setting this so that cell Y position are set properly
|
window->DC.ColumnsSet->LineMinY = window->DC.CursorPos.y; // Setting this so that cell Y position are set properly
|
||||||
@ -6013,7 +6014,7 @@ void ImGui::SetScrollFromPosY(float pos_y, float center_y_ratio)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// center_y_ratio: 0.0f top of last item, 0.5f vertical center of last item, 1.0f bottom of last item.
|
// center_y_ratio: 0.0f top of last item, 0.5f vertical center of last item, 1.0f bottom of last item.
|
||||||
void ImGui::SetScrollHere(float center_y_ratio)
|
void ImGui::SetScrollHereY(float center_y_ratio)
|
||||||
{
|
{
|
||||||
ImGuiWindow* window = GetCurrentWindow();
|
ImGuiWindow* window = GetCurrentWindow();
|
||||||
float target_y = window->DC.CursorPosPrevLine.y - window->Pos.y; // Top of last item, in window space
|
float target_y = window->DC.CursorPosPrevLine.y - window->Pos.y; // Top of last item, in window space
|
||||||
@ -6048,7 +6049,7 @@ void ImGui::SetItemDefaultFocus()
|
|||||||
g.NavInitResultRectRel = ImRect(g.NavWindow->DC.LastItemRect.Min - g.NavWindow->Pos, g.NavWindow->DC.LastItemRect.Max - g.NavWindow->Pos);
|
g.NavInitResultRectRel = ImRect(g.NavWindow->DC.LastItemRect.Min - g.NavWindow->Pos, g.NavWindow->DC.LastItemRect.Max - g.NavWindow->Pos);
|
||||||
NavUpdateAnyRequestFlag();
|
NavUpdateAnyRequestFlag();
|
||||||
if (!IsItemVisible())
|
if (!IsItemVisible())
|
||||||
SetScrollHere();
|
SetScrollHereY();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
8
imgui.h
8
imgui.h
@ -247,7 +247,7 @@ namespace ImGui
|
|||||||
IMGUI_API float GetScrollMaxY(); // get maximum scrolling amount ~~ ContentSize.Y - WindowSize.Y
|
IMGUI_API float GetScrollMaxY(); // get maximum scrolling amount ~~ ContentSize.Y - WindowSize.Y
|
||||||
IMGUI_API void SetScrollX(float scroll_x); // set scrolling amount [0..GetScrollMaxX()]
|
IMGUI_API void SetScrollX(float scroll_x); // set scrolling amount [0..GetScrollMaxX()]
|
||||||
IMGUI_API void SetScrollY(float scroll_y); // set scrolling amount [0..GetScrollMaxY()]
|
IMGUI_API void SetScrollY(float scroll_y); // set scrolling amount [0..GetScrollMaxY()]
|
||||||
IMGUI_API void SetScrollHere(float center_y_ratio = 0.5f); // adjust scrolling amount to make current cursor position visible. center_y_ratio=0.0: top, 0.5: center, 1.0: bottom. When using to make a "default/current item" visible, consider using SetItemDefaultFocus() instead.
|
IMGUI_API void SetScrollHereY(float center_y_ratio = 0.5f); // adjust scrolling amount to make current cursor position visible. center_y_ratio=0.0: top, 0.5: center, 1.0: bottom. When using to make a "default/current item" visible, consider using SetItemDefaultFocus() instead.
|
||||||
IMGUI_API void SetScrollFromPosY(float pos_y, float center_y_ratio = 0.5f); // adjust scrolling amount to make given position valid. use GetCursorPos() or GetCursorStartPos()+offset to get valid positions.
|
IMGUI_API void SetScrollFromPosY(float pos_y, float center_y_ratio = 0.5f); // adjust scrolling amount to make given position valid. use GetCursorPos() or GetCursorStartPos()+offset to get valid positions.
|
||||||
|
|
||||||
// Parameters stacks (shared)
|
// Parameters stacks (shared)
|
||||||
@ -521,8 +521,8 @@ namespace ImGui
|
|||||||
IMGUI_API void PopClipRect();
|
IMGUI_API void PopClipRect();
|
||||||
|
|
||||||
// Focus, Activation
|
// Focus, Activation
|
||||||
// (Prefer using "SetItemDefaultFocus()" over "if (IsWindowAppearing()) SetScrollHere()" when applicable, to make your code more forward compatible when navigation branch is merged)
|
// (Prefer using "SetItemDefaultFocus()" over "if (IsWindowAppearing()) SetScrollHereY()" when applicable to signify "this is the default item")
|
||||||
IMGUI_API void SetItemDefaultFocus(); // make last item the default focused item of a window. Please use instead of "if (IsWindowAppearing()) SetScrollHere()" to signify "default item".
|
IMGUI_API void SetItemDefaultFocus(); // make last item the default focused item of a window.
|
||||||
IMGUI_API void SetKeyboardFocusHere(int offset = 0); // focus keyboard on the next widget. Use positive 'offset' to access sub components of a multiple component widget. Use -1 to access previous widget.
|
IMGUI_API void SetKeyboardFocusHere(int offset = 0); // focus keyboard on the next widget. Use positive 'offset' to access sub components of a multiple component widget. Use -1 to access previous widget.
|
||||||
|
|
||||||
// Utilities
|
// Utilities
|
||||||
@ -1210,6 +1210,8 @@ struct ImGuiIO
|
|||||||
#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
|
#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
|
||||||
namespace ImGui
|
namespace ImGui
|
||||||
{
|
{
|
||||||
|
// OBSOLETED in 1.66 (from Sep 2018)
|
||||||
|
static inline void SetScrollHere(float center_ratio=0.5f){ SetScrollHereY(center_ratio); }
|
||||||
// OBSOLETED in 1.63 (from Aug 2018)
|
// OBSOLETED in 1.63 (from Aug 2018)
|
||||||
static inline bool IsItemDeactivatedAfterChange() { return IsItemDeactivatedAfterEdit(); }
|
static inline bool IsItemDeactivatedAfterChange() { return IsItemDeactivatedAfterEdit(); }
|
||||||
// OBSOLETED in 1.61 (from Apr 2018)
|
// OBSOLETED in 1.61 (from Apr 2018)
|
||||||
|
@ -1511,10 +1511,10 @@ void ImGui::ShowDemoWindow(bool* p_open)
|
|||||||
{
|
{
|
||||||
ImGui::Text("%04d: scrollable region", i);
|
ImGui::Text("%04d: scrollable region", i);
|
||||||
if (goto_line && line == i)
|
if (goto_line && line == i)
|
||||||
ImGui::SetScrollHere();
|
ImGui::SetScrollHereY();
|
||||||
}
|
}
|
||||||
if (goto_line && line >= 100)
|
if (goto_line && line >= 100)
|
||||||
ImGui::SetScrollHere();
|
ImGui::SetScrollHereY();
|
||||||
ImGui::EndChild();
|
ImGui::EndChild();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1773,7 +1773,7 @@ void ImGui::ShowDemoWindow(bool* p_open)
|
|||||||
|
|
||||||
if (ImGui::TreeNode("Scrolling"))
|
if (ImGui::TreeNode("Scrolling"))
|
||||||
{
|
{
|
||||||
ImGui::TextWrapped("(Use SetScrollHere() or SetScrollFromPosY() to scroll to a given position.)");
|
ImGui::TextWrapped("(Use SetScrollHereY() or SetScrollFromPosY() to scroll to a given position.)");
|
||||||
static bool track = true;
|
static bool track = true;
|
||||||
static int track_line = 50, scroll_to_px = 200;
|
static int track_line = 50, scroll_to_px = 200;
|
||||||
ImGui::Checkbox("Track", &track);
|
ImGui::Checkbox("Track", &track);
|
||||||
@ -1797,7 +1797,7 @@ void ImGui::ShowDemoWindow(bool* p_open)
|
|||||||
if (track && line == track_line)
|
if (track && line == track_line)
|
||||||
{
|
{
|
||||||
ImGui::TextColored(ImColor(255,255,0), "Line %d", line);
|
ImGui::TextColored(ImColor(255,255,0), "Line %d", line);
|
||||||
ImGui::SetScrollHere(i * 0.25f); // 0.0f:top, 0.5f:center, 1.0f:bottom
|
ImGui::SetScrollHereY(i * 0.25f); // 0.0f:top, 0.5f:center, 1.0f:bottom
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -2892,7 +2892,7 @@ struct ExampleAppConsole
|
|||||||
if (copy_to_clipboard)
|
if (copy_to_clipboard)
|
||||||
ImGui::LogFinish();
|
ImGui::LogFinish();
|
||||||
if (ScrollToBottom)
|
if (ScrollToBottom)
|
||||||
ImGui::SetScrollHere(1.0f);
|
ImGui::SetScrollHereY(1.0f);
|
||||||
ScrollToBottom = false;
|
ScrollToBottom = false;
|
||||||
ImGui::PopStyleVar();
|
ImGui::PopStyleVar();
|
||||||
ImGui::EndChild();
|
ImGui::EndChild();
|
||||||
@ -3134,7 +3134,7 @@ struct ExampleAppLog
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (ScrollToBottom)
|
if (ScrollToBottom)
|
||||||
ImGui::SetScrollHere(1.0f);
|
ImGui::SetScrollHereY(1.0f);
|
||||||
ScrollToBottom = false;
|
ScrollToBottom = false;
|
||||||
ImGui::EndChild();
|
ImGui::EndChild();
|
||||||
ImGui::End();
|
ImGui::End();
|
||||||
|
Loading…
Reference in New Issue
Block a user