Commit Graph

2962 Commits

Author SHA1 Message Date
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
c0cf123e0b Update README.md 2017-09-28 20:39:36 +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 313d388bba 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
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)
2017-09-25 22:13:38 +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