ocornut 
							
						 
					 
					
						
						
							
						
						972ca8166f 
					 
					
						
						
							
							Tables: extracted code for TableGetMaxColumnWidth(), fixing "stuck" resize being lossy as it used an older calculation for it and didn't honor e.g. _NoKeepColumnsVisible  
						
						
						
						
					 
					
						2020-12-22 16:40:52 +01:00 
						 
				 
			
				
					
						
							
							
								ocornut 
							
						 
					 
					
						
						
							
						
						4d8e839ddf 
					 
					
						
						
							
							Renamed ImDrawList::AddBezierCurve() to ImDrawList::AddBezierCubic(), ImDrawList::PathBezierCurveTo() to ImDrawList::PathBezierCubicCurveTo(). ( #3127 ,  #3664 ,  #3665 )  
						
						... 
						
						
						
						Renamed corresponding internal functions as well. 
						
						
					 
					
						2020-12-21 17:13:36 +01:00 
						 
				 
			
				
					
						
							
							
								ocornut 
							
						 
					 
					
						
						
							
						
						550bfcfc59 
					 
					
						
						
							
							Amend  defce31 Add ImDrawList::AddQuadBezierCurve(), ImDrawList::PathQuadBezierCurveTo() ( #3127 ,  #3664 ,  #3665 )  
						
						
						
						
					 
					
						2020-12-21 16:30:10 +01:00 
						 
				 
			
				
					
						
							
							
								ocornut 
							
						 
					 
					
						
						
							
						
						532aa5a69b 
					 
					
						
						
							
							Tables: (breaking) change outer_size.x default value to -FLT_MIN, make outer_size.x == 0.0f act as ImGuiTableFlags_NoHostExtendX ( #3605 ,  ad83976b) when no scrolling and no stretch column. Which is more consistent.  
						
						... 
						
						
						
						Demo: moved "Compact table" to "Padding" section, makes more sense. Tweaked demo. 
						
						
					 
					
						2020-12-18 17:51:50 +01:00 
						 
				 
			
				
					
						
							
							
								ocornut 
							
						 
					 
					
						
						
							
						
						22ace4438c 
					 
					
						
						
							
							Tables: clarify assumption that rendering of bg/borders in bg0/bg1 are cpu-clipped allowing frozen/unfrozen to share drawcmd + remove offset on outer borders of scrolling tables.  
						
						
						
						
					 
					
						2020-12-18 14:33:16 +01:00 
						 
				 
			
				
					
						
							
							
								ocornut 
							
						 
					 
					
						
						
							
						
						30468829c2 
					 
					
						
						
							
							Tables: Internal: Maintain InnerRect to further clarify some code. Renamed Bg1 fields to Bg2 (used by Selectable) as the other handles Bg0+Bg1.  
						
						
						
						
					 
					
						2020-12-18 14:32:51 +01:00 
						 
				 
			
				
					
						
							
							
								ocornut 
							
						 
					 
					
						
						
							
						
						ad83976b35 
					 
					
						
						
							
							Tables: Added ImGuiTableFlags_NoHostExtendX ( #3605 ) marked as WIP, will probably rename.  
						
						... 
						
						
						
						Moved some code from BeginTable() to TableUpdateLayout() to late latch some of the required data. 
						
						
					 
					
						2020-12-18 14:32:51 +01:00 
						 
				 
			
				
					
						
							
							
								ocornut 
							
						 
					 
					
						
						
							
						
						892b48e2d6 
					 
					
						
						
							
							Tables: Lock contents width while resizing down an horizontal scrolling table. Headers declare ideal width regardless of clipping. Misc comments.  
						
						
						
						
					 
					
						2020-12-16 13:04:49 +01:00 
						 
				 
			
				
					
						
							
							
								ocornut 
							
						 
					 
					
						
						
							
						
						bd899efbd0 
					 
					
						
						
							
							Tables: fixed "resize to default" of multiple stretch column (added  3b3503e, broken  7a61f340).  
						
						... 
						
						
						
						Fixed a warning.
Storing RightMostStretchedColumn column for resizing code.
Avoid clearing RightMostEnabledColumn in BeginTable() so resizing code can potentially use it.
(Added regression tests for resize all to default imgui_dev) 
						
						
					 
					
						2020-12-14 15:49:20 +01:00 
						 
				 
			
				
					
						
							
							
								ocornut 
							
						 
					 
					
						
						
							
						
						738606a294 
					 
					
						
						
							
							Tables: added ImGuiTableFlags_SortTristate. Renamed ImGuiTableFlags_MultiSortable to ImGuiTableFlags_SortMulti. Removed now unused FlagsIn storage.  
						
						
						
						
					 
					
						2020-12-11 23:01:09 +01:00 
						 
				 
			
				
					
						
							
							
								ocornut 
							
						 
					 
					
						
						
							
						
						bff1836922 
					 
					
						
						
							
							Internals: added facility to hide windows from render without interfering with the HiddenFramesCanSkipItems/HiddenFramesCannotSkipItems fields which have effects on layout. Compact some fields.  
						
						... 
						
						
						
						Ideally we'd have a simpler system but it's not easy to make the capture system change to hook at the right spot. Will rework. 
						
						
					 
					
						2020-12-11 14:37:58 +01:00 
						 
				 
			
				
					
						
							
							
								ocornut 
							
						 
					 
					
						
						
							
						
						1ad5502f18 
					 
					
						
						
							
							Tables: Closer to zero-clear constructor. Lazily clearing name offsets to avoid an iteration in BeginTable(). Removed unused TableSetColumnIsEnabled(), signature went faulty anyway.  
						
						
						
						
					 
					
						2020-12-10 19:45:20 +01:00 
						 
				 
			
				
					
						
							
							
								ocornut 
							
						 
					 
					
						
						
							
						
						e6b875c09b 
					 
					
						
						
							
							Tables: Ditch old columns flags/setting if not called again. Displaying right-most border when using _SameWidths. Moving Width-related functions to their own section.  
						
						... 
						
						
						
						Effectively removed the TableFixColumnFlags() in first loop of TableUpdateLayout() to replace it with similar one but only when column not declared. I think this should be the right thing. 
						
						
					 
					
						2020-12-10 18:33:33 +01:00 
						 
				 
			
				
					
						
							
							
								ocornut 
							
						 
					 
					
						
						
							
						
						17536f9add 
					 
					
						
						
							
							Tables: more consistent use of CellPadding.x*2 and clip-rect on right-most side of non-bordered column + fix cellbg for standalone TableHeader call.  
						
						... 
						
						
						
						Using CellPadding.x on both sides when BorderV is off, generally most consistent and with default value (4,2) promotes at-glance visible spacing between non-bordered columns. Effectively double horizontal padding on non-bordered columns.
Made ClipRect.Max.x matches WorkMaxX which is where we'd like to go for windows themselves.
TableHeader() submit single cell bg color if not already submitted as a full header row.
Misc comments/docs updates. 
						
						
					 
					
						2020-12-09 15:13:09 +01:00 
						 
				 
			
				
					
						
							
							
								ocornut 
							
						 
					 
					
						
						
							
						
						0b14dd9e55 
					 
					
						
						
							
							Tables: fixed propagation of line height from outside the table. Added outer-width demo.  
						
						
						
						
					 
					
						2020-12-04 19:15:27 +01:00 
						 
				 
			
				
					
						
							
							
								ocornut 
							
						 
					 
					
						
						
							
						
						6e38026627 
					 
					
						
						
							
							Tables: changelog. removed TableGetHoveredColumn() from public API in favor of using TableGetColumnFlags(). renamed ImGuiTableSortSpecsColumn to ImGuiTableColumnSortSpecs.  
						
						
						
						
					 
					
						2020-12-04 19:15:27 +01:00 
						 
				 
			
				
					
						
							
							
								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)  
						
						
						
						
					 
					
						2020-12-04 19:15:27 +01:00 
						 
				 
			
				
					
						
							
							
								ocornut 
							
						 
					 
					
						
						
							
						
						b194df413c 
					 
					
						
						
							
							Tables: exposed status flags via TableGetColumnFlags(), removed TableGetColumnIsSorted()  
						
						... 
						
						
						
						Scoped width auto calc. 
						
						
					 
					
						2020-12-04 19:15:27 +01:00 
						 
				 
			
				
					
						
							
							
								ocornut 
							
						 
					 
					
						
						
							
						
						984c4cb5f8 
					 
					
						
						
							
							Tables: distinguishing per-column IsVisible from IsRequestOutput which is returned to user. Clarified clipping rules/requirements. Comments.  
						
						
						
						
					 
					
						2020-12-04 19:15:27 +01:00 
						 
				 
			
				
					
						
							
							
								ocornut 
							
						 
					 
					
						
						
							
						
						f70bf69e3b 
					 
					
						
						
							
							Tables: comments and tweaks on TableUpdateLayout(). changed "apply final width" loop to use natural column order.  
						
						
						
						
					 
					
						2020-12-04 19:15:26 +01:00 
						 
				 
			
				
					
						
							
							
								ocornut 
							
						 
					 
					
						
						
							
						
						155b8bb816 
					 
					
						
						
							
							Tables: Shared menu item id for "Size all" variations. Avoid allocation on single sort specs. Fix TableGetColumnIsEnabled(). Massage TableHeaderRows().  
						
						
						
						
					 
					
						2020-12-04 19:15:26 +01:00 
						 
				 
			
				
					
						
							
							
								ocornut 
							
						 
					 
					
						
						
							
						
						e126a64782 
					 
					
						
						
							
							Tables: using a typedef in internal code to specify column/draw channel index storage.  
						
						
						
						
					 
					
						2020-12-04 19:15:26 +01:00 
						 
				 
			
				
					
						
							
							
								ocornut 
							
						 
					 
					
						
						
							
						
						6aa8388e9f 
					 
					
						
						
							
							Tables: index tweaks, fixed some inconsistent spacings.  
						
						
						
						
					 
					
						2020-12-04 19:15:26 +01:00 
						 
				 
			
				
					
						
							
							
								ocornut 
							
						 
					 
					
						
						
							
						
						5180025de5 
					 
					
						
						
							
							Tables: moved + renamed TableSetupDrawChannels(), TableMergeDrawChannels() to their own section.  
						
						
						
						
					 
					
						2020-12-04 19:15:26 +01:00 
						 
				 
			
				
					
						
							
							
								ocornut 
							
						 
					 
					
						
						
							
						
						b7c83e4bac 
					 
					
						
						
							
							Tables: moved TableGetSortSpecs(), TableGetColumnIsSorted(), TableFixColumnSortDirection(), TableSetColumnSortDirection() to their own section.  
						
						
						
						
					 
					
						2020-12-04 19:15:26 +01:00 
						 
				 
			
				
					
						
							
							
								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. 
						
						
					 
					
						2020-12-04 19:15:26 +01:00 
						 
				 
			
				
					
						
							
							
								ocornut 
							
						 
					 
					
						
						
							
						
						79c9eaa78e 
					 
					
						
						
							
							Tables: Internals: renamed Visible to Enabled to avoid confusion with visibility checks.  
						
						
						
						
					 
					
						2020-12-04 19:15:26 +01:00 
						 
				 
			
				
					
						
							
							
								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 
						
						
					 
					
						2020-12-04 19:15:26 +01:00 
						 
				 
			
				
					
						
							
							
								ocornut 
							
						 
					 
					
						
						
							
						
						e09454aec4 
					 
					
						
						
							
							Tables: removed TableGetColumnIsVisible from public api, re-specced as TableGetColumnIsHidden() returning same flag as setter, clipper increase CurrentRow.  
						
						
						
						
					 
					
						2020-12-04 19:15:26 +01:00 
						 
				 
			
				
					
						
							
							
								ocornut 
							
						 
					 
					
						
						
							
						
						0c9ab0acdd 
					 
					
						
						
							
							Tables: setup and maintain ItemWidth per column.  
						
						
						
						
					 
					
						2020-12-04 19:15:26 +01:00 
						 
				 
			
				
					
						
							
							
								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. 
						
						
					 
					
						2020-12-04 19:15:25 +01:00 
						 
				 
			
				
					
						
							
							
								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. 
						
						
					 
					
						2020-12-04 19:15:25 +01:00 
						 
				 
			
				
					
						
							
							
								ocornut 
							
						 
					 
					
						
						
							
						
						52f24df668 
					 
					
						
						
							
							Tables: comments, tweaks, added internal TableSetColumnVisible(), merged the two TableSetColumnWidth().  
						
						
						
						
					 
					
						2020-12-04 19:15:25 +01:00 
						 
				 
			
				
					
						
							
							
								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.  
						
						
						
						
					 
					
						2020-12-04 19:15:25 +01:00 
						 
				 
			
				
					
						
							
							
								ocornut 
							
						 
					 
					
						
						
							
						
						10db896813 
					 
					
						
						
							
							Tables: store RawData in a simple void* pointer, rename ContentMinX > WorkMinX, misc tidying up.  
						
						... 
						
						
						
						Removed unnecessary casts when using CheckboxFlags(). 
						
						
					 
					
						2020-12-04 19:15:25 +01:00 
						 
				 
			
				
					
						
							
							
								ocornut 
							
						 
					 
					
						
						
							
						
						82cf41d804 
					 
					
						
						
							
							Tables: tooltip on clipped TableHeader() (amended)  
						
						
						
						
					 
					
						2020-12-04 19:15:25 +01:00 
						 
				 
			
				
					
						
							
							
								ocornut 
							
						 
					 
					
						
						
							
						
						507db499e4 
					 
					
						
						
							
							Tables: work on background draw channel handling (amend "create a separate background draw channel") + Selectable disable spacing when spanning.  
						
						
						
						
					 
					
						2020-12-04 19:15:25 +01:00 
						 
				 
			
				
					
						
							
							
								ocornut 
							
						 
					 
					
						
						
							
						
						fe6131168a 
					 
					
						
						
							
							Tables: Additionally commentary about clipper in the demo + minor padding tweak.  
						
						
						
						
					 
					
						2020-12-04 19:15:25 +01:00 
						 
				 
			
				
					
						
							
							
								ocornut 
							
						 
					 
					
						
						
							
						
						24a7c45b02 
					 
					
						
						
							
							Tables: Fix for 64 columns (maximum of 131 temporary draw channels).  
						
						
						
						
					 
					
						2020-12-04 19:15:25 +01:00 
						 
				 
			
				
					
						
							
							
								ocornut 
							
						 
					 
					
						
						
							
						
						e5a5256971 
					 
					
						
						
							
							Tables: Garbage collection to relieve draw splitter buffers + for test engine: compact settings, remove table.  
						
						
						
						
					 
					
						2020-12-04 19:15:25 +01:00 
						 
				 
			
				
					
						
							
							
								ocornut 
							
						 
					 
					
						
						
							
						
						f80097ca96 
					 
					
						
						
							
							Tables: Fix applying WorkRect in non-scrolling tables. Fix inverted BackgroundClipRect being passed to ImDrawCmd.  
						
						
						
						
					 
					
						2020-12-04 19:15:25 +01:00 
						 
				 
			
				
					
						
							
							
								ocornut 
							
						 
					 
					
						
						
							
						
						557253e776 
					 
					
						
						
							
							Tables: create a separate background draw channel for rows below the frozen line.  
						
						
						
						
					 
					
						2020-12-04 19:15:24 +01:00 
						 
				 
			
				
					
						
							
							
								ocornut 
							
						 
					 
					
						
						
							
						
						d3222086f0 
					 
					
						
						
							
							Tables: Moved TableSetupScrollFreeze(), TableUpdateDrawChannels() lower in more adequate spots.  
						
						... 
						
						
						
						+ rename IsFreezeRowsPassed to IsUnfrozen. 
						
						
					 
					
						2020-12-04 19:15:24 +01:00 
						 
				 
			
				
					
						
							
							
								ocornut 
							
						 
					 
					
						
						
							
						
						51abdd53e3 
					 
					
						
						
							
							Tables: renamed somehow-duplicate ContentWidth members (implicitly == Max - Min), renamed StartX to ContentMinX for consistency.  
						
						
						
						
					 
					
						2020-12-04 19:15:24 +01:00 
						 
				 
			
				
					
						
							
							
								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. 
						
						
					 
					
						2020-12-04 19:15:24 +01:00 
						 
				 
			
				
					
						
							
							
								ocornut 
							
						 
					 
					
						
						
							
						
						ac5b1648e6 
					 
					
						
						
							
							Tables: Various internal renaming + merge StartXHeaders/StartXRows into StartX.  
						
						
						
						
					 
					
						2020-12-04 19:15:24 +01:00 
						 
				 
			
				
					
						
							
							
								ocornut 
							
						 
					 
					
						
						
							
						
						2ee20fdb7c 
					 
					
						
						
							
							Tables: Frozen rows/columns in nav menu layer, fixed conflict between column id and holding child id.  
						
						
						
						
					 
					
						2020-12-04 19:15:24 +01:00 
						 
				 
			
				
					
						
							
							
								ocornut 
							
						 
					 
					
						
						
							
						
						e66b28693a 
					 
					
						
						
							
							Tables: Added ImGuiTableFlags_ContextMenuInBody flag.  
						
						... 
						
						
						
						Worked to get TableOpenContextMenu() in public API but kept it internal. 
						
						
					 
					
						2020-12-04 19:15:24 +01:00 
						 
				 
			
				
					
						
							
							
								ocornut 
							
						 
					 
					
						
						
							
						
						cc12ea084b 
					 
					
						
						
							
							Tables: Added TableSetColumnSortDirection() + added in default context menu code (disabled, feels unnecessary, but work is done to ensure programmatic access)  
						
						
						
						
					 
					
						2020-12-04 19:15:23 +01:00 
						 
				 
			
				
					
						
							
							
								omar 
							
						 
					 
					
						
						
							
						
						8ec05fc034 
					 
					
						
						
							
							Tables: Fixed holding on table pointers accross resize/invalidation of the pool buffer.  
						
						
						
						
					 
					
						2020-12-04 19:15:23 +01:00