GamingMinds-DanielC
cd1b5f7883
Clipper: enhanced ImGuiListClipper ( #3841 )
2021-11-04 13:56:37 +01:00
ocornut
b409df34db
Clipper: Fixed content height declaration slightly mismatching the one of when not using a clipper.
2021-11-03 17:00:40 +01:00
ocornut
14466a6d19
Nav: Page/Home/End doesn't immediately restore highlight (before results comes) + pressing Esc to exit a child window re-enable the Nav highlight if it was disabled by mouse.
...
Also fix a move request fail restoring highlight from not moving mouse cursor.
Add NavRestoreHighlightAfterMove() helper a little bit of extra sanity.
2021-11-02 17:04:35 +01:00
ocornut
978598b174
Nav: pressing PageUp/PageDown/Home/End when in Menu layer automatically moves back to Main layer. + fixed resizing window from borders setting navigation to Menu layer.
2021-11-02 17:04:34 +01:00
ocornut
d1eb7b5757
ScrollToItem: amend fully visible tests to take account of spacing used (fix nav in one axis scrolling back and forth between axises when space is tight by just < ItemSpacing*2) ( #3692 , #2812 , #4242 , #2900 )
...
Amend 8f495e55
2021-11-02 16:17:12 +01:00
ocornut
a67f7dce31
Nav: relative rectangle positions are now stored relative to CursorStartPos to be independent of scrolling. Will facilitate rework of clipper ( #3841 )
...
+ Extracted code into NavUpdateCreateWrappingRequest()
+ Fix for PVS in NavUpdate() assigning g.NavMousePosDirty twice.
2021-10-27 14:18:03 +02:00
ocornut
8d361c47fb
Nav: rework NavEnableSetMousePos application so scrolling is applied more consistently in NavCalcPreferredRefPos() + moved at end of NavUpdate() after the last SetScroll have been done.
2021-10-27 12:55:46 +02:00
ocornut
8361ed1f54
Nav: wrap abs<>rel rectangle conversions before we attempt to switch the reference point from window->Pos to window->DC.CursorStartPos. This commit should have no effect.
...
Current point makes rectangle invalid right after a scroll, for interactive actions it's rarely a problem but e.g. clipper will want to use g.NavID rect rel while scrolling. (#3841 )
2021-10-27 12:28:45 +02:00
ocornut
19c72cd52a
Nav: fixed absolute mouse position (with NavEnableSetMousePos config flag) when using Home/End leads to scrolling.
2021-10-27 12:28:35 +02:00
ocornut
c363b6df2b
Modals: fixed issue hovering popups inside a child inside a modal. Fixed IsWindowFocused()/IsWindowHovered() issues with childs inside popups. ( #4676 )( #4676 , #4527 )
...
Amend/fix 6b1e094f, fc4988ffb
(Sep 24)
2021-10-27 12:03:14 +02:00
ocornut
0f2898ea88
Demo: Tree selection demo use !IsItemToggledOpen() ( #1896 ) + update FAQ ( #4366 )
2021-10-25 18:38:56 +02:00
ocornut
9c78fc928a
Inputs: Mouse: Amend c8e3a01 for tracking multiple clicks, renaming. ( #3229 )
2021-10-25 14:30:20 +02:00
Chris Savoie
2318c764cf
Inputs: Mouse: Add support for tracking multiple clicks more than just double ( #3229 )
2021-10-25 14:30:17 +02:00
ocornut
e3bd9434b1
1.86 WIP + internals: tweaks table temp data code.
2021-10-14 16:58:14 +02:00
ocornut
55d35d8387
Version 1.85
2021-10-11 19:24:25 +02:00
ocornut
75c54e6384
Nav: Fixed vertical scoring offset when wrapping on Y in a decorated window.
2021-10-11 14:40:47 +02:00
ocornut
ba5c105c01
Menus: Fixed an assertion happening in some situations when closing nested menus (broken in 1.83). ( #4640 )
...
Broken since 936f5322
Weirdly chain-reaction caused by the fact following #4640 repro, the SourceWindow assignment in OpenPopupEx() picks Menu_04 before its closure. Value of SourceWindow since bda2cde6
#2517
2021-10-11 11:48:39 +02:00
ocornut
44f801186f
SetItemDefaultFocus() use ScrollToRectEx(), don't tab when Alt is held either, TabItemEx() uses ItemAdd's extra_flags, misc comments.
2021-10-08 15:24:54 +02:00
ocornut
31d033c9d8
Nav: refactor SetKeyboardFocusHere() into using Nav facility. Fix it for clipped items. ( #343 , #4079 , #2352 , #432 )
...
+ Removed references to counter used by previous implementation of SetKeyboardFocus functions (the TabStop ones will be removed after)
2021-10-06 18:42:11 +02:00
ocornut
fbe78b1a3a
Stack Tool: Docs ( #4631 ) + also prevent Metrics window from displaying twice.
2021-10-06 18:22:40 +02:00
ocornut
2de96c4bd5
Stack Tool: Added Stack Tool (ShowStackToolWindow() function and available from Demo and Metrics window). ( #4631 )
2021-10-06 17:47:27 +02:00
ocornut
164a86d3b0
Moved !IsActiveIdUsingKey(ImGuiKey_Tab) check to UpdateTabFocus(). Added asserts to IsItemHovered() and IsWindowHovered().
2021-10-05 22:06:12 +02:00
ocornut
8f495e5543
Internal: added ScrollToItem() upcoming replacement to ScrollToBringRectIntoView() + ImGuiScrollFlags (WIP) ( #3692 , #3208 , #2812 , #4242 , #2900 )
2021-09-29 17:13:45 +02:00
ocornut
fc4988ffb0
Added ImGuiFocusedFlags_NoPopupHierarchy and ImGuiHoveredFlags_NoPopupHierarchy (followup #4527 )
2021-09-24 15:39:38 +02:00
ocornut
24a77824f2
Added ClosePopupsExceptModals() helper, unused for now (aimed at user being able to close popups on app focus loss, not necessarily a suitable default)
2021-09-22 15:50:40 +02:00
ocornut
bbb95a5e06
IO: modify io.AddFocusEvent() to tolerate in/out for multi-viewports. Amend 2f40be6
. (merged from docking) ( #3532 )
2021-09-22 15:47:53 +02:00
ocornut
15132217a3
Nav: Fixed an issue with losing focus on docked windows when pressing Alt while keyboard navigation is disabled. ( #4547 , #4439 )
2021-09-21 14:17:49 +02:00
ocornut
2cffcbdc64
InputText: fix Space key with nav enabled interfering with input text boxes (fix bd6c9e99
). made it possible to activate InputText with tweak gamepad button (why not, now that we can cancel) ( #4552 , #2321 )
2021-09-17 16:30:32 +02:00
ocornut
3973de7933
Internals: removed last parameter to IsClippedEx() + fix PVS studio warnings.
2021-09-16 18:07:17 +02:00
ocornut
2d0a6a4969
Misc: moved StacSizeOnBegin out of window instance into window stack data.
2021-09-15 15:36:03 +02:00
ocornut
66cd21db88
Misc: extracted ErrorCheckEndWindowRecover() out of ErrorCheckEndFrameRecover(). ( #1651 )
2021-09-15 15:26:29 +02:00
ocornut
d366694062
Disabled: Added assert guard for mismatching BeginDisabled()/EndDisabled() blocks. ( #211 ) + Added asserts for missing PopItemFlag() calls. Added both to ErrorCheckEndFrameRecover ( #1651 )
2021-09-15 15:26:29 +02:00
ocornut
321b84f01f
Internals: refactored IsWindowHovered()/IsWindowFocused() to make their logic more similar + change underlying value of ImGuiHoveredFlags_AllowWhenBlockedByPopup + comment out docking only flags.
2021-09-08 16:44:53 +02:00
ocornut
d9b427cce0
Nav: clarified/renamed NavInputId as NavAcivateInputId, added flags shared by both.
...
(this commit should have no visible side effect but is designed to introduce the followup commit refactoring SetKeyboardFocusHere into using a Nav request)
2021-09-07 18:10:31 +02:00
ocornut
607ad8c949
Drag and Drop: Fixed using BeginDragDropSource() within a Begin()/BeginChild() that returned false. ( #4515 ) + BeginDragDropTarget()
...
Note how 79ae6d3b
adedd a SkipItems test in BeginDragDropTargetCustom() only.
Catching this similar to work needed to neatly represent the error in #4375 #4158 , #4008 , #2562
2021-09-06 20:59:16 +02:00
ocornut
ade4c15eea
Nav: Tidying up, renaming + update AnyRequest flag in NavMoveRequestSubmit().
2021-09-03 16:35:41 +02:00
ocornut
5ee40c8d34
Nav: always disable highlight if nav is disabled, fix for IMGUI_DEBUG_NAV_SCORING, minor renaming.
2021-09-02 12:05:32 +02:00
ocornut
dff15acdb5
Nav: Fixed toggling menu layer with Alt exiting menu layer with Esc not moving mouse when NavEnableSetMousePos config flag is set.
2021-09-01 16:05:03 +02:00
ocornut
3d9d3b49ae
Internals: folded ImGuiItemAddFlags into ImGuiItemFlags. ImGuiItemAddFlags_Focusable > ImGuiItemFlags_Inputable. One step in the big nav/tab/focus rework.
...
Bonus simplified Selectable() handling of its custom disabled flag. (#211 )
2021-09-01 14:46:08 +02:00
ocornut
73a5e82e04
Nav: removed parameters from NavScoreItem(), NavProcessItem(), NavApplyItemToResult(): made little sense / misleading because pulling from other current state anyway.
...
Will readd in a more thorough manner is actually needed.
2021-09-01 14:13:40 +02:00
ocornut
a735a8c084
Nav: storing NavRect in LastItemData. Fix race condition where framed items (Rect != NavRect) calling SetFocusID() would store the wrong NavRectRel until next frame
...
(haven't dugged in the possible side-effects of that race condition)
2021-09-01 12:12:51 +02:00
ocornut
ee351d3548
Nav: move code into NavMoveRequestSubmit(). NavApplyItemToResult() takes absolute rect., comments
2021-09-01 12:06:15 +02:00
ocornut
7b913db1ce
Nav: split NavMoveRequest into NavMoveSubmitted + NavMoveScoringItems to allow operation to defer a move request and provide result immediately + fix regular scoring needlesly running during init + some renaming.
2021-08-31 18:19:52 +02:00
ocornut
4aea1c5adb
IO: added io.WantCaptureMouseAllowPopupClose ( #4480 ) + comments
2021-08-30 19:11:47 +02:00
ocornut
66102880a3
Updated links to Discussions
2021-08-30 17:06:51 +02:00
ocornut
333807b483
Windows: fixed background order of overlapping childs submitted sequentially. ( #4493 )
...
Amend 07704496
2021-08-30 13:08:41 +02:00
ocornut
bb6a60b1ff
Nav: extracted sections of NavUpdate() into a NavUpdateCreateMoveRequest() function. Only clearing results when a request is activated.
2021-08-27 21:10:16 +02:00
ocornut
ccfb20095e
Nav: small refactor of forwarding, clarified that MoveDir only set when RequestActive, removed one indent level in NavUpdatePageUpPageDown().
2021-08-27 20:48:01 +02:00
ocornut
20a1edef89
Nav: made EndMenuBar() use NavMoveRequestForward() for consistency. Moved forward clearing to NavMoveRequestApplyResult(). Improved/fixed comments.
2021-08-27 17:21:10 +02:00
ocornut
84890a3074
Nav: simplify wrap requests code (may soon be useable for tabbing)
2021-08-27 12:31:11 +02:00
ocornut
4c31c98d22
Nav: extracted code out of NavUpdate() into NavUpdateCancelRequest()
2021-08-27 12:30:55 +02:00
ocornut
e23bee353c
Removed GetWindowContentRegionWidth() function
2021-08-23 16:15:16 +02:00
ocornut
0649f750b4
Version 1.85 WIP
2021-08-23 15:31:06 +02:00
ocornut
d79ca9b0b6
Fixed nested BeginDisabled()/EndDisabled() calls. ( #211 , #4452 , #4453 , #4462 ) [Legulysse]
2021-08-23 14:57:54 +02:00
ocornut
32d4f6c5d9
Fix BeginDisabled(false), again, ( #211 , #4452 , #4453 ) Version 1.84.1
...
(forced pushed since our earlier versioning didn't sort correctly in github web)
2021-08-20 23:59:46 +02:00
ocornut
f969e68c10
Fix BeginDisabled(false), ( #211 , #4452 )
2021-08-20 20:30:51 +02:00
ocornut
d2ffbd9b86
Version 1.84
...
Fix PVS Studio false positive //-V1020
Fix missing #ifndef for IMGUI_IMPL_OPENGL_LOADER_CUSTOM path
2021-08-20 18:03:55 +02:00
ocornut
df2319a854
Small optimizations to BeginDisabled() to allow frequent calls ( #211 )
...
Not intended for frequent calls but I suspect some people will do it either way...
Rough/indicative: measured 0.1 ms for 5000 calls in release, 0.5 ms in debug on my desktop windows.
2021-08-20 17:19:18 +02:00
ocornut
c543d93af1
Expose BeginDisabled()/EndDisabled() in public API. Add to demo. ( #211 )
2021-08-20 16:34:43 +02:00
ocornut
7bbf8f2ab0
Drag and Drop: fix using AcceptDragDropPayload() with ImGuiDragDropFlags_AcceptNoPreviewTooltip.
...
Window was not properly hidden in that case.
2021-08-18 15:40:22 +02:00
ocornut
cd39460925
IO: set io.KeyModsPrev in EndFrame() to tolerate backend writing to io.KeyMods without breaking. ( #4439 )
...
Amend ff428f1
2021-08-17 20:33:27 +02:00
thedmd
2f40be638f
IO, Backends: add io.AddFocusEvent(). Clear pressed keys after loosing input focus ( #3532 )
...
Amend/fix #2445 , #2696 , #3751 , #4377
2021-08-17 20:10:45 +02:00
Rokas Kupstys
86afe966d3
Metrics: Fixed a crash when inspecting the individual draw command of a foreground drawlist.
2021-08-17 16:23:26 +02:00
ocornut
ff428f1d2f
Nav: Fix not clearing NavWindowingToggleLayer properly (old code left it to true, relied on Alt release only). Removed unnecessary KeyMenu_ from NavInput. ( #4439 , #787 )
2021-08-17 12:54:51 +02:00
ocornut
8fa502ca42
Nav: Alt doesn't toggle menu layer if other modifiers are held. ( #4439 )
2021-08-17 12:23:54 +02:00
ocornut
b846969fe1
Removed unnecessary line in Begin() + commented out redirecting functions/enums names that were marked obsolete in 1.67 and 1.69 + readded commented obsoleted function.
2021-07-26 12:22:48 +02:00
Rokas Kupstys
3e4c89051d
Popups: Fix OpenPopup() being called after BeginPopup() resulting in a failure to open a popup when focus is NULL. ( #4308 )
...
Story of removed line begins in commit b80cf0a. It's purpose was to close popups when they lost focus.
Later on few other changes were introduced:
* bcc49ff - closing popups with RMB without changing window focus
* af679a1 - closing popups in FocusWindow()
These two changes covered all the cases of popup closing which made deleted line obsolete. Conveniently, now all popup closing is handled from within UpdateMouseMovingWindowEndFrame() either by calling FocusWindow() or ClosePopupsOverWindow().
2021-07-26 11:43:39 +02:00
ocornut
c881667c00
Fix - amend 1ad1530
(range-select branch need the NextItemData in NavProcessItem)
2021-07-19 21:45:44 +02:00
ocornut
90bf996e1a
Internals: widgets always read back from g.LastItemData.InFlags (so we can now modify per-item disable state more easily). ( #211 )
2021-07-19 21:26:34 +02:00
ocornut
6b8a059fc9
Internals: moved LastItem data to a shared structure (instead of one per window)
...
(should be a no-op as we are restoring things in Begin/End. Toward faciliate backup/restore of LastItemData and favor pulling from here instead of CurrentItemFlags, toward #211 )
2021-07-19 21:25:47 +02:00
ocornut
1ad153056a
Internals: ItemAdd: set LastItemXXX fields before navigation calls + comments about io.IniFilename ( #4294 )
2021-07-19 21:24:15 +02:00
ocornut
fb4bbeb033
Disabled: fixed IsItemHovered() if popped disabled state after item, or when using Selectable_Disabled. ( #211 )
2021-07-12 15:43:17 +02:00
ocornut
246ad6c03c
Disabled: items more consistently release active id if the active item got disabled. ( #211 ) (amend 2952525
)
2021-07-12 15:39:47 +02:00
ocornut
638e1a721b
Disabled: fixed IsItemHovered() returning true on disabled item when navigated to. ( #211 )
2021-07-12 15:01:02 +02:00
Rokas Kupstys
5dd1e38b7a
Disabled: disabled items set HoveredId, allowing e.g. HoveredIdTimer to function. ( #211 , #3419 ) + Menus: fix hovering a disabled menu or menu item not closing other menus.
...
Rework of https://github.com/rokups/imgui/commit/c24b470
Note that the declared intent of that commit "Prevents window from being dragged if mouse hovers a disabled item." was already fullfilled by a876ad87
.
Changes in ButtonBehavior() not needed anymore since ImGuiButtonFlags_Disabled is gone
2021-07-09 19:54:46 +02:00
ocornut
4a100f7f11
Nav: Disabled items are not candidate for default focus. ( #211 , #787 ) + simplify handling of ImGuiButtonFlags_PressedOnDragDropHold path.
2021-07-09 18:57:23 +02:00
ocornut
cc40ae2101
PushDisabled(): added bool + clarify support for stacked disabled ( #211 )
2021-07-08 19:21:59 +02:00
ocornut
30d164eb26
Backends: Win32: IME functions are disabled by default for non-Visual Studio compilers (MinGW etc.) ( #2590 , #738 , #4185 , #4301 )
...
Enable with '#define IMGUI_ENABLE_WIN32_DEFAULT_IME_FUNCTIONS' for those compilers. Undo change from 1.82.
2021-07-08 14:23:31 +02:00
ocornut
3512f2c2c2
Internals: Menus: minor tidying up + renaming in ImGuiMenuColumns + removing extraneous offset field which is always zero + using smaller types.
...
sizeof() 36 -> 20
2021-07-07 20:16:55 +02:00
ocornut
4ddb6b46c3
Drag and Drop: drop target highlight doesn't try to bypass host clipping rectangle. ( #4281 , #3272 )
...
Revert 4b94738c
2021-06-30 16:12:52 +02:00
ocornut
b5a2bd1a5b
Backends: amends to 1db1066 + merge minor bits from docking incl SetActiveIdUsingNavAndKeys().
...
No need to clear fields before deletion. DX12: renamed to match docking branch.
2021-06-29 15:25:19 +02:00
ocornut
0aeb978e61
Comments + adding spacing in headers because VS IDE parser display blocks so badly. Add helper in internal's ImGuiInputTextState. ( #4275 )
2021-06-28 11:58:37 +02:00
ocornut
95db098477
ImFontAtlas: move implicit AddFontDefault call to Build() function + remove unnecessary asserts in backend.
2021-06-25 17:27:17 +02:00
ocornut
38165f420f
Fonts: Prefer using U+FFFD character for fallback instead of '?'. Use U+FF0E dot character to construct an ellipsis if U+002E '.' is not available. ( #4269 )
2021-06-25 15:44:14 +02:00
ocornut
1965f38e9e
ImGuiWindowFlags_UnsavedDocument/ImGuiTabItmeFlags_UnsavedDocument display a dot instead of a '*'.
2021-06-24 14:30:32 +02:00
ocornut
f0c4d609a6
Default window focus scope not 0. Added ImGuiSelectableFlags_SelectOnNav with comments and caveats. ( #1861 , #4242,)
...
Focus scope default value: amend 7ee623d9
a5041c88
2ebe08be
2021-06-21 17:47:45 +02:00
ocornut
d0c6dd9baf
ImVector: added clear_delete(), clear_destruct() helpers.
2021-06-09 16:57:47 +02:00
ocornut
61f4aec868
Added PushDisabled(), PopDisabled() currently only exposed in imgui_internal.h ( #211 )
2021-06-09 15:28:59 +02:00
ocornut
94b680e830
Internals: fixed ImPool:: iteration, rename GetBufSize to GetMapSize. Amend c6c82b9f
2021-06-04 17:27:20 +02:00
ocornut
c6c82b9f1d
Internals: fixed iterating ImPool, fix after use of TableRemove() (was only used by TestEngine)
...
Merge metrics bits from 646c87359
2021-06-03 18:36:43 +02:00
ocornut
5b4bc985ad
Nav, Combo: removed unnecessary window->LastNavIds[] assignment in combo code. + minor renaming.
2021-05-28 17:27:52 +02:00
ocornut
c2bf4abfa1
Internals: Added ImTextCharToUtf8() helper. Added "out_" markers in more UTF-8 functions. Metrics: Fonts: Fixed display of EllipsisChar by feeding proper utf-8.
2021-05-25 13:37:27 +02:00
ocornut
3a941f95e9
Metrics, Demo: moved font details display to metrics code. ( #4171 )
2021-05-25 13:37:27 +02:00
ocornut
e31d13fa76
Version 1.84 WIP
2021-05-25 13:36:53 +02:00
ocornut
ad5d1a8429
Version 1.83
2021-05-24 17:39:25 +02:00
ocornut
88a24fb896
Fix build with IMGUI_DISABLE_DEMO_WINDOWS
2021-05-24 15:42:26 +02:00
ocornut
029c83c73e
Combos: Changed the combo popup to use a different id to also using a context menu with the default item id. ( #4167 )
2021-05-24 15:09:39 +02:00
ocornut
c708299ca9
Docs: Improvements to description of using colored glyphes/emojis. ( #4169 , #3369 ) + Add Fonts to Metrics. Removed IMGUI_HAS_TABLE markers.
2021-05-24 13:07:26 +02:00
ocornut
b474bff6c6
Nav: Fixed single frame CTRL+Tab from properly enabling the menu layer of target window if it doesn't have other active layers.
2021-05-21 18:39:17 +02:00
thedmd
3c72e5142b
Backends: Replace direct access to TextureId with GetTexID() call in ImDrawCmd. ( #3761 )
2021-05-19 18:39:18 +02:00
ocornut
41030cbfe2
Tweak computation of io.Framerate so it is less biased toward high-values in the first 120 frames. ( #4138 )
2021-05-16 20:37:38 +02:00
ocornut
4ce6bd8cff
Tables: sharing splitter and sort buffers between tables, reducing memory footprints. ( #3740 )
...
+ GC pass on that data.
2021-05-07 20:49:52 +02:00
ocornut
32c453ae53
Tables: sharing transient buffers between tables, reducing memory footprints. ( #3740 )
2021-05-07 20:49:52 +02:00
ocornut
393941ceea
Refactor focusable/tabbalbe item registration toward allowing to handle it prior to clipping (not yet the case) ( #343 , #4079 )
...
Now performed in ItemAdd(). It can't be trivially moved above clipping effectively because it would require us to scroll to be useful, meaning we'd be better off locking the bounding box a frame earlier. Still wip.
As-is this commit has no value for end-user, but it's a reengineering that moves us closer to the solution. + Internals: moved internal flags.
2021-04-30 22:40:02 +02:00
ocornut
2c3f25d2d9
Nav: Fixed Tabbing initial activation from skipping the first item if it is tabbable through. ( #787 )
2021-04-30 21:49:40 +02:00
ocornut
9b90639577
Internals: ItemFlags is a shared resource as advertised. Fix Begin/PushItemFlags/End sequence (mostly for consistency)
2021-04-30 21:34:17 +02:00
ocornut
788e91aece
Fixes for MSVC static analyzers (wider range of versions). ( #3938 , #4073 ) + warning fix ( #4089 ) + comments.
2021-04-30 18:21:07 +02:00
ocornut
89162a04f4
Fixes for PVS Studio and MSVC static analyzers. Using a macro to suppress single-use MSVC false positives. ( #3938 , #4073 )
2021-04-29 21:20:32 +02:00
ocornut
d28535f351
Fixes for Visual Studio 2019 static analyzers. ( #3938 , #4073 ) + two minor edge case were invalid scalar input (e.g. a sign only) would return buffer as modified.
2021-04-29 17:10:27 +02:00
ocornut
b493cae8c9
Nav: Fixed pressing Escape to leave menu layer while in a popup or child window. ( #787 )
2021-04-23 19:17:20 +02:00
Rokas Kupstys
21428ad3f4
Nav, InputText: Fixed accidental menu toggling while typing non-ascii characters using AltGR. ( #370 )
2021-04-23 18:50:46 +02:00
ocornut
4540177ce7
Nav: clear activeid on menu toggle (so pressing Alt leaving an InputText will steal ActiveID. Previously wouldn't not, but ButtonBehavior() hover logic would not show Menu layer item as hovered when ActiveId != 0). ( #787 )
...
(Adjacent to #370 )
2021-04-23 18:50:46 +02:00
ocornut
e61e8aea9c
Nav: clear navid in NavInitWindow() when window is marked with ImGuiWindowFlags_NoNavInputs. ( #787 )
...
(no expected side-effects, maybe consistency, but those NavLastIds[] values would likely have been 0 already)
2021-04-23 18:50:46 +02:00
ocornut
daf97832f1
Internals: Nav: renaming.
2021-04-23 18:39:08 +02:00
ocornut
bfc4a3347a
Nav: Fixed using SetItemDefaultFocus() on windows with _NavFlattened flag + tools in metrics.
2021-04-22 16:21:29 +02:00
ocornut
936f53229d
Internals: maintaining focus order inside windows + only storing root windows in WindowsFocusOrder[] array. (toward #2304 )
2021-04-16 19:28:24 +02:00
ocornut
5fed6bdc72
Demo: Improved popups demo and comments.
2021-04-15 15:58:12 +02:00
ocornut
b957300260
Documentation tweaks ( #4042 )
2021-04-14 15:46:55 +02:00
ocornut
d6a5cc7934
Metrics: hotfix (fix 6ba13349
+ f08566b4
, #4005 )
2021-04-07 17:57:14 +02:00
ocornut
92b7b1f72b
Scrolling: Fix mouse wheel axis swap when using SHIFT on macOS (system already does it). ( #4010 )
2021-04-06 17:51:21 +02:00
ocornut
00d570e280
Added OpenPopup() ImGuiID overload ( #3993 , #331 )
2021-04-01 17:18:18 +02:00
ocornut
f0fc822837
Fix popup positioning, broken by 84e6fe4
. ( #3991 , #3982 )
2021-03-31 19:09:08 +02:00
ocornut
3c7177c6a7
Internals: storing WindowsHoverPadding in context for external access. + Docs update binaries
2021-03-31 16:06:36 +02:00
ocornut
45c45d2506
Internals: shallow tidying up of the old resize border structure. Make them match the ImGuiDir order. Split GetWindowResizeID() into GetWindowResizeCornerID() and GetWindowResizeBorderID().
2021-03-30 16:44:47 +02:00
ocornut
84e6fe4fc7
Fix IsWindowAppearing() from returning true twice in most cases. ( #3982 , #1497 , #1061 )
2021-03-29 19:45:55 +02:00
ocornut
a58271c079
Internals: extracted a more reusable BeginViewportSideBar() out of BeginMainMenuBar(). ( #3966 , #3518 )
...
Complement ca34c81c
in docking branch which removed assumption that we can't tell size ahead of Begin().
2021-03-25 16:20:42 +01:00
ocornut
aa5431fde2
Tables: Expose TableSetColumnEnabled() in public api. ( #3935 )
2021-03-24 14:36:01 +01:00
ocornut
59da01901e
Scrolling: Fix scroll tracking with e.g. SetScrollHereX/Y() when WindowPadding < ItemSpacing. Fix scroll snapping on edge of scroll region when both scrollbars are enabled.
...
CalcNextScrollFromScrollTargetAndClamp() fixed snapping edge calculation missing ScrollbarSizes.y
2021-03-19 16:58:23 +01:00
ocornut
412d6f7efe
Fixes zealous MSVC static analyzers warnings ( #3938 )
...
Other unfixed as I'm not happy with caving to false positives of every analyzers.
2021-03-18 16:10:25 +01:00
Rokas Kupstys
0c5b0c8b97
Internals: Add a way to request window to not process any interactions for specified number of frames.
2021-03-18 14:19:23 +01:00
ocornut
a1a39c632a
Version 1.83 WIP
2021-03-16 14:45:30 +01:00
ANF-Studios
ebe6ac5fb5
Improvements to minor mistakes in documentation comments ( #3923 )
2021-03-16 12:44:16 +01:00
ocornut
35b1148efb
Version 1.82
2021-03-15 20:26:48 +01:00
ocornut
352f64697c
Internals: rename legagy tab focus fields to TabFocusXXXX for clarity + removed one unnecessary FocusWindow() call.
2021-03-15 20:10:08 +01:00
ocornut
033dfd9d35
ImDrawFlags: rework/revert c2d6d26
+ 39432bf
in a way that is closer to old version and back to opt-in but with default 0 = all corners.
2021-03-12 16:31:46 +01:00
ocornut
39432bfd9c
Amend 0c93238a ImDrawList: upgraded AddRect(), AddRectFilled(), PathRect() to use general ImDrawFlags instead of ImDrawCornersFlags
2021-03-11 16:03:45 +01:00
Rokas Kupstys
c2d6d26139
ImDrawList: upgraded AddRect(), AddRectFilled(), PathRect() to use general ImDrawFlags instead of ImDrawCornersFlags
2021-03-11 16:03:32 +01:00
ocornut
8b9fedba28
Moved Obsolete function block lower in the file + obsoleted old SetScrollHere (->SetScrollHereY)
2021-03-11 12:16:52 +01:00
ocornut
8ed34af6f8
ImDrawList: clarified that PathArcTo()/PathArcToFast() cannot take radius < 0.0f. ( #3491 ) + changed poor-man ceiling in _CalcCircleAutoSegmentCount() to use 0.999999f to reduce gaps
...
Previously it sorts of accidentally worked but would lead to counter-clockwise paths which and have an effect on anti-aliasing.
2021-03-11 10:51:20 +01:00
ocornut
6ba1334903
Nav: internals: renaming ImGuiInputSource so it is not specific to nav. Comments.
2021-03-10 16:36:39 +01:00
Rokas Kupstys
01a2bac7d5
DrawList: Replace "bool close" in drawing functions with flags.
2021-03-10 12:57:01 +01:00
ocornut
a64e0eb3a4
Nav: merged SetNavID() and SetNavIDWithRectRel() to improve sanity, moved flags overwrite off them. ( #787 )
2021-03-09 17:21:01 +01:00
ocornut
1c9cc7c117
Nav: tweaks so docking can use same code. NavRestoreLayer restore nav id but Menu key typicallys clears it for menu layer (+ less relying on _ChildWindow flag).
2021-03-09 16:57:13 +01:00
ocornut
4bb5a36f90
Nav: do not clear per-window NavId when window reappears. Process NavInit regardless of current highllight state. Consistently set g.NavLayer in SetNavID(). ( #787 )
2021-03-09 12:39:18 +01:00
ocornut
954b06afe2
Drag and Drop: can use BeginDragDropSource() for other than the left mouse button ( #1637 , #3885 )
...
As long as the item has an ID (for ID-less items will add new functionalities later.
Amend 2c3c5125
2021-03-08 15:50:53 +01:00
ocornut
fdebb2e093
Internals: removed HoveredRootWindow, tweak IsWindowHovered().
2021-03-05 15:56:59 +01:00
ocornut
ee643b2ad9
IsItemHovered(): fixed return value false positive when used after EndChild(), EndGroup() or widgets using either... ( #3851 , #1370 )
...
...when the hovered location is located within a child window, e.g. InputTextMultiline().
This is intended to have no side effects, but brace yourself for the possible comeback..
This essentially makes IsItemHovered() not accept hover from child windows, but EndChild/EndGroup are forwarded.
More or less should fix/revert c76f014292
which was a revert of 344d48be3
2021-03-04 19:59:59 +01:00
ocornut
3e6dfd3c1a
ImDrawList: AddImageRounded() compare texid from cmdheader as with other functions. + Made the ImGuiMemAllocFunc / ImGuiMemFreeFunc consistent with our other typedefs ( #3836 )
2021-03-04 14:29:01 +01:00
ocornut
25679a411e
Window, Nav: Fixed crash when calling SetWindowFocus(NULL) as the time a new window appears. ( #3865 )
2021-03-02 18:23:08 +01:00
ocornut
760c394707
Added links to Discussions. Closed Discord, yeah! ( #2748 )
2021-02-25 00:47:37 +01:00
ocornut
6f4b9c65ae
Added commentary about DLL boundaries. Added GetAllocatorFunctions(). Tidying up. ( #3836 )
2021-02-24 19:38:39 +01:00
ocornut
edf135c18d
Win32+MinGW: Re-enabled IME functions by default even under MinGW. ( #2590 , #738 )
2021-02-22 14:39:44 +01:00
David Maas
ece854564a
Log/Capture: Added LogTextV, a va_list variant of LogText. ( #3828 )
2021-02-22 11:58:51 +01:00
ocornut
fb15d8c858
Improve on automatic circle segment count calculation. ( #3808 ) Amends
2021-02-17 14:22:31 +01:00
thedmd
f107693d9b
Improve on automatic circle segment count calculation. ( #3808 )
2021-02-17 12:55:39 +01:00
ocornut
30b7545841
Version 1.82 WIP
2021-02-15 18:10:14 +01:00
ocornut
61b19489f1
Made a change to CalcWindowSizeAfterConstraint() which MSVC optimizer seems to trip on. (read on)
...
We seldomly modify a local ImVec2 passed as parameter. This should be perfectly legal but libigl stumbled on a what may be a MSVC optimizer bug?
Only seven function in the codebase modify as 'ImVec2 parameter' but this is the only static one (and fairly small that is) which may tempt optimizer to perform optimizations over caller-callee boundaries?
While we can't explain it fully yet and I assume it may haunt us back someday. Might also be chain reaction from some unobvious UB but can't see it right now...
Link: https://github.com/libigl/libigl/issues/1669
2021-02-12 16:34:22 +01:00
ocornut
4df57136e9
Version 1.81
2021-02-10 21:16:58 +01:00
ocornut
f14042ca78
Viewports Added ImGui::GetMainViewport() as a way to get the bounds and work area of the host display. ( #3789 , #1542 )
...
Viewports: Backport a few constructs from 'docking' branch.
Viewports: Added ImGuiViewportFlags_IsPlatformWindow, ImGuiViewportFlags_IsPlatformMonitor, ImGuiViewportFlags_OwnedByApp (none of them were in docking branch yet). ImGuiViewportFlags_IsPlatformMonitor is merely there to convey future intent, not yet used.
Reduce uses of io.DisplaySize.
MainMenuBar: Backport work area handling code from 'docking' branch.
Metrics: Backported "Viewports" debug visualizer from 'docking' branch.
Demo: Rework 'Examples->Fullscreen Window'.
Demo: 'Simple Overlay' demo now moves under main menu-bar (if any) using GetMainViewport()'s work area.
2021-02-10 16:09:53 +01:00
ocornut
58a0a7058c
Backends: Using SetTexID() consistently instead of assigning to ->TexID. May make the later obsolete eventually.
2021-02-03 18:30:26 +01:00
ocornut
03d74a293d
ListBox: renamed ListBoxHeader>BeginListBox, ListBoxFooter>EndListBox. Added demo bits.
2021-02-03 16:33:22 +01:00
ocornut
e5cbf60def
ListBox: tweaked default height calculation. simplifying code internally (rework passing of full rect). Should have no visible side-effects + misc comments.
2021-02-03 14:54:56 +01:00
ocornut
a3f0393351
Menus: Fixed an issue with child-menu auto-sizing (issue introduced by 6af92b0
) ( #3779 )
2021-02-02 13:06:51 +01:00
ocornut
929563c3a7
Log/Capture: Fixes for handling \n in strings. Improve the look of various widgets. Added LogSetNextTextDecoration helper. Fixup/amend dbaf74d75
.
...
For now removed LogRenderedTextNewLine() - it is eventually desirable but currently carries too much ambiguities, so reverted until we have a better system and test suite.
2021-02-02 12:29:58 +01:00
Louis Schnellbach
dbaf74d758
Log/Capture: Fix various new line/spacing issue by using same render text position when there are both RenderText and LogRenderedText call in widget code.
...
Also Buttons are now enclosed in bracket
2021-02-02 09:38:57 +01:00
ocornut
4622fa4b66
Fonts: Fixed CalcTextSize() width rounding so it behaves more like a ceil. ( #3776 )
...
his is in order for text wrapping to have enough space when provided width precisely calculated with CalcTextSize().x. Amend 7b0bf230
.
Note that the rounding of either positions and widths are technically undesirable (e.g. #3437 , #791 ) but variety of code is currently on it so we are first fixing current behavior before we'll eventually change it.
2021-02-01 12:49:18 +01:00
ocornut
9499afdf5e
imgui_freetype: clarify breaking changes, and add BuildFontAtlas() to be consistent with planned obsolescence. Rename mislabelled internal helper. Demo: clarify labels in nested table demo. ( #3765 )
2021-01-28 20:53:53 +01:00
ocornut
e28b51786e
Tables: Fixed PopItemWidth() or multi-components items not restoring per-colum ItemWidth correctly. ( #3760 ) rework local stacks to facilitate modifying current value without altering the stack.
...
May consider doing the same for ItemFlags and moving to g.ItemFlags...
2021-01-27 12:35:57 +01:00
ocornut
3867c6c5f0
Fonts: (Breaking) Rename ImGuiFreeType:: flags to ImGuiFreeTypeBuilderFlags_XXX. Remove ImGuiFreeType::BuildFontAtlas() flags. Rename ImFontConfig::RasterizerFlags to FontBuilderFlags. Add ImFontBuilderIO (opaque). Amend 53d59f3 with a dozen of small fixes.
2021-01-26 17:25:09 +01:00
ocornut
6b32d0ebc7
Fixed minor title bar text clipping issue when FramePadding is small/zero and there are no close button in the window. ( #3731 )
2021-01-26 16:07:41 +01:00
Sammy Fatnassi
f3f2578e8f
Internals: Added context hook removal support ( #3580 , #3626 , #3753 )
2021-01-26 15:24:01 +01:00
ocornut
2ed47e5822
Version 1.81 WIP
2021-01-25 16:30:44 +01:00
ocornut
f144c67676
ImDrawList: fixed AddCircle, AddCircleFilled buffer read overflow with (rad > 0.0f && rad < 1.0f && num_segments == 0). ( #3738 )
...
Amend 051ce076
. Maximum cached count becomes 63 instead of 64.
2021-01-25 14:59:09 +01:00
ocornut
58075c4414
Version 1.80
2021-01-21 20:36:18 +01:00
ocornut
3b409d2b68
BeginChild: half-fixed child window name longer than 255 conflicting, merely raised the limit by using our shared large buffer. Comments.
2021-01-21 12:36:47 +01:00
ocornut
6af92b05bf
Internals: Layout: maintain two content sizes, optionally writing to IdealMaxPos to distinguish used from ideal size, later is used for auto-fit. Unused in this commit, should be no-op. ( #3414 )
...
# Conflicts:
# imgui.cpp
2021-01-15 22:52:42 +01:00
ocornut
626e3e2b3b
Tables: fix reported inner-width for scrolling tables off by a small padding amount + moved code.
...
Makes not much difference for inner-scrolling but makes a difference when reported to outer-window.
2021-01-15 12:40:40 +01:00
ocornut
3edfc042ff
Tables: Internals: Renaming, tweaks preparing ahead for trickier changes (should be all no-op).
2021-01-15 11:11:16 +01:00
ocornut
0a5f399805
Tables: Fix hiding column right after the frozen line. Fix hovering/resising column delimiter scrolled under frozen columns. ( #3678 )
2021-01-03 15:45:56 +01:00
ocornut
fa963b9aaf
Inputs: Internal: added SetItemUsingMouseWheel() and mechanism to request mouse wheel for both HoveredId and ActiveId. ( #2891 )
...
Based on @kudaba PR.
2020-12-25 18:22:34 +01:00
ocornut
b015ea93fd
Style tweaks, disabled default window rounding by default, reduced size of resize grip, made less prominent, increased WindowBg alpha in classic style.
...
TestEngine: Fixed Checkbox() not reporting its checkable state when clipped.
2020-12-24 18:31:51 +01:00
ocornut
1aa59f90d0
Minor API comments and tweaks, standardize index used in imgui.h. Tables: tweaked TableSetupColumn() assert to use IM_ASSERT_USER_ERROR().
2020-12-22 15:30:26 +01:00
ocornut
2e48c2da81
Removed redirecting functions/enums names that were marked obsolete in 1.63 (August 2018) + tables tweaks.
2020-12-21 19:42:37 +01:00
ocornut
4d8e839ddf
Renamed ImDrawList::AddBezierCurve() to ImDrawList::AddBezierCubic(), ImDrawList::PathBezierCurveTo() to ImDrawList::PathBezierCubicCurveTo(). ( #3127 , #3664 , #3665 )
...
Renamed corresponding internal functions as well.
2020-12-21 17:13:36 +01:00
nyorain
a640698123
Clipper: Fixed incorrect end-list positioning when using ImGuiListClipper with 1 item (bug in 1.79). ( #3663 )
2020-12-21 15:53:42 +01:00
ocornut
30468829c2
Tables: Internal: Maintain InnerRect to further clarify some code. Renamed Bg1 fields to Bg2 (used by Selectable) as the other handles Bg0+Bg1.
2020-12-18 14:32:51 +01:00
ocornut
f2df804fcc
Tables: four small fixes.
...
Fixed last item flags leaking to disabled column, affecting IsItemHovered(). (#3651 ).
Validate and fix invalid DisplayOrder data from ini file.
Allow TableHeaderRows() to function will missing TableSetupColumn() calls.
Made TableHeader() use AllowItemOverlap mode to allow submit subsequent item in same cell, since it covers the whole cell area.
2020-12-13 19:57:19 +01:00
ocornut
bff1836922
Internals: added facility to hide windows from render without interfering with the HiddenFramesCanSkipItems/HiddenFramesCannotSkipItems fields which have effects on layout. Compact some fields.
...
Ideally we'd have a simpler system but it's not easy to make the capture system change to hook at the right spot. Will rework.
2020-12-11 14:37:58 +01:00
ocornut
7a61f3407b
Tables: support internal TableResetSettings(), clarify lifetime, fixed missing auto-fit on column unhidden after first run, fixed resize assert when changing column sizing policy to stretch mid-frame (before of -1.0f weight)
2020-12-04 19:15:27 +01:00
ocornut
e09454aec4
Tables: removed TableGetColumnIsVisible from public api, re-specced as TableGetColumnIsHidden() returning same flag as setter, clipper increase CurrentRow.
2020-12-04 19:15:26 +01:00
ocornut
bf197c74f6
Tables: storing WorkMaxX, made offset_x == MinX to be clearer, clip rect merge uses ClipRect.max.x directly, removed unused ShrinkWidth code, metrics.
2020-12-04 19:15:25 +01:00
ocornut
10db896813
Tables: store RawData in a simple void* pointer, rename ContentMinX > WorkMinX, misc tidying up.
...
Removed unnecessary casts when using CheckboxFlags().
2020-12-04 19:15:25 +01:00
ocornut
507db499e4
Tables: work on background draw channel handling (amend "create a separate background draw channel") + Selectable disable spacing when spanning.
2020-12-04 19:15:25 +01:00
ocornut
e5a5256971
Tables: Garbage collection to relieve draw splitter buffers + for test engine: compact settings, remove table.
2020-12-04 19:15:25 +01:00
ocornut
d3222086f0
Tables: Moved TableSetupScrollFreeze(), TableUpdateDrawChannels() lower in more adequate spots.
...
+ rename IsFreezeRowsPassed to IsUnfrozen.
2020-12-04 19:15:24 +01:00
ocornut
d9ca3939e1
Tables: Tidy up comments. Replaced some Columns by Tables in demo. Removed ImGuiTableFlags_Scroll (combining ScrollX/ScrollY) because each axis inccur different requirements/constraints.
2020-12-04 19:15:24 +01:00
ocornut
51abdd53e3
Tables: renamed somehow-duplicate ContentWidth members (implicitly == Max - Min), renamed StartX to ContentMinX for consistency.
2020-12-04 19:15:24 +01:00
ocornut
ac5b1648e6
Tables: Various internal renaming + merge StartXHeaders/StartXRows into StartX.
2020-12-04 19:15:24 +01:00
omar
25b5cc2f95
Tables: Fixes to support any number of frozen rows (over modifications to clipper code in master) + make clipper run eval after clipect update
2020-12-04 19:15:23 +01:00
omar
8ec05fc034
Tables: Fixed holding on table pointers accross resize/invalidation of the pool buffer.
2020-12-04 19:15:23 +01:00
ocornut
9372601322
Tables: Fixed stacked popups incorrectly accessing g.CurrentTable of parent-in-stack windows.
2020-12-04 19:15:23 +01:00
ocornut
af992d1321
Tables: Tweak settings functions to more prominently clarify the two levels of function.
2020-12-04 19:15:22 +01:00
omar
95c273618e
Tables: Allow hot-reload of settings (merge policy), tidying up settings code
2020-12-04 19:15:21 +01:00
omar
9f43aae226
Tables: Calculating ideal total width, some renaming, comments. Clarify that inner_width is unused with ScrollX=0. Clip many comments to 120 columns.
2020-12-04 19:15:21 +01:00
omar
b7ff85d9ad
Tables: Browse settings list in Metrics (outside of Table entry).
2020-12-04 19:15:21 +01:00
omar
164caa2db7
Tables: Support for multi-line columns name. Renaming of some fields from BackupXXX to HostXXX. Comments.
2020-12-04 19:15:20 +01:00
omar
325b4c69ba
Tables: Moved border colors to the Style (maybe temporarily?) instead of hardcoding them.
2020-12-04 19:15:19 +01:00
omar
883c236eda
Tables: Handle columns clipped due to host rect
...
Return false in user functions, set SkipItems in window, redirect to dummy draw channel.
2020-12-04 19:15:19 +01:00
omar
8da7d3c3e5
Tables: Initial commit. [Squashed 123+5 commits from tables_wip/]
2020-12-04 19:15:19 +01:00
omar
9c8671e7b0
Tables: Add empty file, skeleton.
2020-12-04 19:15:19 +01:00
ocornut
998d7303b1
Log/Capture: fix capture to work on clipped child windows.
...
+ Tweak ErrorCheckEndFrameRecover() to use local window pointer.
2020-12-03 15:14:32 +01:00
ocornut
ae3e2406ec
Misc tweaks/fixes (see details).
...
Combo: ultra minor fix for popup positioning policy mismatch depending on ImGuiComboFlags_PopupAlignLeft flag.
Made ImHashXXX functions return ImGuiID.
IsWindowNavFocusable use !WasActive.. it worked because it was only called in NewFrame()->NavUpdate() before the transition loop + EndFrame() only.
Fix unused variable warning.
2020-11-30 12:47:14 +01:00
ocornut
e0cae25c3c
Clarify usage of right-aligned items in Layout>Widgets Width. Tweaks FAQ, added missing syntax coloring.
2020-11-20 17:24:18 +01:00
ocornut
97265602c4
Internals: added IsWindowAbove() for use for modal/viewport bugfix.
2020-11-19 16:59:21 +01:00
ocornut
9712bff0bb
Internals: added experimental ErrorCheckEndFrameRecover() to unroll/end/pop. ( #1651 , #3600 )
2020-11-19 15:43:42 +01:00
ocornut
c0ac4fb788
Columns/Internals: (Breaking): Renamed data structures. ( #125 , #513 , #913 , #1204 , #1444 , #2142 , #2707 )
2020-11-18 23:42:44 +01:00
ocornut
72de6f3360
Columns/Internals: (Breaking) renamed ImGuiColumnsFlags_* to ImGuiOldColumnFlags_*. ( #125 , #513 , #913 , #1204 , #1444 , #2142 , #2707 )
...
Affected: ImGuiColumnsFlags_None, ImGuiColumnsFlags_NoBorder, ImGuiColumnsFlags_NoResize, ImGuiColumnsFlags_NoPreserveWidths, ImGuiColumnsFlags_NoForceWithinWindow, ImGuiColumnsFlags_GrowParentContentsSize. Added redirection enums. Did not add redirection type.
2020-11-18 23:02:14 +01:00
ocornut
71cc636696
Metrics: Rebranded as "Dear ImGui Metrics/Debugger". Fix Show Window Rectangle. Fix Clang OSX warnings. Amend #3592 for Mingw only.
2020-11-13 21:30:19 +01:00
ocornut
e736039538
Nav: Fixed IsItemFocused() from returning false when Nav highlight is hidden because mouse has moved. ( #787 )
2020-11-13 21:10:03 +01:00
ocornut
8119759329
Internals: extracted stack checking code into a ImGuiStackSizes helper struct + added test for FocusScope
...
+ renamed g.ColorModifiers > g.ColorStack, g.StyleModifiers > g.StyleVarStack
2020-11-13 16:33:33 +01:00
ocornut
6e94013a3d
Made ItemFlagsStack and GroupStack shared stacks.
2020-11-13 16:33:33 +01:00
ocornut
12ba6f4606
Fix PushFocusScopeID() + using shared stack. Renamed GetFocusScopeID() to GetFocusedFocusScope() - the two existing functions name are very error prone.
2020-11-13 16:26:59 +01:00
ocornut
a138855d56
Hotfix for PushFocusScope() being utterly wrong (until we split the stacks), Added asserts on PopID to help catch bugs, Added GC trigger.
2020-11-12 22:59:05 +01:00
ocornut
13258f5957
Internals: zero-clearing ImGuiWindow / ImGuiWindowTempData for simplicity. (amend)
...
All the non-zero fields previously initialized in ImGuiWindowTempData() are in fact setup in Begin: FocusCounterRegular, FocusCounterTabStop, TextWrapPos, LayoutType, ParentLayoutType
2020-11-12 12:19:50 +01:00
ocornut
dcfb986fa8
Made EndFrame() assertion for key modifiers being unchanged during the frame more lenient. ( #3575 )
2020-11-11 18:17:33 +01:00
ocornut
5f97809cab
Misc tidying up (zero-clear structures, more unused default in ClipRetFullscreen, NavApplyItemToResult() coding style fix)
...
Zero-clearing more structures
Remove arbitrary default ClipRetFullscreen value in ImDrawListSharedData.
Nav extracted NavApplyItemToResult() function.
Coding style fixes in OSX Backends.
2020-11-05 13:24:27 +01:00
ocornut
2fa00656a4
Fix for IMGUI_DISABLE_METRICS_WINDOW
2020-11-03 15:46:29 +01:00
Rokas Kupstys
9cca1b2e97
Replace UTF-8 decoder with one based on branchless version by Christopher Wellons. (not branchless anymore tho)
...
Decoding performance increase ~30%
2020-11-03 14:43:08 +01:00
ocornut
3777fbbd81
Renamed io.ConfigWindowsMemoryCompactTimer to io.ConfigMemoryCompactTimer as the feature will apply to other data structures.
2020-11-03 14:43:08 +01:00
ocornut
047d4c4500
Metrics: Extracted most functions.
...
+ avoid using full namesapce prefix
2020-10-30 23:48:58 +01:00
ocornut
044ed22379
Metrics: Fixed mishandling of ImDrawCmd::VtxOffset in wireframe mesh renderer + omitting trailing empty ImDrawCmd in count + relying on IdxOffset value.
2020-10-30 22:56:29 +01:00
ocornut
df35157397
Drag and Drop: Fix losing drop source ActiveID (and often source tooltip) when opening a TreeNode() or CollapsingHeader() while dragging. ( #1738 )
...
Amend 7b3d379
, 8241cd62
etc.
2020-10-26 14:40:44 +01:00
ocornut
b7530e5d04
Revert "Replace UTF-8 decoder with branchless version by Christopher Wellons." ( #3558 )
...
This reverts commit b3576dd354
.
2020-10-25 16:27:43 +01:00
Rokas Kupstys
b3576dd354
Replace UTF-8 decoder with branchless version by Christopher Wellons.
...
Decoding performance increase ranges from 30-40%.
Changes:
* Errors handling near the end of string changed. If input does not contain enough bytes, decoder returns `IM_UNICODE_CODEPOINT_INVALID`, consuming all remaining bytes while old decoder consumed only one byte.
Guarantees:
* At least one byte is consumed, if input had at least one byte available.
* Number of consumed bytes will never seek past end of string.
Requirements:
* `in_text` is a valid pointer.
* String pointed by `in_text` must be zero-terminated, or `in_text_end` is not NULL.
2020-10-23 13:10:37 +02:00
Black Cat!
c9fafd5ea4
Drag and Drop: Fix drag and drop to tie same-size drop targets by choosen the later one. Fixes dragging into a full-window-sized dockspace inside a zero-padded window. ( #3519 , #2717 )
2020-10-15 20:20:35 +02:00
ocornut
b1a18d82e3
Moving backends code from examples/ to backends/ (step 6: update markdown documentation)
2020-10-14 14:42:00 +02:00
ocornut
d9b2fb7338
Moving backends code from examples/ to backends/ (step 1: moving source files)
2020-10-14 14:41:40 +02:00
ocornut
124c2608f1
Docs: Renamed all occurences of "binding" and "back-end" to "backend" in comments and documentations, for consistency.
2020-10-12 17:54:52 +02:00
ocornut
041ef01b33
Removed redirecting functions/enums names that were marked obsolete in 1.61: InputFloat, InputFloat2, InputFloat3, InputFloat4 with int decimal_precision parameter. ( #648 , #712 )
2020-10-12 15:09:21 +02:00
ocornut
0f13fdd177
Removed redirecting functions/enums names that were marked obsolete in 1.60: io.RenderDrawListsFn, IsAnyWindowFocused(), IsAnyWindowHovered(), etc.
2020-10-12 13:17:05 +02:00
ocornut
04de5ef819
Version 1.80 WIP
2020-10-12 13:04:34 +02:00
ocornut
a38c6dfcc8
Internals: Added support for context hooks (for test engine or other extensions)
2020-10-09 17:13:03 +02:00
ocornut
e5cb04b132
Version 1.79
...
+ Update readme and mission statement.
Removed "Minimize screen reel-estate usage", removed details on memory consumption (still very valid, just too much noise in a mission statement)
2020-10-08 16:01:59 +02:00
Christian
ae5b4991be
Docs: update gallery links. ( #3514 )
2020-10-08 13:56:05 +02:00
ocornut
4fd43a8b64
Internals: removed NavLayerCurrentMask (redundant, add extra shift in ItemAdd().
2020-10-05 14:52:18 +02:00
ocornut
01cc666039
ImGuiListClipper: Renamed constructor parameters which created an ambiguous alternative to using the ImGuiListClipper::Begin() function, with misleading edge cases.
2020-10-05 12:28:28 +02:00
ocornut
52c0b1a340
ImGuiListClipper: internal rework and tidying up to facilitate supporting frozen rows in tables + stop promoting using constructors parameters.
2020-09-28 17:25:34 +02:00
ocornut
324e0310ad
Renamed ImGuiSliderFlags_ClampOnInput to ImGuiSliderFlags_AlwaysClamp. ( #1829 , #3209 , #946 , #413 )
2020-09-25 13:34:31 +02:00
ocornut
fbabf651f4
Style: Renamed style.TabMinWidthForUnselectedCloseButton to style.TabMinWidthForCloseButton. Fixed README links.
2020-09-25 13:22:28 +02:00
ocornut
1ec464eb9a
Tab Bar: Further simplification of section/clip rect handling. ( #3291 )
2020-09-22 16:43:40 +02:00
ocornut
5e5f25e2dd
Tab Bar: Rename named sections members into array. Various tidying up. ( #3291 )
2020-09-22 16:43:39 +02:00
Louis Schnellbach
7ac16c02cc
Tab Bar: Fix multiple width and position computation issue. ( #3291 )
2020-09-22 16:43:38 +02:00
ocornut
f23c39c395
Tab Bar: Fixed handling of scrolling policy with leading/trailing tabs. + warning fixes + bunch of renaming. ( #3291 )
...
Demo tweaks.
2020-09-22 16:43:38 +02:00
ocornut
29836412e1
Internals, CollapsingHeader, TabItem: Standardized using a #CLOSE id prefix for TabItem and ColllapsingHeader (same as window)
2020-09-22 15:49:47 +02:00
ocornut
795cf6fcb5
Removed return value from OpenPopupOnItemClick(). Use IsWindowAppearing() after BeginPopup() for a similar result.
2020-09-21 15:05:04 +02:00
ocornut
a58a727781
Renamed OpenPopupContextItem() back to OpenPopupOnItemClick(), reverting 99ab5210
2020-09-21 14:45:35 +02:00
ocornut
c206a19373
Removed ImFont::DisplayOffset in favor of ImFontConfig::GlyphOffset. ( #1619 )
...
+ Fonts: AddFontDefault() adjust its vertical offset based on floor(size/13) instead of always +1.
2020-09-17 16:45:21 +02:00
ocornut
c47bcb25ed
Fix popup and tooltip positioning when not fitting in the screen. Amend fa42ccea8.
...
# Conflicts:
# docs/CHANGELOG.txt
2020-09-17 11:02:04 +02:00
Rokas Kupstys
b7b08f52a4
Fix popup and tooltip positioning when not fitting in the screen.
2020-09-17 11:01:15 +02:00
ocornut
70289ab42c
Scrolling: Fixed edge snapping being applied prior to knowing ContentSize. ( #3452 )
...
Fix 473a01adb
.
2020-09-03 17:38:51 +02:00
ocornut
8db94cd992
Internals: Scroll related, comments & shallow tweaks.
2020-09-03 17:07:03 +02:00
Valentin Vanelslande
9a9ee7f813
NavInitWindow: Change IMGUI_DEBUG_LOG to IMGUI_DEBUG_LOG_NAV ( #3450 )
2020-09-01 23:19:33 +02:00
ocornut
f4d062fa11
Nav: Added debug logging, extract bits of code into NavUpdateInitResult().
2020-09-01 18:45:39 +02:00
ocornut
a456d17dfc
Internals: Begin: update ->Hidden flags only on first begin of the frame. (ignore whitespace to see simple diff)
2020-09-01 15:24:24 +02:00
ocornut
ce230fc370
Internals: TabBar renaming and shuffling stuff around.
...
+ sneaking a readme change
2020-08-31 17:49:18 +02:00
ocornut
13f718337a
Internals: Added support for overriding locale decimal point, undocumented. ( #2278 ) + Misc doc update.
...
Doc: Mention IMGUI_VERSION_NUM in recent api breaking changes + textwrap some demo code.
2020-08-28 18:38:31 +02:00
ocornut
901d432cb7
Nav: Fixed using Alt to toggle the Menu layer when inside a Modal window. ( #787 ) Tidying up todo items.
2020-08-27 19:51:35 +02:00
ocornut
093afd4f7f
Internals: Added Name to ImGuiDataTypeInfo + minor misc comments in BeginGroup().
2020-08-26 21:00:43 +02:00
ocornut
45499b8f2f
Window: Fixed using non-zero pivot in SetNextWindowPos() when the window is collapsed. ( #3433 )
2020-08-26 20:18:54 +02:00
ocornut
b30d33378d
Nav: Activate InputSource as Gamepad when pressing any of the digital d-pad button.
2020-08-26 12:41:05 +02:00
ocornut
8d71bc2132
Internals: Nav: shallow refactor.
2020-08-26 12:39:34 +02:00
Rokas Kupstys
833eb771f2
Nav: Fix navigation resuming on first visible item when using gamepad.
...
In cases where navigation was requested with focused item out of view, clipping of current item rect resulted in an inverted rect, which was completely discarded and ImRect(0,0,0,0) was used as current point from which navigation scoring was calculated. IsInverted() check is completely removed as rect can no longer be inverted. Since rects are not initialized to ImRect(0,0,0,0) - old .Min.x != FLT_MAX check (which was changed in c7835dd189
) is not necessary either.
2020-08-26 11:30:08 +02:00
ocornut
1e8b9f84da
Nav: Removed stateful NavMoveFromClampedRefRect and made it more explicit that nav move request from gamepad start from a clipped location.
2020-08-26 11:28:35 +02:00
Rokas Kupstys
021c28ae39
Nav: Fix ScrollToBringRectIntoView() not bringing entire item into view when nav moves to the left. Correct some comments.
2020-08-25 16:48:49 +02:00
omar
d451f6cc30
Nav tweaks. Demo: Fixed drag and drop demo state (broken by f152fac4f1
). Fixed incorrect format string (which would work without IMGUI_DISABLE_OBSOLETE_FUNCTIONS).
2020-08-24 14:56:50 +02:00
ocornut
97dad66516
Metrics: Various tweaks, listing windows front-to-back, greying inactive items when possible.
2020-08-20 16:49:11 +02:00
ocornut
9262609eaf
Version 1.79 WIP
2020-08-20 16:46:44 +02:00
ocornut
5dc5610ad5
Docs: TODO, FAQ
2020-08-20 11:20:17 +02:00
ocornut
95c99aaa4b
Version 1.78
2020-08-18 17:50:45 +02:00
ocornut
c6b01e8e1d
Drag, Sliders: Merged ImGuiDragFlags back into ImGuiSliderFlags. ( #3361 , #1823 , #1316 , #642 , #1829 , #3209 )
...
Technically API breaking (but ImGuiDragFlags were pushed on master 16 hours ago)
2020-08-18 17:02:58 +02:00
omar
f32663b33c
Drags, Sliders: Removed locking behavior with min > max (added in 1.73)
2020-08-17 22:10:42 +02:00
omar
fb0f2ebd41
Drags, Sliders: Tweaks.
2020-08-17 22:10:42 +02:00
Ben Carter
fa279a6aa0
Drags, Sliders: Added deadzone to make selecting 0.0 on linear sliders easier, slider navigation delta accumulation. ( #3361 , #1823 , #1316 , #642 )
2020-08-17 22:10:42 +02:00
omar
7607aea018
Drags, Sliders: Removed power features. Old entry points will pass-through if power=1.0f, otherwise assert + safe fallback. Remove 3 redirection functions ( #3361 , #1823 , #1316 , #642 )
2020-08-17 22:10:41 +02:00
omar
214dd68ec1
Comments, clarifying ClosePopupsOverWindow().
2020-08-11 10:55:53 +02:00
omar
8241cd6284
Make moving window prevent its active id from being stolen ( #3392 , #3243 , #1738 )
...
Amend 7b3d379
, 615e9ae3
# Conflicts:
# imgui.cpp
# imgui_widgets.cpp
2020-08-10 16:30:23 +02:00
omar
89ac87cd91
Internals: Added SetLastItemData, rename ImGuiItemHoveredDataBackup to ImGuiLastItemDataBackup.
2020-08-10 11:31:55 +02:00
omar
8074b49148
Selectable: Fixed highlight/hit extent when used with horizontal scrolling (in or outside columns). ( #3187 , #3386 )
...
# Conflicts:
# imgui_widgets.cpp
2020-08-05 19:24:07 +02:00
omar
473a01adb0
Scrolling: Avoid SetScroll, SetScrollFromPos functions from snapping on the edge of scroll limits. ( #3379 ) + Demo: Rename "Layout" to "Layout & Scrolling".
2020-08-05 17:09:40 +02:00
omar
db886f3953
Demo: Rework Clipping section. Fix for static analysis. Added bindings in Readme.
2020-08-05 10:43:42 +02:00
omar
963839373c
Demo tweaks + general removal of the word dummy were possible with no issues (kept the API call).
2020-08-03 21:31:42 +02:00
omar
4929a8e4a5
InvisibleButton: Made public a small selection of ImGuiButtonFlags (previously in imgui_internal.h) and allowed to pass them to InvisibleButton().
2020-08-03 18:45:30 +02:00
omar
a876ad877d
Window: Fixed clicking over an item which hovering has been disabled (e.g inhibited by a popup) from marking the window as moved.
...
+ comments
2020-08-03 18:05:20 +02:00
omar
76ddacd2a1
Internals: Backport HoveredWindowUnderMovingWindow code from Docking branch.
...
(effectively allowing a window to be a drag payload without have to make it _NoInputs)
2020-07-29 15:32:25 +02:00
omar
218ff3a2a5
Internals: Backport one ->WasActive test in NavRestoreLastChildNavWindow() from 9bf6509c6
+ minor/shallow bits from docking branch.
2020-07-29 15:11:24 +02:00
omar
c7f5876f8a
Internals: backport window HitTestHole code from docking branch + RenderRectFilledWithHole() helper. ( #1512 , #3368 )
2020-07-29 15:03:52 +02:00
omar
eefae08261
Nav: Fixed clicking on void from not clearing focused window. Amend d31fe97f7
. ( #3344 , #2880 )
...
This would be problematic e.g. in situation where the application relies on io.WantCaptureKeyboard flag being cleared accordingly.
2020-07-14 18:36:35 +02:00
omar
3a6c9907cd
Texture-based thick lines: Minor tweaks and rename toward merging in master. Changes to allow changing AA_SIZE (disable texture path).
2020-07-08 20:18:41 +02:00
omar
78d6bdf080
Texture-based thick lines: Remove unnecessary indirection in fetching UV data, removed lerp call, renames, tweaks.
2020-07-08 17:38:02 +02:00
omar
222b7ddbfa
Texture-based thick lines: Tweaks, fix for truetype builder.
2020-07-08 17:38:01 +02:00
Ben Carter
1d3c3070d8
Texture-based thick lines: Initial version of AA line drawing using textures (press SHIFT to enable)
2020-07-08 17:38:01 +02:00
Ben Carter
8e4046e13b
Atlas build use GetCustomRectByIndex() + comments, rename, and shallow merge from tex_antialiasing_lines branch.
2020-07-08 17:25:40 +02:00
omar
ab4ef822f0
Version 1.78 WIP
2020-06-30 16:56:09 +02:00
Rokas Kupstys
0738611559
Misc: Bunch of code formatting changes suggested by a pass running 'astyle'
2020-06-30 16:37:21 +02:00
omar
dca7c3c629
TestEngine: Added hook to notify test engine of a removed imgui context.
2020-06-29 20:16:55 +02:00
omar
9418dcb693
Version 1.77
...
+ fix minor clang-tidy warnings which seems reasonable
2020-06-29 15:54:28 +02:00
omar
dd02a180b5
Windows: Amend 6b0cf2e6
to facilitate working in viewport branch + handle safe area padding and ConfigWindowsMoveFromTitleBarOnly.
2020-06-25 23:04:55 +02:00
Rokas Kupstys
6b0cf2e6ae
Windows: Fix unintended window size changes when resizing windows close to main viewport edges.
2020-06-25 22:16:19 +02:00
omar
45a7cf47ab
FAQ update, removed redundant block in imgui.cpp
2020-06-25 16:44:06 +02:00
omar
fed80b9537
Popups: Changed 'int mouse_buttons' to ImGuiPopupFlags. Added ImGuiPopupFlags_NoOpenOverExistingPopup, ImGuiPopupFlags_NoOpenOverItems. Refactored signature of BeginPopupContextWindow().
2020-06-23 20:05:15 +02:00
omar
5acf6d861a
Popups: Added ImGuiPopupFlags type, ImGuiPopupFlags_AnyPopupId and ImGuiPopupFlags_AnyPopupLevel flags for IsPopupOpen().
...
# Conflicts:
# docs/CHANGELOG.txt
2020-06-23 20:00:32 +02:00
omar
b83a1f3b00
BeginPopupModal() doesn't set the ImGuiWindowFlags_NoSavedSettings flag anymore, and will not always be auto-centered. ( #915 , #3091 )
2020-06-23 17:52:13 +02:00
omar
68389200c4
Internals: Comments about CalcWrapWidthForPos() ( #778 )
2020-06-23 16:29:48 +02:00
omar
1a1dcea1a0
Internals: Initialize drawlist earlier in Begin() to facilitate detecting accidental draw earlier than legal. ( #3311 )
2020-06-20 22:04:04 +02:00
omar
99f68d7958
Docs: Added FAQ entries removed old one which is misleading today. Misc tweaks.
2020-06-19 11:34:04 +02:00
omar
9c2a36f573
Internals: clarified the code for ClampWindowRect().
...
As a side-effect, some rounding error may be neutralized however this isn't the intent. (#3309 )
2020-06-19 10:08:05 +02:00
omar
8ead38c100
Clang: Reduce uses of __has_warning for overall sanity, as compilers are hostile to software targetting multiple compiler version.
2020-06-18 17:02:24 +02:00
omar
704723744e
Disabled latest overzealous warnings from Clang
2020-06-18 16:19:51 +02:00
ocornut
078571b7a9
Popups: added comments, reorganized the functions in imgui.h
2020-06-16 23:39:00 +02:00
ocornut
6e138504c1
Popups: Fix BeginPopupContextVoid() when clicking over the area made unavailable by a modal. ( #1636 )
2020-06-16 19:32:59 +02:00
ocornut
37eb89371b
Popups: Internals: Added IsAnyPopupOpen().
2020-06-16 18:46:25 +02:00
ocornut
d31fe97f74
Popups: Fix an edge case where programatically closing a popup while clicking on its empty space would attempt to focus it and close other popups. ( #2880 )
2020-06-16 17:10:47 +02:00
ocornut
1dfd0634cb
Internals: Allow ItemHoverable() to be used with id==0 to facilitate high-level read-only hover test in widget code.
2020-06-15 22:13:06 +02:00
ocornut
99ab521024
Renamed OpenPopupOnItemClick() to OpenPopupContextItem(). Kept inline redirection function (will obsolete). + Removed CalcItemRectClosestPoint() entry point
2020-06-15 22:12:38 +02:00
omar
90c0c0c163
Columns: Lower overhead on column switches and switching to background channel. (second attempt for 9b3ce49
)
...
Internals: Bits, comments, added ImRect::ToVec4()
2020-06-13 18:04:50 +02:00
ocornut
a933cc4f4d
Documentation update
2020-06-11 10:21:31 +02:00
ocornut
16da8e6da6
Revert "Columns: Lower overhead on column switches and switching to background channel (some stress tests in debug builds went 3->2 ms). ( #125 )"
...
This reverts commit 9b3ce494fd
.
2020-06-10 17:54:19 +02:00
ocornut
53f0f97273
Added FAQ entry about DPI. Added Japanese font loading example.
2020-06-09 17:29:26 +02:00
ocornut
40b799023b
Docs: Update fonts.md ( #2861 ) + update all references to FONTS.txt
2020-06-09 16:56:48 +02:00
ocornut
9b3ce494fd
Columns: Lower overhead on column switches and switching to background channel (some stress tests in debug builds went 3->2 ms). ( #125 )
...
This change benefits Columns but was primarily made with Tables in mind.
2020-06-08 23:18:23 +02:00
ocornut
b1f2eacdf3
ImDrawList: Prefixed internal functions with underscore, renamed UpdateClipRect() to _OnChangedClipRect(), UpdateTextureID() -> _OnChangedTextureID()
2020-06-08 20:58:30 +02:00
ocornut
117d57df5b
ImDrawList: Additional comments and extracted bits into ImDrawList::PopUnusedDrawCmd()
2020-06-08 20:58:29 +02:00
ocornut
57191fe3d0
Comments about limiting WindowRounding to a reasonable size.
2020-06-08 14:17:49 +02:00
ocornut
0320e7257b
ImDrawList: Small refactor to create empty command when beginning the frame, allowing to simplify some functions.
...
+ Missing clearing two fields in ClearFreeMemory() (was hamrless)
2020-06-06 20:27:24 +02:00
ocornut
003153b3ac
ImDrawList: Tweaks to make style consistent (using pointers, same local names). Added comments. Should be no-op.
2020-06-06 20:26:04 +02:00
thedmd
e22e3f300a
ImDrawList: Fixed an issue when draw command merging or cancelling while crossing the VtxOffset boundary would lead to draw command being emitted with wrong VtxOffset value. ( #3129 , #3163 , #3232 )
2020-06-06 18:54:53 +02:00
ocornut
79fbab543d
Minor fix to avoid undefined behavior sanitizer triggering ( #3276 )
2020-06-04 18:59:04 +02:00
ocornut
41e8837f59
Comments, adding some spacing in ImVec2() constructors.
2020-06-02 18:13:54 +02:00
ocornut
5ddf60d8ce
Commit to facilitate branches merges
2020-05-25 18:28:25 +02:00
omar
d29157ce58
Moved static array with non-trivial constructors outside of function seems to remove requirement of linking with libstdc++ on some compilers.
2020-05-24 12:32:31 +02:00
omar
c8cde28cf3
IO: AddInputCharacters function ignore 0 input. ( #3252 )
...
Amend ef13d954
+ c8ea0a01
(#2541 , #2538 , #2815 )
2020-05-20 17:56:08 +02:00
omar
476daf9aac
Settings: Added ReadInitFn pre-load handler.
...
(docking branch already has it, so it'll probably conflict with same contents)
2020-05-13 23:51:29 +02:00
Rokas Kupstys
a6f4b0fd70
Nav, Menus: Fix vertical wrap-around in menus or popups created with multiple appending calls to BeginMenu()/EndMenu() or BeginPopup/EndPopup(). ( #3223 , #1207 )
...
First call to EndPopup() called NavRequestTryWrapWindow() which performed wrap-around operation while we were not done composing menu. This resulted in navigation wrapping around to first item.
Since wrap-around operation is only valid in last call to EndPopup() and there is no way to know which call is last - this operation is delayed to the end of the frame.
2020-05-11 15:30:12 +02:00
omar
7b3d379819
FocusWindow(NULL) correctly steal active id from previous window. ( #1738 ) amend b0a9bbf6
2020-05-08 18:36:05 +02:00
omar
3aa1684129
Comments
2020-05-08 15:59:59 +02:00
omar
c0d5b3f55a
Fix to facilitate branch merges
2020-05-07 23:58:35 +02:00
omar
53ebd6a02f
Metrics: Added Table settings block.
2020-05-07 23:54:32 +02:00
omar
d33021d828
Settings: Made it possible to load window .ini data mid-frame. Added clear and post-read handlers. ( #2573 )
2020-05-07 21:38:04 +02:00
omar
b6a04d7750
Settings: Added Clear Settings in Metrics. ( #2188 ) + Preserve last loaded copy in internal buffer used for save (so it can be browsed easily).
2020-05-07 21:38:03 +02:00
omar
9ee442d3f0
Metrics: Added a "Settings" section with some details about persistent ini settings. InputText: Assert early on null buffer.
2020-05-07 21:34:44 +02:00
omar
510f301c9f
Internals: Removed seemingly unnecessary size_on_first_use arg to CreateNewWindow(), extracted code into ApplyWindowSettings.
2020-05-07 21:34:00 +02:00
omar
673d6df85f
Demo: Clamping font scale. Added helpers in demo. Comments. Update sponsors. ( #3206 )
2020-05-07 11:45:41 +02:00
omar
f152fac4f1
Demo: Wrapped many (not all) code and comments lines to 120 characters to fit below GitHub viewer limit. ( #3193 )
2020-05-05 21:33:16 +02:00
omar
b4dd28ffbb
Style: Added style.TabMinWidthForUnselectedCloseButton settings.
...
Set to 0.0f (default) to always make a close button appear on hover (same as Chrome, VS).
Set to FLT_MAX to only display a close button when selected (merely hovering is not enough).
Set to an intermediary value to toggle behavior based on width (same as Firefox).
2020-05-04 14:58:21 +02:00
Ryan Pavlik
8cbff5ccb2
Fix various typos. ( #3161 )
...
(found by Debian's lintian on a package that uses imgui.)
(found by codespell.)
2020-04-28 16:10:15 +02:00
Rokas Kupstys
2593b6a1c8
Drag and Drop: Fix unintended fallback "..." tooltip during drag operation when drag source uses _SourceNoPreviewTooltip flags. ( #3160 )
2020-04-27 13:51:07 +02:00
omar
5ac5d3674f
Removed unncessary ID (first arg) of ImFontAtlas::AddCustomRectRegular() function.
2020-04-23 19:27:04 +02:00
ocornut
c0283c1289
TestEngine: Changed PushID hooks into GetID(), makes more sense and catches more information.
2020-04-20 11:31:30 +02:00
omar
9f9ff84ba1
TestEngine: Added PushID() hooks.
2020-04-16 16:59:46 +02:00
omar
3233fbff0e
Internals: Added SetNextWindowScroll() ( #1526 )
2020-04-16 14:07:58 +02:00
omar
1fd9e131e4
TreeNode: Fixed bug where dragging a payload over a TreeNode() with either _OpenOnDoubleClick or _OpenOnArrow would open the node. ( #143 )
2020-04-15 13:06:05 +02:00
omar
e8c986b34e
Version 1.77 WIP
2020-04-14 14:55:50 +02:00
omar
5503c0a12e
Version 1.76
...
+ fixed PVS warning, update demo binaries, update readme image
2020-04-12 20:18:47 +02:00
omar
7ee623d9b1
Internals: FocusScope not inherited by popups, modals. Amend a5041c88
2ebe08be
)
2020-04-12 18:58:06 +02:00
omar
fb70d90fef
Made default clipboard handlers for Win32 and OSX use a buffer inside the main context instead of a static buffer, so it can be freed properly on Shutdown. ( #3110 )
2020-04-09 13:34:39 +02:00
omar
832fda8488
Fixed stray end of line blanks, added comments in .editorconfig, tweaked some headers.
2020-04-07 14:46:46 +02:00
omar
752436219d
Metrics: Made Tools section more prominent, added options, made mesh viewer more accessible.
2020-04-06 18:10:24 +02:00
omar
cc0d4e346a
Misc: Added an explicit compile-time test for non-scoped IM_ASSERT() macros to redirect users to a solution + fixed our stb wrappers.
...
+ Nav: Use nav layer enum, comments.
2020-04-03 12:41:33 +02:00
omar
b7e1b13ca7
Update docs, FAQ, comments (mainly related to io.WantCaptureMouse / WantCaptureKeyboard flags).
2020-04-02 21:53:10 +02:00
omar
11116eee80
Columns: undid the change in 1.75 were Columns()/BeginColumns() were preemptively limited to 64 columns with an assert. ( #3037 , #125 )
...
Essentially reverting 9d444062f9
.
2020-04-02 20:01:48 +02:00
omar
3490046c97
Nav: Disabled clipping g.NavId and fixed interactions with ImGuiListClipper. ( #787 )
2020-04-02 17:56:35 +02:00
omar
fd56de1144
Nav: Store key mods associated to a nav request (for range_select) + use io.KeyMods.
...
+ renamed NavScoringRectScreen > NavScoringRect
2020-04-02 17:56:21 +02:00
omar
ec2a24a5f1
Selectable: Allow using ImGuiSelectableFlags_SpanAllColumns in other columns than first. Comments. ( #125 )
2020-03-26 20:33:39 +01:00
omar
b4d1287011
Selectable: Clarifying the code around use of ImGuiSelectableFlags_DrawFillAvailWidth (with intent of trying to remove it).
...
Amend old 6251d379
, 2bcafc86
2020-03-26 17:02:10 +01:00
omar
670367e51d
Added IMGUI_USE_WCHAR32 instead of "#define ImWchar ImWchar32" to faclitate C-binding. ( #2538 , #2541 , #2815 )
2020-03-24 20:15:17 +01:00
omar
f2b01c3436
Changelog, tweak OpenGL3 backends. ( #3061 ), update Gallery thread links.
2020-03-24 18:45:05 +01:00
omar
4986dba270
Scrolling: Fixed scrolling centering API leading to non-integer scrolling values and initial cursor position. ( #3073 )
...
This would often get fixed after the fix item submission, but using the ImGuiListClipper as the first thing after Begin() could largely break size calculations. (#3073 )
2020-03-24 11:56:21 +01:00
omar
fbc93debf9
Internal: Refactor: Moved NewFrameSanityChecks as ErrorCheckNewFrameSanityChecks()
2020-03-19 12:27:16 +01:00
omar
ccf0cc8584
Added ImGuiKeyModFlags. Added additional checks in EndFrame() to verify that io.KeyXXX values have not been tampered with between NewFrame() and EndFrame().
2020-03-19 12:24:32 +01:00
omar
bdd31ec4db
Internal: Refactor: Moved RenderColorRectWithAlphaCheckerboard() to imgui_draw.cpp, tweaked signature.
2020-03-18 22:48:23 +01:00
omar
0bbbbe0f68
Internal: Refactor: Moved RenderArrow, RenderBullet, RenderCheckMark to imgui_draw.cpp, changed RenderCheckMark to avoid using ImGui context
2020-03-18 22:48:22 +01:00
ocornut
1d5612a05e
Internal: Added two missing ImVec2 operators for consistency. Split up DragDropWithinSourceOrTarget
...
ImVec2 *= ImVec2 to match ImVec2 * ImVec2, likewise with /
2020-03-12 20:58:24 +01:00
ocornut
a5041c8820
Focus: Child inherit focus scope from parent (amend 2ebe08be
).
2020-03-11 21:07:39 +01:00
ocornut
4a10af2bda
Unicode, Windows: Remove stringapiset.h include (breaks vs2010 and seems unnecessary?). ( #2541 , #2815 )
2020-03-11 13:25:50 +01:00
ocornut
aef057e975
Internals: Added GetInputTextState() + comments.
2020-03-07 15:55:05 +01:00
ocornut
2dcf8df9f4
Internals: Shuffled some of the windows-specific includes to avoid duplication. Might have undesirable side-effects on some compilers, please report!
2020-03-07 15:51:50 +01:00
ocornut
de37a0bfab
Internals: fix potential warning. Comments around include sections. Moved a few bits.
2020-03-07 15:40:22 +01:00
ocornut
1b5b87a40e
Internals: Added #define NOMINMAX before windows.h include for single-compile-unit builds.
2020-03-07 15:19:51 +01:00
ocornut
b029182a73
Merge branch 'features/unicode'
2020-03-03 18:59:54 +01:00
omar
897704cb49
Menus: Tweak for first-level menu windows to be positioned regardless of MenuBarHeight() which is not stored in window, allowing undocumented modification of the menu bar height).
2020-03-03 18:57:07 +01:00
ocornut
a41332453e
Unicode: Changelog, comments, minimum CI integration. ( #2541 , #2538 , #2815 )
2020-03-03 18:53:29 +01:00
Sam Hocevar
c8ea0a017d
Unicode: UTF32 support improvements ( #2541 , #2538 , #2815 )
...
- Make ImWchar32 unsigned.
- Fix Win32 version of ImFileOpen by including windows.h sooner.
- Make ImGuiIO::AddInputCharacterUTF16() more robust by disallowing illegal
surrogate pairs.
- Allow pushing higher plane codepoints through ImGuiIO::AddInputCharacter().
- Minor cleaning up in the high-plane Unicode support.
- Fix Clang -Wunreachable-code warning
2020-03-03 18:53:29 +01:00
Cloud Wu
6d59653e82
Unicode: full Unicode Support (6 squashed commits) ( #2541 , #2538 )
...
fix build for WideCharToMultiByte
[3181ff1e] Full Unicode Support
[6c9e73ac] Fix ImTextCountUtf8BytesFromChar and ImTextCharToUtf8, these APIs assume the input is an unicode code point, not UTF-16
[ba85665b] Add AddInputCharacterUTF16 for windows backend to handle WM_CHAR
[fafdcaf0] Use Windows API to convert UTF-16 for ImFileOpen
[dc7d5925] Use windows API to convert UTF-16 for clipboard
2020-03-03 18:53:29 +01:00
ocornut
8c683de33f
Internals: Refactor: Moved get height and contents regions functions, to Layout section. IF YOU GREAT CONFLICTS WHILE MERGING (NOT REBASING) THOSE 6 PREV COMMITS, TRY MERGING THEM INDIVIDUALLY 1 by 1 or 2 by 2 etc.
2020-03-03 17:04:32 +01:00
ocornut
602df11f19
Internals: Refactor: Moved item width/size functions to Layout section.
2020-03-03 16:28:03 +01:00
ocornut
6c1810e503
Internals: Refactor: Moved cursor position functions to Layout section.
2020-03-03 16:27:58 +01:00
ocornut
3ce26f65d4
Internals: Refactor: Moved ItemAdd(), ItemSize(), BeginGroup(), EndGroup(), SameLine(), Indent(), Unindent() to Layout section.
2020-03-03 16:27:49 +01:00
ocornut
caca55c642
Internals: Refactor: Moved code into a Styling section and some code into the Error Handling section.
2020-03-03 16:03:28 +01:00
ocornut
2679bee28d
Internals: Refactor: Moved code out of NewFrame() into UpdateTabFocus() and UpdateSettings()
2020-03-03 16:03:28 +01:00
ocornut
24bd33ace8
Menus: Some renaming, comments, add to demo. Amend 0342a3c
. ( #1207 )
2020-02-28 16:42:24 +01:00
Rokas Kupstys
0342a3c548
Menus: Implement BeginMenu() appending to existing menu when executed with same ID multiple times. ( #1207 )
2020-02-28 16:35:33 +01:00
ocornut
898e91f20d
Internals: Added TempInputText() to facilitate creation of custom widgets, renamed TempInputTextScalar() to TempInputScalar() etc. ( #2718 )
...
+ Minor imgui.h/todo comments
2020-02-25 21:34:02 +01:00
ocornut
e547f898a9
Demo: Added color gradient in demo to identify srgb/linear issues better. Tweaks.
2020-02-24 12:44:19 +01:00
ocornut
02a6c06080
Window: Fixed a bug with child window inheriting ItemFlags from their parent when the child window also manipulate the ItemFlags stack. ( #3024 ) [@Stanbroek]
...
Amend f843facba4
and 8828889d5e
2020-02-18 14:25:50 +01:00
Omar
8836975dcf
Drag and Drop, Nav: Disabling navigation arrow keys when drag and drop is active. ( #3025 )
2020-02-17 18:28:01 +01:00
omar
ccaec1a270
Version 1.76 WIP
2020-02-11 16:56:56 +01:00
omar
30bb15672d
Remove trailing spaces
2020-02-10 23:22:03 +01:00
omar
58b3e02b95
Version 1.75
...
Comments
2020-02-10 14:02:41 +01:00
omar
d37d25470a
Added IMGUI_DISABLE compile-time definition to make all headers and sources empty.
2020-02-09 17:08:33 +01:00
omar
fc42528f13
When testing for the presence of the ImGuiWindowFlags_NoBringToFrontOnFocus flag we test both the focused/clicked window (which could be a child window) and the root window.
2020-01-31 18:28:49 +01:00
omar
fc41839cab
Focus: Reworking FocusWindow() so in Docking branch we can fix CTRL+Tab being out of order on Docked windows because WindowsFocusOreder is poorly maintained.
...
When merging this and d9bca0d8
in Docking we'll replace two ocurrences of RootWindow with RootWindowDockStop.
2020-01-31 18:27:40 +01:00
omar
fb257eef3e
Internals: Update ->RootWindow and other links before applying the SetNextWindowXXX stuff. This is so FocusWindow() can always assume that ->RootWindow != NULL.
2020-01-31 18:25:57 +01:00
omar
d9bca0d853
Nav: Fixed a bug where the initial CTRL-Tab press while in a child window sometimes selected the current root window instead of always selecting the previous root window. ( #787 )
2020-01-31 14:42:59 +01:00
omar
47fab0e166
Misc renaming, comments. Docs: add missing spacing to Changelog.
2020-01-31 14:42:59 +01:00
omar
6e1f8be07b
Window: Fix SetNextWindowBgAlpha(1.0f) failing to override alpha component. ( #3007 )
2020-01-30 15:13:36 +01:00
omar
5f4dfad5b7
Merge misc/shallow changes from Docking to reduce drift.
...
Most are comments. Fix menu bar clipping: 07ff47bf1b
2020-01-28 20:06:34 +01:00
omar
6c1a73774d
Tooltip: Testing DragDropWithinSourceOrTarget in BeginTooltipEx() instead of just BeginTooltip() - feel this was an overlook. Added tooltip flags instead of using bool.
2020-01-27 22:02:43 +01:00
omar
5363af7f47
AddCircle, AddCircleFilled: Add auto-calculation of circle segment counts (amends)
...
Tweak default max error value, Changelog, comments, path-fast for 12 segments circles, made LUT store ImU8
2020-01-23 14:55:05 +01:00
Ben Carter
051ce0765e
AddCircle, AddCircleFilled: Add auto-calculation of circle segment counts
2020-01-23 14:52:48 +01:00
omar
2eda3585e7
Fixed hoverable/focus bug introduced in 3fe6ae97
( #2997 )
...
+ ArrowButtonEx() internal bits.
2020-01-22 15:20:49 +01:00
omar
3fe6ae9732
Internals: Move some Nav functions and members around (no functional change) + Misc comments
2020-01-20 18:19:03 +01:00
omar
2478dbfdb7
Disable warning C5054 introduced in VS 2019 16.2 ( #2983 )
2020-01-17 14:18:16 +01:00
Loïc Molinari
6c00d1916e
Disable format checks when using stb_sprintf.h
...
STB sprintf allows extra formats like %b or %$d. If ImGui is configured
to use STB sprintf, it generates warnings with GCC and clang when using
such formats because it keeps applying default printf-style warnings.
This commit disables printf-style warnings when using STB sprintf.
Since the printf-style warnings are defined in imgui.h based on the
compiler, IMGUI_USE_STB_SPRINTF can't just be defined in the cpp file
anymore and it's been moved as a proper config in imconfig.h.
2020-01-17 13:27:51 +01:00
omar
9ad4c5da7e
Fix zealous warnings + Internals: Renamed members from XxxxID to XxxxxId to be more consistent with rest of the codebase (still some inconsistency left that are harder to fix)
2020-01-16 23:44:05 +01:00
omar
f6d6880a61
Internals: Nav: PushFocusScope, PopFocusScope, GetFocusScopeID() helpers
2020-01-14 20:34:26 +01:00
omar
2ebe08be40
Focus, Nav: Merged bits from RangeSelect features to enable early manipulation of focus scope for styling purpose.
...
FocusScopeId is tracked by nav scoring/request and stored in result.
It's all rather WIP and we should reorganize the SetNavIDXXX functions fiasco at some point (soon?).
Didn't separate FocusScope from SelectionScope for now, will re-investigate this later, this is the minimum commit to be able to do some styling.
2020-01-14 19:25:20 +01:00
omar
e2eb0b4bc4
Internals: Begin tries to setup WindowTemp/DC members in same order as their declaration. Readme: remove Coverity banner (PVS is better)
2020-01-13 16:50:56 +01:00
omar
02c2d18aa3
Internals: Renaming and marking of legacy focus/tabbing system
2020-01-13 15:21:37 +01:00
omar
52334ad8df
Internals: Minor ordering/comments of ImGuiWindowTempData.
2020-01-13 15:04:28 +01:00
omar
ff5299e0e0
Docs: FAQ, Comments.
2020-01-12 22:09:18 +01:00
Rokas Kupstys
97a8dc6514
CI: Added PVS-Studio static analysis on the continuous-integration server.
2020-01-10 16:58:39 +01:00
Rokas Kupstys
ae1e3619f6
Disable some PVS studio warnings.
...
V1048: While they are technically correct we want to emphasize assigned values must remain same.
2020-01-10 15:20:08 +01:00
omar
f9630e60c5
Metrics: Fix not being able to expand "ParentWindow" when parent window is same as root window.
2020-01-07 21:32:00 +01:00
omar
d581939387
Removed trailing spaces.
2020-01-06 15:24:16 +01:00
omar
22d7f26e06
Tweak wording
...
Remove Patreon
2020-01-06 12:55:01 +01:00
omar
854fc08194
Amend f70204f2
to facilitate merges.
2019-12-20 16:34:07 +01:00
omar
f70204f2f4
Minor bits, placeholder aimed at facilitating merging of Tables branch into Docking
2019-12-19 16:53:44 +01:00
omar
a610f1da52
Bezier Tweaks, fixed parameter order of 3831d50
2019-12-17 16:43:05 +01:00
Rokas Kupstys
3831d50ab9
Add ImBezierClosestPoint() function which returns a point on bezier curve which is closed to a specified point.
2019-12-17 16:22:02 +01:00
omar
9d444062f9
Limiting Columns()/BeginColumns() api to 64 columns ( #125 )
...
While the current code technically supports it, future code may not so we're putting the restriction ahead.
2019-12-17 13:25:46 +01:00
omar
10fdc03a46
Clarification about Im helpers + moving GetColorXXX functions outside of that block.
2019-12-17 13:19:36 +01:00
omar
43bd80a40d
Internals: Breaking: ImRect() default constructor initializes all fields with 0.0f
...
Instead of (FLT_MAX,FLT_MAX,-FLT_MAX,-FLT_MAX). Previous behavior was designed for adding into a bounding box but rarely relied on and not worth it.
2019-12-13 11:56:00 +01:00
omar
6fdde67be2
Documentation, FAQ, todo tweaks
2019-12-10 13:37:29 +01:00
omar
f9c26d23de
Removed redirecting functions/enums that were marked obsolete in 1.53 (December 2017).
...
Comments
2019-12-08 16:38:27 +01:00
Ben Carter
697f15e339
Added PrimUnreserve() API. Obsoleted calling ImDrawList::PrimReserve() with a negative count.
2019-12-08 16:06:32 +01:00
omar
f656e7775e
Inputs: Added ImGuiMouseButton enum for convenience (e.g. ImGuiMouseButton_Right=1).
...
We forever guarantee that the existing value will not changes so existing code is free to use 0/1/2.
2019-12-06 16:29:36 +01:00
omar
6cbed03d4a
Comments, clarified mouse button ordering.
2019-12-06 16:29:32 +01:00
omar
b521cd357d
Removed implicit default parameter to IsMouseDragging(int button = 0) to be consistent with other mouse functions.
...
(none of the other functions have it).
2019-12-05 18:33:36 +01:00
omar
8342e5b91a
Amend previous commits (added ImGuiMouseCursor_NotAllowed enum + new cursors in GLFW 3.4)
...
Amend b5cad20d79
, 945a509773
+ unrelated minor typos
2019-12-05 15:45:30 +01:00
omar
abaf0256b8
Version 1.75 WIP
...
Added message to font file loading assert.
2019-11-28 20:58:16 +01:00
omar
bdce833636
Version 1.74
2019-11-25 18:38:53 +01:00
omar
26d177bc03
Docs: Moved misc/fonts/README.txt to docs/FONTS.txt. + tweaks
2019-11-25 18:29:28 +01:00
omar
bbe0409942
Metrics: Show wire-frame mesh and approximate surface area when hovering ImDrawCmd. Amend aeb5795
.
...
Internals: Added ImTriangleArea()
2019-11-25 12:01:04 +01:00
Ben Carter
aeb57952d6
Added area calculation for draw lists in metrics
...
Added ability to hover over a draw list's summary stats and see all the contents in wireframe
(cherry picked from commit fd808347bd68a07ad318af6c151028bc9f7b82e7)
2019-11-25 11:10:00 +01:00
omar
51e2e9b239
ImVector: Added shrink() helper. ImFont::RenderText minor optimisation for debug build. Misc: Metrics shows tab names because we now have them.
2019-11-22 14:06:51 +01:00
omar
51a02b319c
Added IM_UNICODE_CODEPOINT_MAX. Changed specs of ImFontAtlas::AddCustomRectRegular() (breaking change).
2019-11-21 14:13:17 +01:00
omar
ca63349eb4
Renamed XX-bits -> XX-bit in comments to match what the world appears to be using.
2019-11-20 11:58:25 +01:00
omar
a899c1e570
Internals: Using ImU64 for internal ImFile api so we can later wrap them to fseeko/ftello//_fseeki64/_ftelli64 ( #2734 )
2019-11-20 10:40:14 +01:00
omar
ecbedc8c26
Tweaks, ammend 93efa54
, rename to IMGUI_DISABLE_DEFAULT_FORMAT_FUNCTIONS ( #1038 )
2019-11-19 21:29:12 +01:00
omar
4e90906b04
Added IMGUI_DISABLE_DEFAULT_FILE_FUNCTIONS / IMGUI_DISABLE_FILE_FUNCTIONS #2734 )
...
Using in Emscripten example.
2019-11-19 21:14:44 +01:00
omar
93efa5415f
Renamed IMGUI_DISABLE_FORMAT_STRING_FUNCTIONS to IMGUI_DISABLE_DEFAULT_FORMAT_STRING_FUNCTIONS. ( #1038 )
...
Renamed IMGUI_DISABLE_MATH_FUNCTIONS to IMGUI_DISABLE_DEFAULT_MATH_FUNCTIONS.
2019-11-19 20:53:17 +01:00
omar
9efaf2828b
Doc comments. Removed .ini parsing code from 1.53 that parsed entries without the [Window] tag (which enabled importing an old .ini file)
2019-11-19 19:39:46 +01:00
omar
7e232092a6
Internals: Added GetWindowResizeID(), renamed GetScrollbarID() to GetWindowScrollbarID(). Using integer for resize ID so they matches regardless of the pointer size.
...
Internals: Renamed IMGUI_USER_ERROR to IM_ASSERT_USER_ERROR().
2019-11-15 16:59:43 +01:00
Tracy Ma
8f40020ca6
Disable Win32 clipboard and IME functions when build target UWP ( #2892 , #2895 )
2019-11-15 12:19:44 +01:00
omar
b23dcab6e1
Fix 25eee91
incorrect assert when ending a child-popup (rarely used but used by sub-nenus)
2019-11-14 16:06:39 +01:00
omar
be436e2b0b
Fix HelpMarker() symbol collision for unity builds ( #2893 )
2019-11-13 22:04:16 +01:00
omar
03852470de
Internals: Routing recoverable user errors via IMGUI_USER_ERROR() macro. ( #1651 )
2019-11-13 21:58:18 +01:00
omar
25eee91542
Error handling: Assert if user mistakenly calls End() instead of EndChild() on a child window. ( #1651 )
...
Internals: Moved some error handling code.
2019-11-13 21:51:38 +01:00
omar
b138f8cbcd
Internal: Nav rename preparing for nav inputs ownership changes. IsNavInputPressed() -> IsNavInputTest()
2019-11-13 21:02:25 +01:00
omar
7c441e37fa
CI: Update jobs to MacOS latest (Catalina)
...
Metrics: Added description to Item Picker.
2019-11-13 20:34:55 +01:00
omar
6e8e2c0fa9
Scrollbar: Fixed an issue where scrollbars wouldn't display on the frame following a frame where all child window contents would be culled.
...
Demo: Fixed a small bug with scrolling demo.
Metrics: Tweaks.
2019-11-08 19:01:54 +01:00
omar
57dc34f4e8
TreeNode: Added IsItemToggledOpen() to explicitly query if item was just open/closed, facilitating interactions with custom multi-selections patterns. ( #1896 , #1861 )
2019-11-08 15:30:15 +01:00
omar
d003674f2c
Internals: Added ImChunkStream, used by window settings. (more generic followup to 4c13807
, the class will be used more extensively by Tables)
2019-11-07 16:05:03 +01:00
omar
a337e219b6
Internals: ImPool: Renaming.
2019-11-07 16:04:51 +01:00
omar
28f1d60de1
Internals: Renaming + added ImStrSkipBlank() from docking branch.
...
(cherry picked from commit a573943fa0ce323ffb4080e57f5e8fe1bc777c36)
2019-11-06 23:37:35 +01:00
omar
4c13807b7d
Misc: Optimized storage of window settings data (reducing allocation count).
2019-11-05 22:43:53 +01:00
omar
792a8631aa
Metrics: Expose basic details of each window key/value state storage.
2019-10-31 14:01:35 +01:00
omar
8fee5a4349
Internals: Renaming for consistency.
2019-10-31 11:15:40 +01:00
omar
d62a413476
Misc: Windows: Do not use _wfopen() if IMGUI_DISABLE_WIN32_FUNCTIONS is defined. ( #2815 )
2019-10-29 21:47:43 +01:00
Rokas Kupstys
c863c1f6a1
Clean up number rounding. Now it is more obvious what code is doing. ( #2862 )
...
Add IM_ROUND() macro
Replace IM_FLOOR(n + 0.5f) and ImFloor(n + 0.5f) with IM_ROUND(n)
2019-10-29 17:05:25 +01:00
omar
4e56de757c
Doc: Promote Discord over Discourse. Obsoleting Discourse server.
2019-10-25 15:36:37 +02:00
omar
ec0e953cca
Fixed a couple of subtle bounding box vertical positioning issues relating to text baseline alignment.
...
The issue would generally manifest when laying out multiple items on a same line, with varying heights and text baseline offsets. (#2833 )
Some specific examples, e.g. a button with regular frame padding followed by another item with a multi-line label and no frame padding, such as: multi-line text, small button, tree node item, etc. The second item was correctly offset to match text baseline, and would interact/display correctly,but it wouldn't push the contents area boundary low enough.
Note: previously the second parameter to ItemSize() was 0.0f was default, now -1.0f to signify "no text baseline offset request". If you have code using ItemSize() with an hardcoded zero you may need to change it. (+1 squashed commits)
2019-10-23 18:05:44 +02:00
omar
23c1ff4907
Removed redirecting functions/enums names that were marked obsolete in 1.52 (October 2017).
...
- Begin() [old 5 args version] -> use Begin() [3 args], use SetNextWindowSize() SetNextWindowBgAlpha() if needed
- IsRootWindowOrAnyChildHovered() -> use IsWindowHovered(ImGuiHoveredFlags_RootAndChildWindows)
- AlignFirstTextHeightToWidgets() -> use AlignTextToFramePadding();
- SetNextWindowPosCenter() -> use SetNextWindowPos() with a pivot of (0.5f, 0.5f)
- ImFont::Glyph -> use ImFontGlyph
If you were still using the old names, read "API Breaking Changes" section of imgui.cpp to find out the new names or equivalent features, or see how they were implemented until 1.73.
2019-10-22 14:45:11 +02:00
Rokas Kupstys
714fe29d1a
Replace manual flooring with IM_FLOOR() macro. ( #2850 )
...
Macro is used to ensure that flooring operation is always inlined even in debug builds. __forceinline does not force inlining in /Od builds with MSVC.
(cherry picked from commit bc165df6fd
)
2019-10-18 16:18:38 +02:00
omar
53278be61f
FAQ, Readme. Use = {} instead of = { 0 }, wasn't problematic because they were all static variables or one stack array not read. But hey.
2019-10-18 16:18:05 +02:00
omar
5fc427a49e
Improved and moved FAQ to docs/FAQ.md so it can be readable on the web. ( #2848 )
2019-10-16 11:04:00 +02:00
Rokas Kupstys
6892b81578
Remove trailing spaces from bunch of files.
...
(cherry picked from commit 50e0f8d4ddf4c426f62f346c8260a927f6b7c779)
2019-10-15 16:04:02 +02:00
omar
c21fdabb43
Doc: Readme: moving contents to FAQ.
2019-10-15 14:21:44 +02:00
omar
a41f0b2df4
Inputs: Fixed a miscalculation in the keyboard/mouse "typematic" repeat delay/rate calculation, used by keys and e.g. repeating mouse buttons as well as the GetKeyPressedAmount() function.
...
IMPORTANT: Renamed internal CalcTypematicPressedRepeatAmount to CalcTypematicRepeatAmount and reordered the t1, t0 arguments to t0, t1 !!
If you were using a non-default value for io.KeyRepeatRate (previous default was 0.250), you can add +io.KeyRepeatDelay to it to compensate for the fix. The function was triggering on: 0.0 and (delay+rate*N) where (N>=1). Fixed formula responds to (N>=0).
Effectively it made io.KeyRepeatRate behave like it was set to (io.KeyRepeatRate + io.KeyRepeatDelay).
Fixed the code and altered default io.KeyRepeatRate,Delay from 0.250,0.050 to 0.300,0.050 to compensate.
If you never altered io.KeyRepeatRate nor used GetKeyPressedAmount() this won't affect you.
2019-10-14 23:07:06 +02:00
omar
67e4cd5cc6
Comments, some logging for NavInitRequest debugging Moved OpenPopupOnItemClick() next to BeginPopupContextItem()
2019-10-14 15:54:11 +02:00
omar
73fa6509a5
Internal: InputTextEx: tweaked a bit of code (should be a no-op)
2019-10-05 16:57:12 +02:00
omar
a6c3be4bda
Internals: Tweaks to ItemSize() should be harmless. Added DebugDrawItemRect() helper.
2019-10-03 18:30:41 +02:00
omar
892dfb1dea
InputText, Nav: Fixed Home/End key broken when activating Keyboard Navigation. ( #787 )
...
Small refactor of ActiveIdUsingXXX inputs flags toward a little more consistent system. (#2637 )
2019-10-02 15:57:36 +02:00
omar
0dad3f436b
Fix harmless float calculation overflow. ( #2813 )
2019-09-30 15:16:30 +02:00
omar
c262276988
Version 1.74 WIP
2019-09-30 14:27:56 +02:00
omar
d5efe16157
Version 1.73
2019-09-24 17:02:26 +02:00
omar
ca858c084b
Demo tweaks. Comments. Compacting the rarely used AutoFitXXX fields in ImGuiWindowTempData.
2019-09-23 20:15:25 +02:00
omar
52deb415e0
Internal: Refactored internal RenderMouseCursor so colors can be specified. ( #2614 )
2019-09-23 14:53:49 +02:00
omar
25849234f6
Internal: Tree: tweaks (initially tried to implement auto-scrolling, stashed)
2019-09-23 13:11:38 +02:00
omar
a45e3b5bb3
Readme, Wiki: Image loading examples.
2019-09-20 19:04:19 +02:00
omar
74e01e62ce
Fixed unused static function warning for some compilers. ( #2793 )
2019-09-18 13:21:12 +02:00
omar
b48dc067ae
Style: Allow style.WindowMenuButtonPosition to be set to ImGuiDir_None to hide the collapse button. ( #2634 , #2639 )
...
+ Fix #2775
2019-09-17 16:33:15 +02:00
omar
3b014d0c31
Merge branch 'features/ellipsis_rendering'
...
# Conflicts:
# imgui.cpp
2019-09-17 12:07:30 +02:00
omar
7d5a17e5e4
Remove trailing spaces (grep for ' \r?$' in visual studio)
2019-09-17 11:33:18 +02:00
omar
1c951dca97
Font: Narrow ellipsis: once we know an ellipsis is going to be drawn, we can claim the space between pos_max.x and ellipsis_max.x which gives us enough extra space to not requires the further (and otherwise valid) optimizations. Gets us vastly simplified code, yay. ( #2775 )
2019-09-17 11:14:46 +02:00
omar
57623c15dd
Font: Narrow ellipsis: various minor stylistic tweaks ( #2775 )
2019-09-17 11:13:34 +02:00
Rokas Kupstys
45405f0dc9
Font: implement a way to draw narrow ellipsis without relying on hardcoded 1 pixel dots. ( #2775 )
...
This changeset implements several pieces of the puzzle that add up to a narrow ellipsis rendering.
## EllipsisCodePoint
`ImFontConfig` and `ImFont` received `ImWchar EllipsisCodePoint = -1;` field. User may configure `ImFontConfig::EllipsisCodePoint` a unicode codepoint that will be used for rendering narrow ellipsis. Not setting this field will automatically detect a suitable character or fall back to rendering 3 dots with minimal spacing between them. Autodetection prefers codepoint 0x2026 (narrow ellipsis) and falls back to 0x0085 (NEXT LINE) when missing. Wikipedia indicates that codepoint 0x0085 was used as ellipsis in some older windows fonts. So does default Dear ImGui font. When user is merging fonts - first configured and present ellipsis codepoint will be used, ellipsis characters from subsequently merged fonts will be ignored.
## Narrow ellipsis
Rendering a narrow ellipsis is surprisingly not straightforward task. There are cases when ellipsis is bigger than the last visible character therefore `RenderTextEllipsis()` has to hide last two characters. In a subset of those cases ellipsis is as big as last visible character + space before it. `RenderTextEllipsis()` tries to work around this case by taking free space between glyph edges into account. Code responsible for this functionality is within `if (text_end_ellipsis != text_end_full) { ... }`.
## Fallback (manually rendered dots)
There are cases when font does not have ellipsis character defined. In this case RenderTextEllipsis() falls back to rendering ellipsis as 3 dots, but with reduced spacing between them. 1 pixel space is used in all cases. This results in a somewhat wider ellipsis, but avoids issues where spaces between dots are uneven (visible in larger/monospace fonts) or squish dots way too much (visible in default font where dot is essentially a pixel). This fallback method obsoleted `RenderPixelEllipsis()` and this function was removed. Note that fallback ellipsis will always be somewhat wider than it could be, however it will fit in visually into every font used unlike what `RenderPixelEllipsis()` produced.
2019-09-17 11:13:07 +02:00
Qix
561e7dd490
Fix signed types warning in pasteboard handler ( #2786 )
2019-09-17 16:21:09 +09:00
omar
b05f6f6f50
Nav, Scrolling: Added support for Home/End key. ( #787 )
2019-09-16 19:01:40 +02:00
omar
bfcdaeb610
Disable with ConfigWindowsMemoryCompactTimer < 0.0f ( #2636 )
2019-08-28 20:30:36 +02:00
omar
62f75c7fb1
Added a mechanism to compact/free the larger allocations of unused windows (buffers are compacted when a window is unused for 60 seconds, as per io.ConfigWindowsMemoryCompactTimer = 60.0f). Note that memory usage has never been reported as a problem, so this is merely a touch of overzealous luxury. ( #2636 )
2019-08-28 20:28:36 +02:00
omar
cb538fadfe
Internals: Storing settings using ImVec2ih to match what we are doing with dock node. + removed ImMax from reading Size value (done in Begin) + removed seemingly unnecessary FLT_MAX compare in SettingsHandlerWindow_WriteAll.
...
About: Added backquote to text copied into clipboard so it doesn't mess up with github formatting when pasted.
2019-08-23 12:02:52 +02:00
omar
3fb5cf3541
Using offsetof() when available in C++11. Avoids Clang sanitizer complaining about old-style macros. ( #94 )
2019-08-22 16:55:42 +02:00
omar
c4b0bf718a
More typos in comments ( #2738 )
2019-08-22 11:40:37 +02:00
omar
a856c670c1
TabBar: fixed single-tab not shrinking their width down.
...
+ minor typo fixes (#2738 )
2019-08-22 11:38:58 +02:00
omar
a33cedda14
Internals: Renaming window size calc functions.
2019-08-19 21:48:52 +02:00
omar
9fce278918
ColorPicker: Made rendering aware of global style alpha of the picker can be faded out. ( #2711 )
...
Note that some elements won't accurately fade down with the same intensity, and the color wheel when enabled will have small overlap glitches with (style.Alpha < 1.0).
2019-08-16 11:46:11 +02:00
omar
f624455d7b
Version 1.73 WIP
2019-08-01 10:57:13 -07:00
omar
9bd7846f07
Internal: Made ScrollToBringRectIntoView() handle recursing back to scroll parent window, so the function can be called elsewhere (instead of 1 deep recursion done in NavUpdateMoveResult().
2019-07-31 18:37:55 -07:00
omar
6a0d0dab5a
Version 1.72b (patch for nav)
2019-07-31 14:31:06 -07:00
omar
4cfaf7d89c
Scrolling, Nav: Fixed programmatic scroll leading to a slightly incorrect scroll offset when the window has decorations or a menu-bar (broken in 1.71). This was mostly noticeable when a keyboard/gamepad movement led to scrolling the view, or using e.g. SetScrollHereY() function. Fix/amend a0994d74
.
2019-07-31 14:31:06 -07:00
omar
3548fb8013
Internal refactor: moved all Scroll related functions in a same spot.
2019-07-30 20:04:02 -07:00
omar
1b1e539288
Internal: Moved NavScrollToBringItemIntoView() declaration to imgui_internal.h. Fixed spacing missing in 494d804
. Fixed changelog wreck from 1.72.
2019-07-30 18:21:44 -07:00
omar
5ef7445d92
Internal: Avoid using GImGui multiple times in same function.
2019-07-30 16:51:12 -07:00
omar
85ad8e0e2e
Nav: Fixed an issue with NavFlattened window flag where widgets not entirely fitting in child window (often selectable because of their extruded bits) would be not considered to navigate toward the child window. ( #787 )
...
This creates a little bit of tension because g.NavDisableHighlight tends to makes the reference point not always visible.
Amend c665c15a7d
2019-07-30 14:27:25 -07:00
omar
9183e7c426
Version 1.73 WIP
2019-07-29 15:54:32 -07:00
omar
ecb9b1e2eb
Version 1.72
2019-07-27 18:15:07 -07:00
omar
7a26a49f08
Internal: Added IsMouseDragPastThreshold(). Tweaks. Todo.
...
Demo: Showing how to use the format parameter of Slider/Drag functions to display the name of an enum value instead of the underlying integer value
2019-07-26 17:19:01 -07:00
omar
d057550209
Fixed Clang 8.0 warning "empty expression statement has no effect; remove unnecessary ';' to silence this" warning [-Wextra-semi-stmt]
...
+ Comment
2019-07-24 17:07:05 -07:00
omar
824e8c53b4
Internals: Added IMGUI_DEBUG_INI_SETTINGS. Made IMGUI_DEBUG_LOG redefinable in imconfig.h. Comments. Fix to allow Metrics's NodeWindow() being called with a NULL window.
2019-07-23 21:37:09 -07:00
omar
baae057a03
Internals: Merge in minor noise from wip Tables branch to simplify further merging.
2019-07-23 13:28:36 -07:00
omar
26f14e056c
Scrolling: Made mouse-wheel scrolling lock the underlying window until the mouse is moved again or until a short delay expires (2 seconds). This allow uninterrupted scroll even if child windows are passing under the mouse cursor. ( #2604 )
2019-07-22 18:49:52 -07:00
omar
dcd03f62a7
Scrolling: Made it possible for mouse wheel and navigation-triggered scrolling to override a call to SetScrollX()/SetScrollY(), making it possible to use a simpler stateless pattern for auto-scrolling.
...
Demo: Log, Console: Using a simpler stateless pattern for auto-scrolling.
2019-07-22 18:49:51 -07:00
omar
835b50b773
Internals: Nav: Tweak NavUpdatePageUpPageDown() to make it more readable.
2019-07-22 17:27:41 -07:00
omar
29d9394a41
OSX: Disabled default native Mac clipboard copy/paste implementation in core library (added in 1.71), because it needs application to be linked with '-framework ApplicationServices'. It can be explicitly enabled back by using '#define IMGUI_ENABLE_OSX_DEFAULT_CLIPBOARD_FUNCTIONS' in imconfig.h. Re-added equivalent using NSPasteboard api in the imgui_impl_osx.mm experimental back-end. ( #2546 )
2019-07-21 19:06:07 -07:00
omar
4b44f25c9a
Fixed incorrect application of io.DisplaySafeAreaPadding which would be problematic with multi-viewports when a monitor uses negative coordinates (correct clamping is done right below). ( #2674 )
2019-07-21 18:19:56 -07:00
omar
f1ba217a92
Internals: Extracted some code out of the NewFrame() function.
2019-07-21 12:13:44 -07:00
ocornut
047dc16af5
Debug Tools: Added DebugStartItemPicker() in imgui_internal.h to facilitate binding this anywhere in user's tool. Adedd highlight. Added IMGUI_DEBUG_TOOL_ITEM_PICKER_EX to break in ItemAdd().
2019-07-19 11:28:03 -07:00
omar
1f3feb481e
Internals: Refactor: Moved all Columns code from imgui.cpp to imgui_widgets.cpp ( #125 )
...
Also moved NextColumn between BeginColumn and NextColumn which makes it easier to work on that code.
2019-07-17 17:10:27 -07:00
omar
130b44994e
Debug, Metrics: Added "Tools->Item Picker" tool which allow clicking on a widget to break in the debugger within the item code. The tool calls IM_DEBUG_BREAK() which can be redefined in imconfig.h if needed.
2019-07-16 18:25:49 -07:00
omar
e6a286b3a5
Style: Added style.ColorButtonButton (left/right, defaults to ImGuiDir_Right) to move the color button of ColorEdit3/ColorEdit4 functions to either side of the inputs.
2019-07-16 16:43:21 -07:00
omar
a35f42f123
Removed TreeAdvanceToLabelPos() which is rarely used and only does SetCursorPosX(GetCursorPosX() + GetTreeNodeToLabelSpacing()). Kept redirection function (will obsolete). ( #581 , #324 )
2019-07-15 18:30:20 -07:00
omar
7a9d32acee
Fixed unnecessary test in UpdateMouseWheel() (thanks PVS).
...
TreeNodeBehavior: avoid computing bg_col for non-framed non-active tree nodes.
Comments, binaries update, minor typos.
2019-07-15 18:30:20 -07:00
omar
71d20abbc3
Settings: Minor optimization to reduce calls in SettingsHandlerWindow_WriteAll.
2019-07-12 13:33:38 +02:00
omar
d52c6316c8
Renamed ImFontAtlas::CustomRect to ImFontAtlasCustomRect. Keep redirection typedef (will obsolete).
2019-07-12 11:58:46 +02:00
omar
e66799f79a
Prefixed internal structs exposed in imgui.h with a fully qualified name to facilitate auto-generation with cimgui.
2019-07-12 11:54:22 +02:00
omar
54c49b5fb1
Window: Mouse wheel scrolling while hovering a child window is automatically forwarded to parent window if ScrollMax is zero on the scrolling axis. Also still case if ImGuiWindowFlags_NoScrollWithMouse is set (not new), but previously the forwarding
...
would be disabled if ImGuiWindowFlags_NoScrollbar was set on the child window, which is not the case any more (amend #1502 , #1380 ).
2019-07-02 18:33:50 +02:00
omar
58c9f8a194
Misc: Added IMGUI_DISABLE_METRICS_WINDOW imconfig.h setting to explicitly compile out ShowMetricsWindow(). + Internals: Minor renaming.
2019-07-01 20:58:10 +02:00
omar
da29d77253
Added SetScrollXHere, SetScrollFromPosX: Changelog, demo, comments ( #1580 ).
2019-07-01 12:15:53 +02:00
kevreco
caf119a982
Added 'SetScrollHereX' and 'SetScrollFromPosX' ( #1580 )
2019-07-01 12:15:48 +02:00
omar
a89f05a10e
Child windows inherit Hidden frames setting from parent more accurately, so HiddenFramesCannotSkipItems is honored by child windows.
2019-06-29 20:12:15 +02:00
omar
401e05147c
Internals: Moved CalcListClipping close to ImGuiListClipper code (no-op)
2019-06-29 20:11:03 +02:00
omar
82711251b6
Internals: ImGuiListClipper using absolute coordinate (instead of relative one). Minor no-op tweaks + ImDrawListSplitter assert
2019-06-29 20:10:55 +02:00
omar
4b95e7c2f3
Doc: Tweak and extra mention of AddCustomRectFontGlyph + made the example register two rectangles.
2019-06-26 12:15:32 +02:00
omar
f563e1a504
Internals: Renamed GetFrontMostPopupModal() to GetTopMostPopupModal() to be consistent. Renamed other locals to follow that terminology.
2019-06-19 18:16:38 +02:00
omar
70fe409338
Window: Fixed InnerClipRect right-most coordinates using wrong padding setting (introduced in 1.71).
2019-06-18 10:58:03 +02:00
omar
ae2c9f7101
Internals: Columns: Poke into WorkRect and use them in the GetContentRegionMax() functions. This should be a no-op, but preparing us to transition toward using WorkRect instead of ContentRegionRect.
...
Removed one use of ContentsRegionRect.
2019-06-17 12:14:34 +02:00
omar
e9b92d1cef
Disable -Wpragmas warning in GCC to avoid relying on version checks, as unusual/forks/mods don't appear to always have same warning<>version. ( #2618 )
...
+ Fix version number in imgui.h
2019-06-17 11:32:00 +02:00
omar
af3080b81b
Removed redirecting functions/enums that were obsoleted in version 1.51 (June 2017): ImGuiCol_Column*, ImGuiSetCond_*, IsItemHoveredRect(), IsPosHoveringAnyWindow(), IsMouseHoveringAnyWindow(), IsMouseHoveringWindow(), IMGUI_ONCE_UPON_A_FRAME.
2019-06-14 12:05:00 +02:00
omar
5286ecb8a7
Version 1.72 WIP
2019-06-14 11:58:58 +02:00
omar
2da1c66d15
Version 1.71 + comments
2019-06-12 18:30:06 +02:00
omar
5ae268c0a3
Internals: Reworked RenderTextEllipsis() to satisfy what we need for table headers.
2019-06-11 16:12:00 +02:00
omar
4597632662
Readme, comments, dear imgui prefixes
2019-06-11 16:11:36 +02:00
omar
a8eb64fc54
Log/Capture: Fixed BeginTabItem() label not being included in a text log/capture.
...
Extracted tab rendering code into a RenderTextEllipsis() function.
2019-06-11 14:03:13 +02:00
omar
0770449630
Window: child windows outer decorations (e.g. scrollbar) are rendered as part of their parent window, avoiding the creation of an extraneous draw command.
...
+ Metrics: inverted color of clip rect vs vertices bounding box when hovering a draw command, so the color matches the per-vertex preview.
2019-06-07 17:34:36 +02:00
omar
afa3978ff6
Internals: Added drawlist and color arg to RenderArrow(), RenderBullet(). Reordered args for RenderPixelEllipsis.
2019-06-07 17:32:51 +02:00
omar
2b997141cf
Made PushID() behave the same in 32-bit and 64-bit, by not padding the integer into a void*. (Also technically faster.)
2019-06-06 16:36:26 +02:00
omar
431aa4e456
Synced/merged minor cruft from docking branch to minimize drift. AFAIK the only meaningful no-op change is that the call UpdateHoveredWindowAndCaptureFlags() was moved above UpdateMouseMovingNewFrame() to match what docking branch has been doing for a while.
2019-06-06 16:13:30 +02:00
omar
480d57e6a2
Revert "Changed syntax for (very rarely used) IMGUI_OVERRIDE_DRAWVERT_STRUCT_LAYOUT mechanism, instead you only need to '#define ImDrawVert MyDrawVert' to use this feature, avoiding the need to declare the entire structure within an awkward macro. Using the old macro will now error with a message pointing you to the new method. ( #38 , #103 , #1172 , #1231 , #2489 )"
...
This reverts commit 597c024904
.
2019-06-06 01:00:30 +02:00
omar
597c024904
Changed syntax for (very rarely used) IMGUI_OVERRIDE_DRAWVERT_STRUCT_LAYOUT mechanism, instead you only need to '#define ImDrawVert MyDrawVert' to use this feature, avoiding the need to declare the entire structure within an awkward macro. Using the old macro will now error with a message pointing you to the new method. ( #38 , #103 , #1172 , #1231 , #2489 )
2019-06-06 00:42:27 +02:00
omar
c96f2c4057
Window: Fixed one case where auto-resize by double-clicking the resize grip would make either scrollbar appear for a single frame after the resize. Moved Scrollbar visibility block.
2019-06-05 15:59:14 +02:00
omar
300d8dd656
Internals: Moved scrollbar visibility calculation block below the call to UpdateManualResize(). This commit is _intended_ to have no side-effect (next commit will). Also moved ItemWidthDefault calculation below rectangles.
2019-06-05 15:59:14 +02:00
omar
c1a61d25a7
Scrollbar overlap an extra WindowBorderSize amount on the left to make all distances consistent. Reverted to BorderSize not affecting work/contents rectangles. Scrollbar, Style: Changed default style.ScrollbarSize from 16 to 14.
2019-06-05 15:59:14 +02:00
omar
15282261dd
Internals: Minor no-op tidying up toward solving the WindowPadding / WindowBorderSize / ScrollbarSize overlapping mess.
...
+ Demo: Use SetScrollY().
2019-06-05 15:59:14 +02:00
omar
4149d22e85
Fixed newly created window (e.g. appearing child window) from having scrollbar active on the first frame. (fix 6e03b27) + reworded code a little. (+1 squashed commits)
...
Fixed auto-resize with AlwaysVerticalScrollbar or AlwaysHorizontalScrollbar flags not taking account of the expect scrollbar sizes.
2019-06-05 15:59:14 +02:00
omar
06f1d2c101
Internals: Storing ScrollMax into a member. Mostly to facilitate debugging. Also locking down window->Scroll slightly lower in the Begin function.
2019-06-05 15:59:13 +02:00
omar
d6df777ff2
TextWrapped, PushTextWrapPos(0.0f) within a window with horizontal scrolling from not covering the full horizontal area (previously only worked with an explicit contents size).
2019-06-05 15:59:13 +02:00
omar
fe32fde376
Internals: Renamed SizeContents to ContentSize, SizeContentsExplicit to ContentSizeExplicit. Tweaked Metrics->Show Rectangles functionality.
2019-06-05 15:59:13 +02:00
omar
f95c77eeea
Window rectangles: Changed WorkRect to cover the whole region including scrolling (toward obsolete ContentsRegionRect) + using full WindowPadding*1 padding.
...
Tweaked InnerClipRect.
TreeNode, CollapsingHeader: Fixed highlight frame not covering horizontal area fully when using horizontal scrolling. (#2211 , #2579 )
TabBar: Fixed BeginTabBar() within a window with horizontal scrolling from creating a feedback loop with the horizontal contents size.
Columns: Fixed Columns() within a window with horizontal scrolling from not covering the full horizontal area (previously only worked with an explicit contents size). (#125 )
Demo: Added demo code to test contentsrect/workrect
2019-06-05 15:59:13 +02:00
omar
a0994d74c2
Clarified behavior of SetNextWindowContentSize(). Content size is defined as the size available after removal of WindowPadding on each sides. So SetNextWindowContentSize(ImVec2(100,100)) + auto-resize will always allow submitting a 100x100 item without creating a scrollbar, regarding of WindowPadding.The exact meaning of ContentSize for decorated windows was previously ill-defined.
2019-06-05 15:59:13 +02:00
omar
09bcf9fbc5
Window rectangles: Made InnerRect not affected by window border sizes. its few users shouldn't be meaningfully affected.
2019-06-05 15:59:12 +02:00
omar
57d8ab62f4
Nav: Fixed rare crash when e.g. releasing Alt-key while focusing a window with a menu at the same frame as clearing the focus. This was in most noticeable in some back-ends with emits key release events when focusing another viewport. ( #2609 )
2019-06-05 00:28:55 +02:00
omar
eb7849b477
Nav: Fixed gamepad/keyboard moving of window affecting contents size incorrectly, sometimes leading to scrollbars appearing during the movement. + minor fix with the mostly dead Ctrl+wheel scaling.
2019-05-31 20:48:52 +02:00
omar
546b728199
Internals: Window rectangles: Fixed ContentsRegion lag by moving back after Scrollbar, fixes b50c61c9
. Shuffling setup order and added comments.
2019-05-30 18:19:14 +02:00
omar
21ebdcafc9
Internals: Window rectangles: Renaming of all rectangles toward their final form. Should be a no-op. Renamed GetWorkRectMax() to GetContentRegionMaxAbs(). Metrics shows SizeContents.
2019-05-30 18:04:21 +02:00
omar
7755cbbef2
Renamed ImGuiBackendFlags_HasVtxOffset to ImGuiBackendFlags_RendererHasVtxOffset to match naming convention already used in viewport/docking branch. ( #2591 ) + Fix OpenGL3 code missing flag.
2019-05-29 16:29:17 +02:00
omar
d1e8b698d0
ImDrawList: Added ImDrawCmd::VtxOffset value to support large meshes (64k+ vertices) using 16-bits indices. To enable the feature, the renderer back-end needs to set 'io.BackendFlags |= ImGuiBackendFlags_HasVtxOffset' and honor the ImDrawCmd::VtxOffset field. Otherwise the value will always be zero. This has the advantage of preserving smaller index buffers and allowing to execute on hardware that do not support 32-bits indices.
...
ImDrawList: Added ImDrawCmd::IdxOffset value, equivalent to summing element count for each draw command. This is provided for convenience and consistency with VtxOffset. (#2591 )
2019-05-29 16:13:38 +02:00
omar
40b9e5e0b4
ImDrawList: Store initial flags for the frame in ImDrawListSharedData, reducing code duplication in setting up the flags.
2019-05-29 14:26:03 +02:00
omar
70d9f79312
Internal: Renamed InnerMainRect to InnerVisibleRect. Printing coordinates in Metrics window.
2019-05-28 11:23:04 +02:00
omar
2d68e892a8
Added full "Dear ImGui" prefix to the title of "Dear ImGui Demo" and "Dear ImGui Metrics" windows. Shortened amount of nodes in columns>tree demo.
2019-05-27 18:38:28 +02:00
omar
958d75c00a
Style: Added style.WindowMenuButtonPosition (left/right, defaults to ImGuiDir_Left) to move the collapsing/docking button to the other side of the title bar.
2019-05-24 21:54:52 +02:00
omar
6c3697f6f1
Internal: CloseButton takes an upper-left corner + a size to be consistent with similar widgets.
2019-05-24 17:58:21 +02:00
omar
7bc03f7155
Internals: Added InnerWorkRect equal to old InnerClipRect, added InnerWorkRectClipped actually clipped.
2019-05-22 23:56:31 +02:00
omar
a2eec8f5b5
Fix OuterRectClipped not being clipped correctly, which resulted in child window outside visible bound to not be marked with SkipItems. Broken in b50c61c961
.
...
+ Comments on InnerClipRect being misleading. Demo: Tweak to sizing of child window in the Layout->Scrolling section.
2019-05-22 22:14:31 +02:00
omar
882d2c3aea
Fixed crash when appending with BeginMainMenuBar() more than once and no other window are showing. ( #2567 ) + comments
2019-05-21 12:18:34 +02:00
omar
392ab08580
BeginPopupContextItem(): Skip processing when SkipItems is set as LastItemId is unreliable and we assert when it is zero. + Minor comments on columns.
2019-05-20 16:46:47 +02:00
omar
f242cd4d8a
Fixed GCC mem-access warnings ( #2565 )
...
+ using "if defined" more consistently for Clang.
2019-05-19 17:15:14 +02:00
omar
31e3e861ef
Update changelog, comments, made empty/no-text clipboard return NULL as with other implementation. Minor style tweaks. ( #2546 )
...
Fixed IMGUI_DISABLE_WIN32_FUNCTIONS not disabling IME code.
2019-05-18 17:44:09 +02:00
Andrew Willmott
02de498a41
Add native mac copy/paste support to match win32 ( #2546 )
2019-05-18 17:34:58 +02:00
omar
fc3c3de551
Fixed uses of IsItemDeactivated(), IsItemDeactivatedAfterEdit() on multi-components widgets and after EndGroup(). ( #2550 , #1875 )
2019-05-13 19:05:41 +02:00
omar
99a845053a
Internal: Renamed fields + minor tweaks (probably shallow break stack-layout pr, sorry!)
2019-05-13 18:26:28 +02:00
omar
64dbd932d2
Internal: Removed GetNextItemWidth(), relying on ItemAdd or NextItemData.ClearFlags() to clear the width data. Amend 5078fa20
and undo some of its effects of imgui_widgets.cpp
2019-05-13 15:29:00 +02:00
omar
632469d2e5
Renamed SetNextTreeNodeOpen() to SetNextItemOpen(). Refactored SetNextItemXXX stuff to match SetNextWindowXXX code closely.
2019-05-13 15:11:25 +02:00
omar
36e714a459
Internal: Storing flags for NextWindowData so that we can clear everything with a single write and remove dummy condition fields.
2019-05-13 14:57:30 +02:00
omar
0b485f12d7
Internal: Minor tidying/reordering of sections within ImGuiContext / window DC.
2019-05-13 14:02:03 +02:00
omar
7355c84701
Tweak EndGroup() to facilitate fixing #2550 later (currently should have no side-effect0. Demo: Add extra widget to status query test.
2019-05-12 21:42:36 +02:00
omar
aca6ee1a91
Cast ImTextureId to void* before printing in Metrics window. ( #2548 )
2019-05-11 11:34:41 +02:00
omar
ef13d95466
IO: changed AddInputCharacter(unsigned short c) signature to AddInputCharacter(unsigned int c).
...
Examples/Backends: Don't filter characters under 0x10000 before calling io.AddInputCharacter(), the filtering is done in io.AddInputCharacter() itself. This is in prevision for fuller Unicode support. (#2538 , #2541 )
2019-05-11 10:33:56 +02:00
omar
7c256fbd40
Internal: Extracted some of the Begin code into RenderWindowDecorations().
2019-05-10 22:45:52 +02:00
omar
72951a1a85
Internal: Extracted some of the Begin code into RenderWindowTitleBarContents().
2019-05-10 22:45:28 +02:00
omar
b50c61c961
Internal: Begin: Update rectangles before Scrollbar() which now uses them. Fixes 39eeda0
.
2019-05-10 22:30:33 +02:00
omar
e29176df53
Internals: Columns: Renamed fields. Comments and tweak. Moved a demo block.
2019-05-09 13:12:09 +02:00
omar
a4d0b0efa4
Internal: Refactored Separator into SeparatorEx(), exposed ImGuiSeparatorFlags_SpanAllColumns in imgui_internal.h and support without. ( #759 ) + misc comments
2019-05-09 12:55:01 +02:00
omar
b7c2759f95
Columns: Fixed Separator from creating an extraneous draw command. Fixed Selectable with SpanAllColumns flag from creating an extraneous draw command. ( #125 )
2019-05-09 12:10:36 +02:00
omar
42fc563fed
Version 1.71 WIP + fixed minor typo
2019-05-07 16:36:08 +02:00
omar
d1d5075b66
Version 1.70
2019-05-06 14:17:39 +02:00
omar
6c196cf432
Examples Readme and Changelog tweaks, added #2527 , re-ordered examples/README alphabetically.
2019-05-06 10:02:59 +02:00
omar
526e2303bc
Window: Fixed SetNextWindowSizeConstraints() with non-rounded positions making windows drift. ( #2067 , #2530 )
2019-05-03 19:09:44 +02:00
omar
9c1f02a42c
Misc: Made IMGUI_CHECKVERSION() macro also check for matching size of ImDrawIdx.
2019-05-03 18:42:53 +02:00
omar
e2166db282
Internals: Fixed incorrect repeat delay/rate calculation in IsMouseClicked() with repeat flag leading to involontary but thankfully doubling the rate. Using our standard function, making the multiplicator explicit.
2019-05-03 15:06:06 +02:00
omar
2dc81057ec
Selectable: With ImGuiSelectableFlags_AllowDoubleClick doesn't return true on the mouse button releas efollowing the double-click. Only first mouse release + second mouse down (double-click) returns true. Likewise for internal ButtonBehavior() with both _PressedOnClickRelease | _PressedOnDoubleClick. ( #2503 )
2019-05-03 14:31:12 +02:00
omar
ce19cb465f
Internals: Rename GetContentRegionMaxScreen() -> GetWorkRectMax(). At this point this is mostly useful to facilitate merge of other branches.
2019-05-02 16:29:40 +02:00
omar
a1c432d1ad
Internals: SettingsHandlerWindow_ReadLine uses context parameter.
2019-05-02 14:30:35 +02:00
omar
3fbc0b7a9e
Obsoleted GetContentRegionAvailWidth(), use GetContentRegionAvail().x instead. Kept inline redirection function.
2019-04-29 18:33:08 +02:00
omar
db2d58a68b
Drag and Drop: Fixed drag source with ImGuiDragDropFlags_SourceAllowNullID and null ID from receiving click regardless of being covered by another window (it didn't honor correct hovering rules). ( #2521 )
2019-04-29 16:34:02 +02:00
omar
0f2852806c
Amend 48a09a7
with changelog, breaking changes, tweak demo code for spacing. ( #2518 )
2019-04-29 12:44:17 +02:00
omar
4dec744795
Tidying up BeginMenu() code + comments.
2019-04-29 00:02:02 +02:00
omar
842a720e72
Popups: Closes popup at the time of FocusWindow(). Fixes right-click from closing all popups instead of aiming at the hovered popup level (regression in 1.67's ae76a1fd
).
2019-04-28 22:33:58 +02:00
omar
bda2cde68e
Popups: Closing a popup restores the focused/nav window in place at the time of the popup opening, instead of restoring the window that was in the window stack at the time of the OpenPopup call. ( #2517 )
...
Among other things, this allows opening a popup while no window are focused, and pressing Escape to clear the focus again.
2019-04-28 22:18:51 +02:00
omar
09db2f6dec
Fix 61d9258
when there is not scrollbar "Window: Fixed contents region being off by WindowBorderSize amount on the right when scrollbar is active."
2019-04-28 18:50:51 +02:00
omar
4e81b2d093
Internals: Renaming. Renamed ImGuiPopupRef to ImGuiPopupData for consistency and added constructor.
2019-04-28 17:15:08 +02:00
omar
00b3c830db
Internals: Begin: Moved OuterRectClipped/InnerMainRect/InnerClipRect computation higher up in the function, next to ContentsRect/WorkRect code. Removed commented out debug drawing code which is now available in Metrics window.
2019-04-26 23:33:09 +02:00
omar
61d92580aa
Window: Fixed contents region being off by WindowBorderSize amount on the right when scrollbar is active.
2019-04-26 23:32:29 +02:00
omar
5d799d76ea
Internals: Nav scrolling uses InnerMainRect instead of InnerClipRect.
2019-04-26 23:31:51 +02:00
omar
0ca1675ff9
Internals: TempInputText: Rename InputScalarAsWidgetReplacement() -> TempInputTextScalar(), ScalarAsInputTextId -> TempInputTextId, small tidying up in affected functions.
2019-04-25 16:03:47 +02:00
omar
59a3f0476d
Internals: Using more explicit PushOverrideID() helper + renamed equivalent internal tree helper.
2019-04-25 15:21:22 +02:00
omar
4dc4ace864
Window: Fixed window with the AlwaysAutoResize flag unnecessarily extending their hovering boundaries by a few pixels (this is used to facilitate resizing from borders when available for a given window). One of the noticeable minor side effect was that navigating menus would have had a tendency to disable highlight from parent menu items earlier than necessary while approaching the child menu.
...
+ Changelog fixed unfinished sentence and tweaks,
2019-04-25 11:50:28 +02:00
omar
16b18b265e
MenuItem, BeginMenu: Fix undesirable tall frames in horizontal layout context, which would be visible when trying to use rounded selectable/menus.
...
PushStyleVar: Added comments in the assert message.
Minor tweaks.
2019-04-25 11:34:07 +02:00
omar
6db0766564
Misc comments, internal renaming, added disable indentation option to Columns demo section.
2019-04-24 17:40:07 +02:00
omar
59f012d656
Internals: ImHashStr() default parameter.
2019-04-19 19:48:51 +02:00
omar
5078fa208b
Added SetNextItemWidth() helper to avoid using PushItemWidth/PopItemWidth() for single items.
2019-04-18 18:29:28 +02:00
omar
0e46d65b03
Misc: Fixed PushItemWidth(-width) (for right-side alignment) laying out certain items (button, listbox, etc.) with negative sizes if the 'width' argument was smaller than the available width at the time of item submission,
2019-04-18 15:46:13 +02:00
omar
a1cf7d636d
Internals: Rework CalcItemWidth / CalcItemSize but make their similarities and their differences more obvious. ( #2449 )
2019-04-18 15:46:13 +02:00
omar
f355a40367
Added commentary about ContentRegion functions. Added internal GetContentRegionMaxScreen() to facilitate internal code at the moment.
2019-04-18 15:46:13 +02:00
omar
9d4a893a77
Internals: Moved CalcItemSize next to CalcItemWidth, added comments to clarify their respective intent. Should have no side effect.
2019-04-18 15:46:12 +02:00
omar
1aeee9d40f
Internals: Columns: Tweaks, renaming. Metrics: Show rectangles for child windows.
...
Renamed SameLine() first parameter.
2019-04-17 22:12:17 +02:00
omar
1d3ebef364
Columns: Fixed boundary of clipping being off by 1 pixel within the left column.
2019-04-17 21:51:13 +02:00
omar
1f25cdd6b4
Clarified asserts comments + todo entries. ( #2500 )
2019-04-17 09:59:03 +02:00
omar
7baf45cffa
Metrics: Added "Show windows rectangles" tool to visualize the different rectangles.
2019-04-16 22:02:56 +02:00
omar
742b5f4c68
Merged a bunch of small changes from Docking branch to reduce the difference between branches.
...
Noticeable: horizontal alignment of CloseButton. Menu fill take account of border. Various stylistic tweaks to accomodate other changes in Docking.
2019-04-16 13:07:43 +02:00
omar
311469e9d6
Internals: Columns: Some renaming, extracted code into GetColumnsID().
2019-04-16 11:58:54 +02:00
omar
e805ca29d8
Internals: Moved resize grips and borders to nav layer 1 so that testing system doesn't attempt to scroll to get them inside the InnerRect.
2019-04-13 18:51:32 +02:00
omar
fb2626c21b
Tests: Added hook/tweaks for imgui-test engine. + Fixed warnings.
2019-04-13 00:29:27 +02:00
omar
07a70dc972
Internals: Merge minor things from range_select branch. Added ImGuiButtonFlags_NoHoveredOnNav. Added IsItemToggledSelected() - unused here. Renaming.
2019-04-11 15:40:36 +02:00
omar
302af7b2c9
FAQ tweaks. Add missing entries in imgui.cpp (which until now where only in the README).
2019-04-07 16:22:41 +02:00
omar
c8fd4afd75
Misc: Added IM_MALLOC/IM_FREE macros mimicking IM_NEW/IM_DELETE so user doesn't need to revert to using the ImGui::MemAlloc()/MemFree() calls directly.
2019-04-05 20:20:24 +02:00
omar
fc52364652
Tabs to Spaces, comments.
2019-04-03 17:25:02 +02:00
omar
4a57507f75
InputText: Work-around for buggy standard libraries where isprint('\t') returns true. ( #2467 , #1336 )
...
Not using isprint. + todo items.
2019-04-03 10:40:14 +02:00
omar
9a0e71a6ec
Internals: Renamed the ImGuiWindow HiddenFrameXXX fields to decorrelate them from resizing behavior, as those values are set by other logic.
2019-03-28 15:41:49 +01:00
omar
cf1b02e54e
Rearrange code in UpdateMouseWheel(). ( #2424 , #1463 ) + Fix old io.FontAllowUserScaling feature (probably should be made obsolete, but until then best fixed)
2019-03-25 19:40:19 +01:00
Luca Rood
1963cc59be
Implement horizontal scrolling with Shift+Scroll
...
This is standard scrolling behaviour in most applications.
2019-03-25 19:09:40 +01:00
omar
d9f6ba3035
IsWindowHovered() made change which should have no effect in master but fix result of IsWindowHovered(ImGuiHoveredFlags_ChildWindows) over multiple viewport in docking branch. ( #2432 )
2019-03-25 15:39:11 +01:00
omar
221bf93a55
Comments, todo list, remove trailing spaces.
2019-03-17 00:56:21 +01:00
omar
857381b9ca
GetMouseDragDelta(): also returns the delta on the mouse button released frame. Verify that mouse positions are valid otherwise returns zero. Removed obsolete comment. Tweaked demo. ( #2419 )
2019-03-15 15:03:37 +01:00
omar
cf2c52282d
Version 1.70 WIP
2019-03-15 13:07:30 +01:00
omar
55c02099c5
Version 1.69, comments, typos
2019-03-13 15:29:43 +01:00
omar
a26085ed53
Internals: Fixed Navigation from reaching ImGuiItemFlags_Disabled items ( #211 ) + Examples comments
2019-03-12 22:23:56 +01:00
Bruce Mitchener
b5d57a6615
Fix typos. ( #2413 )
2019-03-09 10:10:17 +01:00
Bruce Mitchener
17c567c3a9
Don't use const qualified parameters in declarations.
...
This fixes warnings from clang-tidy like this:
parameter 'v_max' is const-qualified in the function declaration;
const-qualification of parameters only has an effect in function definitions
Since values (rather than references or pointers) don't need to be
const, they don't need to be marked that way in the function declaration.
2019-03-08 18:21:11 +01:00
omar
66936880ba
Moved placeholder sections to match Docking branch. Comments.
2019-03-08 18:16:41 +01:00
omar
f717df4eb6
Internal: Columns: Allow to use BeginColumns(1) so code designed for variable number of columns can still call NextColumn etc. ( #125 )
2019-03-07 18:22:28 +01:00
omar
344140004b
Fixed IsItemDeactivated()/IsItemDeactivatedAfterEdit() from not correctly returning true when tabbing out of a focusable widget (Input/Slider/Drag) in most situations. ( #2215 , #1875 )
...
+ Minor renaming of a local variable in widget code.
2019-03-05 22:09:25 +01:00
omar
26328fc9fe
Internal: Tabbing/Focus: Tidying up old code, moved some state to context instead of window. Storing new data will allow us to fix the bug mentioned in #2215 (probably in next commit).
2019-03-05 19:51:27 +01:00
omar
ce4e62649a
Internal: Tabbing: Tweaks to FocusableItemRegister and using the standard mechanism to allow/block Tab being interpreting by tabbing instead of InputText() widget.
2019-03-05 18:24:59 +01:00
omar
ac4842fa17
Nav: Fixed Ctrl+Tab keeping active InputText() of a previous window active after the switch. ( #2380 )
2019-03-05 12:03:54 +01:00
omar
94e794f81b
Renamed GetOverlayDrawList() to GetForegroundDrawList() for consistency. Kept redirection function (will obsolete). ( #2391 )
...
Demo: Using GetBackgroundDrawList() and GetForegroundDrawList() in "Custom Rendering" demo.
2019-03-04 16:35:50 +01:00
omar
96b13760d4
Added GetBackgroundDrawList() helper to quickly get access to a ImDrawList that will be rendered behind every other windows. ( #2391 )
2019-03-04 16:10:51 +01:00
omar
1d0b4df3d9
Misc: Asserting in NewFrame() if style.WindowMinSize is zero or smaller than (1.0f,1.0f). Internal: ImHash functions tweaks. Added InputText() to query status section.
2019-02-28 22:57:22 +01:00
omar
6de09a5e48
Renamed ColorEdit/ColorPicker's ImGuiColorEditFlags_RGB/_HSV/_HEX flags to respectively ImGuiColorEditFlags_DisplayRGB/_DisplayHSV/_DisplayHex. This is anticipation of adding new flags to ColorEdit/ColorPicker functions which would make those ambiguous. ( #2384 ) [@haldean]
2019-02-27 16:45:58 +01:00
David Wingrove
5d7bd2309b
Fixes warning caused by a missing switch/case. ( #2382 , #2381 )
2019-02-24 23:19:36 +01:00
omar
9558e327d2
Log/Capture: Fixed extraneous leading carriage return. Fixed an issue when empty string on a new line would not emit a carriage return.
2019-02-23 16:22:55 +01:00
omar
cd67d4d3c1
Log/Capture: Fixed LogXXX functions 'auto_open_depth' parameter being treated as an absolute tree depth instead of a relative one. Fixed CollapsingHeader trailing ascii representation being "#" instead of "##". Minor tidying up the of code.
2019-02-23 16:07:01 +01:00
omar
2cd7de5666
Internal: Log/Capture: Rework to add an internal LogToBuffer() function which is useful for writing automated tests. Clarified logging state by adding an enum.
2019-02-23 15:57:06 +01:00
omar
3eba840053
Nav: Fixed a tap on AltGR (e.g. German keyboard) from navigation to the menu layer. (follow and extend on e.g #369 , #370 )
2019-02-23 14:50:36 +01:00
omar
81a8730022
Internal: InputText: Renamed is_editable to !is_readonly, Hopefully more explicit. Renamed internal member. Shuffled some code. Added comments, assert (_will_ trigger on !readonly > readonly edge, old bug).
2019-02-21 19:55:36 +01:00
omar
257f5d204e
Version 1.69 WIP
2019-02-20 00:11:36 +01:00
omar
93b06e6e7c
Internal: Changed Scrollbar() signature. Using GetScrollbarID() in InputTextMultiline().
...
Removed multiple semi-colons (#2368 )
2019-02-20 00:08:21 +01:00
omar
3c15dffc94
Version 1.68
2019-02-19 12:50:46 +01:00
omar
76dbff37cd
Selectable: Tweaks for #2347 (demo, changelog, member position)
2019-02-14 20:29:50 +01:00
haldean
b277cfffc8
Selectable: add support for specifying text alignment on selectables ( #2347 )
...
Adds a style variable to Selectable that allows clients to specify the
text alignment within Selectables, adds a section in the demo to
demonstrate selectable text alignment, and a pair of sliders in the
style editor to change selectable alignment on the fly.
In terms of implementation, this one is extremely simple: Selectable was
already calling an API that supports text alignment, but had hard-coded
it to top-left. This changes that to just pass the style variable
straight through to RenderTextClipped. Backwards-compatibility is
preserved by defaulting the text_align parameter to (0, 0), i.e.,
top-left.
This also fixes a bug with selectable text rendering that caused
right-aligned text in a selectable to be clipped incorrectly, because
the wrong clipping rectangle was being used.
2019-02-14 19:38:57 +01:00
omar
3c07ec6a61
Made it illegal/assert when io.DisplayTime == 0.0f (with an exception for the first frame).
...
Causing too many subtle side-effect, e.g. IsNavInputPressed() would return true multiple times in a row.
2019-02-14 17:14:29 +01:00
omar
2206df9e7a
Demo: Added Auto-Scroll option in Log/Console. Comments. Removed some ImColor() uses.
2019-02-14 14:08:36 +01:00
omar
57a586b4f1
Font: Moved functions to internal block (not enforced). Made ConfigData pointer const. Added link to stb's notes.
2019-02-13 18:21:21 +01:00
omar
417cf2237f
Font: Fixed high-level ImGui::CalcTextSize() used by most widgets from erroneously subtracting 1.0f*scale to calculated text width. Among noticeable side-effects, it would make sequences of repeated Text/SameLine calls not align the same as a single call, and create mismatch between high-level size calculation and those performed with the lower-level ImDrawList api. ( #792 )
2019-02-12 22:43:56 +01:00
omar
a79785c0b9
ImDrawData: Added FramebufferScale field (currently a copy of the value from io.DisplayFramebufferScale).
...
This is to allow render functions being written without pulling any data from ImGuiIO, allowing incoming multi-viewport feature to behave on Retina display and with multiple displays. If you are not using a custom binding, please update your render function code ahead of time, and use draw_data->FramebufferScale instead of io.DisplayFramebufferScale. (#2306 , #1676 )
Examples: Metal, OpenGL2, OpenGL3: Fixed offsetting of clipping rectangle with ImDrawData::DisplayPos != (0,0) when the display frame-buffer scale scale is not (1,1). While this doesn't make a difference when using master branch, this is effectively fixing support for multi-viewport with Mac Retina Displays on those examples. (#2306 ) Also using ImDrawData::FramebufferScale instead of io.DisplayFramebufferScale.
Examples: Clarified the use the ImDrawData::DisplayPos to offset clipping rectangles.
2019-02-11 18:52:08 +01:00
omar
afc36cf802
Window: Fixed initial width of collapsed windows not taking account of contents width (broken in 1.67). ( #2336 , #176 )
2019-02-08 14:34:42 +01:00
omar
f366828dd2
Minor tweaks to reduce false positive of PVS Studio static analyzer.
2019-02-06 13:16:52 +01:00
omar
5bdc7d7a6f
Menus: Tweaked horizontal overlap between parent and child menu (to help convey relative depth) from using style.ItemSpacing.x to style.ItemInnerSpacing.x, the later being expected to be smaller. ( #1086 )
2019-02-06 12:32:10 +01:00
omar
e3dd95d335
Added IsItemActivated() as an extension to the IsItemDeactivated/IsItemDeactivatedAfterEdit functions which are useful to implement variety of undo patterns. ( #820 , #956 , #1875 )
2019-02-06 11:52:42 +01:00
omar
b8c24aff4c
Internals: EndGroup: Removed unnecesary parameter to ItemSize()
2019-02-05 21:16:54 +01:00
omar
521470b3cd
Internals: Removed unnecessary code.
2019-02-05 21:16:32 +01:00
omar
8e44aacc8e
Fonts: Fixed crash if FontGlobalScale is zero. Correctly debug naming default font if not 13 px. Demo: Moved PopupRounding along with other rounding values. Metrics: Displaying indexes with idx to be correct / less misleading.
2019-02-04 23:34:20 +01:00
omar
c23a19c26f
Internals: Exposed internal SetWindowPos to imgui_internal.h (for imgui-test)
2019-02-03 17:29:51 +01:00
omar
ac6d474103
Removed io.DisplayVisibleMin/DisplayVisibleMax (which were marked obsolete and removed from viewport/docking branch already).
2019-02-01 16:37:07 +01:00
omar
5cb7040f66
Internals: Tracking dummy select scope id (currently always zero) to facilitate merging of the range_select branch. ( #1861 )
2019-02-01 12:14:38 +01:00
omar
0d4a2a2cd0
Internals: Track ActiveIdHasBeenPressed (similar to ActiveIdHasBeenEdited). This is currently mostly for the benefit of the range_select branch. ( #1861 )
2019-02-01 12:14:37 +01:00
omar
52a9f8bd3e
Merged from Docking branch: Various small changes, comments, typos fixes, moved blocks. To reduce overall drift. Should be no-op.
2019-02-01 10:26:08 +01:00
omar
fb4f1ff7f6
InputText: Fixed a bug where ESCAPE would be first captured by the Keyboard Navigation code. ( #2321 , #787 )
2019-01-30 15:16:09 +01:00
omar
0a233a505d
imgui-test: Added extra item info callbacks. Using nav_bb for interactions when possible. Comments, Demo tweaks.
2019-01-30 12:53:01 +01:00
Francisco Gallego
aacf993ee1
ImStrncpy: Fixed -Wstringop-truncation warning on GCC8 ( #2323 )
2019-01-30 10:19:40 +01:00
omar
8a4422b2fa
Fixed CloseCurrentPopup() on a child-menu of a modal incorrectly closing the modal. ( #2308 )
2019-01-27 23:54:17 +01:00
omar
13ca2fe845
Silence XCode static analysis false positive ( #2309 )
2019-01-27 23:30:44 +01:00
omar
b26ac92a12
Revert "Added PushID(size_t sz) helper (may not be useful/meaningful for non C/C++ languages)."
...
This reverts commit 20bc06af70
.
2019-01-27 16:43:56 +01:00
omar
f56d9b74cc
Nav: Removed unnecessary test (always failing).
2019-01-27 16:37:02 +01:00
omar
ee3b4f2bf1
Using IM_UNUSED() macro.
2019-01-27 16:23:23 +01:00
omar
c3c2cd1e82
Fix various XCode and PVS-Studio static analyzer warnings ( #2309 )
2019-01-27 16:18:23 +01:00
omar
20bc06af70
Added PushID(size_t sz) helper (may not be useful/meaningful for non C/C++ languages).
2019-01-27 16:18:23 +01:00
omar
c362a96a3f
When resizing from an edge, the border is more visible and better follow the rounded corners. Border rendering moved to RenderOuterBorders so it can be called in a different order for docking. ( #1495 , #822 )
2019-01-23 19:21:25 +01:00
omar
f14f93ef6e
Fixed range-version of PushID() and GetID() not honoring the ### operator to restart from the seed value.
2019-01-21 16:50:27 +01:00
omar
28901dd104
Internals: Tweaks. Comments about PushID/GetID public function.
2019-01-21 16:50:27 +01:00
omar
f994b8aab8
ImHash: Moved crc32 table out of the function so it can be shared, also avoid cases were compiler tries to makes its initialization thread-safe.
2019-01-21 16:50:27 +01:00
Thomas Ruf
1e4cf67a53
avoid floating point exception when _EM_OVERFLOW is enabled ( #2303 )
2019-01-21 16:43:07 +01:00
omar
00ffdb9fa9
ImGuiTextBuffer: Added append() function (unformatted).
2019-01-20 22:21:26 +01:00
omar
2c38b32db1
Removed trailing spaces ( #2038 , #2299 )
2019-01-20 17:56:17 +01:00
omar
f94ba546ba
Added checks for "zero-as-null-pointer-constant" warnings for older Clang ( #2299 , followup to #2277 )
2019-01-20 17:46:00 +01:00
omar
fcd61e0c59
Comments about DLL boundaries and using TLS variables for GImGui. ( #2292 )
2019-01-18 23:04:45 +01:00
omar
06aaf23877
Various tweaks and fixes as suggested by PVS Studio (thanks PVS Studio!)
2019-01-16 16:10:51 +01:00
omar
09f1cb642b
FreeType: Minor tweaks previous commit ( #2285 )
2019-01-15 21:50:43 +01:00
omar
95ee99e6aa
Version 1.68 WIP
2019-01-15 20:19:05 +01:00
omar
b8c6e31c2d
Fixed cursor issue caused by 6890e08b
when calling BeginChild/EndChild multiple times to reappend into a same child window. ( #2282 )
2019-01-15 15:05:56 +01:00
omar
7a5058e3bf
Version 1.67
2019-01-14 17:41:44 +01:00
omar
6e41745f31
Added a bunch of diagnostic ignore to cope with Clang -Weverything being absurd. Also fixed two legit warnings. ( #2277 )
2019-01-13 18:57:46 +01:00
omar
49994ceb6e
FAQ entry, moved ImTextureId, Gallery links.
2019-01-12 19:48:07 +01:00
omar
1f6e0b2f98
ImVector: Made a struct. Using T/T* in the code instead of value_type/iterator. Renamed index_from_pointer() to index_from_ptr() (was not documented, added in 1.63, users not supposed to use ImVector, hopefully not a big deal).
2019-01-10 15:51:08 +01:00
omar
61a99f994e
Minot internal tweaks, comments
2019-01-08 23:11:54 +01:00
omar
f53cd3ee0f
Internals: LowerBound: Use raw pointer typedefs, we never use iterator anywhere else in the codebase.
...
Demo: Typo.
C98 fix.
2019-01-08 17:37:07 +01:00
omar
57b1622afc
Added IMGUI_USE_STB_SPRINTF (undocumented) ( #1038 )
2019-01-08 15:28:33 +01:00
omar
b33977bc15
Tests: Reworking hook prototypes for imgui-test to be faster and multi-context friendly.
2019-01-07 23:59:05 +01:00
omar
3997e8b555
Fixed animated window titles from being updated when displayed in the CTRL+Tab list. + Adding overkill helpers for reusing buffers. ( #787 )
2019-01-07 22:46:42 +01:00
omar
5cb7ce2085
Renamed ImFont::GlyphRangesBuilder to ImFontGlyphRangesBuilder. Keep redirection typedef (will obsolete).
2019-01-06 16:59:51 +01:00
omar
c3af134cc8
IO: Renamed InputCharacters[], marked internal as was always intended. AddInputCharacter() goes into a queue which can receive as many characters as needed during the frame. This is useful for automation to not have an upper limit on typing speed. Will later transition key/mouse to use the event queue later.
2019-01-06 16:37:42 +01:00
omar
9ba202821f
Nav: Fixed an keyboard issue where holding Activate/Space for longer than two frames on a button would unnecessary keep the focus on the parent window, which could steal it from newly appearing windows. ( #787 )
2019-01-04 19:03:56 +01:00
omar
d223d1e951
Added bindings in Readme. Added internal IMGUI_DEBUG_LOG() helper. Comments, missing breaking changes note relative to imgui_impl_xxxx changes, not really part of core but worth adding in the imgui.cpp breaking change section.
2019-01-04 18:01:43 +01:00
omar
6777544855
Added sanity check to debug parent/child ordering issues (they would generally manifest with an assert/crash in EndFrame bu tthis assert will catch some earlier).
2019-01-03 21:42:36 +01:00
omar
237109caa5
Internals: Extracted code out of EndFrame() into UpdateMouseMovingWindowEndFrame()
2019-01-02 23:08:32 +01:00
omar
b3469fa94b
Alternative fix for bug introduced in d845135
( #1651 ), fix CTRL+Tab and fallback tooltip.
2019-01-02 23:08:32 +01:00
omar
3e30bfd6c9
Revert "Fixes crash/assert bug introduced in d845135
( #1651 ): would assert when showing the CTRL+Tab list and or fallback "...." tooltip."
...
This reverts commit 1b0e38df47
.
2019-01-02 22:56:17 +01:00
omar
1b0e38df47
Fixes crash/assert bug introduced in d845135
( #1651 ): would assert when showing the CTRL+Tab list and or fallback "...." tooltip.
2019-01-02 22:14:28 +01:00
omar
6b97ded438
Happy new year! & comments
2019-01-02 10:57:57 +01:00
omar
e21bc44684
Comments: fixed missing line in the "how a simple rendering function may look like" section ( #2258 )
2019-01-02 09:57:25 +01:00
omar
d845135273
Error recovery: Extraneous/undesired calls to End() are now being caught by an assert in the End() function itself at the call site (instead of being reported in EndFrame). Past the assert, they don't lead to crashes any more. Missing calls to End(), pass the assert, should not lead to crashes any more, nor to the fallback/debug window appearing on screen. ( #1651 ).
2018-12-23 18:00:37 +01:00
omar
a9a60a24c1
Tweaked asserts
2018-12-23 17:51:50 +01:00
omar
b471813f54
Made it illegal to call Begin("") with an empty string. This somehow accidentally worked before but had various undesirable side-effect as the window would have ID zero. In particular it is causing problems in viewport/docking branches.
2018-12-20 20:01:02 +01:00
omar
5691385a33
IO: Added BackendPlatformUserData, BackendRendererUserData, BackendLanguageUserData void* for storage use by back-ends. ( #2004 + for cimgui)
2018-12-20 11:41:24 +01:00
omar
6890e08bc5
Fixed using SetNextWindowPos() on a child window (which wasn't really documented) position the cursor as expected in the parent window, so there is no mismatch between the layout in parent and the position of the child window. Demo tweak and adding some child window stuff
2018-12-19 15:19:31 +01:00
omar
89ac0ea7c1
Various user-facing comments
2018-12-19 11:19:55 +01:00
omar
84d1ce3958
Tidying up README, moved entries to FAQ, updated screenshots, removed comma in title.
2018-12-18 16:17:27 +01:00
omar
ca953f0fee
Fix merge issue on master.
2018-12-18 15:11:11 +01:00
omar
ae76a1fda7
Window, Focus, Popup: Fixed an issue where closing a popup by clicking another window with the _NoMove flag would refocus the parent window of the popup instead of the newly clicked window.
2018-12-18 15:01:15 +01:00
omar
510ca373a2
Moved setting up NavHideHighlightOneFrame from lower-level ClosePopupToLevel() to CloseCurrentPopup() with an explanation. (Followup on 68d3e139a7
)
2018-12-18 14:59:22 +01:00
omar
65dac02171
Internals: Popups: Renamed CurrentPopupStack to BeginPopupStack which is much less ambiguous.
2018-12-14 18:44:17 +01:00
omar
f1c7596409
Internals: Popup related comments. Renamed the misleading internal ClosePopup() function. Added bool* test to BeginPopupModal in demo.
2018-12-14 18:42:22 +01:00
omar
587506dd57
Tests: Changed prototype of ImGuiTestEngineHook_ItemAdd to match functions called in same spot. Made ButtonBehavior submit fallback item info if ItemAdd() was not called (for resize grips, resize borders, scrollbar, columns, etc.)
2018-12-14 11:27:02 +01:00
omar
8497948ba0
Comments, minor tweaks.
2018-12-13 19:17:36 +01:00
omar
febc3e6aa1
Internals: Windows hidden with HiddenFramesRegular (but NOT HiddenFramesForResize) preserve their SizeContents, so restoring a auto-resize window after it's been hidden by tabs won't reset its size for a frame. Arguable. Let's see how it goes. (Followup to b48e295bddbf965d7382ec5578ed05d2fe601114)
2018-12-11 19:19:12 +01:00
omar
d9a84de9d9
Contents size is preserved while a window collapsed. Fix auto-resizing window losing their size for one frame when uncollapsed.
2018-12-11 19:08:06 +01:00
omar
54a60aaa40
Added BETA api for Tab Bar/Tabs widgets. ( #261 , #351 ) (merged this feature from the from Docking branch so it can be used earlier as as standalone feature)
...
- Added BeginTabBar(), EndTabBar(), BeginTabItem(), EndTabItem(), SetTabItemClosed() API.
- Added ImGuiTabBarFlags flags for BeginTabBar().
- Added ImGuiTabItemFlags flags for BeginTabItem().
- Style: Added ImGuiCol_Tab, ImGuiCol_TabHovered, ImGuiCol_TabActive, ImGuiCol_TabUnfocused, ImGuiCol_TabUnfocusedActive colors.
- Demo: Added Layout->Tabs demo code.
- Demo: Added "Documents" example app showcasing possible use for tabs.
2018-12-11 12:36:47 +01:00
omar
cc1283fb78
Added ImGuiWindowFlags_UnsavedDocument window flag to append '*' to title without altering the ID, as a convenience to avoid using the ### operator. (merged from Docking branch)
2018-12-11 12:20:48 +01:00
omar
15447f5b7b
Using named flags instead of 0 + shallow formatting tweaks from other branches.
2018-12-11 12:14:27 +01:00
omar
9476e07d5a
Added io.ConfigWindowsMoveFromTitleBarOnly option. Still is ignored by window with no title bars (often popups). This affects clamping window within the visible area: with this option enabled title bars need to be visible. ( #899 )
...
Tweaked default value of style.DisplayWindowPadding from (20,20) to (19,19) so the default style as a value which is the same as the title bar height.
2018-12-10 16:05:30 +01:00
omar
59f3c4fc20
Renamed io.ConfigResizeWindowsFromEdges to io.ConfigWindowsResizeFromEdges and removed its [Beta] mark. Resizing windows from edge is now enabled by default (io.ConfigWindowsResizeFromEdges=true). Note that it only works _if_ the back-end sets ImGuiBackendFlags_HasMouseCursors, which the standard back-end do.
2018-12-10 15:41:01 +01:00
omar
d20e3ee710
Tests: Adding imgui-test engine hooks (experimental) to provide missing widget state to the testing system.
2018-12-10 14:30:41 +01:00
omar
125e62491e
Internals: Nav: Added ImGuiNavLayer_ to clarify semantic of previously integer NavLayer values, and not pretend that increment/decrement operators on them super flexible. + Storage tweaks.
2018-12-04 14:34:49 +01:00
omar
fb6ef8b1db
Comments, tweak
2018-12-03 23:50:59 +01:00
omar
10e13dd6bb
Version 1.67 WIP (again, this time IMGUI_VERSION_NUM has leeway for another hot-fix).
2018-12-03 12:19:23 +01:00
omar
801645d350
Version 1.66b (will revisit how to change IMGUI_VERSION_NUM across versions, this commit reduces the numerical IMGUI_VERSION_NUM compared to the commit on Nov 22).
2018-12-03 10:17:17 +01:00
omar
7658035e5a
About, IO: Added io.BackendPlatformName, io.BackendRendererName for informational/QA purpose.
2018-11-30 18:30:21 +01:00
omar
3849def253
Added ShowAboutWindow(), About Window now showing various config/build information.
2018-11-30 18:30:21 +01:00
omar
baf67d393f
When the focused window become inactive don't restore focus to a window with the ImGuiWindowFlags_NoInputs flag. ( #2213 )
2018-11-29 23:25:29 +01:00
omar
4105cc7e97
Added ImGuiConfigFlags_None, ImGuiBackendFlags_None for good measure.
2018-11-27 19:46:14 +01:00
omar
d27ffefbd4
Version 1.67 WIP
2018-11-22 18:59:57 +01:00
omar
da3c4330c1
Version 1.66
2018-11-22 15:11:52 +01:00
omar
cc4b1f9e47
Nav: Fixed explicit directional input not re-highlighting current nav item if there is a single item in the window and highlight has been previously disabled by the mouse. ( #787 )
2018-11-21 16:07:04 +01:00
omar
b9ae9bb1e3
Internals: Using GetOverlayDrawList(ImGuiWindow*) to match syntax of viewport/master branches. Fixed compiling with IMGUI_DEBUG_NAV_RECTS
2018-11-21 15:37:29 +01:00
omar
50c43d1c8e
Removed unnecessary ImGui:: prefixes.
2018-11-15 16:43:05 +01:00
omar
6b4443755d
Internals: Added FindWindowByID() helper. ( #2190 )
2018-11-15 16:41:48 +01:00
omar
aa668c410a
Nav: Fixed an assert in certain circumstance (mostly when using popups) when mouse positions stop being valid. ( #2168 ) + adding a else block to make NavCalcPreferredRefPos() more explicit.
2018-11-15 13:56:27 +01:00
omar
19b4fcdacb
Made IsWindowFocused() work outside of NewFrame()-EndFrame() and added comments about how ImGuiFocusedFlags_AnyWindow should NOT be used in place of io.WantCaptureMouse. ( #2185 )
2018-11-13 11:23:15 +01:00
omar
c808eb92c6
Config: Added IMGUI_DISABLE_WIN32_FUNCTIONS to disable linking with _any_ Win32 function, as a general forward compatible measure.
2018-11-05 17:28:00 +01:00
Torkel Bjørnson-Langen
1441756a0f
Doc: Fixed comments referring to LoadFromFileTTF() instead of AddFontFromFileTTF() ( #2153 )
2018-11-05 14:17:51 +01:00
omar
12c72d2893
Fixed OpenGL texture loading example in comment + Discourse link to root of discourse
2018-10-25 21:32:29 +02:00
omar
a72d5ada61
Misc comments improvements
2018-10-25 19:02:43 +02:00
omar
ac9aaf4b6e
Comments in demo and opengl code + Internals: Added HoveredIdNotActiveTimer tracking hovering time unless the item is active, which is a commonly useful pattern.
2018-10-25 17:45:48 +02:00
omar
5be915d6ab
Added ImGuiWindowFlags_NoMouseInputs which is basically the old ImGuiWindowFlags_NoInputs (essentially we have renamed ImGuiWindowFlags_NoInputs to ImGuiWindowFlags_NoMouseInputs). Made the new ImGuiWindowFlags_NoInputs encompass both NoMouseInputs+NoNav, which is consistent with its description. ( #1660 , #787 )
2018-10-15 18:23:18 +02:00
omar
90b50bd4c3
Window: Added ImGuiWindowFlags_NoBackground flag for consistency and to ease creating new flag combinations. Added ImGuiWindowFlags_NoDecoration helper flag which is essentially NoTitleBar+NoResize+NoScrollbar+NoCollapse. ( #1660 )
2018-10-15 18:16:49 +02:00
omar
ca753829cb
Revert using wchar_t functions ( 9cf94d5
+ 2eaf5b0
). Big mistake, wchar_t is not guaranteed to be 16-bits.
2018-10-12 15:48:38 +02:00
omar
28953208d4
Tests: Added imgui-test engine hooks (experimental).
2018-10-12 15:47:15 +02:00
omar
9cf94d5dd6
RenderText(), InputTextMultiline(): Optimization for large text by using memchr, wmemchr, wcschr when appropriate.
2018-10-12 12:34:47 +02:00
omar
0fe48cbb61
Renamed misc/stl/imgui_stl.h,.cpp to misc/cpp/imgui_stdlib.h in prevision for other files.( #2035 , #2096 )
...
Added misc/README file.
2018-10-12 11:16:51 +02:00
omar
ed4dcd9072
Shutdown: Unlock font atlas before destroying context, so we can destroy a context between NewFrame and EndFrame if we wait (facilitate main loop structures). Internals: GetWindowScrollMaxX(), GetWindowScrollMaxY()
2018-10-11 22:38:26 +02:00
omar
cf0afb48ac
TextUnformatted: Using memchr(), fixed not properly testing for text_end bound + comments.
...
Internals: Added ImStreolRange() + used in LogRenderedText() + comments.
2018-10-11 12:53:10 +02:00
omar
d02b11dfbd
ImGuiTextBuffer: Avoid heap allocation when empty.
2018-10-11 12:08:09 +02:00
omar
1efafa1d29
Comments + internal using Tab Stop terminology (ImGuiItemFlags_NoTabStop instead of !ImGuiItemFlags_AllowKeyboardFocus)
2018-10-10 12:09:06 +02:00
omar
fbfe193fcd
Window, Inputs: Fixed resizing from edges when io.MousePos is not pixel-rounded by rounding mouse position input. ( #2110 )
2018-10-02 18:49:55 +02:00
omar
ae7f833c69
Window: Resizing from edges (with io.ConfigResizeWindowsFromEdges Beta flag) extends the hit region of root floating windows outside the window, making it easier to resize windows. Resize grips are also extended accordingly so there are no discontinuity when hovering between borders and corners. ( #1495 , #822 , #2110 )
2018-10-02 18:43:10 +02:00
omar
e623be998d
Drag and Drop: Added GetDragDropPayload() to peek directly into the payload (if any) from anywhere. ( #143 )
2018-10-01 15:53:18 +02:00
omar
3dcd552628
Fixed extraneous static attribute. ( #2105 )
2018-09-27 13:01:51 +02:00
Loïc HAMOT
9aae21483a
Fix missing IMGUI_API and mismatching namespace internal's CreateNewWindowSettings ( #2105 )
2018-09-27 12:59:22 +02:00
omar
61d94ff88e
Renamed SetScrollHere() to SetScrollHereY(). Kept redirection function (will obsolete).
2018-09-26 21:30:37 +02:00
omar
a7d3ae8937
BeginChild(): Fixed BeginChild(const char*, ...) variation erroneously not applying the ID stack to the provided string to uniquely identify the child window. This was undoing an intentional change introduced in 1.50 and broken in 1.60. ( #1698 , #894 , #713 ) + reworked the Begin/BeginChild comments in imgui.h.
2018-09-26 21:24:42 +02:00
omar
e2436ca625
Nav, Focus: Fixed ImGuiWindowFlags_NoBringToFrontOnFocus windows not being restoring focus properly after the main menu bar or last focused window is deactivated.
2018-09-10 20:40:21 +02:00
omar
062b1f0463
Fixed calling SetNextWindowSize()/SetWindowSize() with non-integer values leading to accidental alteration of window position. We now round the provided size. ( #2067 )
2018-09-07 22:30:46 +02:00
omar
2eaf722fd7
Fixed calling DestroyContext() always saving .ini data with the current context instead of the supplied context pointer. ( #2066 )
2018-09-07 17:24:56 +02:00
omar
eb7033e75b
Version 1.66 WIP
2018-09-06 21:44:59 +02:00
omar
e0cab5664a
Version 1.65
2018-09-06 15:58:58 +02:00
omar
5a679a45cc
Renamed stb_truetype.h to imstb_truetype.h, stb_textedit.h to imstb_textedit.h, and stb_rect_pack.h to imstb_rectpack.h. ( #1718 , #2036 )
...
If you were conveniently using the imgui copy of those STB headers in your project, you will have to update your include paths.
The reason for this change is to avoid conflicts for projects that may also be importing their own copy of the STB libraries. Note that imgui's copy of stb_textedit.h is modified.
2018-09-06 15:58:25 +02:00
omar
e58bc3d5b7
Refactor: Tweaked and improved the sectioning to facilitate grepping/moving around and applied to all files. ( #2036 )
2018-09-06 11:36:00 +02:00
omar
0b18c11440
Refactor: Moved ImFile functions. ( #2036 )
2018-09-06 11:36:00 +02:00
omar
ab64e8f993
Refactor: Moved one indentation level in the bulk of the ShowMetricsWindow() function. Should appear as a small diff if whitespaces changes are ignored. ( #2036 )
2018-09-06 11:36:00 +02:00
omar
bb3184af74
Refactor: moved low-layout helpers to imgui_widgets.cpp (Spacing, Dummy, NewLine, Separator, etc.) ( #2036 )
2018-09-05 20:54:28 +02:00
omar
cbdce80837
Internals: Refactor: Moved render functions to their own section. ( #2036 )
2018-09-05 20:46:57 +02:00
omar
65876f348a
Nav: Removed the [Beta] tag from various descriptions of the gamepad/keyboard navigation system. Although it is not perfect and will keep being improved, it is fairly functional and used by many. ( #787 )
2018-09-05 17:33:00 +02:00
omar
77ba883f23
Renamed io.OptCursorBlink/io.ConfigCursorBlink to io.ConfigInputTextCursorBlink. ( #1427 ) + changed ImGuiIO layout.
2018-09-05 17:29:47 +02:00
omar
bbcc976739
Demo: Added a "Configuration" block to make io.ConfigFlags/io.BackendFlags more prominent.
2018-09-05 17:29:47 +02:00
omar
b944aa623c
Minor mostly inconsequential merges from Viewport + LoadIniSettingsFromMemory() entirely skip lines starting with ';'
2018-09-05 11:52:48 +02:00
omar
40db2ca098
Fixed a build issue with non-Cygwin GCC under Windows.
2018-09-04 18:58:20 +02:00
omar
bcb1441ce7
Version 1.65 WIP
2018-09-03 14:38:04 +02:00
omar
5d40d295b3
Comments, readme updates
2018-08-31 11:37:14 +02:00
omar
48db5713d6
Version 1.64
2018-08-31 10:00:03 +02:00
omar
38cfcf9fbc
Tweak comments and indexes
2018-08-31 09:59:58 +02:00
omar
8a216fe756
Refactor: Internals: Moved Tooltip functions in imgui.cpp in their own section + comments. ( #2036 )
2018-08-30 21:15:12 +02:00
omar
fd2bfb7e07
Refactor: Internals: Moved Popup functions in imgui.cpp in their own section. (part 3) ( #2036 )
2018-08-30 21:00:51 +02:00
omar
064b949bc2
Refactor: Internals: Moved Popup functions in imgui.cpp in their own section. (part 2) ( #2036 )
2018-08-30 20:59:24 +02:00
omar
2a0d26e603
Refactor: Internals: Moved Popup functions in imgui.cpp in their own section. (part 1) ( #2036 )
2018-08-30 20:58:36 +02:00
omar
df37a156e8
Refactor: Moved Scrollbar function from imgui.cpp to imgui_widgets.cpp, added file index ( #2036 )
2018-08-30 20:51:57 +02:00
omar
728b2ef026
Refactor: Internals: Moved Navigation functions in imgui.cpp in their own section. DONE! (part 9) ( #2036 , #787 )
2018-08-30 19:23:11 +02:00
omar
cda45737ab
Refactor: Internals: Moved Navigation functions in imgui.cpp in their own section. (part 8) ( #2036 , #787 )
2018-08-30 19:23:11 +02:00
omar
acf3cc4c3f
Refactor: Internals: Moved Navigation functions in imgui.cpp in their own section. (part 7) ( #2036 , #787 )
2018-08-30 19:23:11 +02:00
omar
8a6fd237f6
Refactor: Internals: Restored new lines in NavUpdate() ... (part 6) ( #2036 , #787 )
2018-08-30 19:23:11 +02:00
omar
84eb2682b7
Refactor: Internals: Moved Navigation functions in imgui.cpp in their own section (moved NavUpdate which would not diff properly unless empty lines were removed, hence the previous patch). (part 5) ( #2036 , #787 )
2018-08-30 19:23:11 +02:00
omar
73052dc00c
Refactor: Internals: Removing new lines from NavUpdate solely because I couldn't find another way to get a neat diff/patch when moving it. (part 4) ( #2036 , #787 )
2018-08-30 19:23:11 +02:00
omar
6bda59e5b7
Refactor: Internals: Moved Navigation functions in imgui.cpp in their own section (extracted some code out of NavUpdate()). (part 3) ( #2036 , #787 )
2018-08-30 19:23:11 +02:00
omar
60ee4de56d
Refactor: Internals: Moved Navigation functions in imgui.cpp in their own section. (part 2) ( #2036 , #787 )
2018-08-30 19:23:10 +02:00
omar
ce58795bdf
Refactor: Internals: Moved Navigation functions in imgui.cpp in their own section. (part 1) ( #2036 , #787 )
2018-08-30 19:23:10 +02:00
omar
f2926f910f
Refactor: Internals: Moved Logging functions in imgui.cpp in their own section. ( #2036 )
2018-08-30 19:23:10 +02:00
omar
15172f0742
Refactor: Internals: Moved Settings functions in imgui.cpp in their own section. ( #2036 )
2018-08-30 19:23:10 +02:00
omar
98f618ed18
Refactor: Internals: Moved various functions in imgui.cpp ( #2036 )
2018-08-30 19:23:10 +02:00
omar
2714f8fa23
Refactor: Moved Slider/Drag/Input functions + support DataType stuff from imgui.cpp to imgui_widgets.cpp ( #2036 )
2018-08-30 15:40:46 +02:00
omar
c25f48b902
Refactor: Moved InputText functions from imgui.cpp to imgui_widgets.cpp ( #2036 )
2018-08-30 15:40:46 +02:00
omar
ad0bfdcd95
Refactor: Moved ColorEdit/ColorPicker/ColorButton/etc. functions from imgui.cpp to imgui_widgets.cpp ( #2036 )
2018-08-30 15:40:45 +02:00
omar
5dc954f5d7
Refactor: Moved Tree/Selectable functions from imgui.cpp to imgui_widgets.cpp ( #2036 )
2018-08-30 15:40:45 +02:00
omar
a265c62636
Refactor: Moved Plot/Value functions from imgui.cpp to imgui_widgets.cpp ( #2036 )
2018-08-30 15:40:45 +02:00
omar
0e9577d0da
Refactor: Moved Menu functions from imgui.cpp to imgui_widgets.cpp ( #2036 )
2018-08-30 15:40:44 +02:00
omar
f26b8c1e07
Refactor: Moved Combo/ListBox functions from imgui.cpp to imgui_widgets.cpp ( #2036 )
2018-08-30 14:55:27 +02:00
omar
6468a3c0ce
Refactor: Moved Button/Image/Checkbox/RadioButton/Bullet/ProgressBar functions from imgui.cpp to imgui_widgets.cpp ( #2036 )
2018-08-30 14:50:32 +02:00
omar
3eaa063984
Refactor: Moved Text functions from imgui.cpp to imgui_widgets.cpp ( #2036 )
2018-08-30 14:50:32 +02:00
omar
f2aa124eb8
Version 1.64 WIP
2018-08-30 14:25:23 +02:00
omar
9e0f24dcb6
Version 1.63
2018-08-29 16:20:25 +02:00
omar
92edb7a4e3
Internals: Tidying up, moving helpers to imgui_internal.h (in prevision of 1.64 refactor)
2018-08-29 16:12:54 +02:00
omar
2598d26c73
ColorEdit4: Fixed a bug when text input or drag and drop leading to unsaturated HSL values would erroneously alter the resulting color. ( #2050 )
2018-08-29 13:30:46 +02:00
omar
f9634feb66
Internals: Merged some changes to facilitate 1D->2D transition for some elements, and merging the stack layout PR ( #846 )
2018-08-28 19:10:59 +02:00
omar
06e917f135
Internals: Renaming of non-user facing parts from ValueChanged to Edited terminology. ( #2034 , #820 , #956 , #1875 )
2018-08-23 13:47:37 +02:00
omar
0810d57819
Renamed IsItemDeactivatedAfterChange() to IsItemDeactivatedAfterEdit() for consistency with new IsItemEdited() API. Kept redirection function (will obsolete fast as IsItemDeactivatedAfterChange() is very recent). ( #820 , #956 , #1875 , #2034 )
2018-08-23 13:26:14 +02:00
omar
e28b1078f5
Added IsItemEdited() to query if the last item modified its value (or was pressed). This is equivalent to the bool returned by most widgets. It is useful in some situation e.g. using InputText() with ImGuiInputTextFlags_EnterReturnsTrue. ( #2034 )
2018-08-23 13:21:01 +02:00
omar
abaa274592
Internals: Wired a ImGuiItemStatusFlags_ValueChanged into ItemStatusFlags, for an hypothetical IsItemValueChanged() function. ( #2034 )
2018-08-22 22:31:51 +02:00
omar
102d5e6de6
Rearrange header comments to find enums easily + fixed inconsistent sorting.
2018-08-22 22:13:05 +02:00
omar
7011d87bf8
InputText: Improved sturdiness if the ResizeCallback purposefully modify data->BufTextLen or data->BufSize. ( #2006 , #1443 , #1008 )
2018-08-22 21:27:27 +02:00
omar
7d9d9bc34e
InputText: Fix ResizeCallback callback on restoring initial value with Escape key. Avoid over-allocating for InitialText storage. ( #2006 , #1443 , #1008 )
2018-08-22 21:11:55 +02:00
omar
ea9f5d7600
Added optional misc/stl/imgui_stl.h wrapper to use with STL types (e.g. InputText with std::string). ( #2035 , #2006 , #1443 , #1008 )
2018-08-22 13:25:08 +02:00
omar
8d639ec60d
InputText: callback InsertChars() support resize callbacks correctly (followup to 24ff259
) + fixed demo to use those functions. ( #2006 , #1443 , #1008 ).
2018-08-22 13:09:44 +02:00
omar
ea1906004b
InputText: Fixed a few pathological crash cases on single-line InputText widget with multiple millions characters worth of contents. Because the current text drawing function reserve for a worst-case amount of vertices and how we handle horizontal clipping, we currently just avoid displaying those single-line widgets when they are over a threshold of 2 millions characters, until a better solution is found.
2018-08-22 12:46:47 +02:00
omar
5122c76441
InputText: Fixed not tracking the cursor horizontally When modifying the text buffer through a callback.
2018-08-22 12:46:47 +02:00
omar
68448c5faa
ImDrawList: Large text passed to AddText() are being scanned for their end in order to avoid pre-reserving too many vertices.
2018-08-22 12:46:47 +02:00
omar
2dc5ec95d7
Internals: InputText: Renaming. Comments.
2018-08-22 12:46:46 +02:00
omar
9f393c38e9
InputText: Renamed ImGuiTextEditCallback to ImGuiInputTextCallback, ImGuiTextEditCallbackData to ImGuiInputTextCallbackData for consistency. Kept redirection types (will obsolete).
2018-08-22 12:46:45 +02:00
omar
24ff259816
InputText: Added support for buffer size/capacity changes via the ImGuiInputTextFlags_CallbackResize flag. ( #2006 , #1443 , #1008 ).
2018-08-21 21:36:07 +02:00
omar
4de6e1f7e4
InputText: Internal renaming of some fields + final copy uses edit_state.CurLenA+1 instead of buf_size.
2018-08-21 15:14:10 +02:00
omar
0fd6e9bc0d
InputText: Fixed minor off-by-one issue when submitting a buffer size smaller than the initial zero-terminated buffer contents.
2018-08-21 14:27:57 +02:00
omar
e6c78f9470
InputText: (Breaking change) removed ImGuiTextEditCallbackData::ReadOnly since it is a duplication of (ImGuiTextEditCallbackData::Flags & ImGuiInputTextFlags_ReadOnly) ( #211 )
2018-08-21 14:27:57 +02:00
omar
5942c08143
Added IMGUI_VERSION_NUM for easy compile-time testing. ( #2025 )
2018-08-21 14:27:57 +02:00
omar
f23d29b481
Added links to Discourse forums.
2018-08-20 10:45:10 +02:00
omar
4910629f6a
Internals: Moved code out of SliderBehaviorT to reduce code bloat and also because caller may have use for the grab_bb for styling purposes.
2018-08-20 09:59:51 +02:00
omar
bb2de30e3e
Internals: Added ImTextCountUtf8BytesFromChar() helper.
2018-08-17 11:33:45 -07:00
omar
ac39c4b2a8
SplitterBehavior: Fix for when the sizes are already under the minimum desired size.
2018-08-17 11:33:40 -07:00
omar
341ebd961b
Fixed assertion when transitioning from an active ID to another within a group, affecting ColorPicker (broken in 1.62). Made ActiveIdIsAlive track the actual ID to avoid incorrect polling in BeginGroup/EndGroup when the ID changes within the group. ( #2023 , #820 , #956 , #1875 ).
2018-08-16 13:33:16 -07:00
omar
8972ebae73
Metrics: Added io.MetricsActiveAllocations, moving away from the cross-context global counters than we previously used. ( #1565 , #1599 , #586 )
2018-08-15 16:28:39 -07:00
omar
caaa746424
Nav: NavWindowingList doesn't save to .ini file. TODO entries.
2018-08-13 17:29:20 -07:00
omar
fda9dc8e18
Internals: Extracted RenderMouseCursor() out of EndFrame(). Moved to imgui_draw.cpp along with RenderArrowPointingAt(). Comments. ( #2013 )
2018-08-09 18:07:49 +02:00
omar
421dc19798
Examples: Cast to ImTextureID instead of void* when assigning to TexId. Applied to all examples. ( #2015 )
2018-08-09 17:49:48 +02:00
omar
d5793102db
imgui_impl_opengl3: Advertised as a ES2/ES3 renderer. Defaults to ES3 on Android. Default on "#version 300 es" on ES 3. ( #2002 , #1873 )
2018-08-09 17:42:53 +02:00
omar
0065fe16a2
Nav: Made CTRL+TAB skip menus + skip the current navigation window if is has the ImGuiWindow_NoNavFocus set. ( #787 )
...
While it was previously possible, you won't be able to CTRL-TAB out and immediately back in a window with the ImGuiWindow_NoNavFocus flag.
2018-08-08 16:03:13 +02:00
omar
9d8a0374d3
Use literals in place of LLONG_MIN, LLONG_MAX ULLONG_MAX if they are not available. Amend 498c0dcb4c
. We prefer using the defines if available in limits.h because they somehow tend to work without warnings when enabling strict C++03 compilation. The 3 literals are fallbacks.. ( #1926 ).
2018-08-06 13:07:19 +02:00
omar
0905202f44
Internals: Minor renaming for consistency.
2018-08-05 18:13:24 +02:00
omar
bc6ac8b2ae
Metrics: Changed io.MetricsActiveWindows to reflect the number of active windows (!= from visible windows), which is useful for lazy/idle render mechanisms as new windows are typically not visible for one frame.
...
Metrics: Added io.MetricsRenderWindow to reflect the number of visible windows.
2018-08-03 18:12:36 +02:00
omar
498c0dcb4c
Using limits.h LLONG_MIN etc. to increase old-compiler compatibility (as ll and ull prefixes were not standard). Not tested much on old compilers, relying on Clang/GCC warnings.
2018-08-03 11:41:07 +02:00
omar
87e2fea09d
Renamed io.OptResizeWindowsFromEdges to ConfigResizeWindowsFromEdges, io.OptCursorBlink to io.ConfigCursorBlink, io.OptMacOSXBehaviors to ConfigMacOSXBehaviors for consistency. ( #1427 , #1495 , #822 , #473 , #650 )
...
Demo: Exposed flags in Demo.
2018-08-01 11:50:57 +02:00
omar
65b46f62ef
Fixed PushID() from keeping alive the new ID Stack top value (if a previously active widget shared the ID it would be erroneously kept alive) (drag and drop demo could soft-lock the UI until pressing Escape!)
2018-07-31 17:28:18 +02:00
omar
7e1678ff00
Drag and Drop: Elapse payload as soon as delivery is made. ( #153 )
2018-07-31 17:28:08 +02:00
omar
faf2c34149
Drag and Drop: Added ImGuiDragDropFlags_SourceAutoExpirePayload flag to force payload to expire if the source stops being submitted. ( #1725 , #143 ).
2018-07-31 13:46:19 +02:00
omar
79ae6d3bf6
Drag and Drop: Clear payload buffers more consistently in ClearDragAndDrop() + BeginDragDropTargetCustom() can't succeed with hidden contents. ( #143 )
2018-07-31 13:45:25 +02:00