Removed old nested structure: renaming ImGuiStorage::ImGuiStoragePair type to ImGuiStoragePair (simpler for many languages).
This commit is contained in:
parent
7538ca6f40
commit
22d65c7949
@ -41,6 +41,9 @@ HOW TO UPDATE?
|
||||
|
||||
Breaking changes:
|
||||
|
||||
- Removed old nested structure: renaming ImGuiStorage::ImGuiStoragePair type to
|
||||
ImGuiStoragePair (simpler for many languages). No significant nested type left.
|
||||
|
||||
Other changes:
|
||||
|
||||
- Examples: GLFW+Vulkan, SDL+Vulkan: handle swap chain resize even without Vulkan
|
||||
|
14
imgui.cpp
14
imgui.cpp
@ -430,6 +430,7 @@ CODE
|
||||
When you are not sure about an 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.
|
||||
|
||||
- 2024/06/10 (1.90.9) - removed old nested structure: renaming ImGuiStorage::ImGuiStoragePair type to ImGuiStoragePair (simpler for many languages).
|
||||
- 2024/06/06 (1.90.8) - reordered ImGuiInputTextFlags values. This should not be breaking unless you are using generated headers that have values not matching the main library.
|
||||
- 2024/06/06 (1.90.8) - removed 'ImGuiButtonFlags_MouseButtonDefault_ = ImGuiButtonFlags_MouseButtonLeft', was mostly unused and misleading.
|
||||
- 2024/05/27 (1.90.7) - commented out obsolete symbols marked obsolete in 1.88 (May 2022):
|
||||
@ -2502,15 +2503,14 @@ void ImGui::ColorConvertHSVtoRGB(float h, float s, float v, float& out_r, float&
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
// std::lower_bound but without the bullshit
|
||||
static ImGuiStorage::ImGuiStoragePair* LowerBound(ImVector<ImGuiStorage::ImGuiStoragePair>& data, ImGuiID key)
|
||||
static ImGuiStoragePair* LowerBound(ImVector<ImGuiStoragePair>& data, ImGuiID key)
|
||||
{
|
||||
ImGuiStorage::ImGuiStoragePair* first = data.Data;
|
||||
ImGuiStorage::ImGuiStoragePair* last = data.Data + data.Size;
|
||||
size_t count = (size_t)(last - first);
|
||||
while (count > 0)
|
||||
ImGuiStoragePair* first = data.Data;
|
||||
ImGuiStoragePair* last = data.Data + data.Size;
|
||||
for (size_t count = (size_t)(last - first); count > 0; )
|
||||
{
|
||||
size_t count2 = count >> 1;
|
||||
ImGuiStorage::ImGuiStoragePair* mid = first + count2;
|
||||
ImGuiStoragePair* mid = first + count2;
|
||||
if (mid->key < key)
|
||||
{
|
||||
first = ++mid;
|
||||
@ -15419,7 +15419,7 @@ void ImGui::DebugNodeStorage(ImGuiStorage* storage, const char* label)
|
||||
{
|
||||
if (!TreeNode(label, "%s: %d entries, %d bytes", label, storage->Data.Size, storage->Data.size_in_bytes()))
|
||||
return;
|
||||
for (const ImGuiStorage::ImGuiStoragePair& p : storage->Data)
|
||||
for (const ImGuiStoragePair& p : storage->Data)
|
||||
BulletText("Key 0x%08X Value { i: %d }", p.key, p.val_i); // Important: we currently don't store a type, real value may not be integer.
|
||||
TreePop();
|
||||
}
|
||||
|
28
imgui.h
28
imgui.h
@ -28,7 +28,7 @@
|
||||
// Library Version
|
||||
// (Integer encoded as XYYZZ for use in #if preprocessor conditionals, e.g. '#if IMGUI_VERSION_NUM >= 12345')
|
||||
#define IMGUI_VERSION "1.90.9 WIP"
|
||||
#define IMGUI_VERSION_NUM 19080
|
||||
#define IMGUI_VERSION_NUM 19081
|
||||
#define IMGUI_HAS_TABLE
|
||||
|
||||
/*
|
||||
@ -178,7 +178,8 @@ struct ImGuiOnceUponAFrame; // Helper for running a block of code not mo
|
||||
struct ImGuiPayload; // User data payload for drag and drop operations
|
||||
struct ImGuiPlatformImeData; // Platform IME data for io.SetPlatformImeDataFn() function.
|
||||
struct ImGuiSizeCallbackData; // Callback data when using SetNextWindowSizeConstraints() (rare/advanced use)
|
||||
struct ImGuiStorage; // Helper for key->value storage
|
||||
struct ImGuiStorage; // Helper for key->value storage (container sorted by key)
|
||||
struct ImGuiStoragePair; // Helper for key->value storage (pair)
|
||||
struct ImGuiStyle; // Runtime data for styling/colors
|
||||
struct ImGuiTableSortSpecs; // Sorting specifications for a table (often handling sort specs for a single column, occasionally more)
|
||||
struct ImGuiTableColumnSortSpecs; // Sorting specification for one column of a table
|
||||
@ -2460,6 +2461,16 @@ struct ImGuiTextBuffer
|
||||
IMGUI_API void appendfv(const char* fmt, va_list args) IM_FMTLIST(2);
|
||||
};
|
||||
|
||||
// [Internal] Key+Value for ImGuiStorage
|
||||
struct ImGuiStoragePair
|
||||
{
|
||||
ImGuiID key;
|
||||
union { int val_i; float val_f; void* val_p; };
|
||||
ImGuiStoragePair(ImGuiID _key, int _val) { key = _key; val_i = _val; }
|
||||
ImGuiStoragePair(ImGuiID _key, float _val) { key = _key; val_f = _val; }
|
||||
ImGuiStoragePair(ImGuiID _key, void* _val) { key = _key; val_p = _val; }
|
||||
};
|
||||
|
||||
// Helper: Key->Value storage
|
||||
// Typically you don't have to worry about this since a storage is held within each Window.
|
||||
// We use it to e.g. store collapse state for a tree (Int 0/1)
|
||||
@ -2471,15 +2482,6 @@ struct ImGuiTextBuffer
|
||||
struct ImGuiStorage
|
||||
{
|
||||
// [Internal]
|
||||
struct ImGuiStoragePair
|
||||
{
|
||||
ImGuiID key;
|
||||
union { int val_i; float val_f; void* val_p; };
|
||||
ImGuiStoragePair(ImGuiID _key, int _val) { key = _key; val_i = _val; }
|
||||
ImGuiStoragePair(ImGuiID _key, float _val) { key = _key; val_f = _val; }
|
||||
ImGuiStoragePair(ImGuiID _key, void* _val) { key = _key; val_p = _val; }
|
||||
};
|
||||
|
||||
ImVector<ImGuiStoragePair> Data;
|
||||
|
||||
// - Get***() functions find pair, never add/allocate. Pairs are sorted so a query is O(log N)
|
||||
@ -2508,6 +2510,10 @@ struct ImGuiStorage
|
||||
IMGUI_API void BuildSortByKey();
|
||||
// Obsolete: use on your own storage if you know only integer are being stored (open/close all tree nodes)
|
||||
IMGUI_API void SetAllInt(int val);
|
||||
|
||||
#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
|
||||
//typedef ::ImGuiStoragePair ImGuiStoragePair; // 1.90.8: moved type outside struct
|
||||
#endif
|
||||
};
|
||||
|
||||
// Helper: Manually clip large list of items.
|
||||
|
Loading…
Reference in New Issue
Block a user