omar
f3ec608c19
Settings: Initializing ImGuiSettingsWindow so external users don't end up with uncleared data. Exposed MarkIniSettingsDirty() in imgui_internal.h
7 years ago
omar
7e2d0d734c
Settings: basic refactor so that additional data structures can be loaded/saved. Parser/saver is still the minimum viable poor-man parsing.
7 years ago
omar
d552cabd15
Settings: Internal renaming of structure and fields names.
7 years ago
omar
ade09b9e3c
Settings: Basic internal refactor to have functions for saving from/to memory (not exposed)
7 years ago
omar
532f564fd3
ImGuiTextBuffer: Renamed append() helper to appendf(), appendv() to appendfv(). Added reserve().
7 years ago
omar
d9c5d72962
ImGuiStorage: Added BuildSortByKey() helper to rebuild storage from stratch.
7 years ago
omar
6bd3b45b34
Sisyphus says: tweaked comments about not using old-style OpenGL examples ( #1459 , #1394 etc.)
7 years ago
omar
7763ab3fcc
Menu bar: better software clipping to handle small windows, in particular child window don't have the minimum constraint added in e9a7e73bba
so we need to render clipped menus better.
7 years ago
omar
aafa6cece5
Tweak expression to be less weird (how did that ever happen?)
7 years ago
Giuseppe Barbieri
21b456e567
Update imgui.cpp
7 years ago
omar
176d8fbe74
Fixed unreferenced variable warnings.
7 years ago
omar
302757447a
Internals: Added SplitterBehavior(). ( #319 )
7 years ago
omar
195abc3d17
Begin: Fix border size latch when rounding uses Child or Popup value. ( #707 )
7 years ago
omar
3f5b2a3fe3
Exposed ImDrawCornerFlags, replaced occurences of ~0 with an explicit ImDrawCornerFlags_All. Inversed BotLeft (prev 1<<3, now 1<<2) and BotRight (prev 1<<2, now 1<<3).
7 years ago
omar
7f447c8270
Color picker: Tweak vertex shading code, since we aren't shading between PrimReserve and PrimVert the code can be expressed more naturally. ( #346 )
7 years ago
omar
dc2768503f
Fix for drag and drop branch.
7 years ago
omar
92212b17aa
Merge branch 'master' into drag_and_drop
7 years ago
omar
abbf836fd0
Style, Begin: removed ImGuiWindowFlags_ShowBorders window flag. Borders are now fully set up in the ImGuiStyle structure (see e.g. style.FrameBorderSize, style.WindowBorderSize). Use ImGui::ShowStyleEditor() to look them up. ( #707 , fix #819 , #1031 , ref #1019 , ref #447 )
7 years ago
omar
c433bc971f
Reorder fields for consistency.
7 years ago
omar
39137ccc3e
Style: renamed ImGuiCol_ChildWindowBg to ImGuiCol_ChildBg. ( #707 )
7 years ago
omar
9a44d447cd
NewFrame() now asserts if neither Render or EndFrame have been called. Exposed EndFrame(). Made it legal to call EndFrame() more than one. ( #1423 etc.)
7 years ago
omar
538a704143
NewFrame(): using literal strings in the most-frequently firing IM_ASSERT expression to increase the odd of programmers seeing them (especially those who don't use a debugger).
7 years ago
omar
4022ada843
Merge branch 'master' into drag_and_drop
7 years ago
omar
8a7f03cbf9
Combo: Offset popup position by border size so that a double border isn't so visible. ( #707 )
7 years ago
omar
d7af1a218e
Style: Added PopupRounding setting. ( #1112 )
7 years ago
omar
067605052d
Fix IsItemHovered() returning true for non-title bar hidden items that are clipped due to window collapsing logic. Fix 27fd1b913b
. ( #823 )
7 years ago
omar
6f7b1bf2e1
Internals: Renamed ImGuiWindow::Accessed to WriteAccessed.
7 years ago
omar
58345b11e1
Style: Removed ImGuiCol_ComboBg in favor of combo boxes using ImGuiCol_PopupBg for consistency. ( #707 )
7 years ago
omar
29e0078b66
Internals: Window minor internal renaming + added WindowRounding latch.
7 years ago
omar
bd4bc929ce
Style: renamed style.ChildWindowRounding to style.ChildRounding, ImGuiStyleVar_ChildWindowRounding to ImGuiStyleVar_ChildRounding.
7 years ago
omar
da2be7bbdc
Style: ScaleAllSizes() helper rounds down every values so they are aligned on integers.
7 years ago
omar
834fa52c8e
Columns: Added ImGuiColumnsFlags_GrowParentContentsSize to internal API to restore old content sizes behavior. ( #1444 , #125 )
7 years ago
omar
7746dd104c
Merge branch 'master' into drag_and_drop
7 years ago
omar
29d962069d
Internals: Updating condition/allow flags with a function.
7 years ago
omar
4ad414c8d4
Internals: Window: Store whether the windows has a close button (we need that info for window/tabs dropping preview calculation)
7 years ago
omar
7c4be0a000
Internals: Added BringWindowToFront(), BringWindowToBack() helpers.
7 years ago
omar
e9a7e73bba
Windows with MenuBar have a larger minimum height to avoid artefacts (I fixed most of the vertical/horizontal artefacts, but the ones in rounded corners were too hard to fix).
7 years ago
omar
f36037b384
Menu: Fixed minor rendering issues on the right size with rounded window when resizing a window small.
7 years ago
omar
9b82d9fbef
Scrollbar: Minor graphical fix for when scrollbar don't have enough visible space to display the full grab.
7 years ago
omar
f5bdf443c9
Minor comments, tweaks
7 years ago
omar
5ea6e80da1
Make it possible to use SetNextWindowPos() on a child window. Useful internally.
7 years ago
omar
44b761b308
Merge branch 'master' into drag_and_drop
7 years ago
omar
27fd1b913b
Made it guaranteed by API that after calling Begin() the last Item represent the title bar. ( #823 )
7 years ago
omar
ae060b1d67
Merge branch 'master' into drag_and_drop
7 years ago
omar
64e79035d5
Scrollbar flicker fix for menus/popups (fixes 4d00dd8326
and 2df8fa95df
). Hopefully right this time.
7 years ago
omar
6001d9c7a4
Columns: Clipping columns borders on Y axis on CPU because some GPU drivers appears to be unhappy with triangle spanning large regions (not sure why tbh). ( #125 )
...
Demo: Columns: Adding a billion of extra lines and using clipper.
7 years ago
omar
ffad688fc8
Drag and Drop: Added payload->IsPreview() to user can render their custom preview while handling overlapping drop targets. ( #143 )
7 years ago
omar
852ece3a0e
Fixed build ( 3e06450d27
not meant for master branch, but ok)
7 years ago
omar
3e06450d27
Internals: Added ArrowButton() helper.
7 years ago
omar
7908cce25f
Drag and Drop: Added internal BeginDragDropTargetCustom() convenient to avoid submitting dummy ItemAdd. ( #143 )
7 years ago
omar
4d00dd8326
Fixed scrollbar flickering on/off when uncollapsing a window (fixes 2df8fa95df
)
7 years ago
omar
30bf40195b
io.OptNoCursorBlink -> io.OptCursorBlink ( #1427 )
7 years ago
omar
669498ff26
Added io.OptNoCursorBlink option to disable cursor blinking. ( #1427 ). Renamed io.OSXBehaviors to io.OptMacOSXBehaviors. Should affect users as the compile-time default is usually enough. ( #473 , #650 )
7 years ago
Branimir Karadžić
9daac64ff8
Clean g.WindowsById storage on shutdown.
7 years ago
omar
ba09de3a39
Begin: Fixed appending into a child window with a second Begin() from a different window stack querying the wrong window for the window->Collapsed test.
7 years ago
omar
8451855a30
ButtonBehavior: Fixed ImGuiButtonFlags_AllowOverlapMode to avoid temporarily activating widgets on click before they have been correctly double-hovered. ( #319 , #600 )
7 years ago
omar
4b94738c7e
Drag and Drop: Drop target rectangle goes out of clipping range ( #143 )
7 years ago
omar
b1653cd361
Drag and Drop: Allow NULL payload (since type only can be useful). ( #143 )
7 years ago
omar
2df8fa95df
Fixed vertical scrollbar flickering/appearing, typically when manually resizing and using a pattern of filling available height (e.g. full sized BeginChild). THIS IS A GREAT FIX, this glitch was nasty and annoying (and yet somehow nobody reported it?). Hopefully haven't broken anything else...
7 years ago
omar
a4cc3d4637
Minor tweaks/comments. Note that the reordering the one subtraction caused subtle havoc before the patch in 9ac8820ee2
.
7 years ago
omar
9ac8820ee2
Fixed non-pixel aligned bounding box of window resize grip, / which triumphally led to any re-arrangement of operations inside the resize grip code outputting non-exact size_target values which led to unstable window position because clamping code uses size in a subtraction, etc etc. Lovely how a whole system can be made to act weird with a single bad input.
7 years ago
omar
b6504b8eee
Drag and drop: Handle overlapping drag target priorities given their surface, which appears to make most sense for drag and drop operations.
7 years ago
omar
2ab27be3de
Child window with MenuBar use regular WindowPadding.y so layout look consistent in child or in a regular window.
7 years ago
omar
41862b8c0e
ButtonBehavior: Fixed ImGuiButtonFlags_NoHoldingActiveID from incorrectly setting ActiveIdClickOffset, which probably have no known effect, but it is more correct this way. ( #1418 )
7 years ago
omar
1870738880
LowerBound() minor tweaks
7 years ago
omar
571b08f315
Internal: FindWindowByName() faster and doesn't touch every windows
7 years ago
omar
2c7ba21417
Fixed auto-resize allocating too much space for scrollbar when SizeContents is bigger than maximum window size (fixes c0547d358d
) ( #1417 )
7 years ago
omar
f0b4097c54
Begin: Simplified code and fixed a bug where appending into a window a second time (from a remote window) would incorrectly overwrite RootWindow with the current window in the stack. Our docking code uses this pattern.
7 years ago
omar
de1e7dc088
Drag and Drop: Moved internal fields out of public sight. ( #143 )
7 years ago
omar
8b725c94cb
Drag and Drop: Rework internal to allow overlapping targets ( #143 )
7 years ago
omar
16a5da9521
RenderTriangle() minor tweak to align Left/Right and Up/Down arrow extents visually
7 years ago
omar
553bdeedf7
Drag and Drop: Made it legal to not call SetDragDropPayload() between BeginDragDropSource() and EndDragDropSource(). ( #143 )
7 years ago
omar
3461a2f296
Merge branch 'master' into drag_and_drop
7 years ago
omar
982ce50b37
IsWindowHovered() returns true when moving window ( #1382 , #1404 )
7 years ago
omar
ff4d4ca651
IsWindowHovered(): Added ImGuiHoveredFlags_FlattenChilds flag. Made IsRootWindowOrAnyChildHovered() obsolete in favor of IsWindowHovered( ImGuiHoveredFlags_FlattenChilds) ( #1382 , #1404 )
7 years ago
omar
803ac3a5c6
IsWindowHovered() Fix behavior when an item is active to use the same logic as IsItemHovered() ( #1382 , #1404 )
7 years ago
omar
66f42324ad
Drag and Drop: Added ImGuiDragDropFlags_SourceNoHoldToOpenOthers flag.
7 years ago
omar
6ab20ff9bf
Minor tweaks to the user guide.
7 years ago
omar
e55caf0b95
Merge pull request #1402 from elect86/patch-1
...
Minor fix typo
7 years ago
omar
7f06d385a1
Added assertions and comments for incorrect use/understanding of IsWindowFocused() etc. functions
7 years ago
Giuseppe Barbieri
9e3f9fc2dd
Update imgui.cpp
7 years ago
omar
5956fff7e2
Drag and Drop: ImGuiButtonFlags_PressedOnDragDropHold focuses the target window.
7 years ago
omar
a810619555
Drag and Drop: Added support for drag and drop hold-long-to-open for CollapsingHeader() and TreeNode(). Open only!
7 years ago
omar
1d7d8f8574
Merge branch 'master' into drag_and_drop
7 years ago
omar
b13d281356
Maintaining ActiveIdTimer and HoveredIdTimer (the later is useful for drag and drop, both will be of course for creators of custom widgets)
7 years ago
omar
d46772b429
Comments
7 years ago
omar
0e775807b4
Drag and Drop: Added a mechanism to allow widgets with no identifiers (such as Text/Image) to be used with BeginDragDropSource() given the explicit ImGuiDragDropFlags_SourceAllowNullID flag.
7 years ago
omar
b5f714e9f9
Drag and Drop: made BeginDragDropSource() clear the IsItemHovered() by default, added a flag to keep it.
7 years ago
omar
c5536e49ef
Drag and drop API experiment
7 years ago
omar
f962ca0b01
ColorTooltip: Resize ColorButton to align better with text, now that ColorButton provides a text baseline ( 0260fdd1c6
)
7 years ago
omar
c503a50cff
Styles: Moved Classic colors code to imgui_draw.cpp. Sneakily added a StyleColorsDark() function.
7 years ago
omar
77df1ba9e0
Version 1.53 WIP
7 years ago
omar
b422f35872
IO: Tracking extra mouse dragging data which is convenient for implementating various manual drag and drop patterns.
7 years ago
omar
9f200d10d5
Version 1.52
7 years ago
omar
267ea506de
Begin: Fix for unused "Debug" (fix for 3b83cd24f5
)
7 years ago
omar
3b83cd24f5
Begin: Moved some code inside of the big if (first_begin_of_the_frame) scope
7 years ago
omar
3656f2c769
NewFrame: Allow MovedWindow setting the ImGuiWindowFlags_NoInputs after moving has started in order to be able to detect windows below it, which is useful for e.g. docking mechanisms.
7 years ago
omar
a6edd10ee6
NewFrame: Removed unnecessary call to FindHoveredWindow() and simplified code (went through this multiple times, hopefully haven't broken anything)
7 years ago
omar
6243252d5a
Internal: BeginTooltipEx() in imgui_internal.h
7 years ago
omar
d42f6bb6cc
Merged a bit of code from Navigation branch to ease further merging (InnerRect is currently not required in the Master branch)
7 years ago
omar
c432fcf2bb
Minor renaming.
7 years ago
omar
daef33e268
Comments about mouse setup and clearing HoveredWindow when mouse down isn't owned by imgui (will affect some future hovered test and drag'n drop patterns) ( #143 , #1382 , #1392 )
7 years ago
omar
4faf99eff5
Added most basic form of Disabled flag to disable interactions (but visuals aren't altered), in imgui_internals.h, undocumented/unsupported ( #211 , #1012 )
7 years ago
omar
efcd53a0c3
Removed direct dependency on sprintf() in imgui.cpp ( #1038 )
...
(NB: imgui_demo stills uses it)
7 years ago
omar
1f3372b7f1
ImFormatString, ImFormatStringV(): clarifying specs so that passing a NULL buffer should return the desired length. ( #1038 )
7 years ago
omar
8fd5620277
Renamed IMGUI_DISABLE_WIN32_DEFAULT_CLIPBOARD_FUNCS/IMGUI_DISABLE_WIN32_DEFAULT_IME_FUNCS to IMGUI_DISABLE_WIN32_DEFAULT_CLIPBOARD_FUNCTIONS/IMGUI_DISABLE_WIN32_DEFAULT_IME_FUNCTIONS for consistency. (ref #238 , #520 , #738 )
7 years ago
omar
7d2cd0e6ff
Added IMGUI_DISABLE_FORMAT_STRING_FUNCTIONS support in imconfig.h ( #1038 )
7 years ago
Patrick Doane
70cb427469
Add missing CloseClipboard call
7 years ago
omar
5b062c4c29
Fixed typos
7 years ago
omar
0260fdd1c6
ColorButton: As a small convenience, provide a text baseline.
7 years ago
omar
e9ff7162bc
ColorButton: Fixed rendering color button with a checkerboard if the transparency comes from the global style.Alpha and not from the actual source color.
7 years ago
omar
97bf2131e2
Fixed calling SetNextTreeNodeOpen() on a collapsed window leaking to next frame.
7 years ago
omar
e7922b3fa0
Factorized some code (+ declared as static function without namespace, a pattern with the Nav branch has started to use)
7 years ago
omar
1bc1751670
MenuItem(): Tweaks to mimic exact spacing of BeginMenu() when inside a menu bar, which is a little misleading imho but may be useful. ( #1387 )
7 years ago
omar
b177f2432d
MenuItem(): Tweak to not draw over all horizontal space when in horizontal layout mode. ( #1387 )
7 years ago
omar
f7259e60ee
Comments
7 years ago
omar
6ab737a4bb
Popups: Fixed right-click to close popups not handling modal windows properly. (~#439)
7 years ago
omar
aca23fd3f0
Popups: similarly to previous commit, we fix reopening a popup within a popup stack from truncating the whole stack. This is done by properly refocusing the lower level popup. (~#439)
7 years ago
omar
59a89774d7
Popups: fixed CloseInactivePopups() so that right-clicking to close one level of popups in a popups stack won't close the whole stack. This is done by properly refocusing the lower level popup. Fixes 87ae40843c
(~#439)
7 years ago
omar
43df7eb5ea
Added OpenPopupOnItemClick(); helper which mimic BeginPopupContextItem() but doesn't do the open.
...
Made the color popups uses this standard function so they handle reopening a context menu.
7 years ago
omar
3cc10d25a9
BeginPopupContextItem(), BeginPopupContextWindow(): Using newly introduced IsItemHovered() flags to allow reopening another context menu (over same or not same item) with right-click. ( #439 ) (+1 squashed commits)
7 years ago
omar
695ea45fca
IsWindowHovered(): Changed default behavior to now return false is a widget from another window is active + Added support for ImGuiHoveredFlags_AllowWhenBlockedByActiveItem. (relate to drag'n drop idoms: #143 )
7 years ago
omar
564ff2dfd3
IsItemHovered(), IsWindowHovered(): added flags to enable various and more specific behavior. Will enable improvements for popups/context menus and drag'n drop. (relate ~#439, #1013 , #143 , #925 )
...
The legacy confusing IsItemRectHovered(), IsWindowRectHovered() can be completely removed now.
Changed IsWindowHovered() behavior with default parameter: it now return false is the window is blocked by a popup.
Demo: Added tests for those two functions.
7 years ago
omar
d29a6a5a5a
Moved IMGUI_DISABLE_OBSOLETE_FUNCTIONS block lower in the imgui.h file so obsolete functions can use flags. Also sane to quarantine them outside of the respectable area.
7 years ago
omar
e6f06627e9
Made the ImGuiWindowFlags_NoMove flag inherited from parent to child, so in a setup with RootWindow (no flag) -> Child (NoMove flag) -> SubChild (no flag) user won't be able to move the root window by clicking on SubChild. ( #1381 )
7 years ago
omar
3b485cda51
Fixed a bug allowing to move a _NoMove window from a child that doesn't have the flag. ( #1381 )
...
broken by e56eba44fe
(#1337 )
7 years ago
omar
87ae40843c
Popups: popups can be closed with a right-click anywhere, without altering focus under the popup.(~#439)
7 years ago
omar
853018dd4d
Popups: Fixed a bug introduced in 1a35766356
which made the BeginPopupContextXXX functions create popups without border. (nb: all that border mess is going away in styling clean up)
7 years ago
omar
5f7299e15a
Refactor EndFrame() code that process focusing window with left mouse button. This commit should be no-op.
7 years ago
omar
5b699517d4
Internals: PaintVerts** renamed to ShadeVerts**, moved to imgui_draw.cpp and exposed in imgui_internal.h (+1 squashed commits)
7 years ago
omar
22977ffedb
Documentation: Extra comments + tweaks to make usage of long-line more bearable.
7 years ago
omar
370a48c10b
Internals: RenderCollapseTriangle() -> RenderTriangle(), takes a ImGuiDir
7 years ago
omar
a03093b2d4
CollapsingHeader(bool*) variant: fixed for IsItemHovered() to work properly in the nav branch.Basically the close button now has to use ItemAdd() to be navable into, which overwrite the IsItemHovered data. ( #600 , #787 )
7 years ago
omar
ef3f87eec5
Internals: ButtonBehavior: made ImGuiButtonFlags_PressedOnClick and ImGuiButtonFlags_PressedOnDoubleClick set the click offset correctly + hold on g.ActiveId so Held state can be reported. Added ImGuiButtonFlags_NoHoldingActiveId flag to disable the later.
7 years ago
omar
bf778ebb7e
Checkbox: Using checkmark. MenuItem: Tweaked checkmark, thicker.
7 years ago
omar
03b76bf05b
Begin: Marked 5 parameters version of Begin() as obsolete. Now waiting for a riot to happen!
7 years ago
omar
78a85ba3fe
Begin: Work toward obsoleting the 5-arguments Begin() overload. Internal BeginEx() becomes the normal public Begin() again! (4)
7 years ago
omar
2739b6ebcd
Begin: Work toward obsoleting the 5-arguments Begin() overload. Removed bg_alpha from internal BeginEx(). (3)
7 years ago
omar
4aa9d2089d
Begin: Work toward obsoleting the 5-arguments Begin() overload. Removed size_on_first_use from internal BeginEx(). (2)
7 years ago
omar
55d873875e
Begin: Work toward obsoleting the 5-arguments Begin() overload. (1)
7 years ago
omar
1a35766356
BeginPopupContextItem() now supports a NULL string identifier and uses the last item ID if available. For interactive items (that have an ID) this works! For non interactive items we assert.
7 years ago
omar
c76f014292
Fix IsItemHovered() issue on child by temporarily reverting 344d48be31
. This is not the ideal solution. ( Fix #1370 )
7 years ago
omar
ce7b04e8b9
Removed apparently unncessary code in InputFloatN() and InputInt().
7 years ago
omar
4be967823f
Exposed Scrollbar() in imgui_internal.h and removed a bool arg
7 years ago
omar
43b4a81b3e
Rnamed AlignFirstTextHeightToWidgets() to AlignTextToFramePadding(). Kept inline redirection function (will obsolete).
7 years ago
omar
c6e370a77a
TreeNode: Added ImGuiTreeNodeFlags_FramePadding flag
7 years ago
omar
042153d254
Internal: ItemAdd(), IsClippedEx(): removed unnecessary indirection for ID parameter
7 years ago
omar
acb6f12d2c
Removed extraneous calls to GetCurrentWindowRead() when we already have a ImGuiContext. Internal RenderXXX functions also don't need to write into the Accessed field at all.
7 years ago
omar
d851775c80
ColorButton: Reduced bordering artefact that would be particularly visible with opaque Col_FrameBg and FrameRounding enabled.
7 years ago
omar
726dcf0dd2
TextUnformatted(): minor tweak
7 years ago