2087 Commits (a9b01600ac309706ac6f798ca26abfa06d3c896e)

Author SHA1 Message Date
omar a4cc3d4637 Minor tweaks/comments. Note that the reordering the one subtraction caused subtle havoc before the patch in 9ac8820ee2. 7 years ago
omar 9ac8820ee2 Fixed non-pixel aligned bounding box of window resize grip, / which triumphally led to any re-arrangement of operations inside the resize grip code outputting non-exact size_target values which led to unstable window position because clamping code uses size in a subtraction, etc etc. Lovely how a whole system can be made to act weird with a single bad input. 7 years ago
omar 2ab27be3de Child window with MenuBar use regular WindowPadding.y so layout look consistent in child or in a regular window. 7 years ago
omar 41862b8c0e ButtonBehavior: Fixed ImGuiButtonFlags_NoHoldingActiveID from incorrectly setting ActiveIdClickOffset, which probably have no known effect, but it is more correct this way. (#1418) 7 years ago
omar 1870738880 LowerBound() minor tweaks 7 years ago
omar 571b08f315 Internal: FindWindowByName() faster and doesn't touch every windows 7 years ago
omar 2c7ba21417 Fixed auto-resize allocating too much space for scrollbar when SizeContents is bigger than maximum window size (fixes c0547d358d) (#1417) 7 years ago
omar f0b4097c54 Begin: Simplified code and fixed a bug where appending into a window a second time (from a remote window) would incorrectly overwrite RootWindow with the current window in the stack. Our docking code uses this pattern. 7 years ago
omar 16a5da9521 RenderTriangle() minor tweak to align Left/Right and Up/Down arrow extents visually 7 years ago
omar 982ce50b37 IsWindowHovered() returns true when moving window (#1382, #1404) 7 years ago
omar ff4d4ca651 IsWindowHovered(): Added ImGuiHoveredFlags_FlattenChilds flag. Made IsRootWindowOrAnyChildHovered() obsolete in favor of IsWindowHovered( ImGuiHoveredFlags_FlattenChilds) (#1382, #1404) 7 years ago
omar 803ac3a5c6 IsWindowHovered() Fix behavior when an item is active to use the same logic as IsItemHovered() (#1382, #1404) 7 years ago
omar 6ab20ff9bf Minor tweaks to the user guide. 7 years ago
omar e55caf0b95
Merge pull request #1402 from elect86/patch-1
Minor fix typo
7 years ago
omar 7f06d385a1 Added assertions and comments for incorrect use/understanding of IsWindowFocused() etc. functions 7 years ago
Giuseppe Barbieri 9e3f9fc2dd
Update imgui.cpp 7 years ago
omar b13d281356 Maintaining ActiveIdTimer and HoveredIdTimer (the later is useful for drag and drop, both will be of course for creators of custom widgets) 7 years ago
omar f962ca0b01 ColorTooltip: Resize ColorButton to align better with text, now that ColorButton provides a text baseline (0260fdd1c6) 7 years ago
omar c503a50cff Styles: Moved Classic colors code to imgui_draw.cpp. Sneakily added a StyleColorsDark() function. 7 years ago
omar 77df1ba9e0 Version 1.53 WIP 7 years ago
omar b422f35872 IO: Tracking extra mouse dragging data which is convenient for implementating various manual drag and drop patterns. 7 years ago
omar 9f200d10d5 Version 1.52 7 years ago
omar 267ea506de Begin: Fix for unused "Debug" (fix for 3b83cd24f5 ) 7 years ago
omar 3b83cd24f5 Begin: Moved some code inside of the big if (first_begin_of_the_frame) scope 7 years ago
omar 3656f2c769 NewFrame: Allow MovedWindow setting the ImGuiWindowFlags_NoInputs after moving has started in order to be able to detect windows below it, which is useful for e.g. docking mechanisms. 7 years ago
omar a6edd10ee6 NewFrame: Removed unnecessary call to FindHoveredWindow() and simplified code (went through this multiple times, hopefully haven't broken anything) 7 years ago
omar 6243252d5a Internal: BeginTooltipEx() in imgui_internal.h 7 years ago
omar d42f6bb6cc Merged a bit of code from Navigation branch to ease further merging (InnerRect is currently not required in the Master branch) 7 years ago
omar c432fcf2bb Minor renaming. 7 years ago
omar daef33e268 Comments about mouse setup and clearing HoveredWindow when mouse down isn't owned by imgui (will affect some future hovered test and drag'n drop patterns) (#143, #1382, #1392) 7 years ago
omar 4faf99eff5 Added most basic form of Disabled flag to disable interactions (but visuals aren't altered), in imgui_internals.h, undocumented/unsupported (#211, #1012) 7 years ago
omar efcd53a0c3 Removed direct dependency on sprintf() in imgui.cpp (#1038)
(NB: imgui_demo stills uses it)
7 years ago
omar 1f3372b7f1 ImFormatString, ImFormatStringV(): clarifying specs so that passing a NULL buffer should return the desired length. (#1038) 7 years ago
omar 8fd5620277 Renamed IMGUI_DISABLE_WIN32_DEFAULT_CLIPBOARD_FUNCS/IMGUI_DISABLE_WIN32_DEFAULT_IME_FUNCS to IMGUI_DISABLE_WIN32_DEFAULT_CLIPBOARD_FUNCTIONS/IMGUI_DISABLE_WIN32_DEFAULT_IME_FUNCTIONS for consistency. (ref #238, #520, #738) 7 years ago
omar 7d2cd0e6ff Added IMGUI_DISABLE_FORMAT_STRING_FUNCTIONS support in imconfig.h (#1038) 7 years ago
Patrick Doane 70cb427469 Add missing CloseClipboard call 7 years ago
omar 5b062c4c29 Fixed typos 7 years ago
omar 0260fdd1c6 ColorButton: As a small convenience, provide a text baseline. 7 years ago
omar e9ff7162bc ColorButton: Fixed rendering color button with a checkerboard if the transparency comes from the global style.Alpha and not from the actual source color. 7 years ago
omar 97bf2131e2 Fixed calling SetNextTreeNodeOpen() on a collapsed window leaking to next frame. 7 years ago
omar e7922b3fa0 Factorized some code (+ declared as static function without namespace, a pattern with the Nav branch has started to use) 7 years ago
omar 1bc1751670 MenuItem(): Tweaks to mimic exact spacing of BeginMenu() when inside a menu bar, which is a little misleading imho but may be useful. (#1387) 7 years ago
omar b177f2432d MenuItem(): Tweak to not draw over all horizontal space when in horizontal layout mode. (#1387) 7 years ago
omar f7259e60ee Comments 7 years ago
omar 6ab737a4bb Popups: Fixed right-click to close popups not handling modal windows properly. (~#439) 7 years ago
omar aca23fd3f0 Popups: similarly to previous commit, we fix reopening a popup within a popup stack from truncating the whole stack. This is done by properly refocusing the lower level popup. (~#439) 7 years ago
omar 59a89774d7 Popups: fixed CloseInactivePopups() so that right-clicking to close one level of popups in a popups stack won't close the whole stack. This is done by properly refocusing the lower level popup. Fixes 87ae40843c (~#439) 7 years ago
omar 43df7eb5ea Added OpenPopupOnItemClick(); helper which mimic BeginPopupContextItem() but doesn't do the open.
Made the color popups uses this standard function so they handle reopening a context menu.
7 years ago
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) 7 years ago
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) 7 years ago
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.
7 years ago
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. 7 years ago
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) 7 years ago
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)
7 years ago
omar 87ae40843c Popups: popups can be closed with a right-click anywhere, without altering focus under the popup.(~#439) 7 years ago
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) 7 years ago
omar 5f7299e15a Refactor EndFrame() code that process focusing window with left mouse button. This commit should be no-op. 7 years ago
omar 5b699517d4 Internals: PaintVerts** renamed to ShadeVerts**, moved to imgui_draw.cpp and exposed in imgui_internal.h (+1 squashed commits) 7 years ago
omar 22977ffedb Documentation: Extra comments + tweaks to make usage of long-line more bearable. 7 years ago
omar 370a48c10b Internals: RenderCollapseTriangle() -> RenderTriangle(), takes a ImGuiDir 7 years ago
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) 7 years ago
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. 7 years ago
omar bf778ebb7e Checkbox: Using checkmark. MenuItem: Tweaked checkmark, thicker. 7 years ago
omar 03b76bf05b Begin: Marked 5 parameters version of Begin() as obsolete. Now waiting for a riot to happen! 7 years ago
omar 78a85ba3fe Begin: Work toward obsoleting the 5-arguments Begin() overload. Internal BeginEx() becomes the normal public Begin() again! (4) 7 years ago
omar 2739b6ebcd Begin: Work toward obsoleting the 5-arguments Begin() overload. Removed bg_alpha from internal BeginEx(). (3) 7 years ago
omar 4aa9d2089d Begin: Work toward obsoleting the 5-arguments Begin() overload. Removed size_on_first_use from internal BeginEx(). (2) 7 years ago
omar 55d873875e Begin: Work toward obsoleting the 5-arguments Begin() overload. (1) 7 years ago
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. 7 years ago
omar c76f014292 Fix IsItemHovered() issue on child by temporarily reverting 344d48be31. This is not the ideal solution. (Fix #1370) 7 years ago
omar ce7b04e8b9 Removed apparently unncessary code in InputFloatN() and InputInt(). 7 years ago
omar 4be967823f Exposed Scrollbar() in imgui_internal.h and removed a bool arg 7 years ago
omar 43b4a81b3e Rnamed AlignFirstTextHeightToWidgets() to AlignTextToFramePadding(). Kept inline redirection function (will obsolete). 7 years ago
omar c6e370a77a TreeNode: Added ImGuiTreeNodeFlags_FramePadding flag 7 years ago
omar 042153d254 Internal: ItemAdd(), IsClippedEx(): removed unnecessary indirection for ID parameter 7 years ago
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. 7 years ago
omar d851775c80 ColorButton: Reduced bordering artefact that would be particularly visible with opaque Col_FrameBg and FrameRounding enabled. 7 years ago
omar 726dcf0dd2 TextUnformatted(): minor tweak 7 years ago
omar a0d724b450 Made AlignFirstTextHeightToWidgets() saner and faster (still disliking its name very much!) 7 years ago
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) 7 years ago
omar 63cd2bf9b1 Removed obsolete comment. 7 years ago
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. 7 years ago
matiTechno b36a043bbf typo 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 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 fba9353c60 BeginMenu: Shuffling braces around to clarify flow 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 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 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 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 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 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 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 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 479e532f18 ColorEdit: fixed weird ternary pattern that makes some compiler warning (fair) 7 years ago
omar 79ce9b74d5 BeginTooltipEx() internal tweaks 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 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 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 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 96d2942373 InputText: Merged bits from Navigation branch (inc. g.ActiveIdIsJustActivated is only set on the toggle). 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