mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-10-31 05:01:05 +01:00 
			
		
		
		
	BeginChild(): Added ImGuiChildFlags_FrameStyle as a replacement for BeginChildFrame(). (#1666, #1496, #1395, #1710, #462, #503, #263)
Effectively allows us to avoid extending BeginChildFrame() api to mimic BeginChild() new parameters.
This commit is contained in:
		| @@ -59,6 +59,11 @@ Breaking changes: | |||||||
|       Before:  BeginChild("Name", size, 0, ImGuiWindowFlags_AlwaysUseWindowPadding); |       Before:  BeginChild("Name", size, 0, ImGuiWindowFlags_AlwaysUseWindowPadding); | ||||||
|       After:   BeginChild("Name", size, ImGuiChildFlags_AlwaysUseWindowPadding, 0); |       After:   BeginChild("Name", size, ImGuiChildFlags_AlwaysUseWindowPadding, 0); | ||||||
|    Kept inline redirection enum (will obsolete later) so existing code will work. |    Kept inline redirection enum (will obsolete later) so existing code will work. | ||||||
|  |  - BeginChildFrame()/EndChildFrame(): removed functions in favor of using BeginChild() with | ||||||
|  |    the ImGuiChildFlags_FrameStyle flag. Kept inline redirection function (will obsolete). | ||||||
|  |    Those functions were merely PushStyle/PopStyle helpers and custom versions are easy to create. | ||||||
|  |    (The removal isn't so much motivated by needing to add the feature in BeginChild(), but by the | ||||||
|  |    necessity to avoid BeginChildFrame() signature mismatching BeginChild() signature and features.) | ||||||
|  - Debug Tools: Renamed ShowStackToolWindow() ("Stack Tool") to ShowIDStackToolWindow() ("ID Stack Tool"), |  - Debug Tools: Renamed ShowStackToolWindow() ("Stack Tool") to ShowIDStackToolWindow() ("ID Stack Tool"), | ||||||
|    as earlier name was misleading. Kept inline redirection function. (#4631) |    as earlier name was misleading. Kept inline redirection function. (#4631) | ||||||
|  - IO: Removed io.MetricsActiveAllocations introduced in 1.63, was displayed in Metrics and unlikely to |  - IO: Removed io.MetricsActiveAllocations introduced in 1.63, was displayed in Metrics and unlikely to | ||||||
| @@ -89,6 +94,9 @@ Other changes: | |||||||
|     child windows from the bottom/right border (toward layout direction). Resized child windows |     child windows from the bottom/right border (toward layout direction). Resized child windows | ||||||
|     settings are saved and persistent in .ini file. (#1710) |     settings are saved and persistent in .ini file. (#1710) | ||||||
|   - BeginChild(): Added ImGuiChildFlags_Border as a replacement for 'bool border = true' parameter. |   - BeginChild(): Added ImGuiChildFlags_Border as a replacement for 'bool border = true' parameter. | ||||||
|  |   - BeginChild(): Added ImGuiChildFlags_FrameStyle as a replacement for BeginChildFrame(), | ||||||
|  |     use it to make child window use FrameBg, FrameRounding, FrameBorderSize, FramePadding | ||||||
|  |     instead of ChildBg, ChildRounding, ChildBorderSize, WindowPadding. | ||||||
|   - BeginChild(): Internal name used by child windows now omits the hash/id if the child |   - BeginChild(): Internal name used by child windows now omits the hash/id if the child | ||||||
|     window is submitted in root of id stack of parent window. |     window is submitted in root of id stack of parent window. | ||||||
|     So "Parent/Child_XXXXXXX" becomes "Parent/Child" when in root of id stack. |     So "Parent/Child_XXXXXXX" becomes "Parent/Child" when in root of id stack. | ||||||
|   | |||||||
							
								
								
									
										43
									
								
								imgui.cpp
									
									
									
									
									
								
							
							
						
						
									
										43
									
								
								imgui.cpp
									
									
									
									
									
								
							| @@ -424,6 +424,8 @@ 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. |  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. |  You can read releases logs https://github.com/ocornut/imgui/releases for more details. | ||||||
|  |  | ||||||
|  |  - 2023/11/07 (1.90.0) - removed BeginChildFrame()/EndChildFrame() in favor of using BeginChild() with the ImGuiChildFlags_FrameStyle flag. kept inline redirection function (will obsolete). | ||||||
|  |                          those functions were merely PushStyle/PopStyle helpers, the removal isn't so much motivated by needing to add the feature in BeginChild(), but by the necessity to avoid BeginChildFrame() signature mismatching BeginChild() signature and features. | ||||||
|  - 2023/11/02 (1.90.0) - BeginChild: upgraded 'bool border = true' parameter to 'ImGuiChildFlags flags' type, added ImGuiChildFlags_Border equivalent. As with our prior "bool-to-flags" API updates, the ImGuiChildFlags_Border value is guaranteed to be == true forever to ensure a smoother transition, meaning all existing calls will still work. |  - 2023/11/02 (1.90.0) - BeginChild: upgraded 'bool border = true' parameter to 'ImGuiChildFlags flags' type, added ImGuiChildFlags_Border equivalent. As with our prior "bool-to-flags" API updates, the ImGuiChildFlags_Border value is guaranteed to be == true forever to ensure a smoother transition, meaning all existing calls will still work. | ||||||
|                            - old: BeginChild("Name", size, true) |                            - old: BeginChild("Name", size, true) | ||||||
|                            - new: BeginChild("Name", size, ImGuiChildFlags_Border) |                            - new: BeginChild("Name", size, ImGuiChildFlags_Border) | ||||||
| @@ -5442,7 +5444,7 @@ bool ImGui::BeginChildEx(const char* name, ImGuiID id, const ImVec2& size_arg, I | |||||||
|     IM_ASSERT(id != 0); |     IM_ASSERT(id != 0); | ||||||
|  |  | ||||||
|     // Sanity check as it is likely that some user will accidentally pass ImGuiWindowFlags into the ImGuiChildFlags argument. |     // Sanity check as it is likely that some user will accidentally pass ImGuiWindowFlags into the ImGuiChildFlags argument. | ||||||
|     const ImGuiChildFlags ImGuiChildFlags_SupportedMask_ = ImGuiChildFlags_Border | ImGuiChildFlags_AlwaysUseWindowPadding | ImGuiChildFlags_ResizeX | ImGuiChildFlags_ResizeY; |     const ImGuiChildFlags ImGuiChildFlags_SupportedMask_ = ImGuiChildFlags_Border | ImGuiChildFlags_AlwaysUseWindowPadding | ImGuiChildFlags_ResizeX | ImGuiChildFlags_ResizeY | ImGuiChildFlags_FrameStyle; | ||||||
|     IM_UNUSED(ImGuiChildFlags_SupportedMask_); |     IM_UNUSED(ImGuiChildFlags_SupportedMask_); | ||||||
|     IM_ASSERT((child_flags & ~ImGuiChildFlags_SupportedMask_) == 0 && "Illegal ImGuiChildFlags value. Did you pass ImGuiWindowFlags values instead of ImGuiChildFlags?"); |     IM_ASSERT((child_flags & ~ImGuiChildFlags_SupportedMask_) == 0 && "Illegal ImGuiChildFlags value. Did you pass ImGuiWindowFlags values instead of ImGuiChildFlags?"); | ||||||
|     if (window_flags & ImGuiWindowFlags_AlwaysAutoResize) |     if (window_flags & ImGuiWindowFlags_AlwaysAutoResize) | ||||||
| @@ -5458,6 +5460,17 @@ bool ImGui::BeginChildEx(const char* name, ImGuiID id, const ImVec2& size_arg, I | |||||||
|     if ((child_flags & (ImGuiChildFlags_ResizeX | ImGuiChildFlags_ResizeY)) == 0) |     if ((child_flags & (ImGuiChildFlags_ResizeX | ImGuiChildFlags_ResizeY)) == 0) | ||||||
|         window_flags |= ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoSavedSettings; |         window_flags |= ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoSavedSettings; | ||||||
|  |  | ||||||
|  |     // Special framed style | ||||||
|  |     if (child_flags & ImGuiChildFlags_FrameStyle) | ||||||
|  |     { | ||||||
|  |         PushStyleColor(ImGuiCol_ChildBg, g.Style.Colors[ImGuiCol_FrameBg]); | ||||||
|  |         PushStyleVar(ImGuiStyleVar_ChildRounding, g.Style.FrameRounding); | ||||||
|  |         PushStyleVar(ImGuiStyleVar_ChildBorderSize, g.Style.FrameBorderSize); | ||||||
|  |         PushStyleVar(ImGuiStyleVar_WindowPadding, g.Style.FramePadding); | ||||||
|  |         child_flags |= ImGuiChildFlags_Border | ImGuiChildFlags_AlwaysUseWindowPadding; | ||||||
|  |         window_flags |= ImGuiWindowFlags_NoMove; | ||||||
|  |     } | ||||||
|  |  | ||||||
|     // Forward child flags |     // Forward child flags | ||||||
|     g.NextWindowData.Flags |= ImGuiNextWindowDataFlags_HasChildFlags; |     g.NextWindowData.Flags |= ImGuiNextWindowDataFlags_HasChildFlags; | ||||||
|     g.NextWindowData.ChildFlags = child_flags; |     g.NextWindowData.ChildFlags = child_flags; | ||||||
| @@ -5482,13 +5495,21 @@ bool ImGui::BeginChildEx(const char* name, ImGuiID id, const ImVec2& size_arg, I | |||||||
|     else |     else | ||||||
|         ImFormatStringToTempBuffer(&temp_window_name, NULL, "%s/%08X", parent_window->Name, id); |         ImFormatStringToTempBuffer(&temp_window_name, NULL, "%s/%08X", parent_window->Name, id); | ||||||
|  |  | ||||||
|  |     // Set style | ||||||
|     const float backup_border_size = g.Style.ChildBorderSize; |     const float backup_border_size = g.Style.ChildBorderSize; | ||||||
|     if ((child_flags & ImGuiChildFlags_Border) == 0) |     if ((child_flags & ImGuiChildFlags_Border) == 0) | ||||||
|         g.Style.ChildBorderSize = 0.0f; |         g.Style.ChildBorderSize = 0.0f; | ||||||
|  |  | ||||||
|     // Begin into window |     // Begin into window | ||||||
|     const bool ret = Begin(temp_window_name, NULL, window_flags); |     const bool ret = Begin(temp_window_name, NULL, window_flags); | ||||||
|  |  | ||||||
|  |     // Restore style | ||||||
|     g.Style.ChildBorderSize = backup_border_size; |     g.Style.ChildBorderSize = backup_border_size; | ||||||
|  |     if (child_flags & ImGuiChildFlags_FrameStyle) | ||||||
|  |     { | ||||||
|  |         PopStyleVar(3); | ||||||
|  |         PopStyleColor(); | ||||||
|  |     } | ||||||
|  |  | ||||||
|     ImGuiWindow* child_window = g.CurrentWindow; |     ImGuiWindow* child_window = g.CurrentWindow; | ||||||
|     child_window->ChildId = id; |     child_window->ChildId = id; | ||||||
| @@ -5554,26 +5575,6 @@ void ImGui::EndChild() | |||||||
|     g.LogLinePosY = -FLT_MAX; // To enforce a carriage return |     g.LogLinePosY = -FLT_MAX; // To enforce a carriage return | ||||||
| } | } | ||||||
|  |  | ||||||
| // Helper to create a child window / scrolling region that looks like a normal widget frame. |  | ||||||
| bool ImGui::BeginChildFrame(ImGuiID id, const ImVec2& size, ImGuiWindowFlags extra_flags) |  | ||||||
| { |  | ||||||
|     ImGuiContext& g = *GImGui; |  | ||||||
|     const ImGuiStyle& style = g.Style; |  | ||||||
|     PushStyleColor(ImGuiCol_ChildBg, style.Colors[ImGuiCol_FrameBg]); |  | ||||||
|     PushStyleVar(ImGuiStyleVar_ChildRounding, style.FrameRounding); |  | ||||||
|     PushStyleVar(ImGuiStyleVar_ChildBorderSize, style.FrameBorderSize); |  | ||||||
|     PushStyleVar(ImGuiStyleVar_WindowPadding, style.FramePadding); |  | ||||||
|     bool ret = BeginChild(id, size, ImGuiChildFlags_Border | ImGuiChildFlags_AlwaysUseWindowPadding, ImGuiWindowFlags_NoMove | extra_flags); |  | ||||||
|     PopStyleVar(3); |  | ||||||
|     PopStyleColor(); |  | ||||||
|     return ret; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| void ImGui::EndChildFrame() |  | ||||||
| { |  | ||||||
|     EndChild(); |  | ||||||
| } |  | ||||||
|  |  | ||||||
| static void SetWindowConditionAllowFlags(ImGuiWindow* window, ImGuiCond flags, bool enabled) | static void SetWindowConditionAllowFlags(ImGuiWindow* window, ImGuiCond flags, bool enabled) | ||||||
| { | { | ||||||
|     window->SetWindowPosAllowFlags       = enabled ? (window->SetWindowPosAllowFlags       | flags) : (window->SetWindowPosAllowFlags       & ~flags); |     window->SetWindowPosAllowFlags       = enabled ? (window->SetWindowPosAllowFlags       | flags) : (window->SetWindowPosAllowFlags       & ~flags); | ||||||
|   | |||||||
							
								
								
									
										7
									
								
								imgui.h
									
									
									
									
									
								
							
							
						
						
									
										7
									
								
								imgui.h
									
									
									
									
									
								
							| @@ -24,7 +24,7 @@ | |||||||
| // Library Version | // Library Version | ||||||
| // (Integer encoded as XYYZZ for use in #if preprocessor conditionals, e.g. '#if IMGUI_VERSION_NUM >= 12345') | // (Integer encoded as XYYZZ for use in #if preprocessor conditionals, e.g. '#if IMGUI_VERSION_NUM >= 12345') | ||||||
| #define IMGUI_VERSION       "1.90 WIP" | #define IMGUI_VERSION       "1.90 WIP" | ||||||
| #define IMGUI_VERSION_NUM   18997 | #define IMGUI_VERSION_NUM   18998 | ||||||
| #define IMGUI_HAS_TABLE | #define IMGUI_HAS_TABLE | ||||||
|  |  | ||||||
| /* | /* | ||||||
| @@ -894,8 +894,6 @@ namespace ImGui | |||||||
|     IMGUI_API const char*   GetStyleColorName(ImGuiCol idx);                                    // get a string corresponding to the enum value (for display, saving, etc.). |     IMGUI_API const char*   GetStyleColorName(ImGuiCol idx);                                    // get a string corresponding to the enum value (for display, saving, etc.). | ||||||
|     IMGUI_API void          SetStateStorage(ImGuiStorage* storage);                             // replace current window storage with our own (if you want to manipulate it yourself, typically clear subsection of it) |     IMGUI_API void          SetStateStorage(ImGuiStorage* storage);                             // replace current window storage with our own (if you want to manipulate it yourself, typically clear subsection of it) | ||||||
|     IMGUI_API ImGuiStorage* GetStateStorage(); |     IMGUI_API ImGuiStorage* GetStateStorage(); | ||||||
|     IMGUI_API bool          BeginChildFrame(ImGuiID id, const ImVec2& size, ImGuiWindowFlags flags = 0); // helper to create a child window / scrolling region that looks like a normal widget frame |  | ||||||
|     IMGUI_API void          EndChildFrame();                                                    // always call EndChildFrame() regardless of BeginChildFrame() return values (which indicates a collapsed/clipped window) |  | ||||||
|  |  | ||||||
|     // Text Utilities |     // Text Utilities | ||||||
|     IMGUI_API ImVec2        CalcTextSize(const char* text, const char* text_end = NULL, bool hide_text_after_double_hash = false, float wrap_width = -1.0f); |     IMGUI_API ImVec2        CalcTextSize(const char* text, const char* text_end = NULL, bool hide_text_after_double_hash = false, float wrap_width = -1.0f); | ||||||
| @@ -1024,6 +1022,7 @@ enum ImGuiChildFlags_ | |||||||
|     ImGuiChildFlags_AlwaysUseWindowPadding  = 1 << 1,   // Pad with style.WindowPadding even if no border are drawn (no padding by default for non-bordered child windows because it makes more sense) |     ImGuiChildFlags_AlwaysUseWindowPadding  = 1 << 1,   // Pad with style.WindowPadding even if no border are drawn (no padding by default for non-bordered child windows because it makes more sense) | ||||||
|     ImGuiChildFlags_ResizeX                 = 1 << 2,   // Allow resize from right border (layout direction). Enable .ini saving (unless ImGuiWindowFlags_NoSavedSettings passed to window flags) |     ImGuiChildFlags_ResizeX                 = 1 << 2,   // Allow resize from right border (layout direction). Enable .ini saving (unless ImGuiWindowFlags_NoSavedSettings passed to window flags) | ||||||
|     ImGuiChildFlags_ResizeY                 = 1 << 3,   // Allow resize from bottom border (layout direction). " |     ImGuiChildFlags_ResizeY                 = 1 << 3,   // Allow resize from bottom border (layout direction). " | ||||||
|  |     ImGuiChildFlags_FrameStyle              = 1 << 7,   // Style the child window like a framed item: use FrameBg, FrameRounding, FrameBorderSize, FramePadding instead of ChildBg, ChildRounding, ChildBorderSize, WindowPadding. | ||||||
| }; | }; | ||||||
|  |  | ||||||
| // Flags for ImGui::InputText() | // Flags for ImGui::InputText() | ||||||
| @@ -3130,6 +3129,8 @@ namespace ImGui | |||||||
| namespace ImGui | namespace ImGui | ||||||
| { | { | ||||||
|     // OBSOLETED in 1.90.0 (from September 2023) |     // OBSOLETED in 1.90.0 (from September 2023) | ||||||
|  |     static inline bool  BeginChildFrame(ImGuiID id, const ImVec2& size, ImGuiWindowFlags window_flags = 0)                 { return BeginChild(id, size, ImGuiChildFlags_FrameStyle, window_flags); } | ||||||
|  |     static inline void  EndChildFrame()                                                                                    { EndChild(); } | ||||||
|     static inline bool  BeginChild(const char* str_id, const ImVec2& size_arg, bool border, ImGuiWindowFlags window_flags) { return BeginChild(str_id, size_arg, border ? ImGuiChildFlags_Border : ImGuiChildFlags_None, window_flags); } |     static inline bool  BeginChild(const char* str_id, const ImVec2& size_arg, bool border, ImGuiWindowFlags window_flags) { return BeginChild(str_id, size_arg, border ? ImGuiChildFlags_Border : ImGuiChildFlags_None, window_flags); } | ||||||
|     static inline bool  BeginChild(ImGuiID id, const ImVec2& size_arg, bool border, ImGuiWindowFlags window_flags)         { return BeginChild(id, size_arg, border ? ImGuiChildFlags_Border : ImGuiChildFlags_None, window_flags);     } |     static inline bool  BeginChild(ImGuiID id, const ImVec2& size_arg, bool border, ImGuiWindowFlags window_flags)         { return BeginChild(id, size_arg, border ? ImGuiChildFlags_Border : ImGuiChildFlags_None, window_flags);     } | ||||||
|     static inline void  ShowStackToolWindow(bool* p_open = NULL)                            { ShowIDStackToolWindow(p_open); } |     static inline void  ShowStackToolWindow(bool* p_open = NULL)                            { ShowIDStackToolWindow(p_open); } | ||||||
|   | |||||||
| @@ -2796,6 +2796,10 @@ static void ShowDemoWindowLayout() | |||||||
|             ImGui::CheckboxFlags("ImGuiChildFlags_AlwaysUseWindowPadding", &child_flags, ImGuiChildFlags_AlwaysUseWindowPadding); |             ImGui::CheckboxFlags("ImGuiChildFlags_AlwaysUseWindowPadding", &child_flags, ImGuiChildFlags_AlwaysUseWindowPadding); | ||||||
|             ImGui::CheckboxFlags("ImGuiChildFlags_ResizeX", &child_flags, ImGuiChildFlags_ResizeX); |             ImGui::CheckboxFlags("ImGuiChildFlags_ResizeX", &child_flags, ImGuiChildFlags_ResizeX); | ||||||
|             ImGui::CheckboxFlags("ImGuiChildFlags_ResizeY", &child_flags, ImGuiChildFlags_ResizeY); |             ImGui::CheckboxFlags("ImGuiChildFlags_ResizeY", &child_flags, ImGuiChildFlags_ResizeY); | ||||||
|  |             ImGui::CheckboxFlags("ImGuiChildFlags_FrameStyle", &child_flags, ImGuiChildFlags_FrameStyle); | ||||||
|  |             ImGui::SameLine(); HelpMarker("Style the child window like a framed item: use FrameBg, FrameRounding, FrameBorderSize, FramePadding instead of ChildBg, ChildRounding, ChildBorderSize, WindowPadding."); | ||||||
|  |             if (child_flags & ImGuiChildFlags_FrameStyle) | ||||||
|  |                 override_bg_color = false; | ||||||
|  |  | ||||||
|             ImGui::SetCursorPosX(ImGui::GetCursorPosX() + (float)offset_x); |             ImGui::SetCursorPosX(ImGui::GetCursorPosX() + (float)offset_x); | ||||||
|             if (override_bg_color) |             if (override_bg_color) | ||||||
| @@ -6273,7 +6277,7 @@ void ImGui::ShowAboutWindow(bool* p_open) | |||||||
|  |  | ||||||
|         bool copy_to_clipboard = ImGui::Button("Copy to clipboard"); |         bool copy_to_clipboard = ImGui::Button("Copy to clipboard"); | ||||||
|         ImVec2 child_size = ImVec2(0, ImGui::GetTextLineHeightWithSpacing() * 18); |         ImVec2 child_size = ImVec2(0, ImGui::GetTextLineHeightWithSpacing() * 18); | ||||||
|         ImGui::BeginChildFrame(ImGui::GetID("cfg_infos"), child_size, ImGuiWindowFlags_NoMove); |         ImGui::BeginChild(ImGui::GetID("cfg_infos"), child_size, ImGuiChildFlags_FrameStyle); | ||||||
|         if (copy_to_clipboard) |         if (copy_to_clipboard) | ||||||
|         { |         { | ||||||
|             ImGui::LogToClipboard(); |             ImGui::LogToClipboard(); | ||||||
| @@ -6389,7 +6393,7 @@ void ImGui::ShowAboutWindow(bool* p_open) | |||||||
|             ImGui::LogText("\n```\n"); |             ImGui::LogText("\n```\n"); | ||||||
|             ImGui::LogFinish(); |             ImGui::LogFinish(); | ||||||
|         } |         } | ||||||
|         ImGui::EndChildFrame(); |         ImGui::EndChild(); | ||||||
|     } |     } | ||||||
|     ImGui::End(); |     ImGui::End(); | ||||||
| } | } | ||||||
| @@ -8366,13 +8370,13 @@ void ShowExampleAppDocuments(bool* p_open) | |||||||
|             { |             { | ||||||
|                 ImGui::Text("Save change to the following items?"); |                 ImGui::Text("Save change to the following items?"); | ||||||
|                 float item_height = ImGui::GetTextLineHeightWithSpacing(); |                 float item_height = ImGui::GetTextLineHeightWithSpacing(); | ||||||
|                 if (ImGui::BeginChildFrame(ImGui::GetID("frame"), ImVec2(-FLT_MIN, 6.25f * item_height))) |                 if (ImGui::BeginChild(ImGui::GetID("frame"), ImVec2(-FLT_MIN, 6.25f * item_height), ImGuiChildFlags_FrameStyle)) | ||||||
|                 { |                 { | ||||||
|                     for (int n = 0; n < close_queue.Size; n++) |                     for (int n = 0; n < close_queue.Size; n++) | ||||||
|                         if (close_queue[n]->Dirty) |                         if (close_queue[n]->Dirty) | ||||||
|                             ImGui::Text("%s", close_queue[n]->Name); |                             ImGui::Text("%s", close_queue[n]->Name); | ||||||
|                 } |                 } | ||||||
|                 ImGui::EndChildFrame(); |                 ImGui::EndChild(); | ||||||
|  |  | ||||||
|                 ImVec2 button_size(ImGui::GetFontSize() * 7.0f, 0.0f); |                 ImVec2 button_size(ImGui::GetFontSize() * 7.0f, 0.0f); | ||||||
|                 if (ImGui::Button("Yes", button_size)) |                 if (ImGui::Button("Yes", button_size)) | ||||||
|   | |||||||
| @@ -6901,7 +6901,7 @@ bool ImGui::BeginListBox(const char* label, const ImVec2& size_arg) | |||||||
|         window->DC.CursorMaxPos = ImMax(window->DC.CursorMaxPos, label_pos + label_size); |         window->DC.CursorMaxPos = ImMax(window->DC.CursorMaxPos, label_pos + label_size); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     BeginChildFrame(id, frame_bb.GetSize()); |     BeginChild(id, frame_bb.GetSize(), ImGuiChildFlags_FrameStyle); | ||||||
|     return true; |     return true; | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -6912,7 +6912,7 @@ void ImGui::EndListBox() | |||||||
|     IM_ASSERT((window->Flags & ImGuiWindowFlags_ChildWindow) && "Mismatched BeginListBox/EndListBox calls. Did you test the return value of BeginListBox?"); |     IM_ASSERT((window->Flags & ImGuiWindowFlags_ChildWindow) && "Mismatched BeginListBox/EndListBox calls. Did you test the return value of BeginListBox?"); | ||||||
|     IM_UNUSED(window); |     IM_UNUSED(window); | ||||||
|  |  | ||||||
|     EndChildFrame(); |     EndChild(); | ||||||
|     EndGroup(); // This is only required to be able to do IsItemXXX query on the whole ListBox including label |     EndGroup(); // This is only required to be able to do IsItemXXX query on the whole ListBox including label | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user