mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-10-31 13:11:05 +01:00 
			
		
		
		
	Tables: Added TableSetBgColor() api with color for RowBg and CellBg colors.
This commit is contained in:
		
							
								
								
									
										23
									
								
								imgui.h
									
									
									
									
									
								
							
							
						
						
									
										23
									
								
								imgui.h
									
									
									
									
									
								
							| @@ -157,6 +157,7 @@ typedef int ImGuiMouseButton;       // -> enum ImGuiMouseButton_     // Enum: A | ||||
| typedef int ImGuiMouseCursor;       // -> enum ImGuiMouseCursor_     // Enum: A mouse cursor identifier | ||||
| typedef int ImGuiSortDirection;     // -> enum ImGuiSortDirection_   // Enum: A sorting direction (ascending or descending) | ||||
| typedef int ImGuiStyleVar;          // -> enum ImGuiStyleVar_        // Enum: A variable identifier for styling | ||||
| typedef int ImGuiTableBgTarget;     // -> enum ImGuiTableBgTarget_   // Enum: A color target for TableSetBgColor() | ||||
| typedef int ImDrawCornerFlags;      // -> enum ImDrawCornerFlags_    // Flags: for ImDrawList::AddRect(), AddRectFilled() etc. | ||||
| typedef int ImDrawListFlags;        // -> enum ImDrawListFlags_      // Flags: for ImDrawList | ||||
| typedef int ImFontAtlasFlags;       // -> enum ImFontAtlasFlags_     // Flags: for ImFontAtlas build | ||||
| @@ -684,6 +685,7 @@ namespace ImGui | ||||
|     IMGUI_API bool          TableGetColumnIsVisible(int column_n = -1); // return true if column is visible. Same value is also returned by TableNextCell() and TableSetColumnIndex(). Pass -1 to use current column. | ||||
|     IMGUI_API bool          TableGetColumnIsSorted(int column_n = -1);  // return true if column is included in the sort specs. Rarely used, can be useful to tell if a data change should trigger resort. Equivalent to test ImGuiTableSortSpecs's ->ColumnsMask & (1 << column_n). Pass -1 to use current column. | ||||
|     IMGUI_API int           TableGetHoveredColumn();                    // return hovered column. return -1 when table is not hovered. return columns_count if the unused space at the right of visible columns is hovered. | ||||
|     IMGUI_API void          TableSetBgColor(ImGuiTableBgTarget bg_target, ImU32 color, int column_n = -1);  // change the color of a cell, row, or column. See ImGuiTableBgTarget_ flags for details. | ||||
|     // Tables: Headers & Columns declaration | ||||
|     // - Use TableSetupColumn() to specify label, resizing policy, default width, id, various other flags etc. | ||||
|     // - The name passed to TableSetupColumn() is used by TableAutoHeaders() and by the context-menu | ||||
| @@ -1036,7 +1038,7 @@ enum ImGuiTableFlags_ | ||||
|     ImGuiTableFlags_MultiSortable                   = 1 << 4,   // Allow sorting on multiple columns by holding Shift (sort_specs_count may be > 1). Call TableGetSortSpecs() to obtain sort specs. | ||||
|     ImGuiTableFlags_NoSavedSettings                 = 1 << 5,   // Disable persisting columns order, width and sort settings in the .ini file. | ||||
|     // Decoration | ||||
|     ImGuiTableFlags_RowBg                           = 1 << 6,   // Use ImGuiCol_TableRowBg and ImGuiCol_TableRowBgAlt colors behind each rows. | ||||
|     ImGuiTableFlags_RowBg                           = 1 << 6,   // Set each RowBg color with ImGuiCol_TableRowBg or ImGuiCol_TableRowBgAlt (equivalent to calling TableSetBgColor with ImGuiTableBgFlags_RowBg0 on each row manually) | ||||
|     ImGuiTableFlags_BordersInnerH                   = 1 << 7,   // Draw horizontal borders between rows. | ||||
|     ImGuiTableFlags_BordersOuterH                   = 1 << 8,   // Draw horizontal borders at the top and bottom. | ||||
|     ImGuiTableFlags_BordersInnerV                   = 1 << 9,   // Draw vertical borders between columns. | ||||
| @@ -1109,6 +1111,25 @@ enum ImGuiTableRowFlags_ | ||||
|     ImGuiTableRowFlags_Headers                      = 1 << 0    // Identify header row (set default background color + width of its contents accounted different for auto column width) | ||||
| }; | ||||
|  | ||||
| // Enum for ImGui::TableSetBgColor() | ||||
| // Background colors are rendering in 3 layers: | ||||
| //  - Layer 0: draw with RowBg0 color if set, otherwise draw with ColumnBg0 if set. | ||||
| //  - Layer 1: draw with RowBg1 color if set, otherwise draw with ColumnBg1 if set. | ||||
| //  - Layer 2: draw with CellBg color if set. | ||||
| // The purpose of the two row/columns layers is to let you decide if a background color changes should override or blend with the existing color. | ||||
| // When using ImGuiTableFlags_RowBg on the table, each row has the RowBg0 color automatically set for odd/even rows. | ||||
| // If you set the color of RowBg0 target, your color will override the existing RowBg0 color. | ||||
| // If you set the color of RowBg1 or ColumnBg1 target, your color will blend over the RowBg0 color. | ||||
| enum ImGuiTableBgTarget_ | ||||
| { | ||||
|     ImGuiTableBgTarget_None                         = 0, | ||||
|     ImGuiTableBgTarget_ColumnBg0                    = 1,        // FIXME-TABLE: Todo. Set column background color 0 (generally used for background | ||||
|     ImGuiTableBgTarget_ColumnBg1                    = 2,        // FIXME-TABLE: Todo. Set column background color 1 (generally used for selection marking) | ||||
|     ImGuiTableBgTarget_RowBg0                       = 3,        // Set row background color 0 (generally used for background, automatically set when ImGuiTableFlags_RowBg is used) | ||||
|     ImGuiTableBgTarget_RowBg1                       = 4,        // Set row background color 1 (generally used for selection marking) | ||||
|     ImGuiTableBgTarget_CellBg                       = 5         // Set cell background color (top-most color) | ||||
| }; | ||||
|  | ||||
| // Flags for ImGui::IsWindowFocused() | ||||
| enum ImGuiFocusedFlags_ | ||||
| { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user