omar 
							
						 
					 
					
						
						
							
						
						7d5a17e5e4 
					 
					
						
						
							
							Remove trailing spaces (grep for ' \r?$' in visual studio)  
						
						
						
						
					 
					
						2019-09-17 11:33:18 +02:00 
						 
				 
			
				
					
						
							
							
								omar 
							
						 
					 
					
						
						
							
						
						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 )  
						
						
						
						
					 
					
						2019-09-17 11:14:46 +02:00 
						 
				 
			
				
					
						
							
							
								omar 
							
						 
					 
					
						
						
							
						
						57623c15dd 
					 
					
						
						
							
							Font: Narrow ellipsis: various minor stylistic tweaks ( #2775 )  
						
						
						
						
					 
					
						2019-09-17 11:13:34 +02:00 
						 
				 
			
				
					
						
							
							
								Rokas Kupstys 
							
						 
					 
					
						
						
							
						
						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. 
						
						
					 
					
						2019-09-17 11:13:07 +02:00 
						 
				 
			
				
					
						
							
							
								Qix 
							
						 
					 
					
						
						
							
						
						561e7dd490 
					 
					
						
						
							
							Fix signed types warning in pasteboard handler ( #2786 )  
						
						
						
						
					 
					
						2019-09-17 16:21:09 +09:00 
						 
				 
			
				
					
						
							
							
								omar 
							
						 
					 
					
						
						
							
						
						b05f6f6f50 
					 
					
						
						
							
							Nav, Scrolling: Added support for Home/End key. ( #787 )  
						
						
						
						
					 
					
						2019-09-16 19:01:40 +02:00 
						 
				 
			
				
					
						
							
							
								omar 
							
						 
					 
					
						
						
							
						
						bfcdaeb610 
					 
					
						
						
							
							Disable with ConfigWindowsMemoryCompactTimer < 0.0f ( #2636 )  
						
						
						
						
					 
					
						2019-08-28 20:30:36 +02:00 
						 
				 
			
				
					
						
							
							
								omar 
							
						 
					 
					
						
						
							
						
						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 )  
						
						
						
						
					 
					
						2019-08-28 20:28:36 +02:00 
						 
				 
			
				
					
						
							
							
								omar 
							
						 
					 
					
						
						
							
						
						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. 
						
						
					 
					
						2019-08-23 12:02:52 +02:00 
						 
				 
			
				
					
						
							
							
								omar 
							
						 
					 
					
						
						
							
						
						3fb5cf3541 
					 
					
						
						
							
							Using offsetof() when available in C++11. Avoids Clang sanitizer complaining about old-style macros. ( #94 )  
						
						
						
						
					 
					
						2019-08-22 16:55:42 +02:00 
						 
				 
			
				
					
						
							
							
								omar 
							
						 
					 
					
						
						
							
						
						c4b0bf718a 
					 
					
						
						
							
							More typos in comments ( #2738 )  
						
						
						
						
					 
					
						2019-08-22 11:40:37 +02:00 
						 
				 
			
				
					
						
							
							
								omar 
							
						 
					 
					
						
						
							
						
						a856c670c1 
					 
					
						
						
							
							TabBar: fixed single-tab not shrinking their width down.  
						
						... 
						
						
						
						+ minor typo fixes (#2738 ) 
						
						
					 
					
						2019-08-22 11:38:58 +02:00 
						 
				 
			
				
					
						
							
							
								omar 
							
						 
					 
					
						
						
							
						
						a33cedda14 
					 
					
						
						
							
							Internals: Renaming window size calc functions.  
						
						
						
						
					 
					
						2019-08-19 21:48:52 +02:00 
						 
				 
			
				
					
						
							
							
								omar 
							
						 
					 
					
						
						
							
						
						9fce278918 
					 
					
						
						
							
							ColorPicker: Made rendering aware of global style alpha of the picker can be faded out. ( #2711 )  
						
						... 
						
						
						
						Note that some elements won't accurately fade down with the same intensity, and the color wheel when enabled will have small overlap glitches with (style.Alpha < 1.0). 
						
						
					 
					
						2019-08-16 11:46:11 +02:00 
						 
				 
			
				
					
						
							
							
								omar 
							
						 
					 
					
						
						
							
						
						f624455d7b 
					 
					
						
						
							
							Version 1.73 WIP  
						
						
						
						
					 
					
						2019-08-01 10:57:13 -07:00 
						 
				 
			
				
					
						
							
							
								omar 
							
						 
					 
					
						
						
							
						
						9bd7846f07 
					 
					
						
						
							
							Internal: Made ScrollToBringRectIntoView() handle recursing back to scroll parent window, so the function can be called elsewhere (instead of 1 deep recursion done in NavUpdateMoveResult().  
						
						
						
						
					 
					
						2019-07-31 18:37:55 -07:00 
						 
				 
			
				
					
						
							
							
								omar 
							
						 
					 
					
						
						
							
						
						6a0d0dab5a 
					 
					
						
						
							
							Version 1.72b (patch for nav)  
						
						
						
						
					 
					
						2019-07-31 14:31:06 -07:00 
						 
				 
			
				
					
						
							
							
								omar 
							
						 
					 
					
						
						
							
						
						4cfaf7d89c 
					 
					
						
						
							
							Scrolling, Nav: Fixed programmatic scroll leading to a slightly incorrect scroll offset when the window has decorations or a menu-bar (broken in 1.71). This was mostly noticeable when a keyboard/gamepad movement led to scrolling the view, or using e.g. SetScrollHereY() function. Fix/amend  a0994d74.  
						
						
						
						
					 
					
						2019-07-31 14:31:06 -07:00 
						 
				 
			
				
					
						
							
							
								omar 
							
						 
					 
					
						
						
							
						
						3548fb8013 
					 
					
						
						
							
							Internal refactor: moved all Scroll related functions in a same spot.  
						
						
						
						
					 
					
						2019-07-30 20:04:02 -07:00 
						 
				 
			
				
					
						
							
							
								omar 
							
						 
					 
					
						
						
							
						
						1b1e539288 
					 
					
						
						
							
							Internal: Moved NavScrollToBringItemIntoView() declaration to imgui_internal.h. Fixed spacing missing in  494d804. Fixed changelog wreck from 1.72.  
						
						
						
						
					 
					
						2019-07-30 18:21:44 -07:00 
						 
				 
			
				
					
						
							
							
								omar 
							
						 
					 
					
						
						
							
						
						5ef7445d92 
					 
					
						
						
							
							Internal: Avoid using GImGui multiple times in same function.  
						
						
						
						
					 
					
						2019-07-30 16:51:12 -07:00 
						 
				 
			
				
					
						
							
							
								omar 
							
						 
					 
					
						
						
							
						
						85ad8e0e2e 
					 
					
						
						
							
							Nav: Fixed an issue with NavFlattened window flag where widgets not entirely fitting in child window (often selectable because of their extruded bits) would be not considered to navigate toward the child window. ( #787 )  
						
						... 
						
						
						
						This creates a little bit of tension because g.NavDisableHighlight tends to makes the reference point not always visible.
Amend c665c15a7d 
						
						
					 
					
						2019-07-30 14:27:25 -07:00 
						 
				 
			
				
					
						
							
							
								omar 
							
						 
					 
					
						
						
							
						
						9183e7c426 
					 
					
						
						
							
							Version 1.73 WIP  
						
						
						
						
					 
					
						2019-07-29 15:54:32 -07:00 
						 
				 
			
				
					
						
							
							
								omar 
							
						 
					 
					
						
						
							
						
						ecb9b1e2eb 
					 
					
						
						
							
							Version 1.72  
						
						
						
						
					 
					
						2019-07-27 18:15:07 -07:00 
						 
				 
			
				
					
						
							
							
								omar 
							
						 
					 
					
						
						
							
						
						7a26a49f08 
					 
					
						
						
							
							Internal: Added IsMouseDragPastThreshold(). Tweaks. Todo.  
						
						... 
						
						
						
						Demo: Showing how to use the format parameter of Slider/Drag functions to display the name of an enum value instead of the underlying integer value 
						
						
					 
					
						2019-07-26 17:19:01 -07:00 
						 
				 
			
				
					
						
							
							
								omar 
							
						 
					 
					
						
						
							
						
						d057550209 
					 
					
						
						
							
							Fixed Clang 8.0 warning "empty expression statement has no effect; remove unnecessary ';' to silence this"  warning [-Wextra-semi-stmt]  
						
						... 
						
						
						
						+ Comment 
						
						
					 
					
						2019-07-24 17:07:05 -07:00 
						 
				 
			
				
					
						
							
							
								omar 
							
						 
					 
					
						
						
							
						
						824e8c53b4 
					 
					
						
						
							
							Internals: Added IMGUI_DEBUG_INI_SETTINGS. Made IMGUI_DEBUG_LOG redefinable in imconfig.h. Comments. Fix to allow Metrics's NodeWindow() being called with a NULL window.  
						
						
						
						
					 
					
						2019-07-23 21:37:09 -07:00 
						 
				 
			
				
					
						
							
							
								omar 
							
						 
					 
					
						
						
							
						
						baae057a03 
					 
					
						
						
							
							Internals: Merge in minor noise from wip Tables branch to simplify further merging.  
						
						
						
						
					 
					
						2019-07-23 13:28:36 -07:00 
						 
				 
			
				
					
						
							
							
								omar 
							
						 
					 
					
						
						
							
						
						26f14e056c 
					 
					
						
						
							
							Scrolling: Made mouse-wheel scrolling lock the underlying window until the mouse is moved again or until a short delay expires (2 seconds). This allow uninterrupted scroll even if child windows are passing under the mouse cursor. ( #2604 )  
						
						
						
						
					 
					
						2019-07-22 18:49:52 -07:00 
						 
				 
			
				
					
						
							
							
								omar 
							
						 
					 
					
						
						
							
						
						dcd03f62a7 
					 
					
						
						
							
							Scrolling: Made it possible for mouse wheel and navigation-triggered scrolling to override a call to SetScrollX()/SetScrollY(), making it possible to use a simpler stateless pattern for auto-scrolling.  
						
						... 
						
						
						
						Demo: Log, Console: Using a simpler stateless pattern for auto-scrolling. 
						
						
					 
					
						2019-07-22 18:49:51 -07:00 
						 
				 
			
				
					
						
							
							
								omar 
							
						 
					 
					
						
						
							
						
						835b50b773 
					 
					
						
						
							
							Internals: Nav: Tweak NavUpdatePageUpPageDown() to make it more readable.  
						
						
						
						
					 
					
						2019-07-22 17:27:41 -07:00 
						 
				 
			
				
					
						
							
							
								omar 
							
						 
					 
					
						
						
							
						
						29d9394a41 
					 
					
						
						
							
							OSX: Disabled default native Mac clipboard copy/paste implementation in core library (added in 1.71), because it needs application to be linked with '-framework ApplicationServices'. It can be explicitly enabled back by using '#define IMGUI_ENABLE_OSX_DEFAULT_CLIPBOARD_FUNCTIONS' in imconfig.h. Re-added equivalent using NSPasteboard api in the imgui_impl_osx.mm experimental back-end. ( #2546 )  
						
						
						
						
					 
					
						2019-07-21 19:06:07 -07:00 
						 
				 
			
				
					
						
							
							
								omar 
							
						 
					 
					
						
						
							
						
						4b44f25c9a 
					 
					
						
						
							
							Fixed incorrect application of io.DisplaySafeAreaPadding which would be problematic with multi-viewports when a monitor uses negative coordinates (correct clamping is done right below). ( #2674 )  
						
						
						
						
					 
					
						2019-07-21 18:19:56 -07:00 
						 
				 
			
				
					
						
							
							
								omar 
							
						 
					 
					
						
						
							
						
						f1ba217a92 
					 
					
						
						
							
							Internals: Extracted some code out of the NewFrame() function.  
						
						
						
						
					 
					
						2019-07-21 12:13:44 -07:00 
						 
				 
			
				
					
						
							
							
								ocornut 
							
						 
					 
					
						
						
							
						
						047dc16af5 
					 
					
						
						
							
							Debug Tools: Added DebugStartItemPicker() in imgui_internal.h to facilitate binding this anywhere in user's tool. Adedd highlight. Added IMGUI_DEBUG_TOOL_ITEM_PICKER_EX to break in ItemAdd().  
						
						
						
						
					 
					
						2019-07-19 11:28:03 -07:00 
						 
				 
			
				
					
						
							
							
								omar 
							
						 
					 
					
						
						
							
						
						1f3feb481e 
					 
					
						
						
							
							Internals: Refactor: Moved all Columns code from imgui.cpp to imgui_widgets.cpp ( #125 )  
						
						... 
						
						
						
						Also moved NextColumn between BeginColumn and NextColumn which makes it easier to work on that code. 
						
						
					 
					
						2019-07-17 17:10:27 -07:00 
						 
				 
			
				
					
						
							
							
								omar 
							
						 
					 
					
						
						
							
						
						130b44994e 
					 
					
						
						
							
							Debug, Metrics: Added "Tools->Item Picker" tool which allow clicking on a widget to break in the debugger within the item code. The tool calls IM_DEBUG_BREAK() which can be redefined in imconfig.h if needed.  
						
						
						
						
					 
					
						2019-07-16 18:25:49 -07:00 
						 
				 
			
				
					
						
							
							
								omar 
							
						 
					 
					
						
						
							
						
						e6a286b3a5 
					 
					
						
						
							
							Style: Added style.ColorButtonButton (left/right, defaults to ImGuiDir_Right) to move the color button of ColorEdit3/ColorEdit4 functions to either side of the inputs.  
						
						
						
						
					 
					
						2019-07-16 16:43:21 -07:00 
						 
				 
			
				
					
						
							
							
								omar 
							
						 
					 
					
						
						
							
						
						a35f42f123 
					 
					
						
						
							
							Removed TreeAdvanceToLabelPos() which is rarely used and only does SetCursorPosX(GetCursorPosX() + GetTreeNodeToLabelSpacing()). Kept redirection function (will obsolete). ( #581 ,  #324 )  
						
						
						
						
					 
					
						2019-07-15 18:30:20 -07:00 
						 
				 
			
				
					
						
							
							
								omar 
							
						 
					 
					
						
						
							
						
						7a9d32acee 
					 
					
						
						
							
							Fixed unnecessary test in UpdateMouseWheel() (thanks PVS).  
						
						... 
						
						
						
						TreeNodeBehavior: avoid computing bg_col for non-framed non-active tree nodes.
Comments, binaries update, minor typos. 
						
						
					 
					
						2019-07-15 18:30:20 -07:00 
						 
				 
			
				
					
						
							
							
								omar 
							
						 
					 
					
						
						
							
						
						71d20abbc3 
					 
					
						
						
							
							Settings: Minor optimization to reduce calls in SettingsHandlerWindow_WriteAll.  
						
						
						
						
					 
					
						2019-07-12 13:33:38 +02:00 
						 
				 
			
				
					
						
							
							
								omar 
							
						 
					 
					
						
						
							
						
						d52c6316c8 
					 
					
						
						
							
							Renamed ImFontAtlas::CustomRect to ImFontAtlasCustomRect. Keep redirection typedef (will obsolete).  
						
						
						
						
					 
					
						2019-07-12 11:58:46 +02:00 
						 
				 
			
				
					
						
							
							
								omar 
							
						 
					 
					
						
						
							
						
						e66799f79a 
					 
					
						
						
							
							Prefixed internal structs exposed in imgui.h with a fully qualified name to facilitate auto-generation with cimgui.  
						
						
						
						
					 
					
						2019-07-12 11:54:22 +02:00 
						 
				 
			
				
					
						
							
							
								omar 
							
						 
					 
					
						
						
							
						
						54c49b5fb1 
					 
					
						
						
							
							Window: Mouse wheel scrolling while hovering a child window is automatically forwarded to parent window if ScrollMax is zero on the scrolling axis. Also still case if ImGuiWindowFlags_NoScrollWithMouse is set (not new), but previously the forwarding  
						
						... 
						
						
						
						would be disabled if ImGuiWindowFlags_NoScrollbar was set on the child window, which is not the case any more (amend #1502 , #1380 ). 
						
						
					 
					
						2019-07-02 18:33:50 +02:00 
						 
				 
			
				
					
						
							
							
								omar 
							
						 
					 
					
						
						
							
						
						58c9f8a194 
					 
					
						
						
							
							Misc: Added IMGUI_DISABLE_METRICS_WINDOW imconfig.h setting to explicitly compile out ShowMetricsWindow(). + Internals: Minor renaming.  
						
						
						
						
					 
					
						2019-07-01 20:58:10 +02:00 
						 
				 
			
				
					
						
							
							
								omar 
							
						 
					 
					
						
						
							
						
						da29d77253 
					 
					
						
						
							
							Added SetScrollXHere, SetScrollFromPosX: Changelog, demo, comments ( #1580 ).  
						
						
						
						
					 
					
						2019-07-01 12:15:53 +02:00 
						 
				 
			
				
					
						
							
							
								kevreco 
							
						 
					 
					
						
						
							
						
						caf119a982 
					 
					
						
						
							
							Added 'SetScrollHereX' and 'SetScrollFromPosX' ( #1580 )  
						
						
						
						
					 
					
						2019-07-01 12:15:48 +02:00 
						 
				 
			
				
					
						
							
							
								omar 
							
						 
					 
					
						
						
							
						
						a89f05a10e 
					 
					
						
						
							
							Child windows inherit Hidden frames setting from parent more accurately, so HiddenFramesCannotSkipItems is honored by child windows.  
						
						
						
						
					 
					
						2019-06-29 20:12:15 +02:00 
						 
				 
			
				
					
						
							
							
								omar 
							
						 
					 
					
						
						
							
						
						401e05147c 
					 
					
						
						
							
							Internals: Moved CalcListClipping close to ImGuiListClipper code (no-op)  
						
						
						
						
					 
					
						2019-06-29 20:11:03 +02:00 
						 
				 
			
				
					
						
							
							
								omar 
							
						 
					 
					
						
						
							
						
						82711251b6 
					 
					
						
						
							
							Internals: ImGuiListClipper using absolute coordinate (instead of relative one). Minor no-op tweaks + ImDrawListSplitter assert  
						
						
						
						
					 
					
						2019-06-29 20:10:55 +02:00