omar
8011197c50
Merge branch 'viewport' into docking
...
# Conflicts:
# imgui.cpp
2019-01-10 16:02:32 +01:00
omar
c96aaef132
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
# imgui.h
2019-01-10 16:01:36 +01:00
omar
1f6e0b2f98
ImVector: Made a struct. Using T/T* in the code instead of value_type/iterator. Renamed index_from_pointer() to index_from_ptr() (was not documented, added in 1.63, users not supposed to use ImVector, hopefully not a big deal).
2019-01-10 15:51:08 +01:00
omar
61a99f994e
Minot internal tweaks, comments
2019-01-08 23:11:54 +01:00
omar
f53cd3ee0f
Internals: LowerBound: Use raw pointer typedefs, we never use iterator anywhere else in the codebase.
...
Demo: Typo.
C98 fix.
2019-01-08 17:37:07 +01:00
omar
57b1622afc
Added IMGUI_USE_STB_SPRINTF (undocumented) ( #1038 )
2019-01-08 15:28:33 +01:00
omar
b33977bc15
Tests: Reworking hook prototypes for imgui-test to be faster and multi-context friendly.
2019-01-07 23:59:05 +01:00
omar
3997e8b555
Fixed animated window titles from being updated when displayed in the CTRL+Tab list. + Adding overkill helpers for reusing buffers. ( #787 )
2019-01-07 22:46:42 +01:00
omar
6b32570644
Merge branch 'viewport' into docking
...
# Conflicts:
# imgui_internal.h
# imgui_widgets.cpp
2019-01-07 21:29:15 +01:00
omar
5af930f97a
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
# imgui.h
# imgui_internal.h
2019-01-07 21:28:29 +01:00
omar
5cb7ce2085
Renamed ImFont::GlyphRangesBuilder to ImFontGlyphRangesBuilder. Keep redirection typedef (will obsolete).
2019-01-06 16:59:51 +01:00
omar
c3af134cc8
IO: Renamed InputCharacters[], marked internal as was always intended. AddInputCharacter() goes into a queue which can receive as many characters as needed during the frame. This is useful for automation to not have an upper limit on typing speed. Will later transition key/mouse to use the event queue later.
2019-01-06 16:37:42 +01:00
omar
9ba202821f
Nav: Fixed an keyboard issue where holding Activate/Space for longer than two frames on a button would unnecessary keep the focus on the parent window, which could steal it from newly appearing windows. ( #787 )
2019-01-04 19:03:56 +01:00
omar
d223d1e951
Added bindings in Readme. Added internal IMGUI_DEBUG_LOG() helper. Comments, missing breaking changes note relative to imgui_impl_xxxx changes, not really part of core but worth adding in the imgui.cpp breaking change section.
2019-01-04 18:01:43 +01:00
omar
515ecbddc2
Docking: Fix for handling of orphan/inactive dock node with ConfigDockingTabBarOnSingleWindows (would crash).
2019-01-03 23:02:40 +01:00
omar
6777544855
Added sanity check to debug parent/child ordering issues (they would generally manifest with an assert/crash in EndFrame bu tthis assert will catch some earlier).
2019-01-03 21:42:36 +01:00
omar
5278da98d2
Merge branch 'viewport' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
# imgui_demo.cpp
2019-01-03 21:40:08 +01:00
omar
e1ed27aeaa
(Breaking change) Reorganized Viewports advanced flags, moved into new io.ConfigViewportsXXX flags. Pay attention that ImGuiConfigFlags_ViewportsDecoration became ConfigViewportsNoDecoeration, so the value is inverted! ( #1542 )
2019-01-03 21:33:33 +01:00
omar
c8349d3305
Viewport: Added ConfigViewportsNoParent to parent viewport default to NULL and not main viewport. Fix eg.. popups appearing erroneously focusing parent window.
2019-01-03 21:28:54 +01:00
omar
606175b98f
Viewport: Fix for minimization of individual viewports (the current back-end forcing a parent/child relationship between secondary viewports and the main viewport have hidden this issue). Follows d8ab2c1ac
.
2019-01-03 21:27:47 +01:00
omar
05bc323be0
Viewport: Fixed minimization of main viewport leading to it being omitted from platform_io.Viewport list where the users assume it is at index 0. Fix d8ab2c1ac
. It wasn't a problem when other viewports were child of the main viewport because they would all be minimized together. ( #1542 )
2019-01-03 21:27:39 +01:00
omar
599a52629a
Viewport: Added minimum viable information in the Changelog.
2019-01-03 17:46:23 +01:00
omar
c3efccaa9c
Docking: Merge fix duplicate line + added assert to ease debugging.
2019-01-02 23:49:31 +01:00
omar
b26f16a27f
Merge branch 'viewport' into docking
...
# Conflicts:
# imgui.cpp
2019-01-02 23:16:10 +01:00
omar
a0c2e55e8c
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2019-01-02 23:11:52 +01:00
omar
237109caa5
Internals: Extracted code out of EndFrame() into UpdateMouseMovingWindowEndFrame()
2019-01-02 23:08:32 +01:00
omar
b3469fa94b
Alternative fix for bug introduced in d845135
( #1651 ), fix CTRL+Tab and fallback tooltip.
2019-01-02 23:08:32 +01:00
omar
3e30bfd6c9
Revert "Fixes crash/assert bug introduced in d845135
( #1651 ): would assert when showing the CTRL+Tab list and or fallback "...." tooltip."
...
This reverts commit 1b0e38df47
.
2019-01-02 22:56:17 +01:00
omar
1b0e38df47
Fixes crash/assert bug introduced in d845135
( #1651 ): would assert when showing the CTRL+Tab list and or fallback "...." tooltip.
2019-01-02 22:14:28 +01:00
omar
5aebfedfad
Docking: Forward WindowClass from node to host window.
2019-01-02 21:41:00 +01:00
omar
ce1626a51e
Merge branch 'viewport' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
# imgui_internal.h
2019-01-02 21:36:21 +01:00
omar
0cabe4dedf
Viewport: Added ImGuiWindowClass / SetNextWindowClass() (concept imported from Docking ImGuiDockFamily), which currently allows to overwrite viewport flags on a per-window basis. Exposed FindViewportByID(). Win32: Support for ParentViewportId. ( #1542 )
2019-01-02 21:33:23 +01:00
omar
0d6e3ab2b0
Docking: Renamed SetNextWindowId() -> SetNextWindowID() for consistency. (function vs member are still horribly inconsistent atm)
2019-01-02 21:28:16 +01:00
omar
4a6f95acc8
Viewport: Added Platform_UpdateWindow hook for general purpose: Rework Win32 code to reflect viewport flags changes into Win32 while the window is active.
2019-01-02 19:03:36 +01:00
omar
5305c32242
Viewport: Reorder flags. Set owned viewport common decoration flags in Begin(). Moved code in UpdateViewportsEndFrame() before we introduce family/class based overrides.
2019-01-02 19:03:11 +01:00
omar
951c9dd68b
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_sdl.cpp
2019-01-02 19:00:31 +01:00
omar
4ea9fdbbea
Docking: Agressively assert when CentralNode is a not a leaf node in order to find our bug.
2019-01-02 16:22:45 +01:00
omar
e194219f2e
Renamed ImGuiDockFamily to ImGuiWindowClass. Renamed CompatibleWithClassZero to DockingAllowUnclassed. ( #2109 )
2019-01-02 16:22:44 +01:00
omar
6b97ded438
Happy new year! & comments
2019-01-02 10:57:57 +01:00
omar
e21bc44684
Comments: fixed missing line in the "how a simple rendering function may look like" section ( #2258 )
2019-01-02 09:57:25 +01:00
omar
d845135273
Error recovery: Extraneous/undesired calls to End() are now being caught by an assert in the End() function itself at the call site (instead of being reported in EndFrame). Past the assert, they don't lead to crashes any more. Missing calls to End(), pass the assert, should not lead to crashes any more, nor to the fallback/debug window appearing on screen. ( #1651 ).
2018-12-23 18:00:37 +01:00
omar
a9a60a24c1
Tweaked asserts
2018-12-23 17:51:50 +01:00
omar
a71d3c8cb3
Viewport: Misc comments following user feedbacks..
2018-12-21 18:40:16 +01:00
omar
238321c159
Fix merge in Docking branch, remove ConfigDockingWithShift flag from DX11 example + misnamed function.
2018-12-21 16:56:26 +01:00
omar
81a2546cea
Merge branch 'viewport' into docking
...
# Conflicts:
# examples/example_allegro5/main.cpp
# examples/example_win32_directx9/main.cpp
2018-12-20 23:06:29 +01:00
omar
ee5560a958
Merge branch 'master' into viewport + added style tweak block when viewports are enabled
...
# Conflicts:
# examples/example_glfw_opengl3/main.cpp
# examples/example_sdl_opengl3/main.cpp
# examples/example_win32_directx11/main.cpp
2018-12-20 23:04:40 +01:00
omar
d9fda22763
Viewport: Fixed not clearing request flags in main viewport, which led some back-end (SDL) to break on resize as PlatformRequestResize would stay true forever and inhibit new sizes passed to AddUpdateViewport(). ( #1542 )
2018-12-20 22:33:51 +01:00
omar
b471813f54
Made it illegal to call Begin("") with an empty string. This somehow accidentally worked before but had various undesirable side-effect as the window would have ID zero. In particular it is causing problems in viewport/docking branches.
2018-12-20 20:01:02 +01:00
omar
5794c0491a
Docking: Fix an edge case failing to dock into an explicit dockspace which only have inactive nodes (because all the windows are inactive). ( #2246 , #2109 )
2018-12-20 19:20:26 +01:00
omar
e043b89814
Merge branch 'viewport' into docking
...
# Conflicts:
# imgui.h
2018-12-20 17:03:21 +01:00
omar
02501f07c3
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
# imgui.h
2018-12-20 16:54:32 +01:00
omar
a0e5bb9532
Viewport: Corrected/clarified comments. Moved RenderPlatformWindowsDefault() next to UpdatePlatformWindow(). Removed unnecessary flag check.
2018-12-20 16:49:31 +01:00
omar
5691385a33
IO: Added BackendPlatformUserData, BackendRendererUserData, BackendLanguageUserData void* for storage use by back-ends. ( #2004 + for cimgui)
2018-12-20 11:41:24 +01:00
omar
6890e08bc5
Fixed using SetNextWindowPos() on a child window (which wasn't really documented) position the cursor as expected in the parent window, so there is no mismatch between the layout in parent and the position of the child window. Demo tweak and adding some child window stuff
2018-12-19 15:19:31 +01:00
omar
89ac0ea7c1
Various user-facing comments
2018-12-19 11:19:55 +01:00
omar
84d1ce3958
Tidying up README, moved entries to FAQ, updated screenshots, removed comma in title.
2018-12-18 16:17:27 +01:00
omar
ca953f0fee
Fix merge issue on master.
2018-12-18 15:11:11 +01:00
omar
088ef6623a
Merge branch 'viewport' into docking
2018-12-18 15:03:01 +01:00
omar
9c916cdaf9
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
2018-12-18 15:02:35 +01:00
omar
ae76a1fda7
Window, Focus, Popup: Fixed an issue where closing a popup by clicking another window with the _NoMove flag would refocus the parent window of the popup instead of the newly clicked window.
2018-12-18 15:01:15 +01:00
omar
510ca373a2
Moved setting up NavHideHighlightOneFrame from lower-level ClosePopupToLevel() to CloseCurrentPopup() with an explanation. (Followup on 68d3e139a7
)
2018-12-18 14:59:22 +01:00
omar
ac9512e095
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2018-12-14 18:46:24 +01:00
omar
65dac02171
Internals: Popups: Renamed CurrentPopupStack to BeginPopupStack which is much less ambiguous.
2018-12-14 18:44:17 +01:00
omar
f1c7596409
Internals: Popup related comments. Renamed the misleading internal ClosePopup() function. Added bool* test to BeginPopupModal in demo.
2018-12-14 18:42:22 +01:00
omar
5d20da1b36
Viewport, DPI: Now using DpiScale from the ImGuiPlatformMonitor array instead of calling Platform_GetWindowDpiScale() before the platform window creation. Might even tentatively see if things work out without Platform_GetWindowDpiScale. ( #1676 )
2018-12-14 12:12:26 +01:00
omar
587506dd57
Tests: Changed prototype of ImGuiTestEngineHook_ItemAdd to match functions called in same spot. Made ButtonBehavior submit fallback item info if ItemAdd() was not called (for resize grips, resize borders, scrollbar, columns, etc.)
2018-12-14 11:27:02 +01:00
omar
9b09c7597f
Merge branch 'viewport' into docking
...
# Conflicts:
# imgui_demo.cpp
2018-12-13 19:21:51 +01:00
omar
2a1e903f43
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.h
2018-12-13 19:20:34 +01:00
omar
8497948ba0
Comments, minor tweaks.
2018-12-13 19:17:36 +01:00
omar
e50894c95e
Metrics: Fixed crash when viewports are disabled (g.MouseLastHoveredViewport is never set).
2018-12-13 19:16:44 +01:00
omar
991b16cc6a
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_demo.cpp
# imgui_widgets.cpp
2018-12-11 19:46:46 +01:00
omar
febc3e6aa1
Internals: Windows hidden with HiddenFramesRegular (but NOT HiddenFramesForResize) preserve their SizeContents, so restoring a auto-resize window after it's been hidden by tabs won't reset its size for a frame. Arguable. Let's see how it goes. (Followup to b48e295bddbf965d7382ec5578ed05d2fe601114)
2018-12-11 19:19:12 +01:00
omar
d9a84de9d9
Contents size is preserved while a window collapsed. Fix auto-resizing window losing their size for one frame when uncollapsed.
2018-12-11 19:08:06 +01:00
omar
067b691fd8
Merge branch 'viewport' into docking
...
# Conflicts:
# docs/TODO.txt
# imgui.cpp
# imgui.h
# imgui_demo.cpp
# imgui_draw.cpp
# imgui_internal.h
# imgui_widgets.cpp
2018-12-11 13:23:00 +01:00
omar
c40feabe4d
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2018-12-11 12:41:40 +01:00
omar
54a60aaa40
Added BETA api for Tab Bar/Tabs widgets. ( #261 , #351 ) (merged this feature from the from Docking branch so it can be used earlier as as standalone feature)
...
- Added BeginTabBar(), EndTabBar(), BeginTabItem(), EndTabItem(), SetTabItemClosed() API.
- Added ImGuiTabBarFlags flags for BeginTabBar().
- Added ImGuiTabItemFlags flags for BeginTabItem().
- Style: Added ImGuiCol_Tab, ImGuiCol_TabHovered, ImGuiCol_TabActive, ImGuiCol_TabUnfocused, ImGuiCol_TabUnfocusedActive colors.
- Demo: Added Layout->Tabs demo code.
- Demo: Added "Documents" example app showcasing possible use for tabs.
2018-12-11 12:36:47 +01:00
omar
cc1283fb78
Added ImGuiWindowFlags_UnsavedDocument window flag to append '*' to title without altering the ID, as a convenience to avoid using the ### operator. (merged from Docking branch)
2018-12-11 12:20:48 +01:00
omar
15447f5b7b
Using named flags instead of 0 + shallow formatting tweaks from other branches.
2018-12-11 12:14:27 +01:00
omar
2d4018aa89
Docking: Fix io.ConfigWindowsMoveFromTitleBarOnly for docking branch.
2018-12-11 11:03:28 +01:00
omar
e6439e1a16
Merge branch 'viewport' into docking + moved io.ConfigFlags ImGuiConfigFlags_DockingNoSplit to io.ConfigDockingNoSplit
...
# Conflicts:
# imgui.cpp
# imgui.h
# imgui_demo.cpp
2018-12-10 16:21:49 +01:00
omar
26b9e2d0a5
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
# imgui_demo.cpp
2018-12-10 16:14:31 +01:00
omar
9476e07d5a
Added io.ConfigWindowsMoveFromTitleBarOnly option. Still is ignored by window with no title bars (often popups). This affects clamping window within the visible area: with this option enabled title bars need to be visible. ( #899 )
...
Tweaked default value of style.DisplayWindowPadding from (20,20) to (19,19) so the default style as a value which is the same as the title bar height.
2018-12-10 16:05:30 +01:00
omar
59f3c4fc20
Renamed io.ConfigResizeWindowsFromEdges to io.ConfigWindowsResizeFromEdges and removed its [Beta] mark. Resizing windows from edge is now enabled by default (io.ConfigWindowsResizeFromEdges=true). Note that it only works _if_ the back-end sets ImGuiBackendFlags_HasMouseCursors, which the standard back-end do.
2018-12-10 15:41:01 +01:00
omar
d20e3ee710
Tests: Adding imgui-test engine hooks (experimental) to provide missing widget state to the testing system.
2018-12-10 14:30:41 +01:00
omar
f768727284
Merge branch 'viewport' into docking
...
# Conflicts:
# imgui.cpp
2018-12-06 16:36:17 +01:00
omar
a03846bd9e
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2018-12-06 16:33:39 +01:00
omar
ac52d9d44c
Viewport: Fix handling of PlatformRequestResize/PlatformRequestPos. when OS decoration are enabled via ImGuiConfigFlags_ViewportsDecoration .
2018-12-06 15:36:36 +01:00
omar
e2082a675c
Viewport: Fix handling of PlatformRequestResize/PlatformRequestPos. when OS decoration are enabled via ImGuiConfigFlags_ViewportsDecoration .
2018-12-05 23:39:04 +01:00
omar
b94f0241f1
Docking: Adjusting the docking popup menu position so it tends to stay within the same viewport.
2018-12-05 21:19:42 +01:00
omar
b96b1f2412
Docking: Documenting an issue. Renamed member of ImGuiDockFamily.
2018-12-04 16:38:27 +01:00
omar
125e62491e
Internals: Nav: Added ImGuiNavLayer_ to clarify semantic of previously integer NavLayer values, and not pretend that increment/decrement operators on them super flexible. + Storage tweaks.
2018-12-04 14:34:49 +01:00
omar
6644f1ff64
Docking: Added io.ConfigDockingTabBarOnSingleWindows option (mostly made possible by the previous fixes).
...
Note that dock node have regressions compared to current floating window: no collapse, no auto-resize, resize grip under the scrollbar, border issues, general overhead. Will tackle those.
2018-12-04 13:37:46 +01:00
omar
8cac70d8af
Docking: Focus fix (missing line in 8bac6d4
)
2018-12-04 13:34:16 +01:00
omar
5105c6c0d0
Merge branch 'viewport' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
2018-12-04 00:06:26 +01:00
omar
3a678d48b1
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_dx10.cpp
# examples/imgui_impl_dx11.cpp
2018-12-04 00:05:45 +01:00
omar
8bac6d428d
Docking: Another attempt at tidying the inconsistent focus / tab bar reordering issues, and toward generalizing single window dock nodes. ( #2109 )
2018-12-04 00:01:20 +01:00
omar
2da200fc16
Docking: Fix generalizing the transition from loose windows to dock node so we can switch to single window dock node while transferring viewports (vs creating two viewports and dropping one). + Extracted DockContextGenNodeID out of DockContextAddNode().
2018-12-04 00:01:19 +01:00
omar
fb6ef8b1db
Comments, tweak
2018-12-03 23:50:59 +01:00
omar
f6b6ad1959
Viewport: Minor tweaks, better struct layout.
2018-12-03 20:30:00 +01:00
omar
3e84f7cd1d
Viewport: Fixed a viewport bug which led some popups to merge in underlying host viewport when they should be z-over their parent viewport.
2018-12-03 18:16:47 +01:00