ocornut
							
						 
						
							 
							
							
							
								
							
								9874077fc0 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'tables'  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								0b14dd9e55 
								
							
								 
							
						 
						
							
							
								
								Tables: fixed propagation of line height from outside the table. Added outer-width demo.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								6e38026627 
								
							
								 
							
						 
						
							
							
								
								Tables: changelog. removed TableGetHoveredColumn() from public API in favor of using TableGetColumnFlags(). renamed ImGuiTableSortSpecsColumn to ImGuiTableColumnSortSpecs.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								7a61f3407b 
								
							
								 
							
						 
						
							
							
								
								Tables: support internal TableResetSettings(), clarify lifetime, fixed missing auto-fit on column unhidden after first run, fixed resize assert when changing column sizing policy to stretch mid-frame (before of -1.0f weight)  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								b194df413c 
								
							
								 
							
						 
						
							
							
								
								Tables: exposed status flags via TableGetColumnFlags(), removed TableGetColumnIsSorted()  
							
							 
							
							... 
							
							
 
							
							Scoped width auto calc. 
							
						 
						
							ago%!(EXTRA string=5 years)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								984c4cb5f8 
								
							
								 
							
						 
						
							
							
								
								Tables: distinguishing per-column IsVisible from IsRequestOutput which is returned to user. Clarified clipping rules/requirements. Comments.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								f70bf69e3b 
								
							
								 
							
						 
						
							
							
								
								Tables: comments and tweaks on TableUpdateLayout(). changed "apply final width" loop to use natural column order.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								155b8bb816 
								
							
								 
							
						 
						
							
							
								
								Tables: Shared menu item id for "Size all" variations. Avoid allocation on single sort specs. Fix TableGetColumnIsEnabled(). Massage TableHeaderRows().  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								e126a64782 
								
							
								 
							
						 
						
							
							
								
								Tables: using a typedef in internal code to specify column/draw channel index storage.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								6aa8388e9f 
								
							
								 
							
						 
						
							
							
								
								Tables: index tweaks, fixed some inconsistent spacings.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								5877b9d722 
								
							
								 
							
						 
						
							
							
								
								Tables: moved TablePushBackgroundChannel(), TablePopBackgroundChannel(), TableDrawBorders() to their own section.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								5180025de5 
								
							
								 
							
						 
						
							
							
								
								Tables: moved + renamed TableSetupDrawChannels(), TableMergeDrawChannels() to their own section.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								b7c83e4bac 
								
							
								 
							
						 
						
							
							
								
								Tables: moved TableGetSortSpecs(), TableGetColumnIsSorted(), TableFixColumnSortDirection(), TableSetColumnSortDirection() to their own section.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								d6b1f0d13d 
								
							
								 
							
						 
						
							
							
								
								Tables: moved TableHeadersRow(), TableHeader() to their own section.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								592fc69054 
								
							
								 
							
						 
						
							
							
								
								Tables: moved TableDrawContextMenu(), TableOpenContextMenu() to their own section.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								7aed4b152b 
								
							
								 
							
						 
						
							
							
								
								Tables: improve index, file structure tweaks.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								082f1d10d0 
								
							
								 
							
						 
						
							
							
								
								Tables: renamed TableBeginUpdateColumns to TableBeginApplyRequests, moved code to TableUpdateLayout, in order to ensure that enable state is not inconsistent due to TableSetupColumn column hiding requests.  
							
							 
							
							... 
							
							
 
							
							All the fields moved from TableBeginUpdateColumns to TableUpdateLayout are not used before. 
							
						 
						
							ago%!(EXTRA string=5 years)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								79c9eaa78e 
								
							
								 
							
						 
						
							
							
								
								Tables: Internals: renamed Visible to Enabled to avoid confusion with visibility checks.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								5ef7b831c2 
								
							
								 
							
						 
						
							
							
								
								Tables: removed ImGuiTableSortSpecs::ColumnsMask because it needlessly exposes our 64-columns limitation which we'd eventually would like to lift  
							
							 
							
							... 
							
							
 
							
							+ shuffle declarations in internals 
							
						 
						
							ago%!(EXTRA string=5 years)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								e09454aec4 
								
							
								 
							
						 
						
							
							
								
								Tables: removed TableGetColumnIsVisible from public api, re-specced as TableGetColumnIsHidden() returning same flag as setter, clipper increase CurrentRow.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								a70c6aae9f 
								
							
								 
							
						 
						
							
							
								
								Tables: demo synced tables + fix resizing indented synced tables.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								0c9ab0acdd 
								
							
								 
							
						 
						
							
							
								
								Tables: setup and maintain ItemWidth per column.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								8f126d5d95 
								
							
								 
							
						 
						
							
							
								
								Tables: rename ImGuiTableFlags_SizingPolicyStretchX to ImGuiTableFlags_ColumnsWidthStretch, ImGuiTableFlags_SizingPolicyFixedX to ImGuiTableFlags_ColumnsWidthFixed.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								41f89e0f59 
								
							
								 
							
						 
						
							
							
								
								Tables: added ImGuiTableFlags_SameWidths, used in demo. Reordered columns flags and exposed them all in Columns Flags section.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								3a2f0bfc04 
								
							
								 
							
						 
						
							
							
								
								Tables: demo inner_size + scrollx + stretch, added TableGetRowIndex(), renamed _WidthAlwaysAutoResize to _WidthAutoResize.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								3b3503e60f 
								
							
								 
							
						 
						
							
							
								
								Tables: decent support for auto-resize of stretch columns (trickier than it sounds)  
							
							 
							
							... 
							
							
 
							
							Four cases:
1. visible columns are all stretch, resize all : "size all to default" reset to default weight
2. visible columns are all stretch, resize one: "size one to fit" set weight, reapply weight (todo: improve weight redistribution in case of >1 siblings)
3. visible columns are mixed, resize all: "size all to fit/default" reset stretchs to default weight, set fixed to auto width
4. visible columns are mixed, resize one: "size one to fit", redistribute weight the same way as a manual resize
+ TableSetupColumn() more consistently clear AutoFitQueue.
+ zero-clear RowCellData buffer. 
							
						 
						
							ago%!(EXTRA string=5 years)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								c5dcf2fde1 
								
							
								 
							
						 
						
							
							
								
								Tables: rework keep-visible/max-width code to be less incorrect, but right-most column may effectively has few pixels less of visible cliprect width.  
							
							 
							
							... 
							
							
 
							
							See table_width_distrib and table_width_keep_visible tests.
+ fix minor left-side clipping on post-frozen column
+ made TableHeader() use reliable column->MaxX 
							
						 
						
							ago%!(EXTRA string=5 years)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								197e9c085b 
								
							
								 
							
						 
						
							
							
								
								Tables: separate bg0 and bg1 draw channels, selectable above bg color + will facilitate drawing of borders in EndTable().  
							
							 
							
							... 
							
							
 
							
							+ unused code to strip out dummy draw channel calls. 
							
						 
						
							ago%!(EXTRA string=5 years)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								52f24df668 
								
							
								 
							
						 
						
							
							
								
								Tables: comments, tweaks, added internal TableSetColumnVisible(), merged the two TableSetColumnWidth().  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								bf197c74f6 
								
							
								 
							
						 
						
							
							
								
								Tables: storing WorkMaxX, made offset_x == MinX to be clearer, clip rect merge uses ClipRect.max.x directly, removed unused ShrinkWidth code, metrics.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								5465d30d67 
								
							
								 
							
						 
						
							
							
								
								Tables: added ImGuiTableFlags_PreciseStretchWidths.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								10db896813 
								
							
								 
							
						 
						
							
							
								
								Tables: store RawData in a simple void* pointer, rename ContentMinX > WorkMinX, misc tidying up.  
							
							 
							
							... 
							
							
 
							
							Removed unnecessary casts when using CheckboxFlags(). 
							
						 
						
							ago%!(EXTRA string=5 years)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								82cf41d804 
								
							
								 
							
						 
						
							
							
								
								Tables: tooltip on clipped TableHeader() (amended)  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								507db499e4 
								
							
								 
							
						 
						
							
							
								
								Tables: work on background draw channel handling (amend "create a separate background draw channel") + Selectable disable spacing when spanning.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								fe6131168a 
								
							
								 
							
						 
						
							
							
								
								Tables: Additionally commentary about clipper in the demo + minor padding tweak.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								94d99f9d0b 
								
							
								 
							
						 
						
							
							
								
								Tables: Fixed crash when increaasing columns count with bound settings.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								24a7c45b02 
								
							
								 
							
						 
						
							
							
								
								Tables: Fix for 64 columns (maximum of 131 temporary draw channels).  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								e5a5256971 
								
							
								 
							
						 
						
							
							
								
								Tables: Garbage collection to relieve draw splitter buffers + for test engine: compact settings, remove table.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								f80097ca96 
								
							
								 
							
						 
						
							
							
								
								Tables: Fix applying WorkRect in non-scrolling tables. Fix inverted BackgroundClipRect being passed to ImDrawCmd.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								557253e776 
								
							
								 
							
						 
						
							
							
								
								Tables: create a separate background draw channel for rows below the frozen line.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								fae362fd0b 
								
							
								 
							
						 
						
							
							
								
								Tables: fixed auto-fitting columns not marking settings as dirty + fixed CellBg fill not narrow clipping on ScrollX + freeze.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								9918b2f147 
								
							
								 
							
						 
						
							
							
								
								Tables: Shuffled ordering of draw channels merge group so vertically unfrozen ones come, allowing us to split background channels in two.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								d3222086f0 
								
							
								 
							
						 
						
							
							
								
								Tables: Moved TableSetupScrollFreeze(), TableUpdateDrawChannels() lower in more adequate spots.  
							
							 
							
							... 
							
							
 
							
							+ rename IsFreezeRowsPassed to IsUnfrozen. 
							
						 
						
							ago%!(EXTRA string=5 years)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								d9ca3939e1 
								
							
								 
							
						 
						
							
							
								
								Tables: Tidy up comments. Replaced some Columns by Tables in demo. Removed ImGuiTableFlags_Scroll (combining ScrollX/ScrollY) because each axis inccur different requirements/constraints.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								51abdd53e3 
								
							
								 
							
						 
						
							
							
								
								Tables: renamed somehow-duplicate ContentWidth members (implicitly == Max - Min), renamed StartX to ContentMinX for consistency.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								1731ae5a09 
								
							
								 
							
						 
						
							
							
								
								Tables: Reworked padding/spacing/width.  
							
							 
							
							... 
							
							
 
							
							All widths are stored without padding.
Decorelate padding from presence of border.
Added ImGuiTableFlags_Pad/NoPad flags.
Added demo.
Merge StartXHeaders and StartXRows into StartX.
Distinguish CellSpacingX1 and CellSpacingX2 for clarity and to avoid loss of width on non-even spacing values. 
							
						 
						
							ago%!(EXTRA string=5 years)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								75c5f534e8 
								
							
								 
							
						 
						
							
							
								
								Tables: Avoid allocating into ColumnsName for empty strings, changed TableGetColumnName() to return "" on missing name, generally more friendly.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								f4800db178 
								
							
								 
							
						 
						
							
							
								
								Tables: Extracted parts of BeginTable() into TableFixFlags() and TableBeginInitMemory().  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								ac5b1648e6 
								
							
								 
							
						 
						
							
							
								
								Tables: Various internal renaming + merge StartXHeaders/StartXRows into StartX.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								77e561aaf3 
								
							
								 
							
						 
						
							
							
								
								Tables: Made demo options consistently compact, replaced constants with font-based sizes, added comments on memory allocations.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)