mirror of
				https://github.com/ocornut/imgui.git
				synced 2025-10-26 12:27:30 +00:00 
			
		
		
		
	Internals: Renaming for consistency.
This commit is contained in:
		
							
								
								
									
										30
									
								
								imgui.cpp
									
									
									
									
									
								
							
							
						
						
									
										30
									
								
								imgui.cpp
									
									
									
									
									
								
							| @@ -5689,14 +5689,14 @@ bool ImGui::Begin(const char* name, bool* p_open, ImGuiWindowFlags flags) | |||||||
|         window->WorkRect.Max.x = window->WorkRect.Min.x + work_rect_size_x; |         window->WorkRect.Max.x = window->WorkRect.Min.x + work_rect_size_x; | ||||||
|         window->WorkRect.Max.y = window->WorkRect.Min.y + work_rect_size_y; |         window->WorkRect.Max.y = window->WorkRect.Min.y + work_rect_size_y; | ||||||
|  |  | ||||||
|         // [LEGACY] Contents Region |         // [LEGACY] Content Region | ||||||
|         // FIXME-OBSOLETE: window->ContentsRegionRect.Max is currently very misleading / partly faulty, but some BeginChild() patterns relies on it. |         // FIXME-OBSOLETE: window->ContentRegionRect.Max is currently very misleading / partly faulty, but some BeginChild() patterns relies on it. | ||||||
|         // Used by: |         // Used by: | ||||||
|         // - Mouse wheel scrolling + many other things |         // - Mouse wheel scrolling + many other things | ||||||
|         window->ContentsRegionRect.Min.x = window->Pos.x - window->Scroll.x + window->WindowPadding.x; |         window->ContentRegionRect.Min.x = window->Pos.x - window->Scroll.x + window->WindowPadding.x; | ||||||
|         window->ContentsRegionRect.Min.y = window->Pos.y - window->Scroll.y + window->WindowPadding.y + decoration_up_height; |         window->ContentRegionRect.Min.y = window->Pos.y - window->Scroll.y + window->WindowPadding.y + decoration_up_height; | ||||||
|         window->ContentsRegionRect.Max.x = window->ContentsRegionRect.Min.x + (window->ContentSizeExplicit.x != 0.0f ? window->ContentSizeExplicit.x : (window->Size.x - window->WindowPadding.x * 2.0f - window->ScrollbarSizes.x)); |         window->ContentRegionRect.Max.x = window->ContentRegionRect.Min.x + (window->ContentSizeExplicit.x != 0.0f ? window->ContentSizeExplicit.x : (window->Size.x - window->WindowPadding.x * 2.0f - window->ScrollbarSizes.x)); | ||||||
|         window->ContentsRegionRect.Max.y = window->ContentsRegionRect.Min.y + (window->ContentSizeExplicit.y != 0.0f ? window->ContentSizeExplicit.y : (window->Size.y - window->WindowPadding.y * 2.0f - decoration_up_height - window->ScrollbarSizes.y)); |         window->ContentRegionRect.Max.y = window->ContentRegionRect.Min.y + (window->ContentSizeExplicit.y != 0.0f ? window->ContentSizeExplicit.y : (window->Size.y - window->WindowPadding.y * 2.0f - decoration_up_height - window->ScrollbarSizes.y)); | ||||||
|  |  | ||||||
|         // Setup drawing context |         // Setup drawing context | ||||||
|         // (NB: That term "drawing context / DC" lost its meaning a long time ago. Initially was meant to hold transient data only. Nowadays difference between window-> and window->DC-> is dubious.) |         // (NB: That term "drawing context / DC" lost its meaning a long time ago. Initially was meant to hold transient data only. Nowadays difference between window-> and window->DC-> is dubious.) | ||||||
| @@ -6599,7 +6599,7 @@ ImVec2 ImGui::GetContentRegionMax() | |||||||
| { | { | ||||||
|     ImGuiContext& g = *GImGui; |     ImGuiContext& g = *GImGui; | ||||||
|     ImGuiWindow* window = g.CurrentWindow; |     ImGuiWindow* window = g.CurrentWindow; | ||||||
|     ImVec2 mx = window->ContentsRegionRect.Max - window->Pos; |     ImVec2 mx = window->ContentRegionRect.Max - window->Pos; | ||||||
|     if (window->DC.CurrentColumns) |     if (window->DC.CurrentColumns) | ||||||
|         mx.x = window->WorkRect.Max.x - window->Pos.x; |         mx.x = window->WorkRect.Max.x - window->Pos.x; | ||||||
|     return mx; |     return mx; | ||||||
| @@ -6610,7 +6610,7 @@ ImVec2 ImGui::GetContentRegionMaxAbs() | |||||||
| { | { | ||||||
|     ImGuiContext& g = *GImGui; |     ImGuiContext& g = *GImGui; | ||||||
|     ImGuiWindow* window = g.CurrentWindow; |     ImGuiWindow* window = g.CurrentWindow; | ||||||
|     ImVec2 mx = window->ContentsRegionRect.Max; |     ImVec2 mx = window->ContentRegionRect.Max; | ||||||
|     if (window->DC.CurrentColumns) |     if (window->DC.CurrentColumns) | ||||||
|         mx.x = window->WorkRect.Max.x; |         mx.x = window->WorkRect.Max.x; | ||||||
|     return mx; |     return mx; | ||||||
| @@ -6626,19 +6626,19 @@ ImVec2 ImGui::GetContentRegionAvail() | |||||||
| ImVec2 ImGui::GetWindowContentRegionMin() | ImVec2 ImGui::GetWindowContentRegionMin() | ||||||
| { | { | ||||||
|     ImGuiWindow* window = GImGui->CurrentWindow; |     ImGuiWindow* window = GImGui->CurrentWindow; | ||||||
|     return window->ContentsRegionRect.Min - window->Pos; |     return window->ContentRegionRect.Min - window->Pos; | ||||||
| } | } | ||||||
|  |  | ||||||
| ImVec2 ImGui::GetWindowContentRegionMax() | ImVec2 ImGui::GetWindowContentRegionMax() | ||||||
| { | { | ||||||
|     ImGuiWindow* window = GImGui->CurrentWindow; |     ImGuiWindow* window = GImGui->CurrentWindow; | ||||||
|     return window->ContentsRegionRect.Max - window->Pos; |     return window->ContentRegionRect.Max - window->Pos; | ||||||
| } | } | ||||||
|  |  | ||||||
| float ImGui::GetWindowContentRegionWidth() | float ImGui::GetWindowContentRegionWidth() | ||||||
| { | { | ||||||
|     ImGuiWindow* window = GImGui->CurrentWindow; |     ImGuiWindow* window = GImGui->CurrentWindow; | ||||||
|     return window->ContentsRegionRect.GetWidth(); |     return window->ContentRegionRect.GetWidth(); | ||||||
| } | } | ||||||
|  |  | ||||||
| float ImGui::GetTextLineHeight() | float ImGui::GetTextLineHeight() | ||||||
| @@ -9594,8 +9594,8 @@ void ImGui::ShowMetricsWindow(bool* p_open) | |||||||
|     } |     } | ||||||
|  |  | ||||||
|     // State |     // State | ||||||
|     enum { WRT_OuterRect, WRT_OuterRectClipped, WRT_InnerRect, WRT_InnerClipRect, WRT_WorkRect, WRT_Contents, WRT_ContentsRegionRect, WRT_Count }; // Windows Rect Type |     enum { WRT_OuterRect, WRT_OuterRectClipped, WRT_InnerRect, WRT_InnerClipRect, WRT_WorkRect, WRT_Content, WRT_ContentRegionRect, WRT_Count }; // Windows Rect Type | ||||||
|     const char* wrt_rects_names[WRT_Count] = { "OuterRect", "OuterRectClipped", "InnerRect", "InnerClipRect", "WorkRect", "Contents", "ContentsRegionRect" }; |     const char* wrt_rects_names[WRT_Count] = { "OuterRect", "OuterRectClipped", "InnerRect", "InnerClipRect", "WorkRect", "Content", "ContentRegionRect" }; | ||||||
|     static bool show_windows_rects = false; |     static bool show_windows_rects = false; | ||||||
|     static int  show_windows_rect_type = WRT_WorkRect; |     static int  show_windows_rect_type = WRT_WorkRect; | ||||||
|     static bool show_windows_begin_order = false; |     static bool show_windows_begin_order = false; | ||||||
| @@ -9626,8 +9626,8 @@ void ImGui::ShowMetricsWindow(bool* p_open) | |||||||
|             else if (rect_type == WRT_InnerRect)            { return window->InnerRect; } |             else if (rect_type == WRT_InnerRect)            { return window->InnerRect; } | ||||||
|             else if (rect_type == WRT_InnerClipRect)        { return window->InnerClipRect; } |             else if (rect_type == WRT_InnerClipRect)        { return window->InnerClipRect; } | ||||||
|             else if (rect_type == WRT_WorkRect)             { return window->WorkRect; } |             else if (rect_type == WRT_WorkRect)             { return window->WorkRect; } | ||||||
|             else if (rect_type == WRT_Contents)             { ImVec2 min = window->InnerRect.Min - window->Scroll + window->WindowPadding; return ImRect(min, min + window->ContentSize); } |             else if (rect_type == WRT_Content)              { ImVec2 min = window->InnerRect.Min - window->Scroll + window->WindowPadding; return ImRect(min, min + window->ContentSize); } | ||||||
|             else if (rect_type == WRT_ContentsRegionRect)   { return window->ContentsRegionRect; } |             else if (rect_type == WRT_ContentRegionRect)    { return window->ContentRegionRect; } | ||||||
|             IM_ASSERT(0); |             IM_ASSERT(0); | ||||||
|             return ImRect(); |             return ImRect(); | ||||||
|         } |         } | ||||||
|   | |||||||
| @@ -1338,9 +1338,9 @@ struct IMGUI_API ImGuiWindow | |||||||
|     ImRect                  OuterRectClipped;                   // == Window->Rect() just after setup in Begin(). == window->Rect() for root window. |     ImRect                  OuterRectClipped;                   // == Window->Rect() just after setup in Begin(). == window->Rect() for root window. | ||||||
|     ImRect                  InnerRect;                          // Inner rectangle (omit title bar, menu bar, scroll bar) |     ImRect                  InnerRect;                          // Inner rectangle (omit title bar, menu bar, scroll bar) | ||||||
|     ImRect                  InnerClipRect;                      // == InnerRect shrunk by WindowPadding*0.5f on each side, clipped within viewport or parent clip rect. |     ImRect                  InnerClipRect;                      // == InnerRect shrunk by WindowPadding*0.5f on each side, clipped within viewport or parent clip rect. | ||||||
|     ImRect                  WorkRect;                           // Cover the whole scrolling region, shrunk by WindowPadding*1.0f on each side. This is meant to replace ContentsRegionRect over time (from 1.71+ onward). |     ImRect                  WorkRect;                           // Cover the whole scrolling region, shrunk by WindowPadding*1.0f on each side. This is meant to replace ContentRegionRect over time (from 1.71+ onward). | ||||||
|     ImRect                  ClipRect;                           // Current clipping/scissoring rectangle, evolve as we are using PushClipRect(), etc. == DrawList->clip_rect_stack.back(). |     ImRect                  ClipRect;                           // Current clipping/scissoring rectangle, evolve as we are using PushClipRect(), etc. == DrawList->clip_rect_stack.back(). | ||||||
|     ImRect                  ContentsRegionRect;                 // FIXME: This is currently confusing/misleading. It is essentially WorkRect but not handling of scrolling. We currently rely on it as right/bottom aligned sizing operation need some size to rely on. |     ImRect                  ContentRegionRect;                  // FIXME: This is currently confusing/misleading. It is essentially WorkRect but not handling of scrolling. We currently rely on it as right/bottom aligned sizing operation need some size to rely on. | ||||||
|  |  | ||||||
|     int                     LastFrameActive;                    // Last frame number the window was Active. |     int                     LastFrameActive;                    // Last frame number the window was Active. | ||||||
|     float                   LastTimeActive;                     // Last timestamp the window was Active (using float as we don't need high precision there) |     float                   LastTimeActive;                     // Last timestamp the window was Active (using float as we don't need high precision there) | ||||||
| @@ -1415,7 +1415,7 @@ enum ImGuiTabBarFlagsPrivate_ | |||||||
| // Extend ImGuiTabItemFlags_ | // Extend ImGuiTabItemFlags_ | ||||||
| enum ImGuiTabItemFlagsPrivate_ | enum ImGuiTabItemFlagsPrivate_ | ||||||
| { | { | ||||||
|     ImGuiTabItemFlags_NoCloseButton             = 1 << 20   // Store whether p_open is set or not, which we need to recompute WidthContents during layout. |     ImGuiTabItemFlags_NoCloseButton             = 1 << 20   // Store whether p_open is set or not, which we need to recompute ContentWidth during layout. | ||||||
| }; | }; | ||||||
|  |  | ||||||
| // Storage for one active tab item (sizeof() 26~32 bytes) | // Storage for one active tab item (sizeof() 26~32 bytes) | ||||||
| @@ -1428,9 +1428,9 @@ struct ImGuiTabItem | |||||||
|     int                 NameOffset;             // When Window==NULL, offset to name within parent ImGuiTabBar::TabsNames |     int                 NameOffset;             // When Window==NULL, offset to name within parent ImGuiTabBar::TabsNames | ||||||
|     float               Offset;                 // Position relative to beginning of tab |     float               Offset;                 // Position relative to beginning of tab | ||||||
|     float               Width;                  // Width currently displayed |     float               Width;                  // Width currently displayed | ||||||
|     float               WidthContents;          // Width of actual contents, stored during BeginTabItem() call |     float               ContentWidth;           // Width of actual contents, stored during BeginTabItem() call | ||||||
|  |  | ||||||
|     ImGuiTabItem()      { ID = Flags = 0; LastFrameVisible = LastFrameSelected = -1; NameOffset = -1; Offset = Width = WidthContents = 0.0f; } |     ImGuiTabItem()      { ID = Flags = 0; LastFrameVisible = LastFrameSelected = -1; NameOffset = -1; Offset = Width = ContentWidth = 0.0f; } | ||||||
| }; | }; | ||||||
|  |  | ||||||
| // Storage for a tab bar (sizeof() 92~96 bytes) | // Storage for a tab bar (sizeof() 92~96 bytes) | ||||||
|   | |||||||
| @@ -6566,13 +6566,13 @@ static void ImGui::TabBarLayout(ImGuiTabBar* tab_bar) | |||||||
|         // and we cannot wait for the next BeginTabItem() call. We cannot compute this width within TabBarAddTab() because font size depends on the active window. |         // and we cannot wait for the next BeginTabItem() call. We cannot compute this width within TabBarAddTab() because font size depends on the active window. | ||||||
|         const char* tab_name = tab_bar->GetTabName(tab); |         const char* tab_name = tab_bar->GetTabName(tab); | ||||||
|         const bool has_close_button = (tab->Flags & ImGuiTabItemFlags_NoCloseButton) ? false : true; |         const bool has_close_button = (tab->Flags & ImGuiTabItemFlags_NoCloseButton) ? false : true; | ||||||
|         tab->WidthContents = TabItemCalcSize(tab_name, has_close_button).x; |         tab->ContentWidth = TabItemCalcSize(tab_name, has_close_button).x; | ||||||
|  |  | ||||||
|         width_total_contents += (tab_n > 0 ? g.Style.ItemInnerSpacing.x : 0.0f) + tab->WidthContents; |         width_total_contents += (tab_n > 0 ? g.Style.ItemInnerSpacing.x : 0.0f) + tab->ContentWidth; | ||||||
|  |  | ||||||
|         // Store data so we can build an array sorted by width if we need to shrink tabs down |         // Store data so we can build an array sorted by width if we need to shrink tabs down | ||||||
|         g.ShrinkWidthBuffer[tab_n].Index = tab_n; |         g.ShrinkWidthBuffer[tab_n].Index = tab_n; | ||||||
|         g.ShrinkWidthBuffer[tab_n].Width = tab->WidthContents; |         g.ShrinkWidthBuffer[tab_n].Width = tab->ContentWidth; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     // Compute width |     // Compute width | ||||||
| @@ -6592,7 +6592,7 @@ static void ImGui::TabBarLayout(ImGuiTabBar* tab_bar) | |||||||
|         for (int tab_n = 0; tab_n < tab_bar->Tabs.Size; tab_n++) |         for (int tab_n = 0; tab_n < tab_bar->Tabs.Size; tab_n++) | ||||||
|         { |         { | ||||||
|             ImGuiTabItem* tab = &tab_bar->Tabs[tab_n]; |             ImGuiTabItem* tab = &tab_bar->Tabs[tab_n]; | ||||||
|             tab->Width = ImMin(tab->WidthContents, tab_max_width); |             tab->Width = ImMin(tab->ContentWidth, tab_max_width); | ||||||
|             IM_ASSERT(tab->Width > 0.0f); |             IM_ASSERT(tab->Width > 0.0f); | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| @@ -6608,7 +6608,7 @@ static void ImGui::TabBarLayout(ImGuiTabBar* tab_bar) | |||||||
|         if (scroll_track_selected_tab_id == 0 && g.NavJustMovedToId == tab->ID) |         if (scroll_track_selected_tab_id == 0 && g.NavJustMovedToId == tab->ID) | ||||||
|             scroll_track_selected_tab_id = tab->ID; |             scroll_track_selected_tab_id = tab->ID; | ||||||
|         offset_x += tab->Width + g.Style.ItemInnerSpacing.x; |         offset_x += tab->Width + g.Style.ItemInnerSpacing.x; | ||||||
|         offset_x_ideal += tab->WidthContents + g.Style.ItemInnerSpacing.x; |         offset_x_ideal += tab->ContentWidth + g.Style.ItemInnerSpacing.x; | ||||||
|     } |     } | ||||||
|     tab_bar->OffsetMax = ImMax(offset_x - g.Style.ItemInnerSpacing.x, 0.0f); |     tab_bar->OffsetMax = ImMax(offset_x - g.Style.ItemInnerSpacing.x, 0.0f); | ||||||
|     tab_bar->OffsetMaxIdeal = ImMax(offset_x_ideal - g.Style.ItemInnerSpacing.x, 0.0f); |     tab_bar->OffsetMaxIdeal = ImMax(offset_x_ideal - g.Style.ItemInnerSpacing.x, 0.0f); | ||||||
| @@ -6929,7 +6929,7 @@ bool    ImGui::TabItemEx(ImGuiTabBar* tab_bar, const char* label, bool* p_open, | |||||||
|         tab_is_new = true; |         tab_is_new = true; | ||||||
|     } |     } | ||||||
|     tab_bar->LastTabItemIdx = (short)tab_bar->Tabs.index_from_ptr(tab); |     tab_bar->LastTabItemIdx = (short)tab_bar->Tabs.index_from_ptr(tab); | ||||||
|     tab->WidthContents = size.x; |     tab->ContentWidth = size.x; | ||||||
|  |  | ||||||
|     if (p_open == NULL) |     if (p_open == NULL) | ||||||
|         flags |= ImGuiTabItemFlags_NoCloseButton; |         flags |= ImGuiTabItemFlags_NoCloseButton; | ||||||
| @@ -7040,10 +7040,10 @@ bool    ImGui::TabItemEx(ImGuiTabBar* tab_bar, const char* label, bool* p_open, | |||||||
|     } |     } | ||||||
|  |  | ||||||
| #if 0 | #if 0 | ||||||
|     if (hovered && g.HoveredIdNotActiveTimer > 0.50f && bb.GetWidth() < tab->WidthContents) |     if (hovered && g.HoveredIdNotActiveTimer > 0.50f && bb.GetWidth() < tab->ContentWidth) | ||||||
|     { |     { | ||||||
|         // Enlarge tab display when hovering |         // Enlarge tab display when hovering | ||||||
|         bb.Max.x = bb.Min.x + IM_FLOOR(ImLerp(bb.GetWidth(), tab->WidthContents, ImSaturate((g.HoveredIdNotActiveTimer - 0.40f) * 6.0f))); |         bb.Max.x = bb.Min.x + IM_FLOOR(ImLerp(bb.GetWidth(), tab->ContentWidth, ImSaturate((g.HoveredIdNotActiveTimer - 0.40f) * 6.0f))); | ||||||
|         display_draw_list = GetForegroundDrawList(window); |         display_draw_list = GetForegroundDrawList(window); | ||||||
|         TabItemBackground(display_draw_list, bb, flags, GetColorU32(ImGuiCol_TitleBgActive)); |         TabItemBackground(display_draw_list, bb, flags, GetColorU32(ImGuiCol_TitleBgActive)); | ||||||
|     } |     } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 omar
					omar