Commit Graph

3683 Commits (9afb849e16900d67e0cde7c8754c1f547a349a21)

Author SHA1 Message Date
omar 1d7d8f8574 Merge branch 'master' into drag_and_drop
omar b13d281356 Maintaining ActiveIdTimer and HoveredIdTimer (the later is useful for drag and drop, both will be of course for creators of custom widgets)
omar d46772b429 Comments
omar 0e775807b4 Drag and Drop: Added a mechanism to allow widgets with no identifiers (such as Text/Image) to be used with BeginDragDropSource() given the explicit ImGuiDragDropFlags_SourceAllowNullID flag.
omar b5f714e9f9 Drag and Drop: made BeginDragDropSource() clear the IsItemHovered() by default, added a flag to keep it.
omar c5536e49ef Drag and drop API experiment
omar 17dd8e7c30 Merge branch 'master' into navigation
omar b9ebb34a04 Nav: ColorButton: Fixed a case of not using local 'hovered' flag directly, messes with some of my drag and drop work, and I can't find/understand the reason why this was left as is (there _was_ a reason at the time but it appears to be obsolete now?)
omar f962ca0b01 ColorTooltip: Resize ColorButton to align better with text, now that ColorButton provides a text baseline (0260fdd1c6)
omar edafbcd630 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui.h
omar c503a50cff Styles: Moved Classic colors code to imgui_draw.cpp. Sneakily added a StyleColorsDark() function.
omar 77df1ba9e0 Version 1.53 WIP
omar b422f35872 IO: Tracking extra mouse dragging data which is convenient for implementating various manual drag and drop patterns.
omar c0b366b316 Merge branch 'master' into navigation
# Conflicts:
#	imgui.h
omar 9f200d10d5 Version 1.52
omar cc78e9a213 Merge branch 'master' into navigation
omar 267ea506de Begin: Fix for unused "Debug" (fix for 3b83cd24f5 )
omar 5afee1c6f3 Merge branch 'master' into navigation
# Conflicts:
#	imgui_internal.h
omar 3b83cd24f5 Begin: Moved some code inside of the big if (first_begin_of_the_frame) scope
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.
omar a6edd10ee6 NewFrame: Removed unnecessary call to FindHoveredWindow() and simplified code (went through this multiple times, hopefully haven't broken anything)
omar 6243252d5a Internal: BeginTooltipEx() in imgui_internal.h
omar f10a1d7b9e Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
omar d42f6bb6cc Merged a bit of code from Navigation branch to ease further merging (InnerRect is currently not required in the Master branch)
omar c432fcf2bb Minor renaming.
omar 549f9e3f03 Merge branch 'master' into navigation
# Conflicts:
#	imgui_internal.h
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) (, , )
omar 4faf99eff5 Added most basic form of Disabled flag to disable interactions (but visuals aren't altered), in imgui_internals.h, undocumented/unsupported (, )
omar fc25881207 Merge branch 'master' into navigation
omar efcd53a0c3 Removed direct dependency on sprintf() in imgui.cpp ()
(NB: imgui_demo stills uses it)
omar 1f3372b7f1 ImFormatString, ImFormatStringV(): clarifying specs so that passing a NULL buffer should return the desired length. ()
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 , , )
omar 7d2cd0e6ff Added IMGUI_DISABLE_FORMAT_STRING_FUNCTIONS support in imconfig.h ()
Patrick Doane 70cb427469 Add missing CloseClipboard call
omar d513546325 Merge branch 'master' into navigation
omar 5b062c4c29 Fixed typos
omar 0260fdd1c6 ColorButton: As a small convenience, provide a text baseline.
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.
omar 97bf2131e2 Fixed calling SetNextTreeNodeOpen() on a collapsed window leaking to next frame.
omar 20983773f1 Nav: MainMenuBar now releases focus when user gets out of the menu layer. WindowingTarget when applying focus to a window with only menus automatically sets the layer. ()
This is enough for basic mouse/gamepad usage, but 1- previous window gets an unfocused title bar color temporarily, 2- generaly for gamepad and especially keyboard we need much more to get this done right
omar 025d4f0c97 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
omar e7922b3fa0 Factorized some code (+ declared as static function without namespace, a pattern with the Nav branch has started to use)
omar 2ef2c104a1 Begin: Minor tweaks
omar be12f8c55d Nav: Fixed handling of ImGuiNavInput_KeyMenu so it doesn't set g.NavWindowingTarget at all, reducing size effects + handling menu layer toggle on Alt Release ()
omar 6f0aa766e1 Nav: Added internal ImGuiNavReadMode_Released test for key releases.
omar d769e2515a Merge branch 'master' into navigation
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. ()
omar b177f2432d MenuItem(): Tweak to not draw over all horizontal space when in horizontal layout mode. ()
omar 5fa81f2a26 Nav: Added ImGuiNavInput_KeyMenu aside from ImGuiNavInput_PadMenu as it is one differenciator between pad and keyboard that's very annoying with the keyboard.
Remove the move/resize behavior that appears than holding the button for a while. ()
omar 1c5b3fb1d2 Merge branch 'master' into navigation
omar f7259e60ee Comments
omar 23b9060468 Nav: Honoring ImGuiItemFlags_NoNav which is used by color picker ()
omar e4bb9102f9 Merge branch 'master' into navigation
omar 6ab737a4bb Popups: Fixed right-click to close popups not handling modal windows properly. (~#439)
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)
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)
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.
omar 0ea66dc260 Fixed bad merge from Master
omar 1172ff62e1 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui.h
#	imgui_demo.cpp
#	imgui_internal.h
omar 3cc10d25a9 BeginPopupContextItem(), BeginPopupContextWindow(): Using newly introduced IsItemHovered() flags to allow reopening another context menu (over same or not same item) with right-click. () (+1 squashed commits)
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: )
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, , , )
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.
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.
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. ()
omar 3b485cda51 Fixed a bug allowing to move a _NoMove window from a child that doesn't have the flag. ()
broken by e56eba44fe ()
omar 87ae40843c Popups: popups can be closed with a right-click anywhere, without altering focus under the popup.(~#439)
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)
omar 5f7299e15a Refactor EndFrame() code that process focusing window with left mouse button. This commit should be no-op.
omar 51eed2f257 Merge branch 'master' into navigation
omar 5b699517d4 Internals: PaintVerts** renamed to ShadeVerts**, moved to imgui_draw.cpp and exposed in imgui_internal.h (+1 squashed commits)
omar 22977ffedb Documentation: Extra comments + tweaks to make usage of long-line more bearable.
omar 938f1b720f Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
omar 370a48c10b Internals: RenderCollapseTriangle() -> RenderTriangle(), takes a ImGuiDir
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. (, )
omar 29a652adee 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. (, )
omar a126c702d9 Merge branch 'master' into navigation
# Conflicts:
#	imgui_internal.h
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.
omar bf778ebb7e Checkbox: Using checkmark. MenuItem: Tweaked checkmark, thicker.
omar d96b6ecf88 Merge branch 'master' into navigation
# Conflicts:
#	imgui_demo.cpp
omar 03b76bf05b Begin: Marked 5 parameters version of Begin() as obsolete. Now waiting for a riot to happen!
omar 78a85ba3fe Begin: Work toward obsoleting the 5-arguments Begin() overload. Internal BeginEx() becomes the normal public Begin() again! (4)
omar 2739b6ebcd Begin: Work toward obsoleting the 5-arguments Begin() overload. Removed bg_alpha from internal BeginEx(). (3)
omar 4aa9d2089d Begin: Work toward obsoleting the 5-arguments Begin() overload. Removed size_on_first_use from internal BeginEx(). (2)
omar 55d873875e Begin: Work toward obsoleting the 5-arguments Begin() overload. (1)
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.
omar c76f014292 Fix IsItemHovered() issue on child by temporarily reverting 344d48be31. This is not the ideal solution. (Fix )
omar af565ea828 Nav: InputTextMultiline: Fixed navigation/selection. Disabled selecting all when activating a multi-line text editor. ()
omar 7ea52ac1e4 Nav: InputTextMultiline: Fixed navigation/selection. Disabled selecting all when activating a multi-line text editor. ()
omar 82a27fd3aa Nav: InputText: Fixed using Up/Down history callback feature when Nav is enabled ()
omar b70c2fa887 Nav: Internals: Moved some internal code to namespace, comments
omar ae1866c424 Nav: NavProcessItem() updates current NavLayer. Basically we're hearing toward rebuilidng nav info from an id. ().
omar 97851f7376 Nav: NavProcessItem() computes window-relative rectangle using own Window rather than NavWindow. Not sure what it may mean for child-flattened-nav (disabled). ()
omar 7d14262202 Nav: SetFocusID() update NavWindow and NavRectRel just as we get them. Needed by upcoming commit, committing separately as I'm curious if it has any side-effect. ()
omar 83416fa5da Merge branch 'master' into navigation
omar d761825cfb Nav: Renaming a field + Comments.
omar ce7b04e8b9 Removed apparently unncessary code in InputFloatN() and InputInt().
omar db5f1b79cd Nav: ButtonBehavior() keep _displaying_ NavId item as howered when refocusing or moving window, which is consistent with IsItemHovered() and reduce noise/flicker ()
omar c42baf392a Reluctantly exposed GetActiveID(), GetHoveredID() in imgui_internal because the demo code will need it.
omar 53780a4fcc Nav: Shallow tweaks.
omar f852b9a52a Exposed Scrollbar() in imgui_internal.h and removed a bool arg
omar b667d5a9e7 Nav: Internals: Renamed ImGuiButtonFlags_NoNavOverride to ImGuiButtonFlags_NoNavFocus + fixed a theorically missing test in ButtonBehavior() ()
omar 0371219222 Nav: Internals: Renamed SetActiveIDNoNav -> SetActiveID() and old SetActiveID() -> SetFocusID(), both functions needs to be called when both are desirabled. ()
May break code relying on imgui_internal.h, relying on nav and not calling ButtonBehavior().
omar 8b095e483b Internals: Moved SetNavID() and renamed casing to be consistent with stuff exposed in imgui_internal.h
omar 4be967823f Exposed Scrollbar() in imgui_internal.h and removed a bool arg
omar 48498b337d Internals: SetActiveID window cannot be NULL
omar 4548bcb5c9 Nav: commiting shallow bits to reduce noise from working copy/upcoming commit.
omar 17519c313a Nav: Extract part of NavUpdate() into a saner NavUpdateWindowingTarget() ()
omar b05b31e690 Nav: Made NavWindow always refresh from NavId so we can lazily retrieve the window for user functions that don't have it. This is not required by current commit but I'd rather test it earlier. Idea: eventually if we switch to 64-bit identifiers we could reserve e.g. 20 bits to store a simplified window identifier so we can always retrieve a window from an id. ()
omar f0d437dd9c Nav: SetActiveId() uses SetActiveIDNoNav() to avoid duplicating logic. ()
omar 2047c58efb Nav: Extract part of NavUpdate() into a saner NavScrollToBringItemIntoView() ()
omar 7a14d7dfdc Nav: More consistently drawing a (thin) navigation rectangle hover filled frames such as tree nodes, collapsing header, menus. ()
omar 3833f1f7a2 Merge branch 'master' into navigation
omar 43b4a81b3e Rnamed AlignFirstTextHeightToWidgets() to AlignTextToFramePadding(). Kept inline redirection function (will obsolete).
omar c6e370a77a TreeNode: Added ImGuiTreeNodeFlags_FramePadding flag
omar 69dd895358 Nav: Renaming NavInitDefaultRequest -> NavInitRequest
omar 4d83078885 Nav: Moving code next to its peers
omar d2975115cd Nav: Caching into g.NavAnyRequest to minimize hot path cost (and so we can add many more request sources)
omar d91b093be6 Nav: Minor tweaks in NavProcessItem() used by ItemAdd()
omar c3105919ba Nav: Minor tweaks also toward removing processing from ItemAdd()
omar d16309ca77 Internal: ItemAdd() minor shallow tweaks
omar 64ce83b9ed Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
omar 042153d254 Internal: ItemAdd(), IsClippedEx(): removed unnecessary indirection for ID parameter
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.
omar 6e1199c603 Merge branch 'master' into navigation
omar f451785c9e Nav: Shuffled code in ItemAdd() so that NavProcessItem() may have access to LastItemId (will be required by tabbing)
omar e12cfa9dfd Nav: Minor midying up and comments,
omar 40df7a5155 Nav: Removed possibly redundant test prior to calling NavProcessItem() from ItemAdd()
omar a77dd02e8a Nav: Moving code next to its peers
omar f5bd4663dd Nav: Moving the big chunk of code from ItemAdd() to NavProcessItem()
omar 59c6f35bf6 Added ActivateItem(), GetItemID() functions.
omar 80c4e2fe7b Nav: Tidying up activation mechanism so that setting NavActivateId can trigger buttons.
omar d851775c80 ColorButton: Reduced bordering artefact that would be particularly visible with opaque Col_FrameBg and FrameRounding enabled.
omar 726dcf0dd2 TextUnformatted(): minor tweak
omar a0d724b450 Made AlignFirstTextHeightToWidgets() saner and faster (still disliking its name very much!)
omar a3d0755181 Merge branch 'master' into navigation
omar f326fac64a Nav: Menus and popups now have move request wrap around vertically (using the move request forward thing added recently). ()
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)
omar 63cd2bf9b1 Removed obsolete comment.
omar 3ddcdcf6e7 Merge branch 'master' into navigation
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.
omar a56b71e866 Nav: Added code to render thin highlight type. ()
matiTechno b36a043bbf typo
omar 6ea90af6b7 Nav: Highlight clipped within host window then extruded out. ()
omar cb4e6c8212 Nav: Selectable(): activating selectable also sets NavId + removed the MouseDelta test (added in 43ee5d73e9, ) as I don't think it is needed. ()
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) ()
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) ()
omar 7f58bb03c1 Changed the internal name formatting of child windows to use slashes as separator, more readable.
omar cbc9730798 Metrics: Draw window bounding boxes when hovering Pos/Size. List all draw layers, trimming empty commands like Render() does.
omar 491edfd8d8 Nav: Fixed a crash introduced yesterday.
omar 0046c618b0 Nav: Allow to collapse tree nodes with NavLeft and open them with NavRight (, )
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. ()
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. (, )
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)
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. (, )
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. (, )
omar cf3b21179b Nav: Comments
omar 5a9ebeca9e Nav: Fix typo from 9712a81f85
omar bfaa426f7f Nav: Minor tidying up (adding local variables to be a little more sane).
omar 8a5a29f0be Nav: Renamed internal field.
omar 9712a81f85 Nav: Rectangle rectangle stored per window and per layer as well. Makes things simpler, allows enable us to visualize more data.
omar 54eb4c485e Nav: Marked misleading/broken code that will never execute.
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. ()
omar 9737efb2f1 Nav: Store per-window last nav id also per-layer so we can easily query them for menu navigation code. ()
omar 8a814487fe Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
omar fba9353c60 BeginMenu: Shuffling braces around to clarify flow
omar cf308f4039 Nav: Fixed SetItemDefaultFocus from stealing default focus when we are initializing default focus for a menu bar layer ()
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). ()
omar 30b1d85962 Nav: Commiting some better organized Debug helper because this going to stay for a bit.
omar 1f7f54e196 Removed extraneous test.
omar df366b230e ColorPicker4: Use nav flag to provide a slighly better experience when using navigation (, )
omar 2d859dee4e Nav: Added ImGuiItemFlags_NoNav item flag
omar 878fa96896 Nav: Re-arranged ItemAdd() to maximize early out ()
omar dd0855de5c ButtonBehavior: Tidying up.
omar 4b4e455c40 Nav: Internal nenaming
omar e0a2a832cd Nav: Changed internal flag to NoNavDefaultFocus to be false by allow, and more consistent ()
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 ()
omar ca4db8c905 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
omar e8f7c83138 Begin: Shallow tweak to minimize diff with nav branch
omar 926c1cf9a4 Merged from Navigation branch: ImGuiItemFlags_SelectableDontClosePopup flag
omar f99348711b Added VerticalSeparator() entry point in imgui_internal. Seperator() in an horizontal layout context still does that.
omar 9142002121 Separator(): Tweak Logging so that the separator text is aligned according to tree padding.
omar d394c7ad0b Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
omar 0106dcbd02 Fixed IsItemHovered() - part of the processing has to be done in ItemAdd() because the widget may alter clipping rectangle temporarily.
omar 2a8eb618dc Nav: Fixed NavDown to open menu from a menu bar ()
omar 35f65e05ed Merge branch 'master' into navigation
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.
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)
omar eca74d55c7 IsItemHovered(), IsHovered(): Shallow tweaks, eventually removed all the braces.
omar 2b7d4c713e Internals: Moved IsWindowContentHoverable() in the file
omar c5a79deb38 IsItemHovered(), IsHovered(): Shallow tweaks to make them more symetrical. Removed one set of braces.
omar 7bcb1d3816 Internals: ButtonBehavior(), IsHovered() moved the responsability of flatten_child higher level to ButtonBehavior() - not super sure about the elegance of this
omar 79ef64430c Nav: Fixed merge cc26db8ec7
omar cc26db8ec7 Merge branch 'master' into navigation
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.
omar 19e22baa06 ItemAdd(): more re-ordering of tests to match IsHovered() + comments
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
omar c075786d8b ItemAdd(): re-ordering the tests, submission should now be faster.
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().
omar e87ad328e4 Moved implementation of Hovered-related functions next to each others + comments, before I attempt to work on them. No functional change here.
omar 869732c456 Nav: Removed unnecessary combo code (that kept the combo arrow highlighted after reverting to mouse controls). ()
omar a2b2e56e8e Merge branch 'master' into navigation
omar e56eba44fe Fixed not being able to move a window by clicking on one of its child window (, ), broken by 313d388bba
omar 8374a454da Removed extraneous ImGui:: prefixes. Declared ColorEditOptionsPopup in imgui_internals.h. Tweaked internal signatures.
omar bbd6d5d5b5 Combo: Cleaned up, removed unnecessary code (looks like this part went untouched for a long time!).
omar 8fd4beddb8 Merge branch 'master' into navigation
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.
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.
omar f1a20ec66d Merge branch 'master' into navigation
omar be03882a15 Separator(): output vertical separator when used in horizontal layout mode, so it works in menu bars.
omar c7a606ab7e Horizontal layout does the minimum job to be usable internally - not exposed ()
omar 728deff56c Comments, debug code (commented), todo list
omar 82748df71a WantCaptureMouse: Tweaked logic so WantCaptureMouse can stay false when e.g. hovering over void while an InputText() is active. ()
omar 69d0d33451 Exposed PushMultiItemsWidths() to imgui_internal.h
omar 24f21bd4d4 Merge pull request 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)
omar 7e8069dd23 Merge branch 'master' into navigation
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.
omar 4b2781fe87 Begin: Moving some code into a CalcSizeAutoFit() function.
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.
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.
omar 0a55573288 Begin(): Minor tidying up of flow
omar 9f34925b2a Window: Tweaked ApplySizeFullWithConstraint() -> CalcSizeFullWithConstraint() so it can be used without side-effect
omar 0a5fb24f10 Popups: Exposing a little more of popups internals in imgui_internals.h
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.
omar 113b2467cd Minor bits. Reduce usage of GImGui multiple times in same function.
omar 479e532f18 ColorEdit: fixed weird ternary pattern that makes some compiler warning (fair)
omar f24b5f71ca Merge branch 'master' into navigation
omar 79ce9b74d5 BeginTooltipEx() internal tweaks
omar 44e8d94aba Merge branch 'master' into navigation
omar 105f3b14e4 Merge branch 'master' into styles
omar 9693fd5351 PushStyleVar/PopStyleVar: internal tweaks
omar 7c9e38f60a Style: Moving code in a function to make incoming diff easier to parse.
omar 709653c330 Merge branch 'master' into styles
omar 6c91a1ef7f Minor comments
omar 052999a6ab More consistently uses "Dear ImGui"
omar 54d30d758f Implicit "Debug" window uses a "Debug##Default" identifier to allow the user creating such window with custom flags
omar 62d7fa4324 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
omar f63c03c464 Internals: moved ButtonRepeat and AllowKeyboardFocus bools/stacks to a generic ItemFlags stack. Merged from Navigation branch.
omar 51fcef0c21 BeginCombo() tweaks, merged from Navigation branch.
omar 5c4fda0fbc Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
omar 2169bf6895 Fixed WantTextInput from being true when an activated Drag or Slider was previously turned into an InputText(). ()
omar 790605e359 Minor comments + renaming internal fields
Václav Patejdl e1a7aa41cb Improved ColorPicker hue wheel color interpolation
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.
omar 6400f2900a Begin(): renamed locals.
omar a9c6a0f6ec Begin(): Removed unnecessary code (at the time of 1.18 commit e9e0e36f98, CursorPos was used to compute SizeContentsFit and this was necessary)
omar 89cae37b49 Begin(): Tidying up some code, should be a no-op.
omar 8fbe8709f9 TODO, minor tweak
omar e8dbf1c795 Combo: Internally split into BeginCombo(), EndCombo(), toward a more flexible combo api.
omar 5658675e9d Combo: Removed unnecessary ClearActiveId() call (from era where active combo stored an id, now we just use popup functionality)
omar 804ee78731 Added IsWindowAppearing().
Branimir Karadžić 670d40642f Fixed C4267 conversion from size_t to int.
omar 6a1ba317c7 Demo: Minor coding style tweaks so bgfx copy needs less patching.
omar 97a40e74fb Nav: Fixed bad merge of 6def01be5d so the bug fixed in wasn't fully fixed in Nav branch.
omar 96d2942373 InputText: Merged bits from Navigation branch (inc. g.ActiveIdIsJustActivated is only set on the toggle).
omar 9a0171b803 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
omar 35e4fa7b85 Merged from Navigation branch (DragBehavior)
omar 6cca4025ee Merge from Navigation branch: 6aa8019763
omar ddf41b0398 Merged from Navigation branch. TAB/Alt-TAB processing now deactivate if holding Ctrl.
omar 550dc09998 Merged from Navigation branch (misc)
omar aef041f948 Merged from Navigation branch
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). (, )
omar 287a4b6b38 Merged from Navigation branch: 5cac4926c8 fix title bar color of window under a modal window.
omar a9e1d9aab9 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui.h
#	imgui_internal.h
omar 358e7a194e Added GetKeyPressedAmount() (from Nav branch) to be able to measure fast repeat rate accurately. Added internal CalcTypematicPressedRepeatAmount() function.
omar 1f1e63f705 Merge various minor things (supposedly harmless) from Navigation branch into Master to reduce differences. Some code in NewFrame() has been moved around. ()
omar ee42fae468 Merge various minor things (supposedly harmless) from Navigation branch into Master to reduce differences. ()
omar 6752cba4bc Removed duplicate comments
omar 2ee1b70652 Merge branch 'master' into navigation
# Conflicts:
#	imgui_internal.h
omar f8eef49575 ProgressBar() fixed rendering when straddling rounded area. ()
omar 7a9ea281be ImSwap() helper.
omar 1f51e8f39d Internals: Renamed some ImGuiCorner enums.
omar 7a7327adde ParseFormatPrecision() returns -1 for scientific noation 'e'/'E', RoundScalar() doesn't alter those.
omar 807322c9a5 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
omar b295e185ff Updated copyright date for 2017, updated Gallery link
omar 419b22a487 Internals: Split some code out of NewFrame() into an Initialize() function.
omar 5938f1ba61 Added IsMousePosValid() helper.
omar a02210a455 Fixed compilation with IMGUI_DISABLE_OBSOLETE_FUNCTIONS defined
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.
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.
omar 40f608ce9b Version 1.52 WIP
omar 55a6209931 Version 1.51
omar e6ed2f9939 Nav: Tooltip do not appear in navigation focus list. (, )
omar d213c0eb7e Style: Tweaked default border (undo half-way from original c1e1e015c4) ()
omar b0fc30bd19 Merge branch 'master' into navigation
omar 92efa00bc9 Minor miscellaneous merges from Navigation branch to reduce divergence a little bit
omar 6ed75d3046 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui.h
omar eb2bbf6f29 Renamed IsItemHoveredRect() to IsItemRectHovered(). Renamed IsMouseHoveringWindow() to IsWindowRectHovered() - follow up to previous commit 6be7d4904e merged from Nav.
omar 52b39af0a0 Style: Added obsolete redirects for ImGuiCol_Columns*** fields. (ref 648f75b245)
omar 6be7d4904e Merge part of 88c1966629 from Nav branch. Renamed IsMouseHoveringAnyWindow() -> IsAnyWindowHovered(), IsMouseHoveringWindow() -> IsWindowHoveredRect() for consistency. Kept inline rediection function.
omar 141339e4b7 (internals) Renamed FocusedWindow to NavWindow to match terminology of navigation branch
ocornut 2ad2190d47 Merge 20a0fde012 Tidying up default clipboard handler for non Windows-OS (from Nav branch)
omar f3ab5e6252 Fixed InputText() bug with ImGuiInputTextFlags_EnterReturnsTrue (in nav branch only) (). Thanks @Grouflon
omar bea06117bb Nav: Fix navigation inside child windows. Removed GetChildID() and storin/g the info within the window. ()
ocornut 50b3a14d0a Merge 2545d75c3b from Nav - Tidying up, removed two unnecessary window flags from being exposed in imgui.h
omar d5b0d51274 Minor miscellaneous merges from Navigation branch to reduce divergence a little bit
omar 9670fe9ca7 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
omar 6ee317d26d ImRect::Clip() -> ClipWith() to clarify meaning, going to undo the change in Nav branch.
omar 6c82af2b96 Navigation branch fix (we changed Clip)
omar 543dc2817f Fixed an assert when calling CloseCurrentPopup() twice in a row.
omar 53e73182ff Merge branch 'master' into navigation
# Conflicts:
#	imgui_internal.h
omar 530baee1a7 Removed tabs that slipped through the cracks
omar 067127f113 Columns: Caching columns clipping rectangles ()
omar adeaf1cd72 Columns: Moved PushColumnClipRect() to imgui_internal.h
omar 54bdd00df7 Columns: Fix for explicit content width and scrollbar. (, )
omar 83e8d10fab Columns: Columns set resize based on the presence of vertical scrollbar. Not 100% sure about that but it looks like we've fixed enough bugs that this may not cause troubles anymore. (, , , )
omar 1ebd7ec049 Demo: Columns: Added Horizontal Scrolling demo. Tweaked another Columns demo. (, , )
omar 7ff1c149b5 Columns: Fixed another form of shearing made visible by the PreserveWidth option. The code was initially added in c46d5634d4 to fix because we've fixed in e42aaede42eb6d8a47cf104f3afd6057b13a61ee. (, )
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. (, , )
omar 7f0063f858 Columns: Added ImGuiColumnsFlags_NoResize flag (internal). (, )
omar e70d49ba1f Columns: Fixed one form of shearing during resizing columns with PreserveWidth enabled (there's another issue still). (, )
omar 9307631c90 Columns: Removed unnecessary/misleading dummy ItemSize(). Was fixed already before, and fixed again in this branch by 3bf2af23e6. (, ). End() calls EndColumns() directly.
omar a511b00226 Columns: Fixed offset rounding leading to SetColumnOffset() being destructive when ImGuiColumnsFlags_NoPreserveWidths flag is not set. (, )
omar 3bf2af23e6 Columns: Fixed EndColumns() not repositioning the cursor. ()
omar 19a42cb2fd Columns: Moved BeginColumns/EndColumns/flags from to imgui_internals.h + minor shallow tweaks. Removed demo code temporarily. ()
omar bc78535bbf Merge branch 'master' of https://github.com/ggtucker/imgui into ggtucker-master
# Conflicts:
#	imgui.cpp
#	imgui.h
omar b4eeb4aa8d Renamed GetStyleColName() to GetStyleColorName() for consistency. Extra comments in Api Breaking Changes section.
omar af2db53780 Added GetStyleColorVec4()
omar cf84650ee8 GCC warnings fixes
omar fd394e1e95 Scrollbar: Comments. Fixed potential div-by-zero error which I can repro now, so added an assert to notify us if it's actually ever useful or not.
omar 91d841dd5f Added PushStyleColor(ImGuiCol idx, ImU32 col) overload. (Which _might_ cause an "ambiguous call" compilation error if you are using ImColor() with implicit cast. Cast to ImU32 or ImVec4 explicily to fix.)
omar bf0d9c123e Merge branch 'master' into navigation
omar 24a78767d2 Merge branch 'master' into styles
# Conflicts:
#	TODO.txt
omar 68bf5ecbc1 Marked the weird IMGUI_ONCE_UPON_A_FRAME helper macro as obsolete. prefer using the more explicit ImGuiOnceUponAFrame. Removed the broken __LINE__ from IMGUI_ONCE_UPON_A_FRAME
omar a85a14370b OpenPopupEx() internal tweaks to receive an ImGuiID, BeginPopupContextXXX shortening unnecessarily long identifier.
omar a9915681eb PushID()/PopID() to not need to mark parent window as Accessed (needlessly waking up the root "Debug" window) ()
omar 5ea1865fdb (api breaking) changed parameter order for BeginPopupContextWindow(), note that most uses relied on default parameters completely.
omar d2259f65e5 Undo part of 32dbe836d0 to keep the same name for both overloads (, )
omar f98376d02b Merge branch 'is-popup-open' of https://github.com/mkeeter/imgui into mkeeter-is-popup-open
# Conflicts:
#	imgui.cpp
omar a83f7083ed BeginPopupEx() uses ImGuiID internally
omar 1e162dfc74 PushStyleVar/PopStyleVar: internal tweaks
omar 18f217e631 Style: Moved position of ImGuiCol_TitleBgCollapsed
omar 5429bd892e ColorEdit4: Added "Copy as..." option in context menu ()
omar 0f935248e3 Combo, Inputint, InputFloat, ColorEdit4 all use the small size for little square
omar 032c222d57 Merge branch 'master' into styles
omar 9bf5028fd3 Merge branch 'master' into navigation
omar a6d69f04c0 PlotHistogram: bars are drawn based on the position of zero ()
omar 3d6e037c23 Comments ()
omar bd3dfc0eba Moved TODO list to TODO.txt
omar c26b29b254 Style: Moving code in a function to make incoming diff easier to parse.
omar 2b7fe73a08 Window size can be loaded from .ini data even if ImGuiWindowFlags_NoResize flag is set (, )
omar c1e1e015c4 Style: Tweaked default border (which is off by default) to be less noticeable (, )
omar 648f75b245 Style: renamed ImGuiCol_Columns_*** to ImGuiCol_Separator_*** (BREAKING), Separator() uses this color as well. (, )
omar 6a4064e5f2 PathArcToFast: Minor renaming for clarification. Comments.
omar 8c61a4eb4c Fonts: Adding references to the fact that .OTF fonts are supported (but haven't renamed the entry points)
LuK1337 8352d43a0c Fix broken ImGuiColorEditFlags_NoAlpha flag check
* Fixes warning:
  imgui.cpp:9295:98: warning: enum constant in boolean context [-Wint-in-bool-context]
omar 908b025c3c Fixed (unlikely) Ini saving crash if the ImGuiWindowFlags_NoSavedSettings gets removed from a window after its creation () + minor FAQ tweaks
omar 08265bfbd9 RenderArrow(): fix warning. re-orderer lines to match enum order.
omar e3fae56089 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
omar d7cad903aa Documentation tweaks
omar 73f9c9d80c Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui_demo.cpp
omar 7e452ec737 Renamed ImGuiSetCond_XXX type and enums to ImGuiCond_XXX, kept old enums under #ifdef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
omar 53d1b1e929 ColorPicker: Fixes for when ImGuiColorEditFlags_NoOptions flag is set: always read a default picker type + forward flag to sub ColorEdit widgets. ()
omar fed18d3203 Removed old ValueColor() helpers. ()
omar fc5ab0cb8d RenderCheckMark() tidying up
omar 4fd148f4f9 Added ImFontAtlas::GlyphRangesBuilder helper + doc
omar 43e2abbee3 Comments, FAQ entry (, )
omar 55b99d753c Minor string typo
omar 30d1e5712a Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui.h
#	imgui_internal.h
omar a78ef7a369 Comments
omar 942cb0e1f2 Added SetColorEditOptions(). ColorPicker4: context menu to select picker type and alpha bar. Reorganized flags (again!). ()
omar a4012fd5b2 Merge branch 'master' into 2016-02-colorpicker
omar b5ad88627d Merge various documentation tweaks, comments, todos from the Navigation Branch to reduce drift a little
omar a1bcc8392e Fixed GetScrollMaxX() debug left-over from 7096fd8500 ()
omar 03700ad15e Merge remote-tracking branch 'origin' into 2016-07-navigation
omar 1c991b525a Merge remote-tracking branch 'origin' into 2016-02-colorpicker
omar 0ab722c3c5 Columns: First first column appearing wider than others ()
omar d43c25d8f4 SetScrollHere() tweak to make the code a little less confusing
omar e36b41cbd0 Fixed Y scroll aiming when Horizontal Scrollbar is enabled (). Tweak log demo.
omar 7096fd8500 Fixes for Vertical Scrollbar not automatically getting enabled if enabled Horizontal Scrollbar straddle the vertical limit. (, )
omar 233a6efeba Fixed GetScrollMaxX(), GetScrollMaxY(). Tweak demo to display more data. Using functions in Begin(). ()
omar 46c73cccff Popups window can be moved (if they don't have explicit positions provided by user, or e.g. sub-menu popup) ()
omar d762f1dbfb Comments, clarification about io.WantCaptureMouse, io.WantCaptureKeyboard flags timing and NewFrame(). ()
omar 95f2706d1c Clipboard: [windows] Fixed not closing win32 clipboard on early return. ()
omar 40ac84d701 DataTypeApplyOpFromText: renamed local variables + comments to avoid confusion about the fact that int and float paths are not totally symetrical. ()
omar f6460970c5 ColorPicker: Hue wheel + SV triangle picker mode (mode selection flags still wip, missing context menu and persistent options). ()
omar fb54dce71c Internals: Added ImLineClosestPoint, ImTriangleClosestPoint helpers. Changing ImVec2 arg to const ImVec2&
omar 72da4081f8 Internals: Added ImTriangleBarycentricCoords() helper. Renamed ImIsPointInTriangle() to ImTriangleContainsPoint(), with different arg order.
omar 2f508c7073 ColorEdit: Extract ColorOptionsPopup() function out of ColorEdit4(). ()
omar 10ef5a63f0 ColorPicker: Rearrange code to introduce alternate HSV picker/selector with simpler diff. ()
omar cc3cce7567 Comments, minor tidying up.
omar 70ee41b8b3 ColorPicker: Reordered drawing code to match left-to-right display. Extra comments. ()
omar 4b2f157fb1 Renamed ImGuiColorEditFlags_ModeMask_ to ImGuiColorEditFlags_InputsModeMask_ ()
omar efbb1ae04e ColorPicker4: Fixed forwarding _HDR flag from ColorPicker4 back to ColorEdit4 components. ()
omar 3ee969c3e3 ColorPicker: Alpha bar using a checkerboard. ()
omar 3075d8bcd4 ColorEdit4: Preliminary support for ImGuiColorEditFlags_HDR flag (currently only lift limits). ()
omar f6a89779c8 ColorEdit4: Hex input clamps integer components to 0..255 range during printout ()
omar e1a00c3d26 ColorButton: Added frame border when style border are off. () @jdumas
omar 90fcd4a829 Renamed ImGuiColorEditFlags_NoColorSquare to ImGuiColorEditFlags_NoSmallPreview ()
omar 3fe7739b5d ColorPicker: Honor ImGuiColorEditFlags_NoTooltip if for some reason user wants that. ()
omar 3ffcc72f98 ColorPicker: Better cursor/color preview over the color matrix. ()
omar fef8aac523 ColorPicker4: hue/alpha bars draw arrows that would look right on all background. RenderArrow helper. ()
omar 3926bd08e1 ColorPicker: Added ImGuiColorEditFlags_NoSidePreview flag + optional reference color. Added more demo code. ()
omar e84224bcd5 ColorEdit4: Can open context menu from inputs/drags as well ()
omar 6c82572a35 ColorEdit4: Fixed not returning true when clicking on the Original/Ref color in Picker spawned from ColorEdit4 + shallow tidying up ()
omar 7537dff806 ColorEdit4: Picker spawned from ColorEdit4 has a preview for original/previous color with revert button - WIP not really happy with it being in ColorEdit4 code ()
omar 6bc1572d31 ColorPicker: Comments. Single input value mode allow access to context-menu options. ()
omar 973d4a361b ColorPicker: Forward AlphaPreview flag to its individual inputs/sliders. Split code into extra lines to make logic more readable. ()
omar cdcda9ff68 ColorEdit4: Store edit options per window. Demo: Letting user change edit mode. ()
omar c36d59a42a ColorEdit, ColorPicker: AlphaPreview, AlphaPreviewHalf are explicit. Updated demo and using in style editor. 3x3 checkerboard more readable in half mode. ()
omar b1cbd87a94 ColorEdit4: Minor tidying up. ()
omar bfec9c657e ColorButton: Pretty much gave up with getting the checkerboard + AA + rounding + blending + offset all working together with every combination under the sun. It works as long as you don't sneeze. ()
omar a9df6bfe86 ColorButton: Fixed rounding corners artefact when there is a single cell.
omar b7a563276d ColorTooltip: Honor ImGuiColorEditFlags_HalfAlphaPreview flag by calling ColorButton(). Added HalfAlphaPreview to demo. ()
omar c1c2b2400a ColorButton: Undo ce203f99f5
omar 2e37db9002 ColorEdit4: Fix not forwarding ImGuiColorEditFlags_AlphaBar flag to ColorPicker4 ()
omar 27e5b09af1 ColorButton: ImGuiColorEditFlags_HalfAlphaPreview flag to render both opaque and alpha-with-checkerboard versions of the peak preview ()
omar 69dd1ed583 RenderColorRectWithAlphaCheckerboard() in one layer to shunt out anti-alasing artefacts when rounded. Added ImLerp(int,int,float). ()
omar 76bae2f015 ColorEdit, ColorPicker: Fixed broken build due to commiting an undesirable change in 78a8f798c5 ()
omar 19c6a9c0e0 ColorButton, ColorPicker: painfully made RenderColorRectWithAlphaCheckerboard more friendly to using Rounding and Border in style, still not perfect :( () + comments
omar 6796e771fd ColorEdit, ColorPicker: added ImGuiColorEditFlags_NoAlphaPreview flag (). Reorder flags again.
omar ce203f99f5 ColorButton: Push a text baseline offset if higher than g.FontSize. ()
omar 78a8f798c5 ColorEdit, ColorPicker, ColorButton: Display grid under transparent colors (WIP) ()
omar 9d0e5beaa7 GetColorU32(ImGuiCol): avoid using GImGui twice since some implementation make it a TLS-ish variable with non-trivial accessors.
omar 95fe11b5bf Added GetColorU32(u32) variant that does the style alpha multiply without a floating point round trip. Not 100% sure about that before the signature may seem ambiguous? But also make using imgui+drawlist more consistent in end-user extensions.
omar 4f1f251bd2 ColorEdit, ColorPicker: Context / options menu allows to toggle between u8 and float display. Using short words to avoid localization. ()
omar 8d32e8dae6 ColorPicker: Handle out of 0..1 range colors when displaying the cross hair. ()
omar 7b2d79cffd ColorEdit: Added ImGuiColorEditFlags_Float flag to display and edit drag values in 0.0..1.0 range instead of 0..255. ()
omar a8b202782f ColorPicker,ColorButton: Honor Border/Shadow style settings ()
omar 790d0eb5be ColorPicker: Added ImGuiColorEditFlags_AlphaBar option ()
omar 4355b2e422 ColorPicker: Honor ImGuiColorEditFlags_NoColorSquare flag + comments ()
omar 15be7e1a71 ColorPicker: new prototype for ColorButton() .Added _NoTooltip, _NoLabel flags. Changing _Alpha flag to _NoAlpha makes so much much sense and allow to revert default parameters to zero. ColorEdit4/Picker4 don't attempt to read/write fourth component, making ColorEdit3/Picker3 shorter/faster. Tooltip and Picker called from ColorEdit can have a title. Picker shows colored square. Moved ColorTooltip() to imgui_internal.h ()
omar dd9c2f97a8 ColorPicker: Renamed _NoSliders to _NoInputs ()
omar eba33deaf3 ColorPicker: Longer white line for hue/alpha selection, scale down according to ItemInnerSpacing. ()
omar 1edeea2f5a ColorPicker: Removed extraneous ImGui:: prefixes + minor comments ()
omar e79d7553b0 ColorPicker: Don't use Alpha setting when enabling all 3 sliders ()
omar 97bedd704c Better, unified color tooltip ()
omar c8553817d9 Merge branch 'master' into 2016-02-colorpicker
omar 138a9dbaeb Tooltip: SetTooltip() is expanded immediately into a window, honoring current font / styling setting. Add internal mechanism to override tooltips (not exposed in BeginTooltip yet because bools are evil) ()
omar e4007f7145 Internals: Move GetVisibleRect() a few functions above so it gets to hang out with its peers.
omar 85d9c8fb46 Internals: renaming IndexWithinParent to OrderWithinParent
omar 25f3717a1c Removed IsPosHoveringAnyWindow() which was severaly broken and misleading (most people want to use io.WantCaptureMouse). Added dummy function with assert for now. ()
omar 3e4cb40d45 Merge branch 'master' into 2016-02-colorpicker
omar 41f944238b Comments about GlyphExtraSpacing ()
omar be7fa76fdd Fixed Clang unknown-warning-ignored warning by ignoring it..... we are truly living in a special time ()
omar cb6d893a13 Comments (, )
omar d3f4309491 Comments about ImGuiStyleVar enum ()
omar a5e0210902 Revert 978c84d2e9 because int32 >> 32 tends to warns on some compilers/settings. Add ImU64 type. ()
omar e47cf79773 Comments tweaks, typos ()
omar 4c8d87d3fb Comments ()
omar 978c84d2e9 Removed dependency on int64_t type (unvailable in VS2008) by rewording an assert ()
omar 12d265fa31 Version 1.51 WIP tag
omar 5e1caaaef3 Version 1.50
omar 7ad84b22f8 Comments
omar 62c4698a73 Further clarifications of the key indices passed to IsKeyXXX functions ()
omar 8228dc20df Merge branch 'master' into 2016-07-navigation
omar c038339a4c Merge branch 'master' into 2015-02-colorpicker
omar 9da53bcecd ImFontConfig: Removed MergeGlyphCenterV in favor of a more multipurpose ImFontConfig::GlyphOffset. (Breaking change)
omar bd9868f447 Scrollbar: Avoid rendering when sizes are negative to reduce glitches (not sure how this ever slipped through - perhaps because of WindowMinSize settings).
omar dbfd5d6e9a Ignoring unreasonnable Clang -wformat-pedantic warning ()
See e.g.
http://clang-developers.42468.n3.nabble.com/The-p-conversion-and-cast-to-void-td4044226.html
omar 27b83a2cac Merge branch 'master' into 2016-07-navigation
omar 89b1497843 Merge branch 'master' into 2016-02-colorpicker
omar a0a6c8a2ef Renamed ImDrawList::PathFill() to ImDrawList::PathFillConvex() for clarity. (breaking API)
omar d878462866 End() avoid calling Columns() if no columns set is open, not sure what it wasn't the case.
Pros: Faster. Avoid early crashes StackId underflow that are meant to be more gracefully caught by CheckStacksSize() (with more explicit assert). Cons: Excercise less code.
omar bbd44b4edd Clarified asserts in CheckStacksSize() when there is a stack mismatch
Michael Link 8df58e2cfd MenuItem should only be selected on release
omar 0e1950f7d6 Comments about child menu positioning ()
omar 2a3c61e5f8 Merge branch 'master' into 2016-07-navigation
omar 92ea8d1131 Merge branch 'master' into 2016-02-colorpicker
Codecat fdd11658eb Fix ColorButton showing wrong hex value for alpha
omar b8043d3ee5 Internal: Renamed ImLoadFileToMemory to ImFileLoadToMemory to be consistent with ImFileOpen + fix mismatching .h name ()
omar b6c0227add Merge branch 'master' into 2016-02-colorpicker
omar c76be71acf Merge branch 'master' into 2016-07-navigation
omar 6257b5814a Added an explicit (internal) ClearActiveID() helper and removed the default NULL window parameter to internal SetActiveID(),
ocornut a60b2cc645 Merge branch 'master' into 2016-02-colorpicker
ocornut bb4d19ff7c Merge branch 'master' - merge fix
ocornut fdc70456f4 Merge branch 'master' into 2016-07-navigation
omar 081aec482b Merge pull request from nlguillemot/master
Combo, ListBox: Extra const correctness.
ocornut baa2e3b451 Minor documentation tweaks
Nicolas Guillemot 36d78e0565 const correctness for Combo and ListBox
Since Combo and ListBox only read and display the list of items, they
should not modify the pointers inside the array of pointers passed in.
Adding "const" here makes it possible to call these functions with such
an array of const pointers. Previously, a cast to "const char**" was
required as a workaround, otherwise there was a compile error.
ocornut 55d651812d Renaming and massaging internal Settings/Ini functions ()
ocornut 0b6211f907 Fixed clicking on a window's void while staying still overzealously marking .ini settings as dirty ()
ocornut 9235e0da46 SliderInt, SliderFloat(): Fixed edge case where style.GrabMinSize being bigger than slider width can lead to a division by zero ()
ocornut ca9a918535 SliderInt(): Fixed reverse direction mode when (v_max-v_min)==-1 () (+ ref )
ocornut bbd0a37bd2 ImFileOpen: MinGW uses _wfopen() codepath to support UTF-8 filenames ()
ocornut 449c47c789 SliderInt, SliderFloat() interacting enforce modifying to the value to be consistent with other widget behaviors ()
ocornut 94c77edfa5 SliderInt, SliderFloat() Better display support for v_min==v_max range. ()
ocornut 0a483379af Split SliderBehaviorCalcRatioFromValue() out of SliderBehavior(), fix + Not using fabsf() anymore
ocornut 004e863727 Split SliderBehaviorCalcRatioFromValue() out from SliderBehavior()
ocornut 67c6d6026a Nav: SliderFloat() Fixed non-linear sliders in Nav branch (, )
ocornut 3028ccc25b Merge remote-tracking branch 'origin' into 2016-07-navigation
ocornut f4cf972ea9 Merge branch 'master' into 2016-02-colorpicker
ocornut 219e4fb8fb SliderInt, SliderFloat: Passing v_min==v_max disable setting value from clicking/dragging ()
ocornut a868c32ed1 SliderInt, SliderFloat: Renaming
ocornut 61d5b46307 SliderInt, SliderFloat(): support reverse direction ()
ocornut 104b381023 Using _wfopen() under Windows+MSVC because fopen() doesn't support UTF-8 encoding. Wrapped as ImFileOpen(). ()
Geoffrey Tucker 66c4281290 Began improvements to columns API by splitting the Columns() function into BeginColumns() and EndColumns() and adding additional flags. The columns data still needs to be placed into a stack.
ocornut 98e1d500d4 Support for #define-ing GImGui and IMGUI_SET_CURRENT_CONTEXT_FUNC to enable custom thread-based hackery ()
ocornut 8553bab241 Ignoring overzealous GCC warnings ()
ocornut 941cf1b436 Merge branch 'master' into 2016-07-navigation
ocornut ccb3db94da Merge branch 'master' into 2016-02-colorpicker
ocornut 3689efb726 Font: Readme about icons
ocornut da9feba539 Fixed missing frame padding on title bar text when Collapse triangle is disabled
ocornut b376b68326 Font: Added io.FontDefault in ImGuiIO structure to make it easier to change default font from third-party or demo code
ocornut ddf08ec2e8 BeginChild(const char*) applies stack id to provided label (, )
Matt Keeter 32dbe836d0 Add user-facing IsPopupOpen function
ocornut dd6163241c Merge branch 'master' into 2016-02-colorpicker
ocornut bdb34d1c11 Merge branch 'master' into 2016-07-navigation
ocornut 7252d93dcd stb_textedit.h Merged from master 1.9 (merged bits from )
ocornut 0d3f8807c7 Added a void* user_data parameter to Clipboard function handlers. ()
ocornut cb7e1c18b5 Separator: Fixed zero-height bounding box resulting in clipping when at top of clipping rectangle ()
ocornut 4de35b4f30 Removed left-over empty op
ocornut 1810b3ff38 Added ImGuiCorner enum to clarify some internal code
ocornut abaada4224 Removed the inconsistent shadow under RenderCollapseTriangle() (~#707)
ocornut 5957af8a80 Fixed not using IM_ARRAYSIZE() where appropriate
ocornut fa73e5aa0e Plot: Fixed calling with values_count == 0
ocornut 51111b0ed5 FAQ clarified the ClipRect entry a little
ocornut e4deb7a190 Merge remote-tracking branch 'origin' into 2016-07-navigation
ocornut 404979e48d Merge remote-tracking branch 'origin' into 2016-02-colorpicker
ocornut a2487bc143 Minor tweaks
ocornut 68c81739bf Minor tidying up following merge BGRA color PR ()
ocornut eb0382a1c1 Merge branch '2016-08-use_bgra_colors' of https://github.com/thedmd/imgui into thedmd-2016-08-use_bgra_colors
ocornut dfe4683c17 EndGroup(): Made IsItemHovered() work when an item was activated within the group () (loosely follows )
Michał Cichoń 1999c01db8 Apply Omar feedback and convert remaining 0xAABBGGRR's into IM_COL32(RR,GG,BB,AA) format.
Michał Cichoń d75d2b1871 Introduce IMGUI_USE_BGRA_PACKED_COLOR in imconfig.h.
When IMGUI_USE_BGRA_PACKED_COLOR is defined packed color hold in ImU32 use BGRA format instead RGBA.
ocornut fea0fcb7c3 Merge remote-tracking branch 'origin' into 2016-07-navigation
ocornut 6def01be5d Fixed IsItemActive() lagging by one frame on initial widget activation ()
ocornut f2699de242 Fix using IsItemActive() after EndGroup() or any widget using groups (, )
ocornut ed279c0095 Merge remote-tracking branch 'origin' into 2016-07-navigation
ocornut 1b5bbf725b Merge remote-tracking branch 'origin' into 2016-02-colorpicker
ocornut 56cdbe434d Style: Added ButtonTextAlign, ImGuiStyleVar_ButtonTextAlign ()
ocornut 0f303d363a Refactor text alignment options to use ImVec2, removed ImGuiAlign (, )
ocornut de9f8944ea Internal RenderTextClipped() merged optional/rate clip_min* clip_max* into clip_rect*
ocornut 02cea0c3c3 Comment
ocornut 281898e82e Tidying up PushStyleVar/PopStyleVar() a little more ()
ocornut c5b8c6303a Refactor PushStyleVar/PopStyleVar so it is constant time + can receive integers (yet unused) ()
ocornut 6e87f071b8 Shutdown() clear out some remaining pointers ()
ocornut 0420ab027e Metrics: Displaying window position + moving extraneous line in IsPopupOpen().
ocornut b397fb507e Fixed EndGroup() not restoring offset properly. breaking SameLine() offset (caused by 954c890c67) ()
ocornut 612b17ef57 Fixing minor english typos ()
ocornut f6d4ca6473 TODO list
ocornut c0fcf223be Fixed assert triggering when a window has zero rendering but has a callback ()
ocornut 3c384c2f10 Examples: Renaming opengl_example/ to opengl2_example/ for clarity (1/2 because git)
ocornut ef10b984fe Merge remote-tracking branch 'origin' into 2016-02-colorpicker
ocornut f39513ac47 Merge remote-tracking branch 'origin' into 2016-07-navigation
ocornut 63d47bc5a4 ImFormatString() Fixed an overflow handling bug with implementation of vsnprintf() that do not return -1 ()
ocornut e8e5c6d788 Nav: Comments. Fixed two -Wall warnings. Removed unused function. ()
ocornut 3883a2027f Nav: Fixed Selectable() crash introduced earlier today in 43ee5d73 + added comments/assert ()
ocornut df9bdf38f9 Nav: NavActivateId, NavInputId are no repeat actions. Repeat buttons handle it themselves already anyway. ()
ocornut c6c7371a4c Nav: Removed unnecessary test following 49ca1c2b88 ()
ocornut 49ca1c2b88 Nav: InitDefaultRequest saves a fallback item so PadMenu on a collapsed window gets us to the collapse button ()
ocornut 2303b67c40 Close button submitted after collapse button. Should have no effect. Consistent with expectation & will be used as fallback for nav ()
ocornut 252f094101 Nav: Undo 87eb749cbc, agressively including nav focus test in IsItemHovered() ()
ocornut fddf9ca10e Nav: Fixed nav highlight clipping (affected non non-menu items within menubar) ()
ocornut 78b7e2dfb3 Nav: Process and apply mouse move request immediately after move request result comes ()
ocornut f71cdd13b7 Internal tidying up, moved code to CalcNextScrollFromScrollTargetAndClamp() so it can be reused by upcoming nav code.
ocornut ac7826c8a5 ImRect: Added Translate() helper, removed redundant and misleading Reduce()
ocornut 87eb749cbc Added IsItemHoveredOrFocused() (provisional name), better handling of popup/tooltip positioning when using mouse+nav ()
ocornut ea2425ad9a Nav: Fixed entering child with PadActivate not setting ActiveIdSource to Nav ()
ocornut 43ee5d73e9 Nav: Hovering MenuItem/Selectable with mouse makes NavId, matching what seems to be Windows beahvior at least for menus ()
ocornut 30c04d0dbe Nav: Mouse pos passed to backend always rounded, so that lossy application of non-integer mouse pos doesn't lead to undesirable movement (
ocornut bf42657850 Nav: Clearing mouse hover flag using MouseClicked[] test instead of MouseDown[] so that invalid mouse button won't keep breaking nav ()
ocornut 695ca7bb45 Nav: Tidying up. Comments. ()
ocornut 4f7c63a7af Nav: Fixed a bug where mouse positioning requests would be sent while opening submenus with mouse ()
ocornut e4c099d67c Nav: Comments + fixed handling of PadLeft in menus (fix e55882f) ()
ocornut e3fec8c0aa Renamed function ()
ocornut ead79dcdac Metrics: 64-bit display fix
ocornut 3ab0d5cdfd Nav: NavHighlight gets its own color (default to Header color), made rectangle thicker ()
ocornut cf16ba6572 Nav: Exposed RenderNavHighlight() in imgui_internal.h to increase discoverability and reordered arguments to be more consistent ()
ocornut 6c19d7b13c Nav: Fixed clipping rect of navigation highlight, notably for collapsing arrow ()
ocornut 9501cd9991 InputText: Fixed calling callback on frame of losing active id, fix part of 848e62bfe0 (nav branch only)
 
ocornut cff815fd2d Merge branch 'master' into 2016-02-colorpicker
ocornut a83f9b7885 Merge branch 'master' into 2016-07-navigation
ocornut 0f9addb002 Minor shuffle to ease merging branches. (tentative. fugly but those fields will be removed anyway)
ocornut bfe1e163b8 Merge remote-tracking branch 'origin' into 2016-02-colorpicker
ocornut 4bc3f9d1f7 Minor shuffle to ease merging branches.
ocornut 996eb080fa Merge remote-tracking branch 'origin' into 2016-02-colorpicker
ocornut df1d1b5b25 Nav: DragBehavior: Adjust minimum step to displayed precision when using navigation (, )
ocornut 09cba02d3f Nav: DragBehavior: Fix for fast speed ( )
ocornut 761a74c62b Selectable/MenuItem: Not activated on Click but only on Release is more standard (, , )
Apparently menu items started with OnClick (vs OnClickHoldRelease) when
doing . Hope to not break anything.
Also allows using xxx_DontClosePopup flags.
ocornut 8828889d5e Refactored rare transient bool stacks into a set of flags, added unexposed ImGuiItemFlags_SelectableDontClosePopup ()
ocornut 525ef5b357 Nav: Tweaked default highlight clipping (clipped by scrollbar) and removed subtle background ()
ocornut a68132948b Nav: Added ImGuiCol_NavWindowingHighlight into style ()
ocornut 6aa8019763 Nav: Fixed bug where pressing NavInput(Triangle) to turn slider/drag into text input would then change subsequent NavActivate as well ()
ocornut e55882f74b Nav: Allow PadLeft to close a menu ()
ocornut c203be94c6 Merge remote-tracking branch 'origin' into 2016-07-navigation
ocornut 6eb35b8a04 BulletText(): doesn't stop displaying at the ## mark
ocornut 8a6d209f68 Nav: Failed movement request with no current NavId fallback to an InitDefaultRequest so that we always land somewhere on first move ()
ocornut 5ef8452509 Nav: Comments ()
ocornut cbf24c13ca Merge remote-tracking branch 'origin' into 2016-07-navigation
ocornut 5d1a0a6f77 Removed a handful of obsolete (trivial) function redirection from 1.34 and 1.38 (march-april 2015)
OpenNextNode() -> SetNextTreeNodeOpen()
GetWindowIsFocused() -> IsWindowFocused()
GetItemBoxMin() -> GetItemRectMin()
GetItemBoxMax() -> GetItemRectMax()
IsMouseHoveringBox() -> IsMouseHoveringRect()
IsClipped() -> !IsRectVisible()
ocornut b8397c2933 Tweak comments ()
ocornut a1521534ba Merge branch '2016-08-generalized_visibility_test' of https://github.com/thedmd/imgui into thedmd-2016-08-generalized_visibility_test
ocornut af33efb146 Using IM_COL32() for colors in a few spots ()
ocornut a7f6ea592f Moved GetColorU32 out of imgui_internal.h to avoid inlining mess ()
Michał Cichoń 7588dfb67e Add ability to test arbitrary rectangle for visibility without need of moving cursor.
ocornut d85c1be6b6 Nav: Reordered Cancel handling code so you you can leave a child within a popup without closing the popup ()
ocornut c263961f07 Nav: Menu: Allow PadDown to open a menu from a menu bar, PadRight from a menu (, )
ocornut dcff032429 Nav: Moving all nav inputs to io.NavInputs[] float array, new enum labelled for gamepad. ()
ocornut c0dcef4e16 Nav: Moving window with nav stick disables mouse hover ()
ocornut 36fa2b9523 Nav: DragBehavior removed bogus test ()
ocornut 2e52bee12e Merge remote-tracking branch 'origin' into 2016-07-navigation
ocornut 907265d632 Using ImGuiID instead of ImU32 is a few places
ocornut 8b190f1100 Nav: quick tap on NavMenu with no focused window doesn't focus one (holding still does) ()
ocornut e9c881e4de Nav: fixed using NavMenu/windowing select when no window is already focused + cleanup code ()
ocornut 1ecbf73c97 Nav: working on early bits of documentation ()
ocornut a154625a56 Nav: Not exposing ImGuiWindowFlags_NavFlattened because it requires much more work ()
ocornut 08a28c16ae Nav: Merge FocusedWindow and NavWindow that were basically duplicate at this point ()
ocornut 2545d75c3b Tidying up, removed two unnecessary window flags from being exposed in imgui.h
ocornut b3cba62b80 Nav: Added experiment ImGuiWindowFlags_NavFlattened flag to cross over between parent and non-scrolling child windows ()
ocornut 769a1dd748 Nav: No scrolling while using windowing functionalities ()
ocornut a88d189f18 Nav: MoveRequest doesn't affect io.NavUsable so that navigation failure doesn't trigger false positive & not needed (undo part of 3cc1419df)
ocornut f72e2fd1b1 Merge remote-tracking branch 'origin' into 2016-07-navigation
ocornut 954c890c67 SameLine() with explicit X position is relative to left of group/columns (ref , , )
ocornut 3cc1419df3 Nav: making io.NavActive more suitable for end-user detecting if they should pass inputs to game ()
ocornut cc66731c39 Nav: Calling SetItemDefaultFocus() doesn't make mouse cursor dirty if nav highlight is off ()
ocornut 8d0186c82b Nav: programmatic call to SetKeyboardFocusHere() doesn't quality as a nav input (doesn't position mouse) ()
ocornut e2dd48ae65 Nav: Split _NoNav window flag into _NoNavInputs and _NoNavFocus ()
ocornut 4c4d750cae Nav: Fixed Collapse icon disappearing when Nav is disabled (since b2aaab873d) ()
ocornut 3672105b87 Tidying up
ocornut 04157da291 Nav: first committed pass for manual moving and manual scrolling (after a bunch of attempts) ()
ocornut 4309b8c1ed Clarifying that MovedWindow* apply to mouse moving only
ocornut f2d1472481 Nav: Fixed navigating outside of current scrolling bounds (bug from 0cc20fca83) ()
+ spaces
ocornut efc8858328 ImRect: fixed Clip() function being the other way around (INTERNAL API BREAKING CHANGE- wasn't exposed, hoping nobody uses that) + actually fixes the function behavior.
ocornut d6ce800a20 Nav: ActiveIdAllowNavMove -> ActiveIdAllowNavDirFlags for more flexibility (nav up/down typically allowed on a single-line text input) ()
ocornut d9d6b0e629 Nav: Renamed private ImGuiNavDir_ enum to use left/right/up/down to be consistent with key enums ()
ocornut cbe03e3108 Nav: CalcListClipping/ImGuiListClipper: fix to ensure we can navigate clipped lists ()
ocornut b3ddae07d1 Nav: not activating widgets with NavActivate when NavMenu is held ()
ocornut b2aaab873d Nav: collapse button is interactve, allow collapsing, tidying up, resize speed takes account of framebuffer scale ()
ocornut 4735802096 Shallow tidying up ctrl+wheel scaling code in NewFrame()
ocornut 20a0fde012 Tidying up default clipboard handler for non Windows-OS
ocornut f34d7ea199 Fixed bad merge
ocornut 5f6f4d0ffc Merge remote-tracking branch 'origin' into 2016-07-navigation
ocornut 7086a17854 InputTextEx: got rid of unnecessary locals.
ocornut 776ea6b946 InputTextEx(): more shallow tidying up, still being cautious with this function
ocornut 666d83b5c7 InputText/IO: Got rid of individual OSX options in ImGuiIO, added io.OSXBehaviors (, )
ocornut 0ff22dbf0b InputTextEx(): minor tidying up
ocornut e5b6ddde26 InputText(): minor tidying up/simplification following changes for osx style improvements ()
ocornut 802e91f69e Merge branch 'add-osx-homeend-keys' of https://github.com/michaelbartnett/imgui into michaelbartnett-add-osx-homeend-keys
ocornut aeabda5a5f Navigation: Tap NavMenu to access menu and close buttons, hold to focus/resize ()
Introducing a concept of NavLayer to filter navigable items
ocornut c3aa36d9ab Navigation: Renamed ImGuiKey_NavWindowing to ImGuiKey_NavMenu ()
ocornut 175f42420c Navigation: Can nav-out but not nav-in a window with ImGuiWindowFlags_NoNav flag ()
ocornut 67feb5ac6c Navigation: comments + moving init block of code above in NavUpdate(), should have no side-effect (committed to simplify next commit) ()
ocornut 49ec65b1b5 Navigation: can't manually focus out of a modal window with controller ()
ocornut 5cac4926c8 Fixed display of TitleBgActive color on window before a Modal window + modal window availability for navigation ()
ocornut ba43310df1 Navigation: Renaming, shortened some unnecessary long fields names ()
ocornut 4bbdaa4e3c Navigation: Moving NavInitWindow() around and making it static ()
ocornut e9d8b48a4c Navigation: Allow to navigate out of text input with direction or NavCancel ()
ocornut 2f94563564 Navigation: Collapsed window uses ImGuiCol_TitleBgActive when navigation is active ()
ocornut afadc7cf59 Navigation: Scoring: Improved directional navigation. Not totally cancelling out dx. Better support for zero-spaced items. ()
ocornut e74d96642f Navigation: mouse/popup position gets clamped within visible display ()
ocornut 0cc20fca83 Navigation: Scoring uses rectangle as clipped by parent. Fix selectable extending past parent column among other things ()
ocornut 2f1fb41579 Navigation: Fixed automatic fallback scrolling from glitching near scroll limits because of miscalculation of SizeContents ()
ocornut ad48309047 Navigation: Fixed using NavWindowed when a menu is open. ()
ocornut 2cab404a81 Fixed tooltip positioning issues when using navigation ()
ocornut c2cb2a6928 Gamepad/Keyboard navigation support, initial commit, WIP ()
ocornut 4a11cc35b9 Updated code for repeat delay / repeat handling. GetKeyPressedAmount() now returns a count to support fast repeat rate (where DeltaTime > RepeatRate).
Renamed from recently added IsKeyPressed() variant to GetKeyPressedAmount(). (no API breakage, added in branch, bbd3b75609) ()
ocornut 88c1966629 Added IsAnyWindowFocused(). Renamed IsMouseHoveringAnyWindow() -> IsAnyWindowHovered(), IsPosHoveringAnyWindow() -> IsAnyWindowHoveredAtPos(), IsMouseHoveringWindow() -> IsWindowHoveredRect() for consistency. Kept inline rediection function.
ocornut 23a81027e8 Comment on invalid comment regarding preserving keyboard focus of a closed window, due to commit 19d02becef. This is probably still what we want. (followup )
ocornut eb405ab375 DragBehavior: Moving code around, in what should be a no-op, to simplify upcoming Nav diff (, )
ocornut c816e6c742 Fixed SetScrollX() handling of center ratio (which actually wasn't exposed publicly). (, )
ocornut e10ecfe28a BeginChild(): tweak to make the code easier to understand
ocornut 24f79b91bd Style: minor tweak to default color theme to make currently focused window more prominent (, )
ocornut 068984691e Tab-key focusing inhibited when CTRL is held ()
ocornut 267e54cf06 NewFrame(): update activeid data and keyboard before mouse. Should have no side-effects! (So that later we can update Nav between Keyboard and Mouse) ()
ocornut 272745bd93 ImGuiIO: initializing fields in the same order as the declaration.
ocornut 848e62bfe0 InputText: don't process keys during the activation frame (this is mostly a workaround to that activation with enter doesn't validate immediately, which is turns triggers an assert in InputScalarAsWidgetReplacement - can't see an issue with changing it this way so trying out) + using local flag clear_active_id to only clear the active id at the end of the frame, which is one of the step that my stash for requires. ()
ocornut 57841f417d SliderBehavior, RoundScalar: split into separate functions for usage in upcoming nav commits. Testing power==1.0f without fabsf(). Maybe just use == 1.0f as well? ()
ocornut 6f7da2f9f2 Popup: Fixed popup initial frame reading MousePos again instead of the value already stored within the CurrentPopupStack in the previous frame. Doesn't make a big difference here, but will do as gamepad/keyboard navigation will set its own popup position. ()
ocornut 91e1c56da6 Minor bits.
ocornut bbd3b75609 Added IsKeyPressed() with explicit repeat delay and repeat rate (for usage by nav) ()
ocornut 9f92cc255b SetActiveId() sets ActiveIdIsJustActivated only when id changes. ()
ocornut ffdd7d7f17 Begin: Moved code that calls FocusWindow() on a newly appearing window lower in the function so that Nav branch can use CursorStartPos on the first window frame. ()
Pushing in master because it _should_ be a no-op but I'd rather test for any issue in Begin() as soon as possible.
ocornut 19d02becef Closing the focused window restore focus to the first active root window in descending z-order (part of )
ocornut e215905765 Fixed scrolling offset when using SetScrollY(), SetScrollFromPosY(), SetScrollHere() with menu bar.
Tests:
a) add SetScrollY(+20) after Begin("ImGui Demo") test with/without title/menu.
b) add ImGuiWindowFlags_MenuBar in BeginChild() in scrolling tracking demo.
ocornut 44a13a7f25 Windows: No default IME handler when compiling using GCC. ()
ocornut 04b36bc397 TODO list
ocornut 81036ee46f InputTextMultiline(): fix so that IsItemActive() can be used afterwards (otherwise the info was lost by using child/group)
ocornut 88721118fd InputTextEx: comments (related to )
ocornut d9e2e688e9 InputTextMultiline(): partial fix for when input and internal buffers differs in a way where scrollbar existence differs. ()
Partial fix, won't stop ids from functioning because of a zombie id.
Michael Bartnett 921fc50c85 add shortcut+backspace support
Michael Bartnett 86f42b5950 osx uses super+arrows for home/end, built on work in
ocornut 5525c2356a Using GetCurrentWindowRead() instead of GetCurrentWindow()
ocornut fe7274b6c7 SetCursorScreenPos() fixed not adjusting CursorMaxPos as well
ocornut b9b3dec7da ImGuiListClipper: Fix to behave within column (, , )
ocornut 74bbfcfaa6 ImGuiListClipper: fixed automatic-height calc path dumbly having user display element 0 twice (, )
First bug out of two. Was easily visible using e.g. 50% alpha text.
ocornut 297bb3fc92 NextColumn() tidying up with a sane early out
ocornut ba7acdac47 Added assert to track stb_textedit.h issue ()
ocornut c36fd541ad InputTextMultiline(): Fixed Ctrl+DownArrow moving scrolling out of bounds
ocornut e06852abaf Fixed Windows default clipboard leaving its buffer unfreed on application's exit. ()
ocornut de61fcc619 Minor bits
ocornut 355dae5d99 Comments amend 3c8e490778 (committed before saving last comment edit) ()
ocornut 3c8e490778 Comment on dealing with io.WantCaptureKeyboard ()
ocornut 13615a1318 InputText: render currently edited buffer from the internal buffer, toward
ocornut 2f4e2eec68 InputText, ImGuiTextFilter: using strncpy instead of printf("%s").
ocornut 4621b357c1 Wrapped text: fixed incorrect testing for negative wrap coordinates, they are perfectly legal. ()
ocornut 92bff4c8d7 ColorEdit4(): better preserve inputting value out of 0..255 range, display then clamped in Hexadecimal form
ocornut 9cb271f4c8 Fixed minor text clipping issue in window title for when using font straying above usual line ()
ocornut 1ef7980e17 Merge branch 'master' into 2016-02-colorpicker
ocornut c4db79f34b Member variable name renamed "ID" "Id" for casing consistency
ocornut 9f21c7189f TextUnformatted() fixed clipping bug in the large-text path when horizontal scroll has been applied (, )
ocornut d79186931e ImDrawList: Fixed a (rarely occuring) bug with merging with previous command + unnecessary OverlayDrawList command
ocornut 3fd3eac370 Fixed TextWrapped() override wrap position is one is already set ()
ocornut 8291d7dc7c Fixed minor bug introduced in 45dacbf084 ()
Actually minor because nobody uses that value. Still a terrible
bug.
ocornut d1c073a199 Comments, tweaks
ocornut 254a1a9e4c InputText: Added support for CTRL+Backspace.
ocornut 5d4cf1c3f3 Version 1.50 WIP
ocornut adb85d800d Version 1.49
ocornut 3ddb50a925 Merge branch 'master' into 2016-02-colorpicker
ocornut 0fb51b6b4b Removed various superflous ImGui:: prefixes in internal code
ocornut 9886c1b43d Undo modification of ContentsRegionRect.Max, too many side-effects (undo dff078365f)
ocornut dcef7dedce Comments ()
ocornut 784e1ef053 CollapsingHeader() with close button adapt to horizontal scrolling ()
ocornut dff078365f Fix selectable/tree node not reaching right-side of contents size when horizontal scrolling is active and no explicit size is known
ocornut 45dacbf084 Fixed GetWindowContentRegionMax() being off by ScrollSize amount when SizeExplicit is set + caching ContentsRegionRect.
Relates to horizontal scrollbar, explicit contents size
ocornut d5a12866fe Comments (, )
ocornut 1483a69c11 Demo: Tree: showing how to align tree node label with current x position (, )
ocornut 61c294bb52 Added optional Indent() Unindent() width (, )
ocornut a0a48f6e59 Added TreeAdvanceToLabelPos() ()
ocornut 806a146198 TreeNodeEx(): ImGuiTreeNodeFlags_AlwaysOpen->ImGuiTreeNodeFlags_Leaf, + added ImGuiTreeNodeFlags_Bullet (, )
ocornut 8f4b123e1b SetNextWindowSizeConstraint -> SetNextWindowSizeConstraints ()
ocornut 213025f3cd BeginMenu: a menu that becomes disabled when open gets closed down, facilitate user's code ()
ocornut 65b1ae6ecc Comments ()
ocornut 3a776d93f2 Fixed compile issue (bloody git stashes) ()
ocornut b7ebeb1610 Added SetNextWindowSizeConstraint() + demo code ()
ocornut 713730af0c Minor sizing refactor, should be no-op. Making it a commit for further bisection since sizing code is super brittle. ()
ocornut 102d03a7eb Resizing window doesn't rely on MouseDelta anymore, but rather recompute expected size based absolute mouse coords. ()
Storing ActiveIdClickOffset to generalize pattern already used by
columns.
ocornut 81bf5aeb09 Minor bits
ocornut 1dfafeb602 CheckStacksSize() added literal strings in IM_ASSERT calls to reach end-user on common failure
ocornut 0e51f91c5e Including limits.h again to get INT_MAX, assuming previous report of missing limits.h was erroneous (, yes, issue ONE!)
ocornut 69a29e4715 Added NewLine() (very shy reminder that isn't done)
ocornut 47d10944a5 Build fix
ocornut f291f2c5dd InputText(): Fixed cursor rendering on first character when framepadding is 0.0 (following )
ocornut 28b09199de ImGuiListClipper: removed assert ()
ocornut 7a28f5bb81 ImGuiListClipper new version, detect height automatically, fix compatibility with SetScrollPosHere ()
ocornut e79d2828c4 Metrics window: coarse clipping the detailed vertex buffer for pleasure and benefits.
ocornut f48f9a30ef ButtonBehavior(), fixed subtle old bug when a repeating button would also return true on release + comments ()
ocornut e1e2752dcb Fixed repeating button behavior triggering twice, typically affect the +/- of InputInt/InputFloat and user repeating buttons ()
+ Took note of further work
Broken in 547f34cf22
ocornut 8d5b2fba95 Fixed TitleBg/TitleBgActive color being rendered above WindowBg color, being inconsistent and causing visual artefact ()
Broke the meaning of TitleBg and TitleBgActive. Only affect values where
Alpha<1.0f. Fixed default theme.
ocornut ed20fcf9d5 Fixed incorrect parameter to ButtonBehavior() in Columns code - had no side-effect ()
Broken in 3eabad0321
ocornut 91f11fb1bd Comments / todos
ocornut 8648346eab Modal: fixed non-child window stacked over a modal losing its hoverabilty/focusability (, )
ocornut b630cb5b42 ImGuiWindow: Storing ParentWindow (, )
Branimir Karadžić a59a04f4d0 Fixed iOS/OSX build.
ocornut aa11934efa Comments to clarify default shared ImFontAtlas and current context pointer thread-safety (, )
ocornut 382253eccf Merge branch 'master' of https://github.com/ocornut/imgui
ocornut 36ca8a8194 Minor warnings fixes.
omar 8af76d56b4 Merge pull request from sergof/conversion-warnings
Ignore various anal GCC warnings.
ocornut 7b9c0a5c3f Renamed ImGuiState -> ImGuiContext (, )
ocornut 8b428e8c74 Added CreateContext/DestroyContext/GetCurrentContext/SetCurrentContext() (, )
Sergej Reich 6e8579fc14 Ignore implicit conversion warnings
ocornut 69cc00f91f ImGuiStorage: Added bool helper functions for completeness.
ocornut 313d388bba Reorganised windows moving code, documented a lag in FindHoveredWindow(), fixing lag whole moving windows ()
ocornut 67df0ba185 Updated FAQ and Readme with more prominent info about WantCaptureMouse etc. flags ()
ocornut f22b6e1e09 Fixed/silenced various absurd GCC warnings from outer space ()
ocornut 79ad22e1f2 Fixed various Clang -Weverything warnings ()
ocornut efedaa5df3 Updated FAQ ()
ocornut 9b79327673 BeginGroup() fixed using within Columns set (fix )
ocornut 0058492156 Fonts readme, refering to IconFontCppHeaders, AddRemapChar() function, etc.
ocornut 89d5026187 Renamed majority of use of "opened" to "open" for clarity. Renamed SetNextTreeNodeOpened() to SetNextTreeNodeOpen(). (, )
Anton Holmberg 4f34ed5010 Fix typo in Programmer guide
ocornut 4170b4847d Style: Changed default IndentSpacing from 22 to 21 (, )
ocornut 13df4668d1 Added GetTreeNodeToLabelSpacing() helper - tentative name (, )
ocornut b93040e600 TreeNode: minor tidying up (, )
ocornut bb674ccee6 TreeNode: added ImGuiTreeNodeFlags_AlwaysOpen flag (, )
ocornut 9733f4fa24 Internal RenderBullet() helper.
ocornut f79b2d6ce3 TreeNode: added ImGuiTreeNodeFlags_OpenOnArrow flag (, , )
ocornut df764c21d6 Bullet(), BulletText(): slightly bigger. less polygons
ocornut 470b88e965 ButtonBehavior(): ImGuiButtonFlags_PressedOnDoubleClick clears active id on double-click so that multiple flags don't trigger multiple times
ocornut 4c880b7106 Added ImGuiTreeNodeFlags_OpenOnDoubleClick (, , )
ocornut a38fd2e186 Added TreeNodeEx() functions (, , )
ocornut 547f34cf22 Refactor ButtonBehavior(), fixed double-click mode also triggering on single-click (relate to )
ocornut ac501102fc Added IsItemClicked() helper ()
ocornut ec6471ca87 TreeNodeEx() wired the display-side ImGuiTreeNodeFlags_Selected flag ()
ocornut ab6bc05fc3 Fixed ImGuiTreeNodeFlags_AllowOverlapMode to behave better on touch-style inputs ()
ocornut df749e3f13 Added CollapsingHeader() variant with close button, obsoleted 4 parameters version. Refactored code into TreeNodeBehavior. ()
New flag and declaration makes uses of SetNextTreeNode() functions on
collapsing header more obvious as well ().
ocornut befe02559a Added IsRootWindowOrAnyChildHovered() helper ()
ocornut 60d6c6d0e8 Comments/tweaks on ItemAdd()
ocornut 7406d64c64 PushClipRect(): not altering passed values, leave it to caller responsibility to floor properly (followup )
ocornut 819cc414b1 Metrics window: uses IM_COL32() macro to generate constant colors.
ocornut c5149cd53c MenuItem(): checkmark render in disabled color when disabled
ocornut be7621f7c5 Updated FAQ about non UTF-8 literal (, )
ocornut 544ba36bf6 Fixed GetFrontMostModalRootWindow() ()
ocornut 6bcc31e575 Merge branch 'master' into 2016-02-colorpicker
ocornut ea6b615179 Made ImGui::PushClipRect()/PopClipRect() public. Changed ImDrawList::PushClipRect() prototype. Fixed demo. ()
ocornut 4b6e9ac396 ImFont: Added AddRemapChar() helper ()
ocornut 247da0e01b BeginGroup() comment tweaks ()
ocornut 4b51e43d60 BeginGroup() extra comment because this is overused and misleading ()
ocornut 919eb69931 Scrollbar: minor fix for top-right rounding of scrollbar background when window has menubar but no title bar
ocornut 7da2d51480 MenuBar fixed missing lower border
ocornut a753aff07a Moved Bullet*() code below TreeNode*() code.
ocornut a0c411ffd2 Fixed typos in previous commit 1884f550bc (, ))
ocornut 1884f550bc Fixed clipping rectangle floating point representation to ensure renderer-side ops yield correct results (, 597)
ocornut 41215534d5 Internal ImRound() -> ImFloor(), ImRect::Round() -> ImRect::Floor(),
ocornut 44fb99542f ImFont: RenderText() useful directly without ImDrawList::AddText().. Changed prototype. Reserving vertices after skipping non-visible lead.
ocornut 29e259a43c InputText() clipping cursor rendering in case it gets out of the box (which can be forced w/ ImGuiInputTextFlags_NoHorizontalScroll) ()
ocornut 7ce6c18bbe Refactored CloseWindowButton() into a CloseButton() helper declared in imgui_internal.h ()
ocornut fc3b8d0a56 Relative order of Child windows creation is preserved during sort ()
ocornut 006934fd15 Todo items + not using function called isblank() because it may be a macro in some C library
ocornut 074a6853c7 Moved comments
ocornut 77177c18f0 Merge branch 'master' into 2016-02-colorpicker
ocornut 1588eda1ac Version 1.49 WIP
ocornut 95cbcdca3f Version 1.48
ocornut 4c25de950c Warning fixes for clang. Using int64_t, may be an issue?
ocornut 31852e1d05 Silence borderline warning with -Werror=strict-overflow
Error: assuming signed overflow does not occur when assuming that (X -
c) > X is always false [-Werror=strict-overflow]
ocornut e808b7cfca Style: removed WindowFillAlphaDefault which was confusing and redundant, baked into WindowBg color. Renamed TooltipBg > PopupBG. ()
bg_alpha parameter of 5-parameters version of Begin() is an override,
however that function may become obsolete someday.
ocornut 947171dcef Fixed InputTextMultiLine(), ListBox(), BeginChildFrame(): outer frame not honoring bordering (following )
ocornut 07df3cfb3e Added ImGuiWindowFlags_AlwaysUseWindowPadding flag to ensure non-border child window uses window padding ()
ocornut 8e353af1d3 Renamed ImGuiWindowFlags_Force**Scrollbar to ImGuiWindowFlags_Always**Scrollbar ()
ocornut f45fd1cef6 Comments
ocornut 4c1d4233b2 Merge branch 'master' into 2016-02-colorpicker
ocornut 650515ce49 Updated todo list and comments
ocornut c61e08e8c4 InputText: move to next word OS X style behavior on OS X ()
ocornut f48fc51777 IO: Added unused MultiSelectUsesSuperKey dummy field to convey semantic for OS X compatible behavior ()
ocornut aa7a29cdbf InputText(): Added io.DoubleClickSelectsWord option for OS X compatible behavior ()
ocornut 587fc60f25 InputText/IO: Added WordMovementUsesAltKey , ShortcutsUseSuperKey for OS X Compatible behavior ()
ocornut 9e817a7c38 ColorPicker3/4: Fixed missing ID scoping ()
ocornut 6a241d4895 ColorPicker3: Fixed
ocornut 326c4e40f8 Merge branch 'master' into 2016-02-colorpicker
ocornut cfbf06e394 Comments and moved EndFrame() for imgui_internal.h (for clarity? or extra confusion?)
ocornut 2b7eeba143 Trim trailing spaces
ocornut d6750c87c2 Combo: display popup above if there's isn't enough space below / or select largest side ()
ocornut 7c9fa59329 Combo: Right-most button stays highlight when popup is open.
ocornut aecf5d12e6 DragFloat(), SliderFloat(), InputFloat(): fixed cases of erroneously returning true repeatedly after a text input modification ()
ocornut 5b8aa0dc84 FAQ and comments about the use of ImTextureID (, , , , , )
ocornut 04396ed7a9 FAQ and comments about the use of ImTextureID (, , , , , ...)
ocornut d39029f3a8 Branch fix
ocornut baabe3b62c Merge branch 'master' into 2016-02-colorpicker
ocornut 367c53967f Metrics: inspect individual triangles in drawcall
ocornut 37d50dccf9 Added GetFontTexUvWhitePixel() helper.
ocornut a274a09955 Renamed GetWindowFont()->GetFont(), GetWindowFontSize()->GetFontSize() (related to )
ocornut 928832a5bc Various tidying up / comments, moved columns functions declarations, no functional changes
omar 8e8e59a942 Merge pull request from DMartinek/patch-1
CheckboxFlags: Added support for passing/testing multiple flags at the same time.
Kyle Rocha 3f46d9b933 Renamed FindTextDisplayEnd to FindRenderedTextEnd
Kyle Rocha 5bffc85ba6 Exposed FindTextDisplayEnd to imgui_internal.h
Daniel Martinek 37716184b3 Fixed coding style.
Daniel Martinek 5abb39cb1f Added support for CheckboxFlags that can set multiple flags at the same time.
ocornut 4b7edffe8a Comments
ocornut 9ea093ddd0 DragFloat(): always apply value when mouse is held/widget active, so that can use a drag over an always-reseting value
ocornut 459af7683c Merge branch 'master' into 2016-02-colorpicker
ocornut 3db40903ba InputText() ImGuiInputTextFlags_CallbackAlways event set the EventFlag field of ImGuiTextEditCallbackData ()
ocornut b816d05e33 Minor tidying up following () - renamed ImGuiSelectableFlags_HandleDoubleClick to ImGuiSelectableFlags_AllowDoubleClick + comments
ocornut 6846873f23 Merge branch 'master' of https://github.com/zapolnov/imgui into zapolnov-master
ocornut d45044fe54 CaptureKeyboardFromApp() / CaptureMouseFromApp(): allow to enforce clearing the capture flag () + demo + made code a little less messy
ocornut cf12bc7dea InputText: Added BufTextLen in ImGuiTextEditCallbackData. Requesting user to maintain it. Zero-ing structure properly before use. ()
ocornut 17d3c202ac BeginChild()/EndChild() fixed incorrect layout to allow widgets submitted after an auto-fit child wnidow ()
ocornut 1881cbe860 TextUnformatted: Fixed rare crash bug with large blurb of text (2k+) not finishing with a '\n' and fully above the clipping Y line. ()
ocornut a43a9e602a ColorEdit4: support ImGuiColorEditFlags_NoSliders to display only a button (wip )
ocornut f8fede1d8b Added ColorPicker3/ColorPicker4, refactoring ColorEdit3/ColorEdit4 adding a bunch of flags and access to picker (wip )
Still pretty much experimenting so may break API
ocornut d1061c8799 Exposed FindWindowByName() in imgui_internal.h (missing chunk following 339b67c01a)
ocornut 339b67c01a Exposed FindWindowByName() in imgui_internal.h
ocornut 20ba769644 Allow windows with only a callback only to be functional + minor cleanup ()
ocornut 5b7a0b1b40 InputText() added comment ()
ocornut dafedc3246 Demo: use locally defined strdup because compilers/standard librairies are an annoyance ()
Nikolay Zapolnov a908c109c0 Added flag for selectables to handle double clicks.
ocornut 62fe0b59bf Updated todo list
ocornut 2efaa9a86f ImDrawList: fixed index overflow check broken by AddText(). Added extra assert. ()
ocornut a3b00b79f2 Fixed removal of trailing draw command if it is a callback command
ocornut b671840d15 InputTex(): Comment ()
ocornut b1ec90d565 InputText() fixed clipping bounds of contents ()
ocornut 595684e08c Remove dependency on <new> header (, )
(Now expecting something to fail somewhere..)
ocornut 3ee50af57e Fixed clipping of child windows within parent not taking account of childouter clipping boundaries (including scrollbar, etc.) ()
ocornut 005b897d7d ProgressBar() handling of border size + storing border size in window structure ()
ocornut 9f6b1ace8f Tidying up internal FindBestPopupWindowPos()
ocornut 94dc3df956 ColorEdit4: Empty label doesn't add InnerSpacing, like other widgets (ref )
ocornut 570a9dadc4 Honoring exact width passed to PushItemWidth(), previously it would add extra FramePadding.x*2 over that width. (ref )
If you had manual pixel-perfect alignment in place it might affect you.
ocornut 8f0f71c7ba InputScalarEx(): removed unnecessary aabb computation.
ocornut 2a505ebb9a ColorEdit4(): removed unnecessary calls to scanf() when idle in hexadecimal edit mode.
ocornut 56927cbb54 Begin(): made the close button explicitly set the boolean to false instead of toggling it ()
ocornut e585204d82 ImFontAtlas: heuristic increase texture width up to 4096 with 4000+ glyphs. Various comments ()
ocornut 3922988dea TreeNode(), CollapsingHeader() fixed not being to use "##" sequence in formatted label.
Removed DisableHideTextAfterDoubleHash hack used by Metrics window.
ocornut 739e73b07b CalcTextSize(): adding early out for empty displayed string ()
ocornut fc66365805 Added overlooked test for label_size.x>0 before calling RenderText for label in a few instances ()
ocornut 85725ff9c6 Added ImGuiWindowFlags_ForceVerticalScrollbar, ImGuiWindowFlags_ForceHorizontalScrollbar flags ()
ocornut 749e8fa345 Minor optimization so that mass-calling BeginPopupContext* functions can early out more commonly without hashing ID
ocornut 4e3c6f64c0 Various minor fixes following a pass of cppcheck static analyzer
ocornut d212401624 Fixed ImDrawList::AddRect() which used to render a rectangle 1 px too large on each axis., fixed Image(), ImageButton() as well ()
ocornut dc4a07c49a Fixed various Clang -Weverything warnings
ocornut e41568f87f Version number 1.48 WIP + Update binaries
ocornut 24d186753e Version number 1.47
ocornut 1c5aa32d2b TODO items. Moved ImDrawList::Clear* methods suggesting they aren't for end-user.
ocornut e4cf44e967 Minor rebranding "ImGui" -> "dear imgui" ()
ocornut 25c9448dda imconfig.h tweak, not advertising IMGUI_INCLUDE_IMGUI_USER_INL anymore.
ocornut f3b41b35c2 Initial creation of a ImGuiWindowFlags_NoBringToFrontOnFocus window push it at the front of global window list
ocornut 40ddf8e287 Exported high-level versions of PushClipRect / PopClipRect to imgui_internal.h ()
ocornut fc7a3d07bb BeginPopupContextItem: fixed comment ()
ocornut 4723d97cfb Added BeginPopupContextItem() comment ()
ocornut 6102aa1375 BeginPopupContextWindow() and BeginPopupContextVoid() reopen window on subsequent click ()
ocornut 2e5577f44f Fix for popups being incorrectly positioned if their contents are larger than display and WindowPadding < DisplaySafeAreaPadding
ocornut 0873da85ec ImDrawList: Fixed bug with PopClipRect() sometimes altering TextureId + fixed merging of draw calls with same TextureId
ocornut 370de414ef TreeNode(): Fixed horizontal spacing for layout to match Bullet() (followup to , )
ocornut 2e5352786a Bullet(), BulletText(): vertical and horizontal alignment fixes (namely for widget sized line height). (followup to , )
ocornut 558430ca8f TreeNode() fixed alignment of collapse arrow to it matches bullet (broken in 4006fb77bc)
ocornut 5084f90a0d Added ProgressBar() ()
ocornut 9b6b1bc0f3 Added GetColorU32 helpers (previously internal and misplaced as window->Color())
ocornut 7b0bf23071 Ensure that individual widgets are pixel aligned when using non pixel snapped font rendering.
ocornut 56c4f5b7dc MenuBar clipping rectangle fix for bordered mode
ocornut b49a985324 Various adjustment for border to be inside instead of outside the window size
ocornut b1b759938e Fixed SizeContents and auto-fit size not being rounded to integer, which affects border rendering when using non-default font
ocornut 6c7f8efe1e InputText: update mouse drag on mouse move only & key input reposition selection bounds (better fix for )
ocornut 4bfd5cd95f InputText: when keys are being input while mouse is dragging, disable mouse drag until button release ()
ocornut de4ae2d53a Metrics: computing drawcmd bounding box handle case where buffer has been de-indexed.
ocornut 5dec997fbe Minor tidying up of now redundant code
ocornut c80e2274f1 Renamed Color() helpers to ValueColor() - dangerously named, rarely used and probably to be made obsolete.
ocornut ecc97bda7d Added SetItemAllowOverlap() exposed in imgui_internal.h only
ocornut 632f9ec36a Commenting asserts
ocornut 5f8200d52c TreeNode/CollapsingHeader: some minor cleanup of that horrible function.
ocornut d1b4159b51 TreeNode/CollapsingHeader: some minor cleanup of that horrible function.
ocornut 9dca2ca960 Comments & spacing
ocornut b7e1ae4bf9 Added comment on using PushFont() before building the font ()
ocornut 4006fb77bc TreeNode,CollapsingHeader: sizing fixes to support laying out item on same line before/after (, )
ocornut 546962351b Internal minor renaming
ocornut 6269859315 Replace OS IME (Input Method Editor) cursor on top-left when we are not text editing.
ocornut 5c52e9ec0d Examples: Clarified comments. Removed font merging example from comments.
ocornut 9735563b65 Additional comments for new users
ocornut ba77166432 Demo: comments ()
ocornut 4ca34a879d Columns: Fixed bug with indentation within columns, also making code shorter/faster (, )
ocornut a9009b133c Columns: Undo accidental change from 807d4ff92c
ocornut e4ba6e525b Columns:: columns set with no implicit id include the columns count into the id to avoid collisions ()
ocornut 807d4ff92c Columns: minor tidying up while investigating severe issues with indenting within columns ()
ocornut 58b23b4785 Columns: avoid growing ColumnsData vector when closing a window with no columns ()
(Will break calling GetColumnOffset() when there's no column but it
would only have worked after the first frame anyway, so basically it
didn't work)
ocornut 1aac69c937 Columns: tidying up, moving OffsetT to a ImGuiColumnData structure
ocornut 3102c0c97e Rename internal ColumnsStartX to IndentX, makes more sense
ocornut 92c518a420 InputText: Added password mode via ImGuiInputTextFlags_Password (, , )
ocornut 693efccb62 ImageButton() uses FrameRounding up to a maximum of available framing size ()
ocornut 5549744e0f Minor popups comment tweak ()
ocornut f87deff0f3 Moving stdlib.h include outside of imgui.h ()
ocornut 9243aee62c Fixed unused variable warning if asserts are compiled out.
Jason Wilkins 4dee8473b5 Fixed a couple of problems found by CppCat code analyzer.
* incorrect implementation of ImVec4 operator- which always gives a w value of 0
* boolean formula of ((A && B) || B) can be simplified to just (B)
ocornut e4fb14a9e0 TODO notes
ocornut 4982cd136e Fixed Shutdown() not clearing FontAtlas if NewFrame() was never called. (, )
ocornut 1a42a3f91b Refactor internal SliderBehavior() to take flags instead of a bool.
Sorry!
ocornut 3eabad0321 Refactor - Internal ButtonBehavior() removed unnecessary boolean arg, merged into flags using ImGuiButtonFlags_NoKeyModifiers.
This is quite a risky change frankly but I'd rather refactor sooner than
later. Hopefully few people are using the internal functions.
ocornut 217ef444d4 ColorEdit4: Fixed broken tooltip on hovering the color button (actually fixes , )
ocornut 5f0db60a57 Version number 1.47 WIP
ocornut 72dde4d323 Version 1.46
ocornut fbdcb51dde Fix to allow using SetNextWindow* functions with ImGuiSetCond_Appearing on modal windows ()
Also affect other popups which called FindBestPopupWindowPos() on their
second frame but it most often acts as a no-op but it wouldn't be
noticeable.
ocornut 8b9c0b2545 Tweaks (calling inner SetNext* functions directly from Begin)
ocornut 7a61b7dd57 Renamed Window LastFrameDrawn to LastFrameActive, more correct
ocornut 465e6839a4 ColorEdit4: hovering the color button shows correct alpha (fix )
ocornut 5b7a2149fc ColorConvertFloat4ToU32() round the floats instead of truncating them.
ocornut 43ff5a41be InputText(): always use live input data for display in read-only mode (fix )
ocornut a0d24ac03d Scrollbar: background color less translucent in default style (flattened alpha) so it works better on non-WindowBg colored background.
ocornut 64b6e87f54 Scrollbar: fixed vertical alignment with border + no menu bar (following )
ocornut b090d711e2 InputText: removed the need for text_end pointer in the cursor position calculation loop, allows switching buffers
ocornut 214e87d59c InputText: comments.
ocornut bc34ac882f InputText: added comments and somehow clarified the optimized code that calculate text position + updated demo
ocornut d4d2e5bc62 Added items to Todo list
ocornut a5c895f791 Added SetClipboardText / GetClipboardText helper shortcuts to match MemAlloc / MemFree
ocornut 8eb4df0dd6 Added comments ( )
richardk 8a6bde3527 Fix for AltGR being send as Ctrl&Alt on german keyboards. Don't consume characters if CTRL key press is detected AND ALT key press is detected in Imgui::InputTextEx
ocornut fae7b34a3f Fixed bug with handling of malformed utf-8 at the end of a non-zero terminated string range.
ocornut b8281d96bd Fixed mouse release double-triggering (, )
ocornut de92bc873f Scrollbar: fixed minor rendering offset when borders are enabled (fix )
ocornut bd78892164 Fixed IsKeyReleased() and IsMouseReleased() returning true on the first frame.
Loosely related to 
ocornut e83b529846 BeginChildFrame() helper has the extra_flags parameter.
ocornut d087671369 HoveredId is set via a SetHoveredID() function. Added HoveredIdAllowHoveringOthers not used by default API.
ocornut 06d594e86b Dummy() create an item so functions such as IsItemHovered() can be used.
ocornut 54805fd22a InputText: fixed crash when passing a buf_size==0 (which can be of use for read-only selectable text boxes) ()
ocornut e031fe484c Added ImGuiWindowFlags_NoBringToFrontOnFocus behavior.
ocornut f21fda1231 Scrollbar: Tweaked scrollbar inner padding for small scrollbars.
ocornut 6e4d959953 Window: fixed window lower-right clipping limit so it plays more friendly with both OpenGL and DirectX coordinates.
Not sure about this. Hmm.
ocornut c9d51d99b4 Scrollbar: tidying up ()
ocornut b92daf0ba2 Scrollbar: fixed rounding of background + child window consistenly have ChildWindowBg color under ScrollbarBg fill ()
ocornut a76b75c2d5 InputFloat() fixed explicit precision modifier, both display and input were broken.
ocornut ab5def6ad8 PlotHistogram: Minimum bar width ensure better rendering with lots of points (~related to )
ocornut e268303c02 PlotLines: fixed rendering issue added in previous commit ()
Mikulas Florek 93200a6c37 fixed rendering of histogram with a lot of values
ocornut fee9e07e61 Updated FAQ ()
ocornut ff12afbd18 InputText(): fixed cursor pixel-alignment when horizontally scrolled.
ocornut 0e86ed9361 InputText(): fixed mouse-dragging not scroll tracking the cursor when text doesn't fit (fix )
ocornut 08bfe9bc7c Fixed assert introduced in 3b01b0a2f2
ocornut c4562ac573 Fixed mouse click detection to be more friendly to DeltaTime 0.0 ()
ocornut 3b01b0a2f2 Extracted a EndFrame() function out of Render() but kept it internal/private + clarified some asserts ()
ocornut 0a1d6b6b74 InputText() fixed ignoring text inputs when ALT is pressed ()
ocornut ec7eb05e88 ImGuiTextFilter::Draw helper return bool and resplit when filter is modified
ocornut f9928e96c7 InputText(): lose cursor/undo-stack when reactivating focus is buffer has changed size
ocornut 7b1168eb30 Internal ImLoadFileToMemory() return void* instead of taking void** + allow optional int* file_size
ocornut 1793c1a991 Comments
ocornut cafe8b0cd7 Comments
ocornut fcbbb0070e Fixed assert introduced in dafad3903e if there are no active draw list
ocornut b4f1e88860 Added ImGuiInputTextFlags_ReadOnly flag for InputText()/InputTextMultiline() ()
ocornut f5fb5f0c1e Minor tidying, reordering functions/members/initialisation to follow same orders
ocornut dafad3903e Added GetDrawData() alternative to setting a Render function.
ocornut 93f9ad9ddf README.md
ocornut dbc7903da8 IsMouseHoveringRect() added 'bool clip' parameter to disable clipping the rectangle with the current parameters ()
ocornut fc052e24b2 Added ImGuiWindowFlags_NoFocusOnAppearing flag ()
ocornut 965fa3cb16 Version number 1.46 WIP
ocornut c9e19f8953 Version number 1.45
ocornut f195bf744f Tabs to spaces
ocornut 71026d3655 Added GetScrollX(), GetScrollX(), GetScrollMaxX() apis + demo ()
ocornut 7a31030978 Begin() windows flags are locked on the first begin of the frame, allowing using to not bother passing flags for append
ocornut bbf09fd47d Fixed initial ScrollbarX decision when no vertical scrollbar is in ()
ocornut a3cad2ff06 BeginChild() fixed missing rounding for child sizes which leaked into layout
ocornut 6eed3dc7c8 GetContentRegionMax() when window content size is explicit we don't adjust it with scrollbar sizes ()
ocornut 73e73e6ef9 TextUnformatted(): simplifying
ocornut e1f8fed734 Separator(): removed unnecessary computation + comment.
ocornut f128a8bce1 ColumnsStartX include window->Scroll.x to simplify code ()
ocornut 8edbdb9775 Style: minor menubar bg alpha tweak.
ocornut e68d3c614e Style: made scrollbars rounded by default. Because nice. ()
ocornut 65a191c005 Added optional Horizontal Scrollbar & allow user to explicitly set content width via SetNextWindowContentSize() etc ()
GetCursorPos, SetCursorPos, GetContentRegionMax,
GetWindowContentRegionMin, GetWindowContentRegionMax are now including
the scrolling amount. It PROBABLY shouldn't break anything for you, but
take note that SetCursorPosX(100.0f) puts you at +100 from the starting
x position which may include scrolling, not at +100 from the window left
side.
ocornut 9eed672725 Bullet() fixed inconsistent layout behaviour when clipped.
ocornut d88b73a8b7 Added GetContentRegionAvailWidth() helper. Demo tweaks.
ocornut fc13ae2aa5 Turning float ScrollY into ImVec2 Scroll - no feature change, this is just to remove some syntax noise from the following commit ()
ocornut e0c375e7b8 Tidying up
ocornut b326c8fd1f Added GetCurrentWindowRead() for functions that don't write to the window
ocornut b994dd777a Fixed OpenPopup() accessing current window, effectively opening "Debug" on an empty window stack
ocornut 0aa353868f Minor internal shortcuts not calling GetCurrentWindow()
ocornut 2d565d4bfb Style: rename ScrollbarWidth to ScrollbarSize (sorry!)
ocornut 64fcb5e568 TreeNode() fixed IsItemHovered() being inconsistent with visual behavior ()
ocornut 65fe60f2b2 Split tree/collapsable into internal TreeNodeBehaviorIsOpened() helper (unsure..) ()
ocornut c381d58fb1 TreeNode(): arbitrary interaction padding after text label not part of layout ()
ocornut 0a11024459 IO.WantInputCharacters -> WantTextInput ()
ocornut b803d284c3 InvisibleButton() honor negative size consistently with other widgets that do so
ocornut 80ad773c87 ImDrawList: added AddBezier(), PathBezierTo() for cubic bezier curves ()
ocornut e58f99179a Examples: OpenGL: fix for retina screens + io.DisplayFramebufferScale storage ()
ocornut 8b225923f8 Malformed UTF-8 don't terminate string, output 0xFFFD ()
ocornut 59d498f3d0 Added ColorConvertU32ToFloat4() helper and ImColor(ImU32) constructor.
ocornut 8cf7df7ec4 Added GetWindowHeight() for completeness + BeginGroup() comment.
ocornut 77b82ecad7 ImDrawList: Fixed issues with channels split/merge. Functional without manually adding a draw cmd. + Removed unnecessary parameter to Channe
ocornut ad00d88923 Window clipping rect fixes (for child windows with borders among others)
ocornut f0aca186cc Comments
ocornut ad3c9f620d Tabs to spaces
ocornut 466f01b313 Fixed child windows with the ImGuiWindowFlags_NoMove flag not taking direct focus
ocornut 43d073db1e Metrics: showing some internal state
ocornut b76353bbb1 Passing ImGuiWindowFlags_NoMove to BeginChild() allows to inhibit moving root window from this child
ocornut b1987d697f Trim trailing whitespace ()
ocornut 425c6cb3a3 Remove CaptureInputCharactersFromApp and minor cleanups ()
Borislav Stanimirov 73917115a8 Added flag showing whether the GUI wants text input
Conflicts:
	imgui.cpp
ocornut b28858b33b InputText: intentionally ignore character input when ctrl/alt are held (not sure if correct) ()
ocornut bbced3f0f0 Build fix
ocornut 4ac4d1ac37 ImHash: defaults seed to zero + comment.
ocornut 97be3428f1 Added GetMousePosOnOpeningCurrentPopup().
ocornut ede5956b28 Metrics window: shows indices along with triangles count ()
ocornut 07de0448f9 ImGuiTextFilter: default parameter width=0.0f for no override, allow override with negative values
ocornut 42567a9516 ImGuiTextFilter::PassFilter() supports string range. Added [] helper to ImGuiTextBuffer.
ocornut 72d3fca52f Demo: added simple Log demo
ocornut c98318a914 Renaming some argument to clarify the local vs screen coordinates
ocornut f421f2f47e IsWindowHovered() takes account of window hoverability (may be disabled because of a popup) + comment
Was a dupe of IsMouseHoveringWindow() anyway, they are now "clearly"
different.
ocornut 0c9fcdbe71 Allow to override ImDrawIdx type ()
ocornut 915b46f1c1 Added assert on index overflow ()
ocornut 48ed0a10d7 Minor code compaction (following )
Thomas Pöchtrager 3604aecf8f Minor Windows adjustments
ocornut b637850260 Merge branch 'master' of https://github.com/tpoechtrager/imgui into tpoechtrager-master
ocornut 14822609bd Version number 1.45 WIP
Thomas Pöchtrager 947cf3434f Added printf attribute to printf like text formatting functions
ocornut a99ba42a39 Version number 1.44
ocornut 27961401c6 Cleanup ()
ocornut 88a00f77e9 Cleanup - using ImRect more consistently for ImGui-side cliprect data
ocornut f1fb62fa6d Cleanup - shuffle functions around ()
Jonathan Adamczewski 0911597550 Remove inline qualifiers inside .cpp
Use of inline in the .cpp file causes link errors with gcc.
ocornut 15cfa63e97 Comments
ocornut 692a38c0fc Merge branch 'master' into 2015-07-cleanup
ocornut f2b652a39e Comments
ocornut e7f1e28b6b Merge branch 'master' into 2015-07-cleanup
ocornut 4b4f6d78ee InputFloat() fixed 0 decimal_precision
ocornut a54995eace RoundScalar() fallback use powf(10.f, -x) instead of 1.0f/powf(10.0f,x)
ocornut 9b19f8c19d Merge branch 'master' into 2015-07-cleanup
Conflicts:
	imgui.cpp
ocornut f6e21b7ab7 InputInt() also hexadecimal input (awkwardly via ImGuiInputTextFlags_CharsHexadecimal but we will allow fmt string in InputInt* later)
+ Fix for large ints constant assignment
ocornut cc8ff4c8d1 RoundScalar() use a lookup table to avoid calling powf(10.0f, x);
ocornut f0f2afa87d InputInt() doesn't cast to float, fix handling lost of precision with large integer. Added primitives to support more data types.
ocornut a793ad682d Merge branch 'master' into 2015-07-cleanup
Conflicts:
	imgui.cpp
ocornut ebd25cf1a3 Minor comments
ocornut e20b90154c Comments
ocornut 3ee2fac892 Slider: fixed using FramePadding between frame and grab visual. Scaling that spacing would look odd.
ocornut e42bec5ba2 Fixed scaling of checkbox and radio button for the filling of "active" visual
ocornut 155873a6b0 Added GetContentRegionAvail() helper
ocornut 60b46cc712 Comment ()
ocornut 815d1d9be4 Merge remote-tracking branch 'origin' into 2015-07-cleanup
Conflicts:
	imgui.cpp
ocornut 3aca446817 Added ImFontAtlas::AddFontFromMemoryCompressedBase85TTF()
ocornut da3baebd43 Fixed lower-right resize grip hit box not scaling along with its rendered size ()
ocornut 4b29cc9e10 Exposed relevant functions in imgui_internal.h ()
ocornut 26a992c6f6 Updated to stb_truetype 1.07 (back to vanilla version as our minor changes are now in master & fix )
ocornut 6c63d80aa4 Tidying up InputTextApplyArithmeticOp()
ocornut f63beeae86 Internal version of LogText() -> LogRenderedText() + shallow tidying up
ocornut faa609a43c Internal cleanup ParseFormatPrecision() doesn't take a reference
ocornut f8646338c3 Merge remote-tracking branch 'origin' into 2015-07-cleanup
ocornut 7650d4cc67 Internal SliderFloatAsInputText() -> InputFloatReplaceWidget()
ocornut abf823c6f6 Tidying up
ocornut 58ee08f214 Todo list notes
ocornut 040f3950a3 Merge remote-tracking branch 'origin' into 2015-07-cleanup
Conflicts:
	imgui.cpp
ocornut e6b29b70b4 Make internal SliderFloatAsInputText() take a size to match the calling widget
ocornut c639f65eb7 Merge remote-tracking branch 'origin' into 2015-07-cleanup
Conflicts:
	imgui.cpp
ocornut 02fbb36918 ImDrawList: Add missing support for anti-aliased thick-lines (, also ref )
ocornut a79ee94fc4 Removed unnecessary assignment + added comment
ocornut 709c4c3168 Merge remote-tracking branch 'origin' into 2015-07-cleanup
Conflicts:
	imgui.cpp
ocornut 527208ad7c Default font encoded as base85 saves ~100 lines / 26 KB of source code (from @mmalex)
ocornut fddc871870 Columns: never assume horizontal space for scrollbar if NoScrollbar flag is set.
Xo Wang 8d45c89352 Remove non-text character at start of imgui.cpp
ocornut 4468ec001e Fixed warning in console example (we're iterating chars)
ocornut fb83323b1d Tidying up
ocornut 62c888177a Tweaks
ocornut 7552f48d7b ImLoadFileToMemory() default parameters
ocornut 94f085aa3e Update comments ()
ocornut e32f0931e8 Missing includes for imgui_draw.cpp ()
ocornut dace68b6fd Big cleanup, split imgui.cpp into imgui_demo.cpp,imgui_draw.cpp imgui_internal.h ()
ocornut 60dce8bc22 Fix to get all code ShowTestWindow() copiable outside. Moved ShowMetricsWindows() above. ()
ocornut 83ebbebadd Fixed inconsistent declaration of ImVec2 privates operators
ocornut 5a4b521855 Added ImDrawList::AddText() shorthand helper
ocornut 74908a9513 Fixed angles in ImDrawList::PathArcTo(), PathArcToFast() being off by an extra PI for no reason
ocornut 479211808f ImDrawList::AddPolyLine() tidying up in AA path
ocornut cdbf71ac12 Added ImGuiWindowFlags_NoInputs for input-passthru window
Would be more useful with finer control over display layer
ocornut 0ab620c2b9 Combo() clamp popup to lower edge of visible area
ocornut 20db726a9a Version number 1.44 WIP
ocornut 4015414978 InputtextMultiline(): honor negative size consistently with other widgets
ocornut 3b53a6513a Button() honor negative size consistently with other widgets that do so
ocornut eca26ae91d Build fix for MinGW ()
ocornut 99c5f5735c Tweak button sizes
ocornut e8cb874afe Version number 1.43
ocornut 1266e4a181 Added a gratuitous About window
ocornut d6117e33d0 AddInputCharactersUTF8: shallow tweaks ()
Daniel Gibson be8fb858cc Add ImGuiIO::AddInputCharactersUTF8(char* utf8str)
It'll convert the utf8 string to ImWchar's and passes each of them
to AddInputCharacter().

Very handy for SDL2 SDL_TEXTINPUT events, which provide a buffer with an
UTF-8 string.
ocornut 3ff04c95d5 Minor tweaks
ocornut d170620816 Comments
ocornut 80276ef07b Fixed ClearInputData()
ocornut 6c3ab6fc9b ImFont: fixed minor bug with CPU-side vertical clipping of text.
ocornut a56768463a Examples: moved demo bits around.
ocornut d750df9189 Fix for Shutdown()
ocornut baa2328b99 Tweak to RenderCheckMark()
ocornut 8081e81e55 Fixed warnings + label
ocornut 1a3ef63132 Fixed parameters array size declaration (wouldn't have a side-effect but weird and misleading)
Thanks Coverity
ocornut 368d2c3568 OverlayDrawList readier for pushing elements (not exposed yet)
ocornut 035ff302d2 ImFontAtlas: moved application of FontDataOwnedByAtlas to AddFont()
ocornut 95f489ac1f Merged AA branch in master! ()
ocornut 3e3d9f9a69 ImFontAtlas: allow AddFontDefault to take a config
ocornut 99a92ee7c5 Comments (fixed old comments)
ocornut 8952b93b2f Include for alloca()
ocornut fcec337061 Examples: Simplified font examples comments.
ocornut 815168c7ef ImFontAtlas: new AddFont() API, oversampling, subpositiong, merging fonts, etc. (, , , )
ocornut 6ae8062ca0 ImFont: comments, minor bits
ocornut c02f9b58ef ImFont: Cleanup to be compatible with over-sampling (not enabled)
ocornut fc6545830b Examples: displaying more font information.
ocornut faec745438 Merge remote-tracking branch 'origin' into 2015-03-antialiased-primitives
ocornut 8cfd963fda Popups: removed an apparently unnecessary test in CloseInactivePopups() that broke Combo boxes inside menus ()
ocornut 355cbf6326 Examples: added tests for Combo box in sub-menu test and MenuItem in a normal window ()
ocornut 52c820e7b0 Metrics: more details in popup stack ()
ocornut ba9317b924 ImFont: storing offsets as X0/Y0/X1/Y1 analoguous to examples for stb_truetype
ocornut 5b053dd350 Fix for OverlayDrawList being ready to append commands (not exposed publicly yet anyway)
ocornut 7eca4e2a7f Merge bits
ocornut fbb9113118 Merge remote-tracking branch 'origin' into 2015-03-antialiased-primitives
Conflicts:
	imgui.cpp
ocornut 4565bf9813 Demo: custom rendering example uses AddRectFilledMultiColor()
ocornut 6520b6c458 ImDrawList: added AddRectFilledMultiColor() helper + minor optimisation.
ocornut 7a0004eb86 Revert
ocornut d10d0343b2 Plot() function can take 0.0f for both scale_min/scale_max to calculate scale
ocornut e681937f66 Delete merging artefact that survived for a day
ocornut fd44b9440b Merge remote-tracking branch 'origin' into 2015-03-antialiased-primitives
Conflicts:
	imgui.cpp
ocornut b67593a4b1 Changed SameLine() parameters from int to float.
ocornut 8094aa78d2 Fixed incorrect assert triggering when code steal ActiveID move user moving window by calling e.g. SetKeyboardFocusHere()
ocornut 827ff970cd InputText: Added ImGuiInputTextFlags_AlwaysInsertMode flag
ocornut d2701727b9 InputText: added ImGuiInputTextFlags_NoHorizontalScroll flag. Added HasSelection() helper in ImGuiTextEditCallbackData as a clarification.
ocornut 398ef1a212 Comments
ocornut 245cf36522 Merge remote-tracking branch 'origin' into 2015-03-antialiased-primitives
ocornut 890585cde8 Merge remote-tracking branch 'origin' into 2015-03-antialiased-primitives
ocornut 08b1dd1035 Version number 1.43 WIP
Bits
ocornut fec09e37ab Disable warnings, undo f4aae6b9ec ( )
Stephan Dilly f4aae6b9ec fix minor clang-x64 warnings
fixes 
ocornut e5bea65582 Version number 1.42
ocornut b36ff2fec3 Merge remote-tracking branch 'origin' into 2015-03-antialiased-primitives
ocornut 44c23e0eed Allowing DeltaTime==0.0f to not assert
ocornut 67d93156df Fixed clang/gcc warnings ()
ocornut 54c2665032 AA branch: undo d35c1a9e66, thickness is back but goes through non-AA path ()
ocornut 439040bb25 AA branch: more comments on breaking changes ()
ocornut d03b046ef4 AA branch: Agressively renamed all fields of ImDrawList, ImDrawCmd, ImDrawData to match the rest of our coding convention ()
ocornut d35c1a9e66 AA branch: removed the 'thickness' parameter from ImDrawList::AddLine()
ocornut ac56e4e209 AA branch: API breaking change documentation
ocornut af7f35d7c2 Merge remote-tracking branch 'origin' into 2015-03-antialiased-primitives
ocornut 87ebe95fd6 Columns/ImDrawList: dispatch render of each column in a sub-draw list and merge on closure, saving draw calls ()
ocornut f4fc008a2a Fixed ListBoxHeader() not honoring negative sizes the same way as BeginChild() or BeginChildFrame() ()
ocornut acf58c6223 More debug-build friendly ImVector<> use micro optimisations for the most bottle-neck bunchs
ocornut bfa7d86070 AA branch: further use of ImVector<> Data/Size
ocornut c3ced1bd71 Merge remote-tracking branch 'origin' into 2015-03-antialiased-primitives
Conflicts:
	imgui.cpp
ocornut 3869e10574 ImVector<> access to Size/Capacity/Data ()
ocornut 25882c47a3 Merge remote-tracking branch 'origin' into 2015-03-antialiased-primitives
Conflicts:
	examples/directx11_example/imgui_impl_dx11.cpp
	examples/directx9_example/imgui_impl_dx9.cpp
	examples/opengl3_example/imgui_impl_glfw_gl3.cpp
	examples/opengl_example/imgui_impl_glfw.cpp
	imgui.cpp
ocornut 502e360ee5 Removed the majority of size_t from the code. ImVector<> now uses int. ()
May trigger new compilation warnings?
ocornut aeae03f4ac Fixed minor zealous Clang warning (demo code intentionally uses strdup() to be copiable)
ocornut 4d42760c0b Metrics window: "Show clipping rectangles when hovering ImDrawList" enabled by default
ocornut de6dfe8c5d ImRect (internal) fixed ImVec4 constructor, argh (broken e7e2fcdd19)
ocornut 92b61d2ee4 Merge remote-tracking branch 'origin' into 2015-03-antialiased-primitives
ocornut b92396b46a Optimisation, removed the duplicate ClipRectStack in ImGuiWindow, storing single value
ocornut 6a22835f63 AA branch: ImDrawList: rename commands to cmd_buffer
Not strictly necessary but while we're doing minor breakage let's do
them at all once.
ocornut e7e2fcdd19 ImRect (internal) made constructors more non-optimised compilation friendly
ocornut a17e47fe14 ImDrawList: fixed non-merged commands when equal clip rectangles are in the two first commands
ocornut 5782c69c2a Metrics window: calculate bounding box of actual vertices when hovering a draw list.
ocornut 9db4b35168 Fixed ImRect.Add(ImVec2&) which was broken and somehow unused
ocornut 0ff2a6ff64 Merge remote-tracking branch 'origin' into 2015-03-antialiased-primitives
Conflicts:
	imgui.cpp
ocornut d6987d1586 ImDrawList store pointer to their owner name for easier auditing/debugging. Metrics windows render clip rectangle when hovering.
ocornut c52cefa2c2 Merge remote-tracking branch 'origin' into 2015-03-antialiased-primitives
ocornut 0d5e6e125c Documentation ( )
ocornut 0676efd37f AA branch: added ImDrawData::DeIndexAllBuffers() helper ()
ocornut b2b616be00 AA branch: ImDrawCmd idx_count -> elem_count
ocornut f3303fa84f AA branch: io.RenderDrawListsFn signature changed to take ImDrawData, neater and future proof breaking of the render API ( )
ocornut 2633325b9f Comments
ocornut 562aecdaa5 Removed obsolete GetDefaultFontData() function that would assert anyway (obsoleted 2015/01/11)
ocornut 3fa4451936 PlotLines(), PlotHistogram(): fixed incorrect hovering test (would trigger tooltip when menu is open)
ocornut 1c160adbba Comments
ocornut c9676554b9 MenuItem() can be activated on release ()
ocornut 56553f33b8 AA branch: added style.AntiAliasedLines, style.AntiAliasedShapes ()
ocornut 19e59421e5 AA branch: comments, inlining minor ops
ocornut 46c440d186 AA branch: AddPolyline() stores normals on stack
ocornut c09af38804 AA branch: AddConvexPolyFilled() store normals on stack
ocornut a74ca9025f AA branch: oops, ImInvLengthSqr() is ImInvLength()
ocornut a8b5f77591 AA branch: AddPolyline(), AddConvexPolyFilled() a little more readable with more consistent naming
ocornut 0292c82b9c AA branch: fix lower-right bound of frame outlines
ocornut 2f21347803 CollapsingHeader() fixed label rendering outside in columns context where cliprect max isn't aligned with header
ocornut 7959fbe992 AA branch: CollapsingHeader() rounding down half window padding
ocornut f04c2002d6 AA branch: fixed column offsets not always aligned to the pixel causing CollapsingHeader() border to incorrectly anti-alias
Fixing framed CollapsingHeader() inside columns, where
GetContentRegionMax() doesn't return pixel aligned rounded position.
ocornut 0d7ca3da24 AA branch: AddLine() api adds the 0.5f offset (unsure about that yet)
ocornut 18fa8e1c7e Fixed IsMouseDragging() (fix )
ocornut 3b94c37efc AA branch: minor tweaks + disabled debug code that disable AA when holding Ctrl
ocornut f435e42561 Merge remote-tracking branch 'origin' into 2015-03-antialiased-primitives
Conflicts:
	examples/opengl_example/imgui_impl_glfw.cpp
ocornut d76bc3434e Added DragFloatRange2() DragIntRange2() helpers ()
ocornut 7437b43b2d Fixed warnings for more pedantic settings ()
ocornut b69d7d9df3 Merge remote-tracking branch 'origin' into 2015-03-antialiased-primitives
ocornut 6826ab3ffd Added GetKeyIndex() helper.
ocornut 0f9e2f8173 Tweaked scrolling example code ()
ocornut 42efc29def SetScrollFromCursorPos() -> SetScrollHere() () final call !
ocornut 4eba6cd470 Added SetScrollY(), SetScrollFromPosY(). Renamed SetScrollPosHere() to SetScrollFromCursorPos(). ()
ocornut b37a326163 Renamed GetScrollPosY() to GetScrollY(). ()
Necessary to reduce confusion along with other scrolling functions,
because positions (e.g. cursor position) are not equivalent to scrolling
amount.
ocornut 9bedcb5304 Added GetCursorStartPos() necessary for using scroll target relative to beginning of window content ()
ocornut 1b01137c90 Fixed text baseline alignment of small button (no padding) after regular buttons
Currently being a coward and only doing it via the SmallButton() entry
point.
ocornut bbc22ac8ca Comments + remove trailing comma
ocornut 90ec28f6de Merge remote-tracking branch 'origin' into 2015-03-antialiased-primitives
ocornut e0da1e0658 Split into CaptureKeyboardFromApp() / CaptureMouseFromApp()
ocornut 77fad80e9f Added CaptureInputsFromApp() to manually enforce e.g. keyboard capturing
ocornut 57f70a29b2 Fixed a bug with TextUnformatted() clipping of long text ()
ocornut 0e5b64ecd2 SetScrollPosHere() Minor hack for effective "scroll to top" to appear like user expect it ()
Compensate the difference between WindowPadding and ItemSpacing
ocornut 824cf5ae85 Fixed window padding being reported incorrectly for child windows with borders when parent have no borders
ocornut 3d7b596a40 SetScrollToPosHere() fixed imprecision + handling lower gap better for bottom alignment ()
ocornut 49b7a8e61f Added scroll tracking example with SetScrollPosHere() (relate )
ocornut b74d8e4c87 SetScrollPosHere() takes a y centering ratio and can be used to aim the top or bottom of the window (relate )
ocornut 067b7d909a Style: Added GrabRounding (works well with AA branch). Followup to
ocornut d3c0bfefb3 AA branch: render axis aligned rect bypassing the AA path
ocornut b30d08d63a AA branch: bits
ocornut c39372e7d5 Title bar uses TitleBgActive color even when window has popups/menus over ()
ocornut 47826830af Adding TitleBgActive color - still issues with popups/menus ()
ocornut c71b183965 Merge remote-tracking branch 'origin' into 2015-03-antialiased-primitives
ocornut 4bb94a9e4d AA branch: more optimisations.
ocornut a8f0eb5ec6 AA branch: more optimisations.
ocornut bbdf36cd3a AA branch: minor optimisations, merging loops
ocornut c3040dee35 AA branch: more inline.
ocornut 077285ae57 AA branch: tidying up, inline PathStroke PathFill
ocornut aaefe458df AA branch: cleanup
ocornut ebfe4637d4 Merge branch '2015-04-indexed-rendering' into 2015-03-antialiased-primitives
Conflicts:
	imgui.cpp
	imgui.h
ocornut d57ee2458c AA branch: ImDrawList: renaming of Path based functions so both code paths can cohabit with no confusion
ocornut 5bf30bd6c4 AA branch: Minor optimisations for Debug builds
ocornut 43dcd6ef47 Merge remote-tracking branch 'origin' into 2015-04-indexed-rendering
Conflicts:
	imgui.cpp
ocornut 0bf90770b0 Merge remote-tracking branch 'origin' into 2015-03-antialiased-primitives
Conflicts:
	imgui.cpp
ocornut 0e3198edc2 Tidying up - renamed FindBestWindowPos() to FindBesttPopupWindowPos()
ocornut af0de5f357 Tidying up - ImRect doesn't use ImVec2 operators (so we can expose it later)
ocornut 882c7a8cef Tidying up - ShowUserGuide, ShowStyleEditor only uses public calls
ocornut 039ebb79f4 Tidying up - renamed a few internal functions
ocornut 8b392feba1 Tidying up - moved ImFontAtlas glyph ranges helpers outside of ImFont block
ocornut 0783697f87 Minor tidying up
ocornut 4ac21aaa12 Version number 1.42 wip + todo list entries
Ben Vanik 5cd1a01514 Fixing 64-bit compilation warning caused by implicit size_t->int cast
ocornut f66be0e7b2 Demo: satisfying buffer size
ocornut ea2c824192 Version 1.41
ocornut 8224ca16b6 Carriage return in demo tooltip
ocornut 4976bf97a6 Fix for correctness and allow non-auto resized modals to have window minimum size applied - hopefully no-side effects ()
ocornut af5890b276 AutoFit can be triggered on each axis separately via SetNextWindowSize() (mentioned in )
ocornut 975ef00682 Minor construction fix (-1.0 is correct "disabled" value for TextWrapPos, didn't have any incidence anyway)
ocornut d171e48b20 Fixed SetNextWindowPosCenter() being processed too early for windows that are still measuring their size (for )
ocornut 5436266963 Added SetNextWindowPosCenter() ()
ocornut bcbf53857c BeginPopupModal() default to NoCollapse for modal windows ()
ocornut 06ed9257ef Modal windows centered when appearing ()
ocornut 2a041cfbe1 Added GetGlyphRangesCyrillic() helper ()
ocornut 0f38a53d28 Added stacked modal windows example ()
ocornut f0311b643a Added modal dialog example ()
ocornut a4cd585f54 Reorganized demo window
ocornut fe17f6e735 Added modal window darkening of previous windows ()
ocornut 8c790a3234 BeginPopupModal() can have an optional close-window button ()
ocornut bce495c581 Added BeginPopupModal() with actual modal behaviour (WIP api) ()
ocornut 0b98d3eb26 Merge remote-tracking branch 'origin' into 2015-04-indexed-rendering
Conflicts:
	imgui.cpp
ocornut 01cb0dc7f7 Merge remote-tracking branch 'origin' into 2015-03-antialiased-primitives
Conflicts:
	imgui.cpp
	imgui.h
ocornut 0884cb51cd Added IsKeyReleased() (), added keyboard & mouse state panel in the demo window
ocornut 68534c2319 Added IsMouseReleased() helper ()
ocornut eec047c9f7 Fixed leak on Shutdown ()
ocornut 9e8da4dba0 Comments
ocornut 747999bbaf Fixed mouse wheel scroll issues, introduced a few weeks ago ()
ocornut e7b43b014b Can't scroll with mouse wheel when window is collapsed.
ocornut 1b28f11acb InputTextMultiline() filtering out \r for now ()
ocornut 73db855c77 InputTextMultiline() painfully merged most computation passes into one, better clipping, much faster for large text ()
ocornut 84987ac3e0 ImFont::RenderText() better vertical clipping for large amount of text (for )
ocornut 324b1c2a28 InputTextMultiline(): made ctrl+up/down closer to windows behavior ()
ocornut c4720ec90f InputTextMultiline() fixed a frame of lag in handling vertical scrolling ()
ocornut cd27f8a8e6 InputText(): adjusting selection block height differently for single and multi-line ()
ocornut b524c59c70 InputText(): removed a call to strlen() in the active edit path ()
ocornut 2b68a5c0cf InputTextMultine() optimised height calculation for inactive multi-line edit box ()
ocornut 86666489df ImFont: CalcTextSizeA() fixed font scaling with fallback character.
ocornut c6d77f3bf5 InputText: fixed handling of scaled font. re-organized bits of code toward merging all sizes calculations ()
ocornut 10b4fa44c1 Fixed framerate counter averaging buffer size (shouldn't have been included in previous commit)
ocornut 26d2b361d1 InputText(): removed extraneous CalcTextSizeW call for tracking cursor/scrolling, remove spike ()
ocornut 5f362cabe9 InputText(): char width calculation calls font->GetCharAdvance() directly ()
ocornut 60079988bd ImFont::RenderText() faster handling of rendering above clipping rect (useful for )
ocornut 846cfc74a2 InputText() clear selection when using undo/redo ()
ocornut d30e8f38b7 InputText() tidying up ()
ocornut 8fbb4a566a InputTextMultiline() preserve activeid/cursor/selection when using scrollbar + tidying up ()
ocornut 9180126db6 Speeding up some wchar<>UTF8 functions and some specialization for Ascii. (testing 500 KB text for )
ocornut c06373de93 Cleanup
ocornut d0ea5942a9 InputTextMultiline() can clip + BeginChildFrame() returns bool. ()
ocornut 9c399ee3be Demo for InputTextMultiline() ()
ocornut b0e8643523 Demo for InputTextMultiline() ()
ocornut 490e9e42ff InputText(): shallow tweaks ()
ocornut 5e323561be InputTextMultiline() fixes, vertical scrolling, optimizations ()
Using a child window for multi-line text.
ocornut 3df91b52ea Increased key repeat rate for non-character input key repeat.
Dodgy - we should have a match here for character input and
non-character input (e.g. holding 'a' vs holding 'backspace' should be
same rate), but for the earlier we don't have the info?
ocornut 7dc5228235 InputText: doesn't reset scrolling when active text input becomes bigger than its content. ()
Mostly because it's expensive.
ocornut f75b8c72cf InputTextMultiline(): vertical scrolling wip, selection rendering fix ()
ocornut 417a7bc29b InputTextMultiline(): multi-line selection draw fix ()
ocornut f1dfc4d7c4 InputTextMultiline(): multi-line selection draw fix ()
ocornut 917a1fdbf7 InputText() fixing cancel ()
ocornut 73491e5adc InputText() lifted 1024 characters limit ()
Bit messy & not happy with using ImVector<char>
ocornut 0795a60c6b InputText() fixed multi-line selection clipping. ()
ocornut ec7c1834b3 InputTextMultiline() tabbing to a multi-line edit doesn't select all (unless ImGuiInputTextFlags_AutoSelectAll is set), somehow arbitrary (#
Seems reasonable
ocornut 6d31c498c0 InputText: multi-line selection, better scrolling, cleaning up ()
Not horizontally scrolling on char boundaries anymore
ocornut d06ad43dca ImFont::RenderText() additional early out (typically performed at TextUnformatted() level for large chunks but this is also useful) ()
ocornut 748837acfd Merge remote-tracking branch 'origin' into 2015-06-multiline_textedit
Conflicts:
	imgui.h
ocornut a248575dea Text rendering can be finely clipped cpu-side on top and left axises (for )
ocornut 9765559a28 Merge remote-tracking branch 'origin' into 2015-06-multiline_textedit
Conflicts:
	imgui.cpp
ocornut 34986771b4 Moved InputFloat() InputInt() below InputText() and not in the middle of internal bits
ocornut 0df7b472c2 InputTextMultiline() WIP - still gazillion problems with selection visualisation & scrolling
ocornut b360c83e92 Merge remote-tracking branch 'origin' into 2015-04-indexed-rendering
ocornut 7d860a0181 Merge remote-tracking branch 'origin' into 2015-03-antialiased-primitives
Conflicts:
	imgui.cpp
ocornut 6eb1fec7a9 ImFont: added GetCharAdvance() helper. Exposed font Ascent and font Descent.
ocornut b503e5ee5b ImageButton() changed default bg_col parameter from (0,0,0,1) black to (0,0,0,0) tranparent + drawing frame even when no padding ()
ocornut 4f0fa58ff2 Selectable() changed prototype moved flags before size. size override should rarely have been used! sorry.
ocornut cf481e1a7b Selectable() added flags ImGuiSelectableFlags_DontClosePopups , ImGuiSelectableFlags_SpanAllColumns ()
ocornut 2bcafc861e SelectableEx - replaced unnecessary extra size_draw parameter by a flag.
ocornut 96496ced5f Metrics windows display storage size
ocornut 039418f393 ColorButton(), ColorEdit4(): colored square stays square, used vertical padding on both axis.
ocornut 6bb06fdb81 Selectable, MenuItem: don't use frame rounding for hovering/selection.
ocornut 3fd4441f70 SetScrollPosHere() fixed imprecisions
ocornut 3ca54ad369 SetScrollPosHere() takes account of item height + more accurate centering
ocornut e8422f7aa0 SetScrollPosHere() rewrote to that window size is not required at the time of calling, can be used on frame 0 of an auto-resizing window
ocornut 8c86322068 Combo() now using the popup facility. More consistent + when combo open hovering other widgets is disabled. ()
ocornut 6f1dd7a688 Allow Set*WindowSize() calls to be used with popups (fix for using e.g. scroll function on the first frame)
ocornut 6807546caf Allow Set*WindowSize() calls to be used with popups.
ocornut 4536668482 Fixed issue with activating a Combo() not taking active id ()
ocornut 20088303e9 ImFont: ignoring \r
ocornut eb75ffdc5d DragFloat(), SliderFloat() Fixed rounding of negative which sometimes made the negative lower range unreachable.
ocornut 0e04dfbad7 Added IsWindowHovered() helper.
ocornut 9928d19af1 Version 1.41 WIP
ocornut 82d4180f39 Bits of TODO list
ocornut 931b8dcdaf Version 1.40
ocornut a76eea85c8 Merge remote-tracking branch 'origin' into 2015-04-indexed-rendering
Conflicts:
	imgui.cpp
ocornut ade7661b3f Merge remote-tracking branch 'origin' into 2015-03-antialiased-primitives
ocornut 8738147aee Windows: pragma link with user32.lib if we are using native clipboard function (unless IMGUI_DISABLE_WIN32_DEFAULT_CLIPBOARD_FUNCS)
ocornut 1c2dac2a90 Version increased to 1.40 WIP makes more sense than 1.39 (changelog is huge)
ocornut 04e91500c5 Comments
ocornut 374d160234 BeginPopupContextWindow() in_empty_space_only -> !also_over_items ()+ comments
Sorry if you used this parameter already.
ocornut bda0269133 ListBox() uses ImGuiListClipper helper, faster for large lists, assume evenly sized items.
ocornut eb4ffd5dbd Added ImGuiListClipper helper to avoid using CalcListClipping() directly.
ocornut 446d8abfb0 ListBoxHeader() can return false. Also made ListBox() only use public API.
ocornut df37df821e RetWindowCollapsed() to IsWindowCollapsed() for consistency. Kept inline indirection.
ocornut 0539be7067 Added IMGUI_DISABLE_OBSOLETE_FUNCTIONS
ocornut 03ff2faacb Comments
ocornut 9417df2a26 Renamed IsRectClipped to IsRectVisible for consistency. Note that return value is opposite! Kept inline redirection function (will obsolete)
ocornut 5ea23977f7 Fixed uninitialized fields in constructor - wouldn't have caused a problem (thanks Coverity!)
ocornut f1f3424cdd Popups WantCaptureMouse active when popups/menus are active + using tracked mouse button ownership when mouse down ()
ocornut 73d1126bf4 Examples: OCD tweaks, a sign that we are near the release!
ocornut 448b262b37 Examples: Comments.
ocornut 83770e5e40 Examples: Tweaks. Usnig sprintf() in user-copiable code.
ocornut 0db6bac590 Examples: Tweaks, demo code creating graph data actually creates data at the correct rate.
ocornut 9ace617e7e Examples: Tiding up. Moved Dragging example higher up.
ocornut 616a7e6c61 Examples: Using a helper function for ? markers
ocornut d86785ac98 Examples: Fixed Simple Layout example always showing. Using BeginPopupContextItem().
ocornut 4144c59ce4 Added Simple Layout example applet
ocornut 15a26a479b Fixed auto-filling child window using WindowMinSize at their minimum size, irrelevant. Using an arbitrary small number instead.
ocornut f0781d3a24 Added GetItemsLineHeightWithSpacing() helper.
ocornut aaefe462bb Popups: calling OpenPopup() on already open popup doesn't close it's child ()
Fixed previous commit.
ocornut 78dc54ab3d Popups: calling OpenPopup() on already open popup doesn't close it's child ()
It think it makes more sense? Maybe?
Note that calling OpenPopup() every frame probably doesn't make sense.
ocornut 7847100ad8 Tweak BeginMenu() code
ocornut 733e079081 Moved CloseInactivePopups() and tweaked.
Branimir Karadžić 123fd73c8c Merge remote-tracking branch 'upstream/master'
Branimir Karadžić cd9244ab15 Define STBTT_DEF extern when STBTT not compiled with ImGui.
ocornut dcc7df2b21 Added BeginPopupContextVoid() helper for completeness ()
ocornut 235cca4f97 Fix to allow opening popup from a left-click on void or another window (because left-click would normally override focus immediately) ()
Neither appears to be really useful frankly.
ocornut 1cb6a294b0 BeginPopupContextWindow() rearranged and clarified parameters ()
ocornut b0a9bbf6f6 Popup taking focus deactivate focused widget of other window ()
e.g. focus InputText(), open contextual popup, input text used to stay
focused
ocornut f8b7d5c76d Tracking ActiveIdWindow along with ActiveId
ocornut 938528e5ee Added BeginPopupContextItem() / BeginPopupContextWindow() ()
ocornut 5b0861768e Fixed GetId()/BeginPopup() accessing current window in "append" mode
ocornut 8c4c421f74 Added IsAnyItemHovered() public helper.
ocornut 70f2ff0e5a No minimum size for popups
ocornut 99ff45ad2e Tweak context menu example
ocornut 90db64d4e3 Added context menu example on a DragFloat widget
ocornut 487500d291 Tweaks
ocornut 7d28fe5915 WIP Menus: Reverted f26de46350 for now ()
ocornut d05c1d58c3 Oops
ocornut 405785ea62 ItemWidthStack can be empty, to remove one allocation per window
ocornut 0a7024c198 Store common stacked settings contiguously in memory to reduce cache misses & unnecessary heap allocations
ocornut 3d36c81241 Added PushButtonRepeat() / PopButtonRepeat(). REMOVED third 'repeat_if_held' parameter of Button() !
ocornut d69f2f57ee Added configurable io.KeyRepeatDelay, io.KeyRepeatRate
ocornut 904e187f70 Simplified some widget code, moving alignment to RenderTextClipped()
ocornut 3c264827fd Reordering parameters of internal RenderTextClipped()
ocornut f841097e99 Button centering left to RenderTextClipped function.
ocornut f26de46350 Button() closes active popup () unsure about that
ocornut e6ac9e88aa Refactor Button() and SmallButton() into a shared function ButtonEx()
ocornut 843219daec Spacing + untabify
ocornut 7b8b5754bc EndGroup() carries on the text base offset from the last line of the group (sort of incorrect but better than nothing)
ocornut 6f32684f15 Examples: various usage comments.
ocornut 15113f682e Added TextDisabled(), TextDisabledV() helpers.
ocornut 3a6e6645e6 WIP Menus: Fixed remaining inconsistency with stacks of popups. Activating/closing a menu close the parent popup. Added test case. ()
ocornut 90cf77b191 Merge remote-tracking branch 'origin' into 2015-05-menus
ocornut 6b3ccd3edf WIP Menus: Added support for disabled sub-menu ()
ocornut 0db122bc3b Comments. Examples: added empty if (MenuItem()) {} statements in more places to better document the typical use cases ()
ocornut fdce095101 Comments
ocornut d009a85de4 WIP Menus: Implement amazon's dropdown-like triangle test for navigating sub-menus ()
ocornut 63a39dd08e WIP Menus: Recursive menu demo (). Actually useful to test sub-menu positioning.
ocornut cdb5e16f70 SelectableEx: use flags internally (similar to ButtonBehavior)
ocornut 4eeba016f6 WIP Menus: Closing sub-menu when hovering something else in the same parent window ()
Immediate open/close is error-prone
ocornut 83b10f77a9 Comments
ocornut 98540370a0 WIP Menus: Layout in menu-bar tweaks to lay better when mixed widgets ()
ocornut bb8cdcb916 WIP Menus: Layout in menu-bar more standard, allows mixing different widgets in menubar. ()
Still some minor spacing bugs.
ocornut 83cb040d20 Selectable: text baseline alignment for line that aren't of text height.
ocornut 44ed5640d3 WIP Menus: Sub-menu overlapping amount not hardcoded ()
ocornut 0836f69d9b WIP Menus: Fixed style.WindowPadding == 0 leading to zero-sized initial clipping rectangle leading to self-collapsing childs ()
ocornut 6c749934ec Combo: empty label doesn't add ItemInnerSpacing alignment, matching other widgets
ocornut 9abcbf73cb WIP Menus: Sub-menus appears over the parent-menu scrollbar if there is one (unsure about that) ()
ocornut 63aa035f59 WIP Menus: Fixed estimation of scrollbar width (broke in 292f08b11e) ()
ocornut 8c1d7daef8 WIP Menus: Fixed repositioning of menus when there's no room in the 4 quadrants., we still keep them within the visible display area ()
vs popup which prefer to stay away from the mouse cursor
ocornut 1ab1712849 WIP Menus: Clicking the label of an already open sub-menu doesn't close it unless from a menu-bar (match Windows behavior) ()
Argh,
ocornut 48ede93a58 WIP Menus: Fixed closing popup on menu item activation when a child menu is open from the popup ()
ocornut 53892ab893 WIP Menus: Fixed manually closing submenu affecting position of the following window ()
ocornut 292f08b11e WIP Menus: Fixed some alignment issues with non standard styles. Tweaked menu-bar color ()
ocornut 14bcfef041 Merge remote-tracking branch 'origin' into 2015-05-menus
Conflicts:
	imgui.cpp
ocornut 8cfae35042 Added Dummy() helper
ocornut 89d1340225 WIP Menus: Added Enabled/Disabled option for MenuItem() ()
ocornut 485832fe06 WIP Menus: Added BeginMainMenuBar()/EndMainMenuBar() helpers. Added to examples.
ocornut e6b1e39847 WIP Menus: don't clamp windows within display when a position has been explicitly set by user. Menu item spacing uses ItemSpacing. ()
ocornut e7097d6176 WIP Menus: menus now affected by WindowMinSize ()
ocornut e3f2ad728a Merge remote-tracking branch 'origin' into 2015-04-indexed-rendering
Conflicts:
	examples/directx11_example/imgui_impl_dx11.cpp
ocornut cc3ed515ca Merge remote-tracking branch 'origin' into 2015-03-antialiased-primitives
Conflicts:
	imgui.cpp
ocornut 882b4a5eb4 Merge remote-tracking branch 'origin' into 2015-05-menus
Conflicts:
	imgui.cpp
ocornut 7fbe6574c6 Removed unnecessary PushTextureId/PushClipRect/PopClipRect/PopTextureId on multiple Begin/End pairs
ocornut 8a6d543bc9 ImDrawList: merge draw command better, cases of multiple Begin/End gets merged properly
ocornut 6a1eba2d0a Fixed appending multiple times to an existing child via multiple calls to same BeginChild/EndChild
ocornut 14ab9708be Removed a few empty lines
ocornut df276b82da Updated FAQ for usage of ## to display empty label
ocornut e43c5cd3d3 InputText: Fixed cursor generating a zero-width wireframe rectangle turning into a division by zero.
ocornut 0cdd050cd7 WIP Menus: fixed recycling menu level during the same frame ()
We could also enforce "clearing" the window and recycle immediate which
sort of work, but it would be a less tested code path.
ocornut 6da8a77fa3 WIP Menus: tidying up, fixed hovering in parent popup menu item from child popup (individual popups acts as hovering barrier) ()
ocornut 9bdacaf08d WIP Menus: click again to toggle + allow hovering in same menuset even outside of a menubar ()
ocornut 75ec4841df WIP Menus: menu opens on press (not release), uses popup style hovering, allow switch between menus at parent site ()
ocornut e674df8101 Merge remote-tracking branch 'origin' into 2015-05-menus
ocornut 097fe51f97 Hovering require to hover same child window. Reverted 860cf578f5 (December 3), replaced by a flag resize grip.
Might break something if you have childs overlapping non-childs.
ocornut 060f879816 Tweak internal ButtonBehavior() to ease passing extra options
ocornut 7184de24b8 WIP Menus: scrolling section of the window is clipped by the menu bar ()
ocornut a17c930d1f WIP Menus: Added example menu, move app examples to a sub-menu ()
NB: menus do not react on click yet, with popup-style blocking of other
inputs yet
ocornut 09abf11e56 WIP Menus: BeginMenuBar() return false on window without a menu bar ()
ocornut 4bd43bdb35 Renamed ImGuiWindowFlags_Menu to ImGuiWindowFlags_ChildMenu
ocornut 7f3f3891c0 WIP Menus: fixed case where zero-sized display (e.g. minimised window) clips popups/menus and asserted ()
ocornut 88d7b3de23 WIP Menus: fixed hovering handling of menus from menu bars ()
ocornut f2b738648f WIP Menus: menu bars. Still inconsistency with hovering scheme. Will probably follow what Windows does. ().
ocornut 6251d37987 WIP Menus: further fixes for resizing ()
ocornut f44526cc45 Selectable(): horizontal filling not declared to ItemSize() so Selectable(),SameLine() works and we can best auto-fit the window
ocornut e912bcb36d Comments
ocornut ecda785cbc Popups: fix to allow child popups to be opened from a normal window without an intermediate popup window.
ocornut 4250357ed2 Selectable: using window->WindowPadding() to work within non-padded child windows
ocornut 79a95256e8 Window: fixed auto-fit calculation mismatch of whether a scrollbar will be added by maximum height clamping.
Also honor NoScrollBar in the case of height clamping, not adding extra
horizontal space.
ocornut 3115e546aa Style editor: fixed slider for indent spacing.
ocornut c1b55991c0 Window: fixed child window sizing lag + minimum size clamping lag
ocornut 70f83a3a65 Popups: child popups (menus) hidden on their first frame the same way as regular popup
ocornut e9b6e437eb Merge remote-tracking branch 'origin' into 2015-04-indexed-rendering
Conflicts:
	imgui.cpp
	imgui.h
ocornut 1eafe86627 Merge remote-tracking branch 'origin' into 2015-03-antialiased-primitives
Conflicts:
	imgui.cpp
ocornut 81937d34a8 Popups: made OpenPopup()/close loops reclaim focus and update popup position. It is generally a mistake but it's now more easy to understand
ocornut fa0f0f4507 ImVector: tweak growth strategy
ocornut 1fe2906923 Metrics: do not count free(NULL) calls. Settings: contiguous allocations for ImGuiIniData.
ocornut 900394a612 Metrics: metrics window shows popups list
ocornut 222a9231bb Examples: Console: example uses standard malloc/free, makes more sense as a copy & pastable example
ocornut d9ca8f3145 Added IO.MetricsAllocs counter (number of memory allocations
ocornut d9b2a90773 Popups: fixed child windows within popups vs handling of sub menus. Added examples.
ocornut 748072c045 Popups: identifying popups by their id to avoid conflict when recycling popup durnig same same (CloseCurrentPopup followed by Open+Begin)
ocornut e57ee2852a Comments
ocornut 1e4c22c206 Added io.MetricsActiveWindows counter ()
ocornut 5df542c3c0 ImFontAtlas: doesn't clear input data, left to the application. ()
ocornut 4b088ec7e8 ImFontAtlas: Fix toward allowing to add extra font without clearing existing one (need to comment out ClearInputData) ()
ocornut 9d9cf31972 ImFontAtlas: added ClearFonts(), making the different clear funcs more explicit ()
ocornut ad79db32c7 Window title text centering tweaks, RenderTextClipped() now has different args for pos_max and clip_max
ocornut 356a37edcf Added window title text horizontal alignment option (),, ImGuiAlign_ type for future use.
ocornut 03720acaff Merge remote-tracking branch 'origin' into 2015-05-menus
ocornut 9be3319653 Tweaks, comments around ImFontAtlas
Removed unsigned int from API
ocornut 9e307d60e3 Merge remote-tracking branch 'origin' into 2015-05-menus
ocornut 515e0c6122 Cleanup, merged duplicate code into a function
ocornut 317744489f WIP Menus: sub-menu arrow alignment take account of extension by other widgets ()
ocornut 5082182790 Merge remote-tracking branch 'origin' into 2015-05-menus
Conflicts:
	imgui.h
ocornut ba7a4fc034 WIP Menus: minor cleanup using a ImGuiSimpleColumns helper type ()
ocornut 7fb704d308 WIP intermediary branch commit for menus, submenus (some large inconsistencies remaining in API + need cleanup) ()
May remove the ImGuiWindowFlags_Menu alltogether
ocornut 79198fd6a5 Default item width for AlwaysAutoResize windows expressed as a factor of font height
ocornut 34aad73fd8 Added ImGuiCol_TextDisabled
ocornut 141ac8beab Tweaks
omar 33a2fd368a Merge pull request from paperManu/inputNFlags
InputFloat2/3/4, InputInt2/3/4: Added extra_flags parameter.
Emmanuel Durand b3faed610d Renamed flags to extra_flags in last commit
ocornut fcd08ed8d4 BeginPopup() API had to be changed! :( Proper support for stacked popups, leading into menus (wip )
Emmanuel Durand 94b7c9e307 Input text flags added to InputFloatN and InputIntN
Stefano Cristiano 99a1a85f1f Example fix PopStyleVar on Vertical Slider to avoid assertion
Adding an explicit ImGui::PopStyleVar to avoid assertion in
CheckStacksSize
ocornut 4a41ce9414 InputText: make sure Ctrl+V has ONLY the control key pressed (follow up to ) + tidying
ocornut c2c43928a9 Untabifiy
ghassanpl bb2d3a8b41 * make sure letter-key shortcuts have ONLY the control key pressed (fixes bug for AltGr->Ctrl+Alt on windows)
ocornut 6c1084eaa1 Shutdown() test for g.IO.Fonts not being NULL to allow workarounds in case of using multiple contexts
ocornut f293bec97c Added style.ScrollbarRounding
ocornut d23709ce35 Merge remote-tracking branch 'origin' into 2015-05-menus
ocornut 9fe654c6e4 Assert on modifiers stack size mismatch between Begni()/End() pairs
Experimenting with this. It's helpful but not happy with the idea of
ImGui asserting on that sort of user error.
ocornut debe6522bb Examples: test for tooltip over popup.
ocornut 33e8fb85cf Allow stacking popups, not really useful yet (wip )
ocornut dd2a578012 Added ImGuiSetCond_Appearing to test the hidden->visible transition.
ocornut f46557d2d6 MenuItem() draft for popups, with Selected option (wip )
ocornut c36172ebef Tweak RenderCheckMark()
ocornut 85b8967291 Added RenderCheckMark() helper following the font size
Pretty ugly, not sure what's the right way to solve that automatically,
better shown as an "icon" so it doesn't have to necessarily look like
the font.
ocornut 13c3f11c66 Comments ()
ocornut fbbe7fee53 Fix "Debug" window stealing focus/popup @thevaber
ocornut 25d8c1af91 Removed inline marker
ocornut e7ffcea33d Removed style.AutoFitPadding, using style.WindowPadding makes more sense (the default values were already the same).