Commit Graph
100 Commits
Author SHA1 Message Date
omar 3cc10d25a9 BeginPopupContextItem(), BeginPopupContextWindow(): Using newly introduced IsItemHovered() flags to allow reopening another context menu (over same or not same item) with right-click. (#439) (+1 squashed commits) 2017-10-20 18:02:52 +02:00
omar 695ea45fca IsWindowHovered(): Changed default behavior to now return false is a widget from another window is active + Added support for ImGuiHoveredFlags_AllowWhenBlockedByActiveItem. (relate to drag'n drop idoms: #143) 2017-10-20 17:59:48 +02:00
omar 564ff2dfd3 IsItemHovered(), IsWindowHovered(): added flags to enable various and more specific behavior. Will enable improvements for popups/context menus and drag'n drop. (relate ~#439, #1013, #143, #925)
The legacy confusing IsItemRectHovered(), IsWindowRectHovered() can be completely removed now.
Changed IsWindowHovered() behavior with default parameter: it now return false is the window is blocked by a popup.
Demo: Added tests for those two functions.
2017-10-20 17:52:22 +02:00
omar d29a6a5a5a Moved IMGUI_DISABLE_OBSOLETE_FUNCTIONS block lower in the imgui.h file so obsolete functions can use flags. Also sane to quarantine them outside of the respectable area. 2017-10-20 17:29:52 +02:00
omar e6f06627e9 Made the ImGuiWindowFlags_NoMove flag inherited from parent to child, so in a setup with RootWindow (no flag) -> Child (NoMove flag) -> SubChild (no flag) user won't be able to move the root window by clicking on SubChild. (#1381) 2017-10-20 16:13:13 +02:00
omar 3b485cda51 Fixed a bug allowing to move a _NoMove window from a child that doesn't have the flag. (#1381)
broken by e56eba44fe (#1337)
2017-10-20 16:09:24 +02:00
omar 87ae40843c Popups: popups can be closed with a right-click anywhere, without altering focus under the popup.(~#439) 2017-10-20 13:26:39 +02:00
omar 853018dd4d Popups: Fixed a bug introduced in 1a35766356 which made the BeginPopupContextXXX functions create popups without border. (nb: all that border mess is going away in styling clean up) 2017-10-20 13:21:42 +02:00
omar 5f7299e15a Refactor EndFrame() code that process focusing window with left mouse button. This commit should be no-op. 2017-10-20 13:07:57 +02:00
omar 2a32a2e662 Demos: Tweaks of popups/context/menus section. 2017-10-20 12:38:48 +02:00
omar e384078d7a IO: reordering some supposedly private fields. 2017-10-19 22:49:36 +02:00
omar 5b699517d4 Internals: PaintVerts** renamed to ShadeVerts**, moved to imgui_draw.cpp and exposed in imgui_internal.h (+1 squashed commits) 2017-10-19 19:42:19 +02:00
omar 22977ffedb Documentation: Extra comments + tweaks to make usage of long-line more bearable. 2017-10-19 19:30:46 +02:00
omar d3c2e904d8 Internals: Added ImLinearSweep() helper. 2017-10-19 19:29:59 +02:00
omar 370a48c10b Internals: RenderCollapseTriangle() -> RenderTriangle(), takes a ImGuiDir 2017-10-18 23:46:16 +02:00
omar a03093b2d4 CollapsingHeader(bool*) variant: fixed for IsItemHovered() to work properly in the nav branch.Basically the close button now has to use ItemAdd() to be navable into, which overwrite the IsItemHovered data. (#600, #787) 2017-10-18 19:55:08 +02:00
omar ef3f87eec5 Internals: ButtonBehavior: made ImGuiButtonFlags_PressedOnClick and ImGuiButtonFlags_PressedOnDoubleClick set the click offset correctly + hold on g.ActiveId so Held state can be reported. Added ImGuiButtonFlags_NoHoldingActiveId flag to disable the later. 2017-10-18 13:08:25 +02:00
omar 1c4af303bf Internals:Helpers: Added ImSwap(int,int), exposed ImStrncpy(). 2017-10-18 13:08:14 +02:00
omar bf778ebb7e Checkbox: Using checkmark. MenuItem: Tweaked checkmark, thicker. 2017-10-18 13:06:49 +02:00
omar 03b76bf05b Begin: Marked 5 parameters version of Begin() as obsolete. Now waiting for a riot to happen! 2017-10-17 16:19:21 +02:00
omar 78a85ba3fe Begin: Work toward obsoleting the 5-arguments Begin() overload. Internal BeginEx() becomes the normal public Begin() again! (4) 2017-10-17 16:15:46 +02:00
omar 2739b6ebcd Begin: Work toward obsoleting the 5-arguments Begin() overload. Removed bg_alpha from internal BeginEx(). (3) 2017-10-17 16:14:20 +02:00
omar 4aa9d2089d Begin: Work toward obsoleting the 5-arguments Begin() overload. Removed size_on_first_use from internal BeginEx(). (2) 2017-10-17 15:51:20 +02:00
omar 55d873875e Begin: Work toward obsoleting the 5-arguments Begin() overload. (1) 2017-10-17 15:47:55 +02:00
omar 1a35766356 BeginPopupContextItem() now supports a NULL string identifier and uses the last item ID if available. For interactive items (that have an ID) this works! For non interactive items we assert. 2017-10-16 23:37:12 +02:00
omar c76f014292 Fix IsItemHovered() issue on child by temporarily reverting 344d48be31. This is not the ideal solution. (Fix #1370) 2017-10-16 16:41:09 +02:00
omar e32569dd5a ImDrawList: Fixed a bug in ChannelsMerge() leading to an extraneous draw call being created, which unexpectly led to more dramatic condition but to faulty draw command merging code. (#1172, #1368) 2017-10-15 21:07:22 +02:00
omar ce7b04e8b9 Removed apparently unncessary code in InputFloatN() and InputInt(). 2017-10-13 23:59:17 +02:00
omar 4be967823f Exposed Scrollbar() in imgui_internal.h and removed a bool arg 2017-10-13 13:30:28 +02:00
omar 43b4a81b3e Rnamed AlignFirstTextHeightToWidgets() to AlignTextToFramePadding(). Kept inline redirection function (will obsolete). 2017-10-11 15:36:57 +02:00
omar 578a588c1d Links 2017-10-11 15:26:35 +02:00
omar 4cfec4813e Links 2017-10-11 15:24:54 +02:00
omar c6e370a77a TreeNode: Added ImGuiTreeNodeFlags_FramePadding flag 2017-10-11 15:16:11 +02:00
omar 042153d254 Internal: ItemAdd(), IsClippedEx(): removed unnecessary indirection for ID parameter 2017-10-06 14:23:18 -07:00
omar acb6f12d2c Removed extraneous calls to GetCurrentWindowRead() when we already have a ImGuiContext. Internal RenderXXX functions also don't need to write into the Accessed field at all. 2017-10-06 11:48:07 -07:00
omar 335c8dd159 Comments (clarifying whether types are to be considered as flags or regular, non combinable enums) 2017-10-06 11:23:08 -07:00
omar d851775c80 ColorButton: Reduced bordering artefact that would be particularly visible with opaque Col_FrameBg and FrameRounding enabled. 2017-10-05 17:55:27 -07:00
omar 726dcf0dd2 TextUnformatted(): minor tweak 2017-10-05 11:03:38 -07:00
omar a0d724b450 Made AlignFirstTextHeightToWidgets() saner and faster (still disliking its name very much!) 2017-10-05 11:02:23 -07:00
omar a8788e51a7 SetKeyboardFocusHere() added assert to prevent passing values smaller than -1 as we may have to outlaw them (I think nobody was using that) 2017-10-05 09:53:07 -07:00
omar 63cd2bf9b1 Removed obsolete comment. 2017-10-05 09:40:06 -07:00
omar b3099d650c Examples: Adding Roboto to the commented-out font list, and removing the unnecessary ProggyClean from there. 2017-10-04 19:28:04 -07:00
omar 67ac7da30f Styles: Added ImGuiStyle::ScaleAllSizes(float) helper to make it easier to have application transition to e.g. High DPI with a matching style. 2017-10-04 18:13:57 -07:00
omar 89ab4b5e07 TODO update 2017-10-04 15:42:03 -07:00
omar 7f58bb03c1 Changed the internal name formatting of child windows to use slashes as separator, more readable. 2017-10-02 16:07:34 -07:00
omar cbc9730798 Metrics: Draw window bounding boxes when hovering Pos/Size. List all draw layers, trimming empty commands like Render() does. 2017-10-02 16:07:33 -07:00
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) 2017-09-29 22:19:53 +02:00
omar fba9353c60 BeginMenu: Shuffling braces around to clarify flow 2017-09-29 16:29:00 +02:00
omar 3b85a8b6a0 Demo: Added an extra test related to baseline and fixed an id collision. 2017-09-28 22:01:08 +02:00
omar 164f22d5b7 Comments 2017-09-28 22:00:49 +02:00
omar e8f7c83138 Begin: Shallow tweak to minimize diff with nav branch 2017-09-28 17:37:55 +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 9142002121 Separator(): Tweak Logging so that the separator text is aligned according to tree padding. 2017-09-28 16:40:28 +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 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 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) 2017-09-28 00:05:35 +02:00
omar eca74d55c7 IsItemHovered(), IsHovered(): Shallow tweaks, eventually removed all the braces. 2017-09-28 00:05:18 +02:00
omar 2b7d4c713e Internals: Moved IsWindowContentHoverable() in the file 2017-09-27 23:31:03 +02:00
omar c5a79deb38 IsItemHovered(), IsHovered(): Shallow tweaks to make them more symetrical. Removed one set of braces. 2017-09-27 23:10:46 +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 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 19e22baa06 ItemAdd(): more re-ordering of tests to match IsHovered() + comments 2017-09-27 17:06:07 +02:00
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
2017-09-27 16:49:25 +02:00
omar c075786d8b ItemAdd(): re-ordering the tests, submission should now be faster. 2017-09-27 16:29:46 +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 e87ad328e4 Moved implementation of Hovered-related functions next to each others + comments, before I attempt to work on them. No functional change here. 2017-09-27 16:07:47 +02:00
omar 842e88a8e3 Examples: Avoid using ImColor() to not tempt newcomers into looking at it 2017-09-27 15:47:08 +02:00
omar e56eba44fe Fixed not being able to move a window by clicking on one of its child window (#1337, #635), broken by https://github.com/ocornut/imgui/commit/313d388bba42e0634a02b976dcdbae238d25eddc 2017-09-27 12:25:40 +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 09f6f564d9 ImFontAtlas: Fixed calling Clear() and rebuilding (broken in 3fe2ecfd4c) thanks @pdoane @mikesart 2017-09-27 11:21:42 +02:00
omar bbd6d5d5b5 Combo: Cleaned up, removed unnecessary code (looks like this part went untouched for a long time!). 2017-09-27 00:20:09 +02:00
omar 3fe2ecfd4c ImFontAtlas: Added support for CustomRect API to submit custom rectangles to be packed into the atlas / and map them as font glyphs 2017-09-26 20:24:27 +02:00
omar 501e73feed Minor comments 2017-09-26 20:18:14 +02:00
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. 2017-09-26 20:05:16 +02:00
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. 2017-09-26 19:54:30 +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 2170b0b278 ImFontAtlas: Comments and minor reorganization of declaration in header file. 2017-09-26 19:10:29 +02:00
omar 529ca279a4 ImFont: Split some building code into a AddGlyph() helper (that custom rect code and imgui_freetype can use) 2017-09-26 18:41:21 +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 c7a606ab7e Horizontal layout does the minimum job to be usable internally - not exposed (#97) 2017-09-26 15:42:55 +02:00
omar 728deff56c Comments, debug code (commented), todo list 2017-09-26 15:33:57 +02:00
omar 99b9f1c93c Fix static misusage error with decent compilers. Error introduced in 4b82759598 2017-09-26 11:23:06 +02:00
omar 82748df71a WantCaptureMouse: Tweaked logic so WantCaptureMouse can stay false when e.g. hovering over void while an InputText() is active. (#621) 2017-09-26 01:12:09 +02:00
omar 69d0d33451 Exposed PushMultiItemsWidths() to imgui_internal.h 2017-09-25 22:45:10 +02:00
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. 2017-09-25 22:04:39 +02:00
omar 4b2781fe87 Begin: Moving some code into a CalcSizeAutoFit() function. 2017-09-25 21:57:42 +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 a34edb810e Demo: Fixed overlay demo keeps resizing (in case, e.g.: font changes) 2017-09-25 21:12:07 +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 0a55573288 Begin(): Minor tidying up of flow 2017-09-25 15:48:52 +02:00
omar 9f34925b2a Window: Tweaked ApplySizeFullWithConstraint() -> CalcSizeFullWithConstraint() so it can be used without side-effect 2017-09-25 13:23:25 +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 3dd3d0b248 Examples: DirectX11: allow creating device with feature level 10 sinec we don't really need much for that example. (#1333) 2017-09-24 12:54:49 +02:00
omar 229921541b TODO list 2017-09-20 18:54:36 +02:00
omar 479e532f18 ColorEdit: fixed weird ternary pattern that makes some compiler warning (fair) 2017-09-18 21:41:49 +02:00
ocornut d5d825debb Nav/Examples: honoring the io.WantMoveMouse flag in most common examples (#323)
Missing support Vulkan (#549), Apple (#575, #247), SDL (#58, #356),
Allegro, Marmalade (#368, #375)
2017-09-18 16:04:44 +02:00
omar 1ff27d7db8 Added io.WantMoveMouse flags from Nav branch so Examples/Binding can already implement it. (#787) 2017-09-18 16:04:28 +02:00
omar 79ce9b74d5 BeginTooltipEx() internal tweaks 2017-09-18 15:35:00 +02:00
omar 105f3b14e4 Merge branch 'master' into styles 2017-09-18 15:11:51 +02:00