|  |  | @ -1850,6 +1850,8 @@ bool    ImGui::TableNextCell() | 
			
		
	
		
		
			
				
					
					|  |  |  | { |  |  |  | { | 
			
		
	
		
		
			
				
					
					|  |  |  |     ImGuiContext& g = *GImGui; |  |  |  |     ImGuiContext& g = *GImGui; | 
			
		
	
		
		
			
				
					
					|  |  |  |     ImGuiTable* table = g.CurrentTable; |  |  |  |     ImGuiTable* table = g.CurrentTable; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     if (!table) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         return false; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     if (table->CurrentColumn != -1 && table->CurrentColumn + 1 < table->ColumnsCount) |  |  |  |     if (table->CurrentColumn != -1 && table->CurrentColumn + 1 < table->ColumnsCount) | 
			
		
	
		
		
			
				
					
					|  |  |  |     { |  |  |  |     { | 
			
		
	
	
		
		
			
				
					|  |  | @ -1869,6 +1871,28 @@ bool    ImGui::TableNextCell() | 
			
		
	
		
		
			
				
					
					|  |  |  |     return (table->VisibleUnclippedMaskByIndex & ((ImU64)1 << column_n)) != 0; |  |  |  |     return (table->VisibleUnclippedMaskByIndex & ((ImU64)1 << column_n)) != 0; | 
			
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | bool    ImGui::TableSetColumnIndex(int column_n) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     ImGuiContext& g = *GImGui; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     ImGuiTable* table = g.CurrentTable; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     if (!table) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         return false; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     if (table->CurrentColumn != column_n) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         if (table->CurrentColumn != -1) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             TableEndCell(table); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         IM_ASSERT(column_n >= 0 && table->ColumnsCount); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         TableBeginCell(table, column_n); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     // FIXME-TABLE: Need to clarify if we want to allow IsItemHovered() here
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     //g.CurrentWindow->DC.LastItemStatusFlags = (column_n == table->HoveredColumn) ? ImGuiItemStatusFlags_HoveredRect : ImGuiItemStatusFlags_None;
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     // FIXME-TABLE: it is likely to alter layout if user skips a columns contents based on clipping.
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     return (table->VisibleUnclippedMaskByIndex & ((ImU64)1 << column_n)) != 0; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | int ImGui::TableGetColumnCount() |  |  |  | int ImGui::TableGetColumnCount() | 
			
		
	
		
		
			
				
					
					|  |  |  | { |  |  |  | { | 
			
		
	
		
		
			
				
					
					|  |  |  |     ImGuiContext& g = *GImGui; |  |  |  |     ImGuiContext& g = *GImGui; | 
			
		
	
	
		
		
			
				
					|  |  | @ -1908,28 +1932,6 @@ int     ImGui::TableGetColumnIndex() | 
			
		
	
		
		
			
				
					
					|  |  |  |     return table->CurrentColumn; |  |  |  |     return table->CurrentColumn; | 
			
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | bool    ImGui::TableSetColumnIndex(int column_idx) |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     ImGuiContext& g = *GImGui; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     ImGuiTable* table = g.CurrentTable; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     if (!table) |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         return false; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     if (table->CurrentColumn != column_idx) |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         if (table->CurrentColumn != -1) |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             TableEndCell(table); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         IM_ASSERT(column_idx >= 0 && table->ColumnsCount); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         TableBeginCell(table, column_idx); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     // FIXME-TABLE: Need to clarify if we want to allow IsItemHovered() here
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     //g.CurrentWindow->DC.LastItemStatusFlags = (column_n == table->HoveredColumn) ? ImGuiItemStatusFlags_HoveredRect : ImGuiItemStatusFlags_None;
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     // FIXME-TABLE: it is likely to alter layout if user skips a columns contents based on clipping.
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     return (table->VisibleUnclippedMaskByIndex & ((ImU64)1 << column_idx)) != 0; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | // Return the cell rectangle based on currently known height.
 |  |  |  | // Return the cell rectangle based on currently known height.
 | 
			
		
	
		
		
			
				
					
					|  |  |  | // Important: we generally don't know our row height until the end of the row, so Max.y will be incorrect in many situations.
 |  |  |  | // Important: we generally don't know our row height until the end of the row, so Max.y will be incorrect in many situations.
 | 
			
		
	
		
		
			
				
					
					|  |  |  | // The only case where this is correct is if we provided a min_row_height to TableNextRow() and don't go below it.
 |  |  |  | // The only case where this is correct is if we provided a min_row_height to TableNextRow() and don't go below it.
 | 
			
		
	
	
		
		
			
				
					|  |  | 
 |