b3576dd354 
								
							
								 
							
						 
						
							
							
								
								Replace UTF-8 decoder with branchless version by Christopher Wellons.  
							
							... 
							
							
 
							
							Decoding performance increase ranges from 30-40%.
Changes:
* Errors handling near the end of string changed. If input does not contain enough bytes, decoder returns `IM_UNICODE_CODEPOINT_INVALID`, consuming all remaining bytes while old decoder consumed only one byte.
Guarantees:
* At least one byte is consumed, if input had at least one byte available.
* Number of consumed bytes will never seek past end of string.
Requirements:
* `in_text` is a valid pointer.
* String pointed by `in_text` must be zero-terminated, or `in_text_end` is not NULL. 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								bca4749346 
								
							
								 
							
						 
						
							
							
								
								Examples: Apple: Consolidated example_apple_metal to reduce class and file count ( #1873 ,  #3543 )  
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								5292320110 
								
							
								 
							
						 
						
							
							
								
								Amend  ffe8f0177f ( #3544 ) + readme fixes  
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								ffe8f0177f 
								
							
								 
							
						 
						
							
							
								
								Backends: OpenGL3: Backup/restore GL_PRIMITIVE_RESTART state ( #3544 )  
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								acb8ef2006 
								
									
								
							
								 
							
						 
						
							
							
								
								Examples: Vulkan: Fixed CMake include path. ( #3550 )  
							
							... 
							
							
 
							
							The backends directory was not included, so the build was failing. 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								e6b99a420b 
								
							
								 
							
						 
						
							
							
								
								Tab Bar: Do not display a tooltip if the name already fits over a given tab. ( #3521 )  
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								fbe74ed50c 
								
							
								 
							
						 
						
							
							
								
								Tab Bar: zero clear more structures.  
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								8c9b3c9013 
								
							
								 
							
						 
						
							
							
								
								Tab Bar: Fixed using more than 128 tabs in a tab bar.  
							
							... 
							
							
 
							
							Using ImS16 consistently + some better packing to avoid struct growing size. 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								748bd1ba9c 
								
							
								 
							
						 
						
							
							
								
								Tab Bar: Restore cursor position in EndTabBar() when amending (amend  f2f32602) + made LastTabItemIdx consistent ImS8 as other tab storage relies on same type  
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								c9fafd5ea4 
								
							
								 
							
						 
						
							
							
								
								Drag and Drop: Fix drag and drop to tie same-size drop targets by choosen the later one. Fixes dragging into a full-window-sized dockspace inside a zero-padded window. ( #3519 ,  #2717 )  
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								d015004f45 
								
							
								 
							
						 
						
							
							
								
								Rename colored>color in comments where possible ( #3528 )  
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								127f132447 
								
							
								 
							
						 
						
							
							
								
								Backends: OpenGL3: Add compatibility of GL_VERSION for GL 2.x ( #3530 )  
							
							... 
							
							
 
							
							GL_MAJOR_VERSION and GL_MINOR_VERSION are available on GL 3.0 and above.
So we have to parse GL_VERSION under GL 2.x 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								31a144b60c 
								
							
								 
							
						 
						
							
							
								
								Fix comments ( #3534 )  
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								f2f326024c 
								
							
								 
							
						 
						
							
							
								
								Tab Bar: Made it possible to append to an existing tab bar by calling BeginTabBar()/EndTabBar() again.  
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								b1a18d82e3 
								
							
								 
							
						 
						
							
							
								
								Moving backends code from examples/ to backends/ (step 6: update markdown documentation)  
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								a2a3d80f04 
								
							
								 
							
						 
						
							
							
								
								Moving backends code from examples/ to backends/ (step 5: move documentation to MD files)  
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								a2d845f9dd 
								
							
								 
							
						 
						
							
							
								
								Moving backends code from examples/ to backends/ (step 4: update documentation, much improvement)  
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								a7e21fb05f 
								
							
								 
							
						 
						
							
							
								
								Moving backends code from examples/ to backends/ (step 3: fixing project files)  
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								428f4fce70 
								
							
								 
							
						 
						
							
							
								
								Moving backends code from examples/ to backends/ (step 2: moving vulkan cruft)  
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								d9b2fb7338 
								
							
								 
							
						 
						
							
							
								
								Moving backends code from examples/ to backends/ (step 1: moving source files)  
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								124c2608f1 
								
							
								 
							
						 
						
							
							
								
								Docs: Renamed all occurences of "binding" and "back-end" to "backend" in comments and documentations, for consistency.  
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								041ef01b33 
								
							
								 
							
						 
						
							
							
								
								Removed redirecting functions/enums names that were marked obsolete in 1.61: InputFloat, InputFloat2, InputFloat3, InputFloat4 with int decimal_precision parameter. ( #648 ,  #712 )  
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								0f13fdd177 
								
							
								 
							
						 
						
							
							
								
								Removed redirecting functions/enums names that were marked obsolete in 1.60: io.RenderDrawListsFn, IsAnyWindowFocused(), IsAnyWindowHovered(), etc.  
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								04de5ef819 
								
							
								 
							
						 
						
							
							
								
								Version 1.80 WIP  
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								a38c6dfcc8 
								
							
								 
							
						 
						
							
							
								
								Internals: Added support for context hooks (for test engine or other extensions)  
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								e5cb04b132 
								
							
								 
							
						 
						
							
							
								
								Version 1.79  
							
							... 
							
							
 
							
							+ Update readme and mission statement.
Removed "Minimize screen reel-estate usage", removed details on memory consumption (still very valid, just too much noise in a mission statement) 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								c6f9c558ec 
								
							
								 
							
						 
						
							
							
								
								CI: Use our own discord notifier.  
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								ae5b4991be 
								
									
								
							
								 
							
						 
						
							
							
								
								Docs: update gallery links. ( #3514 )  
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								03b1e643b4 
								
							
								 
							
						 
						
							
							
								
								Docs: Funding link, Tweaks, Gallery links.  
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								12d9505534 
								
							
								 
							
						 
						
							
							
								
								CheckboxFlags: Display mixed-value/tristate marker when passed flags that have multiple bits set and stored value matches neither zero neither the full set.  
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								4fd43a8b64 
								
							
								 
							
						 
						
							
							
								
								Internals: removed NavLayerCurrentMask (redundant, add extra shift in ItemAdd().  
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								014e5078a8 
								
							
								 
							
						 
						
							
							
								
								Demo: add a small easter egg when the 4x4 board of Selectable is filled + tweaked the demo.  
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								01cc666039 
								
							
								 
							
						 
						
							
							
								
								ImGuiListClipper: Renamed constructor parameters which created an ambiguous alternative to using the ImGuiListClipper::Begin() function, with misleading edge cases.  
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								6469b94304 
								
									
								
							
								 
							
						 
						
							
							
								
								Silence memset warning. ( #3505 )  
							
							... 
							
							
 
							
							Compiling the code as-is results in the following warning:
-->8--
imgui_freetype.cpp:341:72: warning: ‘void* memset(void*, int, size_t)’
        clearing an object of type ‘struct ImFontBuildSrcDataFT’ with no
        trivial copy-assignment; use assignment or value-initialization
        instead [-Wclass-memaccess]
  341 |     memset(src_tmp_array.Data, 0, (size_t)src_tmp_array.size_in_bytes());
      |                                                                        ^
imgui_freetype.cpp:302:8: note: ‘struct ImFontBuildSrcDataFT’ declared here
  302 | struct ImFontBuildSrcDataFT
      |        ^~~~~~~~~~~~~~~~~~~~
--8<--
This is caused by presence of ImVector<> directly in ImFontBuildSrcDataFT data
structure, as well as in the child ImBitVector. Since ImVector<> has a
constructor, the compiler infers that initialization by memset is not valid.
Such initialization is not a bug, however, as the default ImVector<> ctor just
sets the structure data members to 0, which is exactly what the memset does.
Casting the data structure address to void* pointer silences this warning. 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								7b1ab5b275 
								
							
								 
							
						 
						
							
							
								
								ImVector: Stricter bound-checking asserts. Fix warnings: trailing comma (old compilers), zealous preprocessor warnings.  
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								5f336ce8f8 
								
							
								 
							
						 
						
							
							
								
								Tab Bar: Fixed buffer underflow in TabBarLayout, introduced by  4a57a982b ( #3501 ,  #3291 )  
							
							... 
							
							
 
							
							+ Link to CI actions added in 3be352f 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								3be352fc80 
								
							
								 
							
						 
						
							
							
								
								CI: Add discord notifications.  
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								179dc04d8a 
								
							
								 
							
						 
						
							
							
								
								Examples: Added missing comments in example_apple_metal. ( #3400 )  
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								52c0b1a340 
								
							
								 
							
						 
						
							
							
								
								ImGuiListClipper: internal rework and tidying up to facilitate supporting frozen rows in tables + stop promoting using constructors parameters.  
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								324e0310ad 
								
							
								 
							
						 
						
							
							
								
								Renamed ImGuiSliderFlags_ClampOnInput to ImGuiSliderFlags_AlwaysClamp. ( #1829 ,  #3209 ,  #946 ,  #413 )  
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								fbabf651f4 
								
							
								 
							
						 
						
							
							
								
								Style: Renamed style.TabMinWidthForUnselectedCloseButton to style.TabMinWidthForCloseButton. Fixed README links.  
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								1ec464eb9a 
								
							
								 
							
						 
						
							
							
								
								Tab Bar: Further simplification of section/clip rect handling. ( #3291 )  
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								6b76781c66 
								
							
								 
							
						 
						
							
							
								
								Tab Bar: Tidying up. Rework ShrinkWidths to allow marking tabs as not shrinkable (unused yet) + don't unnecessarily move data within ShrinkWidthBuffer. ( #3291 )  
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								99f69eb185 
								
							
								 
							
						 
						
							
							
								
								Tab Bar: Moved up TabBarScrollingButtons function call. ( #3291 )  
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								205874f5b1 
								
							
								 
							
						 
						
							
							
								
								Tab Bar: Fix reorderable tab bars. Fix misleading use of tab_max_width in TabBarLayout(). Misc amends, shortening. ( #3291 )  
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								3422cb1308 
								
							
								 
							
						 
						
							
							
								
								Tab Bar: Various fixes. Tried to reduce code complexity. ( #3291 )  
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								5e5f25e2dd 
								
							
								 
							
						 
						
							
							
								
								Tab Bar: Rename named sections members into array. Various tidying up. ( #3291 )  
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								7ac16c02cc 
								
							
								 
							
						 
						
							
							
								
								Tab Bar: Fix multiple width and position computation issue. ( #3291 )  
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								f23c39c395 
								
							
								 
							
						 
						
							
							
								
								Tab Bar: Fixed handling of scrolling policy with leading/trailing tabs. + warning fixes + bunch of renaming.  ( #3291 )  
							
							... 
							
							
 
							
							Demo tweaks. 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								4a57a982be 
								
							
								 
							
						 
						
							
							
								
								Tab Bar: Added TabItemButton(), ImGuiTabItemFlags_Leading, ImGuiTabItemFlags_Trailing + demo. ( #3291 )  
							
							... 
							
							
 
							
							(squashed various commits by 2 authors) 
							
						 
						
							ago%!(EXTRA string=5 years)