mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-10-31 13:11:05 +01:00 
			
		
		
		
	Internal: Minor tidying/reordering of sections within ImGuiContext / window DC.
This commit is contained in:
		
							
								
								
									
										16
									
								
								imgui.cpp
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								imgui.cpp
									
									
									
									
									
								
							| @@ -6786,7 +6786,7 @@ void ImGui::BeginGroup() | ||||
|     group_data.BackupCurrentLineTextBaseOffset = window->DC.CurrentLineTextBaseOffset; | ||||
|     group_data.BackupActiveIdIsAlive = g.ActiveIdIsAlive; | ||||
|     group_data.BackupActiveIdPreviousFrameIsAlive = g.ActiveIdPreviousFrameIsAlive; | ||||
|     group_data.AdvanceCursor = true; | ||||
|     group_data.EmitItem = true; | ||||
|  | ||||
|     window->DC.GroupOffset.x = window->DC.CursorPos.x - window->Pos.x - window->DC.ColumnsOffset.x; | ||||
|     window->DC.Indent = window->DC.GroupOffset; | ||||
| @@ -6804,8 +6804,7 @@ void ImGui::EndGroup() | ||||
|  | ||||
|     ImGuiGroupData& group_data = window->DC.GroupStack.back(); | ||||
|  | ||||
|     ImRect group_bb(group_data.BackupCursorPos, window->DC.CursorMaxPos); | ||||
|     group_bb.Max = ImMax(group_bb.Min, group_bb.Max); | ||||
|     ImRect group_bb(group_data.BackupCursorPos, ImMax(window->DC.CursorMaxPos, group_data.BackupCursorPos)); | ||||
|  | ||||
|     window->DC.CursorPos = group_data.BackupCursorPos; | ||||
|     window->DC.CursorMaxPos = ImMax(group_data.BackupCursorMaxPos, window->DC.CursorMaxPos); | ||||
| @@ -6816,13 +6815,16 @@ void ImGui::EndGroup() | ||||
|     if (g.LogEnabled) | ||||
|         g.LogLinePosY = -FLT_MAX; // To enforce Log carriage return | ||||
|  | ||||
|     if (group_data.AdvanceCursor) | ||||
|     if (!group_data.EmitItem) | ||||
|     { | ||||
|         window->DC.CurrentLineTextBaseOffset = ImMax(window->DC.PrevLineTextBaseOffset, group_data.BackupCurrentLineTextBaseOffset);      // FIXME: Incorrect, we should grab the base offset from the *first line* of the group but it is hard to obtain now. | ||||
|         ItemSize(group_bb.GetSize(), 0.0f); | ||||
|         ItemAdd(group_bb, 0); | ||||
|         window->DC.GroupStack.pop_back(); | ||||
|         return; | ||||
|     } | ||||
|  | ||||
|     window->DC.CurrentLineTextBaseOffset = ImMax(window->DC.PrevLineTextBaseOffset, group_data.BackupCurrentLineTextBaseOffset);      // FIXME: Incorrect, we should grab the base offset from the *first line* of the group but it is hard to obtain now. | ||||
|     ItemSize(group_bb.GetSize(), 0.0f); | ||||
|     ItemAdd(group_bb, 0); | ||||
|  | ||||
|     // If the current ActiveId was declared within the boundary of our group, we copy it to LastItemId so IsItemActive(), IsItemDeactivated() etc. will be functional on the entire group. | ||||
|     // It would be be neater if we replaced window.DC.LastItemId by e.g. 'bool LastItemIsActive', but would put a little more burden on individual widgets. | ||||
|     // Also if you grep for LastItemId you'll notice it is only used in that context. | ||||
|   | ||||
		Reference in New Issue
	
	Block a user