2193 Commits (025d4f0c978e77d3757825594f48b89c84a48f02)

Author SHA1 Message Date
omar a56b71e866 Nav: Added code to render thin highlight type. (#787) 7 years ago
matiTechno b36a043bbf typo 7 years ago
omar 6ea90af6b7 Nav: Highlight clipped within host window then extruded out. (#787) 7 years ago
omar cb4e6c8212 Nav: Selectable(): activating selectable also sets NavId + removed the MouseDelta test (added in 43ee5d73e9, #323) as I don't think it is needed. (#787) 7 years ago
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) 7 years ago
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) 7 years ago
omar 7f58bb03c1 Changed the internal name formatting of child windows to use slashes as separator, more readable. 7 years ago
omar cbc9730798 Metrics: Draw window bounding boxes when hovering Pos/Size. List all draw layers, trimming empty commands like Render() does. 7 years ago
omar 491edfd8d8 Nav: Fixed a crash introduced yesterday. 7 years ago
omar 0046c618b0 Nav: Allow to collapse tree nodes with NavLeft and open them with NavRight (#787, #1079) 7 years ago
omar ecd72cc0c7 Nav: Disabled the final axial check when considering candidates in most situations except menubars.
It's definitively undesirable inside Menu as we want to catch nav request failures reliably.
I think it may be considered as an option if we find this desirable i some circumstances. Right now ideally I'd remove it totally but with current scoring setup, without it we can't easily reach the Window Close button. (#787)
7 years ago
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)
7 years ago
omar f4e4c38705 BeginMenu(): fixed logic to distinguish vertical menu from one layed out in a menu bar. Makes MenuItem() in a regular window behave more consistently, and this will be also needed by upcoming menu-navigation changes in the nav branch. (#126, #787) 7 years ago
omar 9912f7eef8 BeginMenu(): fixed logic to distinguish vertical menu from one layed out in a menu bar. Makes MenuItem() in a regular window behave more consistently, and this will be also needed by upcoming menu-navigation changes in the nav branch. (#126, #787) 7 years ago
omar cf3b21179b Nav: Comments 7 years ago
omar 5a9ebeca9e Nav: Fix typo from 9712a81f85 7 years ago
omar bfaa426f7f Nav: Minor tidying up (adding local variables to be a little more sane). 7 years ago
omar 8a5a29f0be Nav: Renamed internal field. 7 years ago
omar 9712a81f85 Nav: Rectangle rectangle stored per window and per layer as well. Makes things simpler, allows enable us to visualize more data. 7 years ago
omar 54eb4c485e Nav: Marked misleading/broken code that will never execute. 7 years ago
omar e3c89aeb10 Nav: Fixed menuitems/selectable on menu layer (layer 1) from storing themselves in wrong layer of LastNavIds when hovered.causing inconsistencies and bugs when hovering menu with mouse then pressing ALT to return to layer 0).
NB: this is not a new bug introduced by the previous commit (which is related to nav layers), bug has been there for a while. (#787)
7 years ago
omar 9737efb2f1 Nav: Store per-window last nav id also per-layer so we can easily query them for menu navigation code. (#787) 7 years ago
omar 8a814487fe Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
7 years ago
omar fba9353c60 BeginMenu: Shuffling braces around to clarify flow 7 years ago
omar cf308f4039 Nav: Fixed SetItemDefaultFocus from stealing default focus when we are initializing default focus for a menu bar layer (#787) 7 years ago
omar f4398226cc Nav: Support for fallback horizontal scrolling with PadLeft/PadRight (nb: fallback scrolling is only used to navigate windows that have no interactive items). (#787) 7 years ago
omar 30b1d85962 Nav: Commiting some better organized Debug helper because this going to stay for a bit. 7 years ago
omar 1f7f54e196 Removed extraneous test. 7 years ago
omar df366b230e ColorPicker4: Use nav flag to provide a slighly better experience when using navigation (#787, #346) 7 years ago
omar 2d859dee4e Nav: Added ImGuiItemFlags_NoNav item flag 7 years ago
omar 878fa96896 Nav: Re-arranged ItemAdd() to maximize early out (#787) 7 years ago
omar dd0855de5c ButtonBehavior: Tidying up. 7 years ago
omar 4b4e455c40 Nav: Internal nenaming 7 years ago
omar e0a2a832cd Nav: Changed internal flag to NoNavDefaultFocus to be false by allow, and more consistent (#787) 7 years ago
omar af38749ea1 Nav: Fixed ButtonBehavior mistakenly setting active id when the Activate button is held and we have a new NavId, which affected browsing some popups (#787) 7 years ago
omar ca4db8c905 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
7 years ago
omar e8f7c83138 Begin: Shallow tweak to minimize diff with nav branch 7 years ago
omar 926c1cf9a4 Merged from Navigation branch: ImGuiItemFlags_SelectableDontClosePopup flag 7 years ago
omar f99348711b Added VerticalSeparator() entry point in imgui_internal. Seperator() in an horizontal layout context still does that. 7 years ago
omar 9142002121 Separator(): Tweak Logging so that the separator text is aligned according to tree padding. 7 years ago
omar d394c7ad0b Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
7 years ago
omar 0106dcbd02 Fixed IsItemHovered() - part of the processing has to be done in ItemAdd() because the widget may alter clipping rectangle temporarily. 7 years ago
omar 2a8eb618dc Nav: Fixed NavDown to open menu from a menu bar (#787) 7 years ago
omar 35f65e05ed Merge branch 'master' into navigation 7 years ago
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. 7 years ago
omar 2159629e9e Removed another msileading difference between the hovered functions (IsWindowContentHoverable() uses the root window already). Sorry for the commit spam! (making small commit to easily be able to Bisect those in case I make a mistake) 7 years ago
omar eca74d55c7 IsItemHovered(), IsHovered(): Shallow tweaks, eventually removed all the braces. 7 years ago
omar 2b7d4c713e Internals: Moved IsWindowContentHoverable() in the file 7 years ago
omar c5a79deb38 IsItemHovered(), IsHovered(): Shallow tweaks to make them more symetrical. Removed one set of braces. 7 years ago
omar 7bcb1d3816 Internals: ButtonBehavior(), IsHovered() moved the responsability of flatten_child higher level to ButtonBehavior() - not super sure about the elegance of this 7 years ago
omar 79ef64430c Nav: Fixed merge cc26db8ec7 7 years ago
omar cc26db8ec7 Merge branch 'master' into navigation 7 years ago
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. 7 years ago
omar 19e22baa06 ItemAdd(): more re-ordering of tests to match IsHovered() + comments 7 years ago
omar 344d48be31 IsItemHovered(), ItemAdd(): Fixed seemingly unnecessary comparaison of root windows, makes IsItemHovered() more consistent with internal IsHovered().
Original test was added in 6e99688fa7 should not have been using RootWindow in the first place.
The difference between public-facing and internal versions would only be noticeable with overlapped child windows, which doesn't really happen anyway
7 years ago
omar c075786d8b ItemAdd(): re-ordering the tests, submission should now be faster. 7 years ago
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(). 7 years ago
omar e87ad328e4 Moved implementation of Hovered-related functions next to each others + comments, before I attempt to work on them. No functional change here. 7 years ago
omar 869732c456 Nav: Removed unnecessary combo code (that kept the combo arrow highlighted after reverting to mouse controls). (#787) 7 years ago
omar a2b2e56e8e Merge branch 'master' into navigation 7 years ago
omar e56eba44fe Fixed not being able to move a window by clicking on one of its child window (#1337, #635), broken by 313d388bba 7 years ago
omar 8374a454da Removed extraneous ImGui:: prefixes. Declared ColorEditOptionsPopup in imgui_internals.h. Tweaked internal signatures. 7 years ago
omar bbd6d5d5b5 Combo: Cleaned up, removed unnecessary code (looks like this part went untouched for a long time!). 7 years ago
omar 8fd4beddb8 Merge branch 'master' into navigation 7 years ago
omar 9e1ad7295f ImFont: Renamed (supposedly internal) fields (e.g. XAdvance to AdvanceX). Custom text renderers might be affected if they didn't use the GetCharAdvance() helper function. 7 years ago
omar 10bb9524eb ImFont: Renamed ImFont::Glyph to ImFontGlyph (for consistency and so ImFontAtlas types can use it without ordering half of the file). Left a redirection type. 7 years ago
omar f1a20ec66d Merge branch 'master' into navigation 7 years ago
omar be03882a15 Separator(): output vertical separator when used in horizontal layout mode, so it works in menu bars. 7 years ago
omar c7a606ab7e Horizontal layout does the minimum job to be usable internally - not exposed (#97) 7 years ago
omar 728deff56c Comments, debug code (commented), todo list 7 years ago
omar 82748df71a WantCaptureMouse: Tweaked logic so WantCaptureMouse can stay false when e.g. hovering over void while an InputText() is active. (#621) 7 years ago
omar 69d0d33451 Exposed PushMultiItemsWidths() to imgui_internal.h 7 years ago
omar 24f21bd4d4 Merge pull request #1113 from Urmeli0815/ImGuiSelectableFlags_MenuItem
MenuItem: only activate on Release, not on Click (nb: and not on ClickRelease to allow opening menu and selecting something with a single click. Windows seems to behave the same, allowing to click and hold to e.g. Open then move cursor, release on Save and save gets activated)
7 years ago
omar 7e8069dd23 Merge branch 'master' into navigation 7 years ago
omar c0547d358d Begin: Fixed auto-fit calculation code that predict the presence of ascrollbar so it works in the case size constraints are used. I actually don't need this fix now, but earlier experiment with BeginCombo() required this fix. 7 years ago
omar 4b2781fe87 Begin: Moving some code into a CalcSizeAutoFit() function. 7 years ago
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.
7 years ago
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.
7 years ago
omar 0a55573288 Begin(): Minor tidying up of flow 7 years ago
omar 9f34925b2a Window: Tweaked ApplySizeFullWithConstraint() -> CalcSizeFullWithConstraint() so it can be used without side-effect 7 years ago
omar 0a5fb24f10 Popups: Exposing a little more of popups internals in imgui_internals.h 7 years ago
omar b9c185402e Nav: minor tidying up NavUpdate() to use a local variables, easier to test replacing g.NavWindow with g NavMoveResultWindow for navigation accross flattened child windows. 7 years ago
omar 113b2467cd Minor bits. Reduce usage of GImGui multiple times in same function. 7 years ago
omar 479e532f18 ColorEdit: fixed weird ternary pattern that makes some compiler warning (fair) 7 years ago
omar f24b5f71ca Merge branch 'master' into navigation 7 years ago
omar 79ce9b74d5 BeginTooltipEx() internal tweaks 7 years ago
omar 44e8d94aba Merge branch 'master' into navigation 7 years ago
omar 105f3b14e4 Merge branch 'master' into styles 7 years ago
omar 9693fd5351 PushStyleVar/PopStyleVar: internal tweaks 7 years ago
omar 7c9e38f60a Style: Moving code in a function to make incoming diff easier to parse. 7 years ago
omar 709653c330 Merge branch 'master' into styles 7 years ago
omar 6c91a1ef7f Minor comments 7 years ago
omar 052999a6ab More consistently uses "Dear ImGui" 7 years ago
omar 54d30d758f Implicit "Debug" window uses a "Debug##Default" identifier to allow the user creating such window with custom flags 7 years ago
omar 62d7fa4324 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
7 years ago
omar f63c03c464 Internals: moved ButtonRepeat and AllowKeyboardFocus bools/stacks to a generic ItemFlags stack. Merged from Navigation branch. 7 years ago
omar 51fcef0c21 BeginCombo() tweaks, merged from Navigation branch. 7 years ago
omar 5c4fda0fbc Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
7 years ago
omar 2169bf6895 Fixed WantTextInput from being true when an activated Drag or Slider was previously turned into an InputText(). (#1317) 7 years ago
omar 790605e359 Minor comments + renaming internal fields 7 years ago
Václav Patejdl e1a7aa41cb Improved ColorPicker hue wheel color interpolation 7 years ago
omar 2600b28f5d Begin(): fixed calling Begin() more than once per frame setting `window_just_activated_by_user` which in turn would set Appearing to true for that frame. 7 years ago
omar 6400f2900a Begin(): renamed locals. 7 years ago
omar a9c6a0f6ec Begin(): Removed unnecessary code (at the time of 1.18 commit e9e0e36f98, CursorPos was used to compute SizeContentsFit and this was necessary) 7 years ago
omar 89cae37b49 Begin(): Tidying up some code, should be a no-op. 7 years ago
omar 8fbe8709f9 TODO, minor tweak 7 years ago
omar e8dbf1c795 Combo: Internally split into BeginCombo(), EndCombo(), toward a more flexible combo api. 7 years ago
omar 5658675e9d Combo: Removed unnecessary ClearActiveId() call (from era where active combo stored an id, now we just use popup functionality) 7 years ago
omar 804ee78731 Added IsWindowAppearing(). 7 years ago
Branimir Karadžić 670d40642f Fixed C4267 conversion from size_t to int. 7 years ago
omar 6a1ba317c7 Demo: Minor coding style tweaks so bgfx copy needs less patching. 7 years ago
omar 97a40e74fb Nav: Fixed bad merge of 6def01be5d so the bug fixed in #840 wasn't fully fixed in Nav branch. 7 years ago
omar 96d2942373 InputText: Merged bits from Navigation branch (inc. g.ActiveIdIsJustActivated is only set on the toggle). 7 years ago
omar 9a0171b803 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
7 years ago
omar 35e4fa7b85 Merged from Navigation branch (DragBehavior) 7 years ago
omar 6cca4025ee Merge from Navigation branch: 6aa8019763 7 years ago
omar ddf41b0398 Merged from Navigation branch. TAB/Alt-TAB processing now deactivate if holding Ctrl. 7 years ago
omar 550dc09998 Merged from Navigation branch (misc) 7 years ago
omar aef041f948 Merged from Navigation branch 7 years ago
omar c9298c2657 Merged from Navigation branch:
f71cdd13b7  Internal tidying up, moved code to CalcNextScrollFromScrollTargetAndClamp() so it can be reused by upcoming nav code.
c816e6c742 Fixed SetScrollX() handling of center ratio (which actually wasn't exposed publicly). (#323, #246)
7 years ago
omar 287a4b6b38 Merged from Navigation branch: 5cac4926c8 fix title bar color of window under a modal window. 7 years ago
omar a9e1d9aab9 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui.h
#	imgui_internal.h
7 years ago
omar 358e7a194e Added GetKeyPressedAmount() (from Nav branch) to be able to measure fast repeat rate accurately. Added internal CalcTypematicPressedRepeatAmount() function. 7 years ago
omar 1f1e63f705 Merge various minor things (supposedly harmless) from Navigation branch into Master to reduce differences. Some code in NewFrame() has been moved around. (#787) 7 years ago
omar ee42fae468 Merge various minor things (supposedly harmless) from Navigation branch into Master to reduce differences. (#787) 7 years ago
omar 6752cba4bc Removed duplicate comments 7 years ago
omar 2ee1b70652 Merge branch 'master' into navigation
# Conflicts:
#	imgui_internal.h
7 years ago
omar f8eef49575 ProgressBar() fixed rendering when straddling rounded area. (#1296) 7 years ago
omar 7a9ea281be ImSwap() helper. 7 years ago
omar 1f51e8f39d Internals: Renamed some ImGuiCorner enums. 7 years ago
omar 7a7327adde ParseFormatPrecision() returns -1 for scientific noation 'e'/'E', RoundScalar() doesn't alter those. 7 years ago
omar 807322c9a5 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
7 years ago
omar b295e185ff Updated copyright date for 2017, updated Gallery link 7 years ago
omar 419b22a487 Internals: Split some code out of NewFrame() into an Initialize() function. 7 years ago
omar 5938f1ba61 Added IsMousePosValid() helper. 7 years ago
omar a02210a455 Fixed compilation with IMGUI_DISABLE_OBSOLETE_FUNCTIONS defined 7 years ago
omar 92a6faca6f IO: io.MousePos needs to be set to ImVec2(-FLT_MAX,-FLT_MAX) when mouse is unavailable/missing. Previously ImVec2(-1,-1) was enough but we'll now accept negative mouse coordinates. 7 years ago
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. 7 years ago
omar 40f608ce9b Version 1.52 WIP 7 years ago
omar 55a6209931 Version 1.51 7 years ago
omar e6ed2f9939 Nav: Tooltip do not appear in navigation focus list. (#1294, #787) 7 years ago
omar d213c0eb7e Style: Tweaked default border (undo half-way from original c1e1e015c4) (#707) 7 years ago
omar b0fc30bd19 Merge branch 'master' into navigation 7 years ago
omar 92efa00bc9 Minor miscellaneous merges from Navigation branch to reduce divergence a little bit 7 years ago
omar 6ed75d3046 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui.h
7 years ago
omar eb2bbf6f29 Renamed IsItemHoveredRect() to IsItemRectHovered(). Renamed IsMouseHoveringWindow() to IsWindowRectHovered() - follow up to previous commit 6be7d4904e merged from Nav. 7 years ago
omar 52b39af0a0 Style: Added obsolete redirects for ImGuiCol_Columns*** fields. (ref 648f75b245) 7 years ago
omar 6be7d4904e Merge part of 88c1966629 from Nav branch. Renamed IsMouseHoveringAnyWindow() -> IsAnyWindowHovered(), IsMouseHoveringWindow() -> IsWindowHoveredRect() for consistency. Kept inline rediection function. 7 years ago
omar 141339e4b7 (internals) Renamed FocusedWindow to NavWindow to match terminology of navigation branch 7 years ago
ocornut 2ad2190d47 Merge 20a0fde012 Tidying up default clipboard handler for non Windows-OS (from Nav branch) 7 years ago