Commit Graph

349 Commits

Author SHA1 Message Date
omar
b667d5a9e7 Nav: Internals: Renamed ImGuiButtonFlags_NoNavOverride to ImGuiButtonFlags_NoNavFocus + fixed a theorically missing test in ButtonBehavior() (#787) 2017-10-13 13:31:34 +02:00
omar
0371219222 Nav: Internals: Renamed SetActiveIDNoNav -> SetActiveID() and old SetActiveID() -> SetFocusID(), both functions needs to be called when both are desirabled. (#787)
May break code relying on imgui_internal.h, relying on nav and not calling ButtonBehavior().
2017-10-13 13:31:34 +02:00
omar
4be967823f Exposed Scrollbar() in imgui_internal.h and removed a bool arg 2017-10-13 13:30:28 +02:00
omar
7a14d7dfdc Nav: More consistently drawing a (thin) navigation rectangle hover filled frames such as tree nodes, collapsing header, menus. (#787) 2017-10-11 19:05:36 +02:00
omar
69dd895358 Nav: Renaming NavInitDefaultRequest -> NavInitRequest 2017-10-06 15:54:29 -07:00
omar
d2975115cd Nav: Caching into g.NavAnyRequest to minimize hot path cost (and so we can add many more request sources) 2017-10-06 15:14:28 -07:00
omar
c3105919ba Nav: Minor tweaks also toward removing processing from ItemAdd() 2017-10-06 14:51:15 -07:00
omar
64ce83b9ed Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
2017-10-06 14:27:29 -07:00
omar
042153d254 Internal: ItemAdd(), IsClippedEx(): removed unnecessary indirection for ID parameter 2017-10-06 14:23:18 -07:00
omar
59c6f35bf6 Added ActivateItem(), GetItemID() functions. 2017-10-05 21:34:01 -07:00
omar
80c4e2fe7b Nav: Tidying up activation mechanism so that setting NavActivateId can trigger buttons. 2017-10-05 21:27:08 -07:00
omar
2f27b733be Nav: Fixed uninitialized context variables for sanity. 2017-10-05 18:33:40 -07:00
omar
f2c9bd8d4f Nav: Fixed uninitialized context variables for sanity. 2017-10-05 16:39:59 -07:00
omar
f326fac64a Nav: Menus and popups now have move request wrap around vertically (using the move request forward thing added recently). (#787) 2017-10-05 10:29:17 -07:00
omar
42ee537be3 Comments 2017-10-04 10:45:35 -07:00
omar
a56b71e866 Nav: Added code to render thin highlight type. (#787) 2017-10-04 10:44:27 -07:00
omar
64a51327d3 Nav: Added NavMoveResultParentId internal info to record when the parent/context of a given NavId. Useful for various algorithms (currently looking at range selection stuff) (#787) 2017-10-03 13:25:40 -07:00
omar
74da533c93 Nav: Added NavJustNavigatedId internal info to record when we land on a given item after a navigation request, useful for various algorithms (currently looking at range selection stuff) (#787) 2017-10-03 11:22:38 -07:00
omar
88a354585a Nav: It's now possible to navigate sibling of a menu-bar while navigating inside one of their child. If a Left<>Right navigation request fails to find a match we forward the request to the root menu. (#787, #126)
Currently the sibling menu is isn't automatically opened, that's still left to it (and even that can be anoying in Windows when the first menu-item is a child menu)
2017-09-29 23:39:34 +02:00
omar
587e637db0 Nav: Taking note that we should aim to remove MenuBarAppending later. 2017-09-29 23:37:14 +02:00
omar
1eaa9d0621 Nav: Fixed uninitialized variable (that had no side-effects due to the code/data flow involved) 2017-09-29 23:37:14 +02:00
omar
8a5a29f0be Nav: Renamed internal field. 2017-09-29 19:28:19 +02:00
omar
9712a81f85 Nav: Rectangle rectangle stored per window and per layer as well. Makes things simpler, allows enable us to visualize more data. 2017-09-29 19:26:03 +02:00
omar
9737efb2f1 Nav: Store per-window last nav id also per-layer so we can easily query them for menu navigation code. (#787) 2017-09-29 17:58:25 +02:00
omar
8a814487fe Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
2017-09-29 16:30:43 +02:00
omar
30b1d85962 Nav: Commiting some better organized Debug helper because this going to stay for a bit. 2017-09-28 23:48:30 +02:00
omar
164f22d5b7 Comments 2017-09-28 22:00:49 +02:00
omar
df366b230e ColorPicker4: Use nav flag to provide a slighly better experience when using navigation (#787, #346) 2017-09-28 20:22:30 +02:00
omar
2d859dee4e Nav: Added ImGuiItemFlags_NoNav item flag 2017-09-28 19:58:01 +02:00
omar
4b4e455c40 Nav: Internal nenaming 2017-09-28 19:41:30 +02:00
omar
50ba543743 Comments 2017-09-28 19:35:10 +02:00
omar
e0a2a832cd Nav: Changed internal flag to NoNavDefaultFocus to be false by allow, and more consistent (#787) 2017-09-28 19:18:41 +02:00
omar
ca4db8c905 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
2017-09-28 17:40:25 +02:00
omar
926c1cf9a4 Merged from Navigation branch: ImGuiItemFlags_SelectableDontClosePopup flag 2017-09-28 17:02:28 +02:00
omar
f99348711b Added VerticalSeparator() entry point in imgui_internal. Seperator() in an horizontal layout context still does that. 2017-09-28 16:41:01 +02:00
omar
d394c7ad0b Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
2017-09-28 15:45:35 +02:00
omar
0106dcbd02 Fixed IsItemHovered() - part of the processing has to be done in ItemAdd() because the widget may alter clipping rectangle temporarily. 2017-09-28 15:43:26 +02:00
omar
35f65e05ed Merge branch 'master' into navigation 2017-09-28 00:33:29 +02:00
omar
fafe65a8fc Refactor to move the responsability of SetHovered() to ItemHoverable() - previously IsHovered(). Simpler and the parallel to ItemAdd is clearer with the new name. 2017-09-28 00:21:47 +02:00
omar
7bcb1d3816 Internals: ButtonBehavior(), IsHovered() moved the responsability of flatten_child higher level to ButtonBehavior() - not super sure about the elegance of this 2017-09-27 22:59:40 +02:00
omar
cc26db8ec7 Merge branch 'master' into navigation 2017-09-27 17:25:50 +02:00
omar
0adcddac39 IsItemHovered(), ItemAdd(): finishing cleaning up, moved the code to IsItemHovered() so ItemAdd() is more lightweight and the two IsXXXHovered functions are now very similar, making their differences less confusing. 2017-09-27 17:21:50 +02:00
omar
99c7622a1b ItemAdd(), not performing computation for IsItemRectHovered() which does them itself, allowing us in the next commit to optimize ItemAdd() and make its logic more consistent with IsHovered(). 2017-09-27 16:20:53 +02:00
omar
a2b2e56e8e Merge branch 'master' into navigation 2017-09-27 12:31:12 +02:00
omar
8374a454da Removed extraneous ImGui:: prefixes. Declared ColorEditOptionsPopup in imgui_internals.h. Tweaked internal signatures. 2017-09-27 11:39:13 +02:00
omar
8fd4beddb8 Merge branch 'master' into navigation 2017-09-26 20:28:40 +02:00
omar
072d6d8cb5 ImFontAtlas: Refactored internals API to 1) avoid building lookup table multiple times for merged fonts + 2) allow the mapping of custom icons inside fonts (wip, uncommited) 2017-09-26 19:26:16 +02:00
omar
f1a20ec66d Merge branch 'master' into navigation 2017-09-26 16:54:37 +02:00
omar
be03882a15 Separator(): output vertical separator when used in horizontal layout mode, so it works in menu bars. 2017-09-26 15:43:48 +02:00
omar
69d0d33451 Exposed PushMultiItemsWidths() to imgui_internal.h 2017-09-25 22:45:10 +02:00
omar
7e8069dd23 Merge branch 'master' into navigation 2017-09-25 22:08:38 +02:00
omar
0d56140b4a BeginCombo(): rework internals a little to make it easier to provide custom combo-like elements relying in BeginCombo().
BeginPopupEx() doesn't enforce AlwaysAutoResize flag anymore.
2017-09-25 21:45:34 +02:00
omar
4b82759598 SetNextWindowPos: added a ImVec2 pivot parameter for positioning a given a center, bottom-right position, etc. As a generalization of SetNextWindowPosCenter() which is now obsolete. This will be useful for combo-like popups as well.
Demo: Simple-overlay window uses the SetWindowPos pivot to select a corner to position itself at.
2017-09-25 18:25:43 +02:00
omar
0a5fb24f10 Popups: Exposing a little more of popups internals in imgui_internals.h 2017-09-25 12:52:06 +02:00
omar
44e8d94aba Merge branch 'master' into navigation 2017-09-18 15:32:31 +02:00
Bruce Mitchener
2fcdeb7f12 Remove commas after last item in enumeration.
This brings these enums to match the rest of the code and fixes
2 warnings under clang about using C++11 extensions.
2017-09-14 10:35:30 +07:00
omar
66a9d4856c Merge branch 'master' into navigation
# Conflicts:
#	imgui_internal.h
2017-09-06 20:37:29 +02:00
omar
cb2775ae54 Internals: ImGuiItemFlags comments 2017-09-06 20:36:36 +02:00
omar
62d7fa4324 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
2017-09-06 20:33:39 +02:00
omar
f63c03c464 Internals: moved ButtonRepeat and AllowKeyboardFocus bools/stacks to a generic ItemFlags stack. Merged from Navigation branch. 2017-09-06 20:28:36 +02:00
omar
5c4fda0fbc Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
2017-09-06 19:17:51 +02:00
omar
2169bf6895 Fixed WantTextInput from being true when an activated Drag or Slider was previously turned into an InputText(). (#1317) 2017-09-06 17:25:36 +02:00
omar
790605e359 Minor comments + renaming internal fields 2017-09-06 17:20:54 +02:00
omar
e8dbf1c795 Combo: Internally split into BeginCombo(), EndCombo(), toward a more flexible combo api. 2017-09-01 22:10:13 +02:00
omar
804ee78731 Added IsWindowAppearing(). 2017-09-01 21:55:59 +02:00
omar
ddf41b0398 Merged from Navigation branch. TAB/Alt-TAB processing now deactivate if holding Ctrl. 2017-08-29 17:27:19 +08:00
omar
358e7a194e Added GetKeyPressedAmount() (from Nav branch) to be able to measure fast repeat rate accurately. Added internal CalcTypematicPressedRepeatAmount() function. 2017-08-29 16:13:17 +08:00
omar
ee42fae468 Merge various minor things (supposedly harmless) from Navigation branch into Master to reduce differences. (#787) 2017-08-29 16:05:12 +08:00
omar
2ee1b70652 Merge branch 'master' into navigation
# Conflicts:
#	imgui_internal.h
2017-08-29 15:36:36 +08:00
omar
01d4bf299a Added overcomplicated RenderRectFilledRangeH() to fix rounded progress bar, which will also help for range widgets and perhaps sliders grabs over rounded areas. (#1296, #76) 2017-08-29 15:22:30 +08:00
omar
7a9ea281be ImSwap() helper. 2017-08-28 19:27:12 +08:00
omar
1f51e8f39d Internals: Renamed some ImGuiCorner enums. 2017-08-28 14:11:11 +08:00
omar
807322c9a5 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
2017-08-26 18:43:10 +08:00
omar
419b22a487 Internals: Split some code out of NewFrame() into an Initialize() function. 2017-08-26 16:35:39 +08:00
omar
f72ca6d22c ImFontConfig: Added RasterizerMultiply option to alter the brightness of individual fonts at rasterization time, which may help increasing readability for some. Added RasterizerFlags for custom rasterizer flags (aka imgui_freetype) 2017-08-26 14:11:56 +08:00
omar
37f3a718c6 Marked all fmt + va_list functions with format attribute so GCC/Clang can warn about them. Not ignoring -Wsuggest-attribute=format anymore for GCC/Clang. 2017-08-25 16:10:14 +08:00
omar
40f608ce9b Version 1.52 WIP 2017-08-25 15:12:12 +08:00
omar
55a6209931 Version 1.51 2017-08-25 00:29:59 +08:00
omar
141339e4b7 (internals) Renamed FocusedWindow to NavWindow to match terminology of navigation branch 2017-08-22 19:51:12 +08:00
ocornut
2ad2190d47 Merge 20a0fde012 Tidying up default clipboard handler for non Windows-OS (from Nav branch) 2017-08-22 19:47:52 +08:00
omar
bea06117bb Nav: Fix navigation inside child windows. Removed GetChildID() and storin/g the info within the window. (#1291) 2017-08-22 19:26:21 +08:00
ocornut
50b3a14d0a Merge 2545d75c3b from Nav - Tidying up, removed two unnecessary window flags from being exposed in imgui.h 2017-08-22 18:26:27 +08:00
omar
d5b0d51274 Minor miscellaneous merges from Navigation branch to reduce divergence a little bit 2017-08-22 18:13:10 +08:00
omar
9670fe9ca7 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
2017-08-22 17:51:20 +08:00
omar
6ee317d26d ImRect::Clip() -> ClipWith() to clarify meaning, going to undo the change in Nav branch. 2017-08-22 17:46:50 +08:00
omar
53e73182ff Merge branch 'master' into navigation
# Conflicts:
#	imgui_internal.h
2017-08-21 00:04:45 +08:00
omar
530baee1a7 Removed tabs that slipped through the cracks 2017-08-21 00:03:37 +08:00
omar
067127f113 Columns: Caching columns clipping rectangles (#125) 2017-08-20 23:17:59 +08:00
omar
adeaf1cd72 Columns: Moved PushColumnClipRect() to imgui_internal.h 2017-08-20 23:09:43 +08:00
omar
1c83b073c6 Columns: A set of column (and most importantly the right-most column) do not register its content to the parent, not affecting the window contents size. (#519, #125, #913) 2017-08-20 20:58:23 +08:00
omar
7f0063f858 Columns: Added ImGuiColumnsFlags_NoResize flag (internal). (#913, #125) 2017-08-20 19:32:50 +08:00
omar
19a42cb2fd Columns: Moved BeginColumns/EndColumns/flags from #913 to imgui_internals.h + minor shallow tweaks. Removed demo code temporarily. (#125) 2017-08-20 18:44:48 +08:00
omar
bc78535bbf Merge branch 'master' of https://github.com/ggtucker/imgui into ggtucker-master
# Conflicts:
#	imgui.cpp
#	imgui.h
2017-08-20 18:22:34 +08:00
omar
bf0d9c123e Merge branch 'master' into navigation 2017-08-18 00:25:12 +08:00
omar
8be7a60f20 ImFontAtlas: Re-arranging code to simplify implementation of imgui_freetype. (#618) 2017-08-17 21:19:54 +08:00
omar
1086c87767 ImFontAtlas: Re-arranging code to simplify implementation of imgui_freetype. (#618) 2017-08-17 21:13:14 +08:00
omar
4075cc58e9 ImFontAtlas; Re-arranging code to simplify implementation of imgui_freetype (#618) 2017-08-17 20:44:44 +08:00
omar
a85a14370b OpenPopupEx() internal tweaks to receive an ImGuiID, BeginPopupContextXXX shortening unnecessarily long identifier. 2017-08-16 15:47:10 +08:00
omar
d2259f65e5 Undo part of 32dbe836d0 to keep the same name for both overloads (#891, #799) 2017-08-16 13:42:41 +08:00
omar
e682362f35 TODO list update, comments 2017-08-16 12:54:51 +08:00