cf98290873 
								
							
								 
							
						 
						
							
							
								
								Backends: DirectX9: Workaround for windows not refreshing when main viewport has no draw call. ( #2560 )  
							
							
 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								1ca6ff974c 
								
							
								 
							
						 
						
							
							
								
								Viewport: fix to allow multiple shutdown / calls to DestroyPlatformWindows(). ( #2769 )  
							
							
 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								575df6f192 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into docking  
							
							... 
							
							
 
							
							# Conflicts:
#	examples/imgui_impl_opengl3.cpp
#	imgui.cpp
#	imgui_draw.cpp
#	imgui_internal.h 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								b48dc067ae 
								
							
								 
							
						 
						
							
							
								
								Style: Allow style.WindowMenuButtonPosition to be set to ImGuiDir_None to hide the collapse button. ( #2634 ,  #2639 )  
							
							... 
							
							
 
							
							+ Fix  #2775  
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								3b014d0c31 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'features/ellipsis_rendering'  
							
							... 
							
							
 
							
							# Conflicts:
#	imgui.cpp 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								3f986e72d9 
								
							
								 
							
						 
						
							
							
								
								Internal: Offset STB_TEXTURE_K_ defines to remove that change from  #2541  + sponsors update.  
							
							
 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								7d5a17e5e4 
								
							
								 
							
						 
						
							
							
								
								Remove trailing spaces (grep for ' \r?$' in visual studio)  
							
							
 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								1c951dca97 
								
							
								 
							
						 
						
							
							
								
								Font: Narrow ellipsis: once we know an ellipsis is going to be drawn, we can claim the space between pos_max.x and ellipsis_max.x which gives us enough extra space to not requires the further (and otherwise valid) optimizations. Gets us vastly simplified code, yay. ( #2775 )  
							
							
 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								57623c15dd 
								
							
								 
							
						 
						
							
							
								
								Font: Narrow ellipsis: various minor stylistic tweaks ( #2775 )  
							
							
 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								45405f0dc9 
								
							
								 
							
						 
						
							
							
								
								Font: implement a way to draw narrow ellipsis without relying on hardcoded 1 pixel dots. ( #2775 )  
							
							... 
							
							
 
							
							This changeset implements several pieces of the puzzle that add up to a narrow ellipsis rendering.
## EllipsisCodePoint
`ImFontConfig` and `ImFont` received `ImWchar EllipsisCodePoint = -1;` field. User may configure `ImFontConfig::EllipsisCodePoint` a unicode codepoint that will be used for rendering narrow ellipsis. Not setting this field will automatically detect a suitable character or fall back to rendering 3 dots with minimal spacing between them. Autodetection prefers codepoint 0x2026 (narrow ellipsis) and falls back to 0x0085 (NEXT LINE) when missing. Wikipedia indicates that codepoint 0x0085 was used as ellipsis in some older windows fonts. So does default Dear ImGui font. When user is merging fonts - first configured and present ellipsis codepoint will be used, ellipsis characters from subsequently merged fonts will be ignored.
## Narrow ellipsis
Rendering a narrow ellipsis is surprisingly not straightforward task. There are cases when ellipsis is bigger than the last visible character therefore `RenderTextEllipsis()` has to hide last two characters. In a subset of those cases ellipsis is as big as last visible character + space before it. `RenderTextEllipsis()` tries to work around this case by taking free space between glyph edges into account. Code responsible for this functionality is within `if (text_end_ellipsis != text_end_full) { ... }`.
## Fallback (manually rendered dots)
There are cases when font does not have ellipsis character defined. In this case RenderTextEllipsis() falls back to rendering ellipsis as 3 dots, but with reduced spacing between them. 1 pixel space is used in all cases. This results in a somewhat wider ellipsis, but avoids issues where spaces between dots are uneven (visible in larger/monospace fonts) or squish dots way too much (visible in default font where dot is essentially a pixel). This fallback method obsoleted `RenderPixelEllipsis()` and this function was removed. Note that fallback ellipsis will always be somewhat wider than it could be, however it will fit in visually into every font used unlike what `RenderPixelEllipsis()` produced. 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								404dc0367e 
								
							
								 
							
						 
						
							
							
								
								BeginTabItem: Fixed case where right-most tab would create an extraneous draw calls (probably related to other tab fitting code in 1.73 wip)  
							
							
 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								e7e88ed413 
								
							
								 
							
						 
						
							
							
								
								Examples: SDL/GLFW + OpenGL3: Fixes for Makefile ( #2774 )  
							
							... 
							
							
 
							
							- append CXXFLAGS instead of overwriting them
- add glad.c build rule 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								561e7dd490 
								
							
								 
							
						 
						
							
							
								
								Fix signed types warning in pasteboard handler ( #2786 )  
							
							
 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								3dcf323c35 
								
							
								 
							
						 
						
							
							
								
								Columns: Separator: Fixed a bug where non-visible separators within columns would alter the next row position differently than visible ones.  
							
							... 
							
							
 
							
							Fixed rounding issues also leading to change of ScrollMax depending on visible items (in particular negative coordinate would be rounded differently) 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								b05f6f6f50 
								
							
								 
							
						 
						
							
							
								
								Nav, Scrolling: Added support for Home/End key. ( #787 )  
							
							
 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								3cf519c9cb 
								
							
								 
							
						 
						
							
							
								
								Fix DragScalar for unsigned types ( #2780 )  
							
							... 
							
							
 
							
							decreasing the value was broken on arm64 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								cc288e073c 
								
							
								 
							
						 
						
							
							
								
								Backends: OpenGL3: Tweaked initialization code allow application calling ImGui_ImplOpenGL3_CreateFontsTexture() before ImGui_ImplOpenGL3_NewFrame() if for some reason they wanted.  
							
							
 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								c077dd4872 
								
							
								 
							
						 
						
							
							
								
								Fixed missing IMGUI_API for IsMouseDragPastThreshold().  
							
							
 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								0bdc145343 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into docking  
							
							... 
							
							
 
							
							# Conflicts:
#	imgui.cpp
#	imgui_internal.h 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								d049a7988c 
								
							
								 
							
						 
						
							
							
								
								Docking: comments for DockBuilder API.  
							
							
 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								0537ac005f 
								
							
								 
							
						 
						
							
							
								
								ColorEdit: Disable Hue edit when Saturation==0 instead of letting Hue values jump around.  
							
							
 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								b59ec7b9b7 
								
							
								 
							
						 
						
							
							
								
								DragInt, DragFloat, DragScalar: Using (v_min > v_max) allows locking any edit to the value.  
							
							
 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								a4af3cc814 
								
							
								 
							
						 
						
							
							
								
								Viewport, GLFW: Fix for  #2756  under Windows.  
							
							
 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								a89a3cd2f1 
								
							
								 
							
						 
						
							
							
								
								Viewports, GLFW: Fix window having incorrect size after uncollapse. Issue manifests on Linux when window is in it's own viewport. ( #2756 ,  #2117 )  
							
							
 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								3f99890f40 
								
							
								 
							
						 
						
							
							
								
								TabBar: feed desired width (sum of unclipped tabs width) into layout system to allow for auto-resize. ( #2768 )  
							
							... 
							
							
 
							
							Before 1.71 tab bars fed the sum of current width which created feedback loops in certain situations. Amend f95c77eeea 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								09780b8b3d 
								
							
								 
							
						 
						
							
							
								
								Viewport: Fix setting window size on macos (glfw). ( #2767 ,  #2117 )  
							
							... 
							
							
 
							
							MacOS positions windows by their bottom-left corner why the rest of the world (including imgui) position windows by the top-left corner. This created an issue where collapsing imgui window would cause window header to remain at the bottom the full window rect. Likewise resizing window by using sizing handle caused window to grow upwards when we tried to expand window downwards.
This workaround moves window to the opposite direction by the delta of size change creating an illusion that windows are positioned by their top-left corner. 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								f8d3d8d7f5 
								
							
								 
							
						 
						
							
							
								
								TabBar: improved shrinking for large number of tabs to avoid leaving extraneous space on the right side. Individuals tabs are given integer-rounded width and remainder is spread between tabs left-to-right.  
							
							
 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								9e294be5c5 
								
							
								 
							
						 
						
							
							
								
								Docking: Fix for node created at the same time as windows that are still resizing (typically with io.ConfigDockingAlwaysTabBar) to not be zero/min sized. ( #2109 )  
							
							... 
							
							
 
							
							The fix delay their visibility by one frame, which is not ideal but not very problematic as the .ini data gets populated after that 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								bfcdaeb610 
								
							
								 
							
						 
						
							
							
								
								Disable with ConfigWindowsMemoryCompactTimer < 0.0f ( #2636 )  
							
							
 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								62f75c7fb1 
								
							
								 
							
						 
						
							
							
								
								Added a mechanism to compact/free the larger allocations of unused windows (buffers are compacted when a window is unused for 60 seconds, as per io.ConfigWindowsMemoryCompactTimer = 60.0f). Note that memory usage has never been reported as a problem, so this is merely a touch of overzealous luxury. ( #2636 )  
							
							
 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								45a0db5979 
								
							
								 
							
						 
						
							
							
								
								Demo: PlotLine example displays the average value. ( #2759 ) + extra comments  
							
							
 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								c8418015c2 
								
							
								 
							
						 
						
							
							
								
								SliderScalar: Improved assert when using U32 or U64 types with a large v_max value. ( #2765 )  
							
							... 
							
							
 
							
							+  misc minor stuff. 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								a01d149369 
								
							
								 
							
						 
						
							
							
								
								Fixed context popup windows from not having the NoDocking flag. ( #2763 )  
							
							
 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								bcdb89ab07 
								
							
								 
							
						 
						
							
							
								
								Rebased imstb_rectpack on stb_rect_pack v1.00.  
							
							
 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								483534b525 
								
							
								 
							
						 
						
							
							
								
								Internals: Using simpler ImVec2ih construct + fixed misnamed member.  
							
							
 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								e1fca8d982 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into docking  
							
							... 
							
							
 
							
							# Conflicts:
#	imgui.cpp
#	imgui_internal.h 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								cb538fadfe 
								
							
								 
							
						 
						
							
							
								
								Internals: Storing settings using ImVec2ih to match what we are doing with dock node. + removed ImMax from reading Size value (done in Begin) + removed seemingly unnecessary FLT_MAX compare in SettingsHandlerWindow_WriteAll.  
							
							... 
							
							
 
							
							About: Added backquote to text copied into clipboard so it doesn't mess up with github formatting when pasted. 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								c4ff1b3578 
								
							
								 
							
						 
						
							
							
								
								ImDrawList: clarified the name of many parameters so reading the code is a little easier. ( #2740 )  
							
							
 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								3fb5cf3541 
								
							
								 
							
						 
						
							
							
								
								Using offsetof() when available in C++11. Avoids Clang sanitizer complaining about old-style macros. ( #94 )  
							
							
 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								10a202422a 
								
							
								 
							
						 
						
							
							
								
								Docking: Extracted some of BeginDocked() into a DockContextBindNodeToWindow() function.  
							
							... 
							
							
 
							
							Moved one of the undocking blurb to favor fast path.
(Commit intended to have no functional side effects) 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								27431dcc6b 
								
							
								 
							
						 
						
							
							
								
								Docking: fix BeginDocked() path that creates node so that SetNextWindowDockID() doesn't immediately discard the node..( #2109 )  
							
							... 
							
							
 
							
							Amend 515ecbddc2 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								d8f9f6ba2a 
								
							
								 
							
						 
						
							
							
								
								Viewport: Fixed issue where resize grip would display hovered (before of extruded hit rectangle) while mouse is still off the OS bounds so click would miss it and focus the OS window behind expected one. ( #1542 )  
							
							
 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								c4b0bf718a 
								
							
								 
							
						 
						
							
							
								
								More typos in comments ( #2738 )  
							
							
 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								a856c670c1 
								
							
								 
							
						 
						
							
							
								
								TabBar: fixed single-tab not shrinking their width down.  
							
							... 
							
							
 
							
							+ minor typo fixes (#2738 ) 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								72090b646f 
								
							
								 
							
						 
						
							
							
								
								Fixed incorrect assignment of IsFallbackWindow which would tag dock node host windows created in NewFrame() as such, messing with popup viewport inheritance.  
							
							
 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								aedcd2fb1a 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into docking  
							
							... 
							
							
 
							
							# Conflicts:
#	docs/CHANGELOG.txt
#	examples/imgui_impl_dx11.cpp
#	imgui.cpp 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								a33cedda14 
								
							
								 
							
						 
						
							
							
								
								Internals: Renaming window size calc functions.  
							
							
 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								7abd41bd5f 
								
							
								 
							
						 
						
							
							
								
								TabBar: fixed ScrollToBar request creating bouncing loop when tab is larger than available space.  
							
							
 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								76ccbb899d 
								
							
								 
							
						 
						
							
							
								
								Viewport: Fix modal/popup window being stuck in unowned hidden viewport associated to fallback window without stealing it back. ( #1542 )  
							
							... 
							
							
 
							
							Viewport: Fix modal reference viewport when opened outside of another window.
+ Comments 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								5d87ee8d82 
								
							
								 
							
						 
						
							
							
								
								Internals: Added function index for Viewport and Docking. Renamed a few functions.  
							
							
 
							
						 
						
							ago%!(EXTRA string=6 years)