mirror of
https://github.com/Drezil/imgui.git
synced 2024-11-22 11:57:00 +00:00
This partially reverts commit 6a7e2c74fb
.
This commit is contained in:
parent
ebac375791
commit
bce1ba400f
@ -57,9 +57,11 @@ Other Changes:
|
|||||||
- Clipper: currently focused item is automatically included in clipper range.
|
- Clipper: currently focused item is automatically included in clipper range.
|
||||||
Fixes issue where e.g. drag and dropping an item and scrolling ensure the item source location is
|
Fixes issue where e.g. drag and dropping an item and scrolling ensure the item source location is
|
||||||
still submitted. (#3841, #1725) [@GamingMinds-DanielC, @ocornut]
|
still submitted. (#3841, #1725) [@GamingMinds-DanielC, @ocornut]
|
||||||
|
- Cliooer: added ForceDisplayRangeByIndices() to force a given item (or several) to be stepped out
|
||||||
|
during a clipping operation. (#3841) [@@GamingMinds-DanielC]
|
||||||
- Clipper: rework so gamepad/keyboard navigation doesn't create spikes in number of items requested
|
- Clipper: rework so gamepad/keyboard navigation doesn't create spikes in number of items requested
|
||||||
by the clipper to display. (#3841)
|
by the clipper to display. (#3841)
|
||||||
- Clipper: Fixed content height declaration slightly mismatching the value of when not using a clipper.
|
- Clipper: fixed content height declaration slightly mismatching the value of when not using a clipper.
|
||||||
(an additional ItemSpacing.y was declared, affecting scrollbar range).
|
(an additional ItemSpacing.y was declared, affecting scrollbar range).
|
||||||
- Backends: Vulkan: Call vkCmdSetScissor() at the end of render with a full-viewport to reduce
|
- Backends: Vulkan: Call vkCmdSetScissor() at the end of render with a full-viewport to reduce
|
||||||
likehood of issues with people using VK_DYNAMIC_STATE_SCISSOR in their app without calling
|
likehood of issues with people using VK_DYNAMIC_STATE_SCISSOR in their app without calling
|
||||||
|
@ -142,7 +142,6 @@ It's mostly a bunch of personal notes, probably incomplete. Feel free to query i
|
|||||||
- plot: option/feature: draw unit
|
- plot: option/feature: draw unit
|
||||||
- plot: add a helper e.g. Plot(char* label, float value, float time_span=2.0f) that stores values and Plot them for you - probably another function name. and/or automatically allow to plot ANY displayed value (more reliance on stable ID)
|
- plot: add a helper e.g. Plot(char* label, float value, float time_span=2.0f) that stores values and Plot them for you - probably another function name. and/or automatically allow to plot ANY displayed value (more reliance on stable ID)
|
||||||
|
|
||||||
- clipper: ability to force display 1 item in the list would be convenient (for patterns where we need to set active id etc.) (#3841) (can resurrect ForceDisplayRangeXXX functions removed)
|
|
||||||
- clipper: ability to disable the clipping through a simple flag/bool.
|
- clipper: ability to disable the clipping through a simple flag/bool.
|
||||||
- clipper: ability to run without knowing full count in advance.
|
- clipper: ability to run without knowing full count in advance.
|
||||||
- clipper: horizontal clipping support. (#2580)
|
- clipper: horizontal clipping support. (#2580)
|
||||||
|
@ -2411,6 +2411,15 @@ void ImGuiListClipper::End()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ImGuiListClipper::ForceDisplayRangeByIndices(int item_min, int item_max)
|
||||||
|
{
|
||||||
|
ImGuiListClipperData* data = (ImGuiListClipperData*)TempData;
|
||||||
|
IM_ASSERT(DisplayStart < 0); // Only allowed after Begin() and if there has not been a specified range yet.
|
||||||
|
IM_ASSERT(item_min <= item_max);
|
||||||
|
if (item_min < item_max)
|
||||||
|
data->Ranges.push_back(ImGuiListClipperRange::FromIndices(item_min, item_max));
|
||||||
|
}
|
||||||
|
|
||||||
bool ImGuiListClipper::Step()
|
bool ImGuiListClipper::Step()
|
||||||
{
|
{
|
||||||
ImGuiContext& g = *GImGui;
|
ImGuiContext& g = *GImGui;
|
||||||
|
5
imgui.h
5
imgui.h
@ -64,7 +64,7 @@ Index of this file:
|
|||||||
// Version
|
// Version
|
||||||
// (Integer encoded as XYYZZ for use in #if preprocessor conditionals. Work in progress versions typically starts at XYY99 then bounce up to XYY00, XYY01 etc. when release tagging happens)
|
// (Integer encoded as XYYZZ for use in #if preprocessor conditionals. Work in progress versions typically starts at XYY99 then bounce up to XYY00, XYY01 etc. when release tagging happens)
|
||||||
#define IMGUI_VERSION "1.86 WIP"
|
#define IMGUI_VERSION "1.86 WIP"
|
||||||
#define IMGUI_VERSION_NUM 18508
|
#define IMGUI_VERSION_NUM 18509
|
||||||
#define IMGUI_CHECKVERSION() ImGui::DebugCheckVersionAndDataLayout(IMGUI_VERSION, sizeof(ImGuiIO), sizeof(ImGuiStyle), sizeof(ImVec2), sizeof(ImVec4), sizeof(ImDrawVert), sizeof(ImDrawIdx))
|
#define IMGUI_CHECKVERSION() ImGui::DebugCheckVersionAndDataLayout(IMGUI_VERSION, sizeof(ImGuiIO), sizeof(ImGuiStyle), sizeof(ImVec2), sizeof(ImVec4), sizeof(ImDrawVert), sizeof(ImDrawIdx))
|
||||||
#define IMGUI_HAS_TABLE
|
#define IMGUI_HAS_TABLE
|
||||||
|
|
||||||
@ -2207,6 +2207,9 @@ struct ImGuiListClipper
|
|||||||
IMGUI_API void End(); // Automatically called on the last call of Step() that returns false.
|
IMGUI_API void End(); // Automatically called on the last call of Step() that returns false.
|
||||||
IMGUI_API bool Step(); // Call until it returns false. The DisplayStart/DisplayEnd fields will be set and you can process/draw those items.
|
IMGUI_API bool Step(); // Call until it returns false. The DisplayStart/DisplayEnd fields will be set and you can process/draw those items.
|
||||||
|
|
||||||
|
// Call ForceDisplayRangeByIndices() before first call to Step() if you need a range of items to be displayed regardless of visibility.
|
||||||
|
IMGUI_API void ForceDisplayRangeByIndices(int item_min, int item_max); // item_max is exclusive e.g. use (42, 42+1) to make item 42 always visible BUT due to alignment/padding of certain items it is likely that an extra item may be included on either end of the display range.
|
||||||
|
|
||||||
#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
|
#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
|
||||||
inline ImGuiListClipper(int items_count, float items_height = -1.0f) { memset(this, 0, sizeof(*this)); ItemsCount = -1; Begin(items_count, items_height); } // [removed in 1.79]
|
inline ImGuiListClipper(int items_count, float items_height = -1.0f) { memset(this, 0, sizeof(*this)); ItemsCount = -1; Begin(items_count, items_height); } // [removed in 1.79]
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user