|  |  | @ -30,72 +30,6 @@ HOW TO UPDATE? | 
			
		
	
		
		
			
				
					
					|  |  |  |   and API updates have been a little more frequent lately. They are documented below and in imgui.cpp and should not affect all users. |  |  |  |   and API updates have been a little more frequent lately. They are documented below and in imgui.cpp and should not affect all users. | 
			
		
	
		
		
			
				
					
					|  |  |  | - Please report any issue! |  |  |  | - Please report any issue! | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | ----------------------------------------------------------------------- |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |  DOCKING+MULTI-VIEWPORT BRANCH (In Progress) |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | ----------------------------------------------------------------------- |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | DOCKING FEATURES |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | (see https://github.com/ocornut/imgui/wiki/Docking for quick intro) |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | - Added Docking system: [BETA] (#2109, #351) |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |   - Added ImGuiConfigFlags_DockingEnable flag to enable Docking. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     Set with `io.ConfigFlags |= ImGuiConfigFlags_DockingEnable;`. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |   - Added DockSpace(), DockSpaceOverViewport() API. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |   - Added ImGuiDockNodeFlags flags for DockSpace(). |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |   - Added SetNextWindowDockID(), SetNextWindowClass() API. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |   - Added GetWindowDockID(), IsWindowDocked() API. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |   - Added ImGuiWindowFlags_NoDocking window flag to disable the possibility for a window to be docked. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     Popup, Menu and Child windows always have the ImGuiWindowFlags_NoDocking flag set. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |   - Added ImGuiWindowClass to specify advanced docking/viewport related flags via SetNextWindowClass(). |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |   - Added io.ConfigDockingNoSplit option. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |   - Added io.ConfigDockingWithShift option. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |   - Added io.ConfigDockingAlwaysTabBar option. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |   - Added io.ConfigDockingTransparentPayload option. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |   - Style: Added ImGuiCol_DockingPreview, ImGuiCol_DockingEmptyBg colors. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |   - Demo: Added "DockSpace" example app showcasing use of explicit dockspace nodes. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | MULTI-VIEWPORT FEATURES |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | (see https://github.com/ocornut/imgui/wiki/Multi-Viewports for quick intro) |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | Breaking Changes: |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | - IMPORTANT: When multi-viewports are enabled (with io.ConfigFlags |= ImGuiConfigFlags_ViewportsEnable), |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |   all coordinates/positions will be in your natural OS coordinates space. It means that: |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |    - Reference to hard-coded positions such as in SetNextWindowPos(ImVec2(0,0)) are _probably_ not what you want anymore. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |      Use GetMainViewport()->Pos to offset hard-coded positions, e.g. SetNextWindowPos(GetMainViewport()->Pos). |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |    - Likewise io.MousePos and GetMousePos() will use OS coordinates. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |      If you query mouse positions to interact with non-imgui coordinates you will need to offset them. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |      e.g. subtract GetWindowViewport()->Pos. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | - IO: Removed io.DisplayVisibleMin, io.DisplayVisibleMax settings (they were marked obsoleted, used to clip within the (0,0)..(DisplaySize) range). |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | Other changes: |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | (FIXME: This need a fuller explanation!) |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | - Added ImGuiPlatformIO structure and GetPlatformIO(). |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |   - Similarly to ImGuiIO and GetIO(), this structure is the main point of communication for backends supporting multi-viewports. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |   - Backend sets functions in ImGuiPlatformIO to manipulate platform windows. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |   - ImGuiPlatformIO::Monitors is a list of platform monitors (input from backend) |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |   - ImGuiPlatformIO::Viewports is a list of viewports (output from dear imgui) |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | - Added ImGuiPlatformMonitor to feed OS monitor information in the ImGuiPlatformIO::Monitors. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | - Added GetWindowViewport(), SetNextWindowViewport(). |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | - Added GetWindowDpiScale(). |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | - Added GetOverlayDrawList(ImGuiViewport* viewport). |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |   The no-parameter version of GetOverlayDrawList() return the overlay for the current window's viewport. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | - Added UpdatePlatformWindows(), RenderPlatformWindowsDefault(), DestroyPlatformWindows() for usage in application setup. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | - Added FindViewportByID(), FindViewportByPlatformHandle() for usage by backends. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | - Added ImGuiConfigFlags_ViewportsEnable configuration flag and other viewport options. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | - Added io.ConfigViewportsNoAutoMerge option. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | - Added io.ConfigViewportsNoTaskBarIcon option. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | - Added io.ConfigViewportsNoDecoration option. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | - Added io.ConfigViewportsNoDefaultParent option. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | - Added ImGuiBackendFlags_PlatformHasViewports, ImGuiBackendFlags_RendererHasViewports, ImGuiBackendFlags_HasMouseHoveredViewport backend flags. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | - Added io.AddMouseViewportEvent() (optional _even_ for multi-viewport support, tied to ImGuiBackendFlags_HasMouseHoveredViewport flag). |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | - Expanded ImGuiViewport structure, ImGuiViewportFlags flags. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | - Added ImGuiWindowClass and SetNextWindowClass() for passing viewport related hints to the OS/platform back-end. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | - Examples: Renderer: OpenGL2, OpenGL3, DirectX9, DirectX10, DirectX11, DirectX12, Vulkan: Added support for multi-viewports. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | - Examples: Platforms: Win32, GLFW, SDL2: Added support for multi-viewports. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |   Note that Linux/Mac still have inconsistent support for multi-viewports. If you want to help see https://github.com/ocornut/imgui/issues/2117. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | ----------------------------------------------------------------------- |  |  |  | ----------------------------------------------------------------------- | 
			
		
	
		
		
			
				
					
					|  |  |  |  VERSION 1.89.8 WIP (In Progress) |  |  |  |  VERSION 1.89.8 WIP (In Progress) | 
			
		
	
	
		
		
			
				
					|  |  | 
 |