mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-10-31 21:21:06 +01:00 
			
		
		
		
	Tables: Added TableSetBgColor() api with color for RowBg and CellBg colors.
This commit is contained in:
		| @@ -1883,11 +1883,11 @@ struct ImGuiTabBar | ||||
|  | ||||
| #ifdef IMGUI_HAS_TABLE | ||||
|  | ||||
| #define IM_COL32_DISABLE                IM_COL32(0,0,0,1)   // Special sentinel code | ||||
| #define IM_COL32_DISABLE                IM_COL32(0,0,0,1)   // Special sentinel code which cannot be used as a regular color. | ||||
| #define IMGUI_TABLE_MAX_COLUMNS         64                  // sizeof(ImU64) * 8. This is solely because we frequently encode columns set in a ImU64. | ||||
| #define IMGUI_TABLE_MAX_DRAW_CHANNELS   (2 + 64 * 2)        // See TableUpdateDrawChannels() | ||||
|  | ||||
| // [Internal] sizeof() ~ 100 | ||||
| // [Internal] sizeof() ~ 104 | ||||
| // We use the terminology "Visible" to refer to a column that is not Hidden by user or settings. However it may still be out of view and clipped (see IsClipped). | ||||
| struct ImGuiTableColumn | ||||
| { | ||||
| @@ -1943,6 +1943,14 @@ struct ImGuiTableColumn | ||||
|     } | ||||
| }; | ||||
|  | ||||
| // Transient cell data stored per row. | ||||
| // sizeof() ~ 6 | ||||
| struct ImGuiTableCellData | ||||
| { | ||||
|     ImU32   BgColor;        // Actual color | ||||
|     ImS8    Column;         // Column number | ||||
| }; | ||||
|  | ||||
| struct ImGuiTable | ||||
| { | ||||
|     ImGuiID                     ID; | ||||
| @@ -1950,6 +1958,7 @@ struct ImGuiTable | ||||
|     ImVector<char>              RawData; | ||||
|     ImSpan<ImGuiTableColumn>    Columns;                    // Point within RawData[] | ||||
|     ImSpan<ImS8>                DisplayOrderToIndex;        // Point within RawData[]. Store display order of columns (when not reordered, the values are 0...Count-1) | ||||
|     ImSpan<ImGuiTableCellData>  RowCellData;                // Point within RawData[]. Store cells background requests for current row. | ||||
|     ImU64                       VisibleMaskByIndex;         // Column Index -> IsVisible map (== not hidden by user/api) in a format adequate for iterating column without touching cold data | ||||
|     ImU64                       VisibleMaskByDisplayOrder;  // Column DisplayOrder -> IsVisible map | ||||
|     ImU64                       VisibleUnclippedMaskByIndex;// Visible and not Clipped, aka "actually visible" "not hidden by some scrolling" | ||||
| @@ -1970,7 +1979,7 @@ struct ImGuiTable | ||||
|     ImGuiTableRowFlags          RowFlags : 16;              // Current row flags, see ImGuiTableRowFlags_ | ||||
|     ImGuiTableRowFlags          LastRowFlags : 16; | ||||
|     int                         RowBgColorCounter;          // Counter for alternating background colors (can be fast-forwarded by e.g clipper) | ||||
|     ImU32                       RowBgColor;                 // Request for current row background color | ||||
|     ImU32                       RowBgColor[2];              // Background color override for current row. | ||||
|     ImU32                       BorderColorStrong; | ||||
|     ImU32                       BorderColorLight; | ||||
|     float                       BorderX1; | ||||
| @@ -2018,6 +2027,7 @@ struct ImGuiTable | ||||
|     ImS8                        FreezeRowsCount;            // Actual frozen row count (== FreezeRowsRequest, or == 0 when no scrolling offset) | ||||
|     ImS8                        FreezeColumnsRequest;       // Requested frozen columns count | ||||
|     ImS8                        FreezeColumnsCount;         // Actual frozen columns count (== FreezeColumnsRequest, or == 0 when no scrolling offset) | ||||
|     ImS8                        RowCellDataCount;           // Number of RowCellData[] entries in current row | ||||
|     bool                        IsLayoutLocked;             // Set by TableUpdateLayout() which is called when beginning the first row. | ||||
|     bool                        IsInsideRow;                // Set when inside TableBeginRow()/TableEndRow(). | ||||
|     bool                        IsInitializing; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user