3871 Commits (e2c1f0a7cd4fa3bf7477eaebf89c7ac11aec4f78)

Author SHA1 Message Date
omar bdf60dac6a Refactor: Move viewport code under other subsystem to simplify merging (2) (moving in multiple commits to make diff/patch behave nicely) 6 years ago
omar bbb543fc16 Refactor: Move viewport code under other subsystem to simplify merging (1) (moving in multiple commits to make diff/patch behave nicely) 6 years ago
omar f717df4eb6 Internal: Columns: Allow to use BeginColumns(1) so code designed for variable number of columns can still call NextColumn etc. (#125) 6 years ago
omar 28d8eb220b Fix for Android char being unsigned by default (#2408) 6 years ago
omar e02d6014bf Merge branch 'master' into docking
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
6 years ago
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.
6 years ago
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). 6 years ago
omar ce4e62649a Internal: Tabbing: Tweaks to FocusableItemRegister and using the standard mechanism to allow/block Tab being interpreting by tabbing instead of InputText() widget. 6 years ago
omar ac4842fa17 Nav: Fixed Ctrl+Tab keeping active InputText() of a previous window active after the switch. (#2380) 6 years ago
omar 8414c0bb09 Merge branch 'master' into docking
# Conflicts:
#	imgui.cpp
#	imgui.h
#	imgui_internal.h
6 years ago
omar 94e794f81b Renamed GetOverlayDrawList() to GetForegroundDrawList() for consistency. Kept redirection function (will obsolete). (#2391)
Demo: Using GetBackgroundDrawList() and GetForegroundDrawList() in "Custom Rendering" demo.
6 years ago
omar 96b13760d4 Added GetBackgroundDrawList() helper to quickly get access to a ImDrawList that will be rendered behind every other windows. (#2391) 6 years ago
omar 49eb5f0280 Merge branch 'master' into docking
# Conflicts:
#	examples/imgui_impl_opengl3.cpp
6 years ago
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. 6 years ago
omar ff0c6c2bde Merge branch 'master' into docking
# Conflicts:
#	imgui.cpp
#	imgui.h
6 years ago
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] 6 years ago
omar 4eecf80a4b Moved Settings section above Docking to facilitate master<>docking merges. 6 years ago
omar 104294c7e4 Moved Logging/Capturing section above Docking to facilitate master<>docking merges. 6 years ago
omar 8915f7933a Merge branch 'master' into docking
# Conflicts:
#	imgui.cpp
6 years ago
David Wingrove 5d7bd2309b Fixes warning caused by a missing switch/case. (#2382, #2381) 6 years ago
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. 6 years ago
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. 6 years ago
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. 6 years ago
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) 6 years ago
omar 87ded34f9f Merge branch 'master' into docking
# Conflicts:
#	docs/CHANGELOG.txt
#	examples/imgui_impl_opengl3.cpp
#	imgui_widgets.cpp
6 years ago
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). 6 years ago
omar 257f5d204e Version 1.69 WIP 6 years ago
omar 93b06e6e7c Internal: Changed Scrollbar() signature. Using GetScrollbarID() in InputTextMultiline().
Removed multiple semi-colons (#2368)
6 years ago
omar 9dc02464a4 Merge branch 'master' into docking
# Conflicts:
#	docs/CHANGELOG.txt
6 years ago
omar 3c15dffc94 Version 1.68 6 years ago
omar 5412cdf2c8 Docking: Made DockBuilderSplitNode/DockNodeTreeSplit work even if the node doesn't have a size yet. (#2357, #2109)
Followup to fa0ce4b7d, at that time I came to the conclusion that programmatic split couldn't work without knowing the size ahead of it. I forgot the reason for that.  May bite us back!
6 years ago
omar 3de440fda2 Docking: Fixed assert in DockContextProcessDock() preventing some uses of DockNodeBuilder api. (#2357, #2109) 6 years ago
omar 09c9bf2edb Merge branch 'master' into docking
# Conflicts:
#	imgui.cpp
#	imgui.h
6 years ago
omar 76dbff37cd Selectable: Tweaks for #2347 (demo, changelog, member position) 6 years ago
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.
6 years ago
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.
6 years ago
omar 2206df9e7a Demo: Added Auto-Scroll option in Log/Console. Comments. Removed some ImColor() uses. 6 years ago
omar 57a586b4f1 Font: Moved functions to internal block (not enforced). Made ConfigData pointer const. Added link to stb's notes. 6 years ago
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) 6 years ago
omar 2cada3c143 Merge branch 'master' into docking
# Conflicts:
#	examples/imgui_impl_opengl2.cpp
#	examples/imgui_impl_opengl3.cpp
#	imgui.cpp
#	imgui_widgets.cpp
6 years ago
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.
6 years ago
omar afc36cf802 Window: Fixed initial width of collapsed windows not taking account of contents width (broken in 1.67). (#2336, #176) 6 years ago
omar 4a3a895be9 Merge branch 'master' into docking
# Conflicts:
#	imgui.cpp
#	imgui_demo.cpp
6 years ago
omar f366828dd2 Minor tweaks to reduce false positive of PVS Studio static analyzer. 6 years ago
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) 6 years ago
omar e3dd95d335 Added IsItemActivated() as an extension to the IsItemDeactivated/IsItemDeactivatedAfterEdit functions which are useful to implement variety of undo patterns. (#820, #956, #1875) 6 years ago
omar b8c24aff4c Internals: EndGroup: Removed unnecesary parameter to ItemSize() 6 years ago
omar 521470b3cd Internals: Removed unnecessary code. 6 years ago
omar be107ba8f8 Merge branch 'master' into docking
# Conflicts:
#	imgui_internal.h
#	imgui_widgets.cpp
6 years ago
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. 6 years ago
omar f902435a53 Docking: Fixed less of node size/pos caused by 1f2bdd37 (#2109) 6 years ago
omar 80d51c692a Docking: Fixed dragging docked window with _NoMove flag (#2325) 6 years ago
omar 7227454dca Merge branch 'master' into docking
# Conflicts:
#	examples/imgui_impl_opengl3.cpp
#	imgui.cpp
#	imgui.h
6 years ago
omar c23a19c26f Internals: Exposed internal SetWindowPos to imgui_internal.h (for imgui-test) 6 years ago
omar f087359621 Revert part of change from 5536eded. Fixed drag and drop in docking branch. (#2331, reopening #2325) 6 years ago
omar e215809c4d Removed io.DisplayVisibleMin/DisplayVisibleMax (which were marked obsolete and removed from viewport/docking branch already). 6 years ago
omar ac6d474103 Removed io.DisplayVisibleMin/DisplayVisibleMax (which were marked obsolete and removed from viewport/docking branch already). 6 years ago
omar d1c45c0d76 Merge branch 'master' into docking (enable range_select merge)
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
6 years ago
omar 5cb7040f66 Internals: Tracking dummy select scope id (currently always zero) to facilitate merging of the range_select branch. (#1861) 6 years ago
omar 0d4a2a2cd0 Internals: Track ActiveIdHasBeenPressed (similar to ActiveIdHasBeenEdited). This is currently mostly for the benefit of the range_select branch. (#1861) 6 years ago
omar 65a2350a5f Docking: Extracted code into a DocknodeUpdateTabListMenu() functions + minor other changes. 6 years ago
omar cbf24a9151 Comments. Fix duplicate entries in About box. Synchronize a few small changes from Master branch. 6 years ago
omar 52a9f8bd3e Merged from Docking branch: Various small changes, comments, typos fixes, moved blocks. To reduce overall drift. Should be no-op. 6 years ago
omar f906d53f7d Merge branch 'master' into docking
# Conflicts:
#	imgui.cpp
6 years ago
omar 1f2bdd37b3 Docking: Builder: Added DockBuilderSetNodePos, DockBuilderSetNodeSize, allow DockBuilderAddNode creating floating node (dockspace requires ImGuiDockNodeFlags_Dockspace) (#2109) 6 years ago
omar dc8ff68871 Docking: VisibleWindow of a node spread its _NoMove attribute to the node (fixed dragging or undocking of dock node host from collapse button). (#2325, #2109) 6 years ago
omar 5536edede9 Docking: Fixed faulty undocking of windows with the _NoMove flag. (#2325, #2109)
Whereas BeginAsDockableDragDropTarget could be reworked to filter, we simply set g.HoveredWindowUnderMovingWindow to be NULL when MovingWindow is not set, which was the initial intent.
Also fixed some comments and removed unused braces in TabItemEx().
6 years ago
omar 578e15f006 Docking: Removed unnecessary ImGuiTabItemFlags_DockedWindow internal flag. 6 years ago
omar e1143377c2 Viewport: Added ImGuiViewportFlags_NoFocusOnClick + support in imgui_impl_win32. Made windows with no decoration always set the _NoFocus flags. (#1542, #2117)
Fix e.g. clicking on protruding combo box stealing highlight from parent window with decoration.
6 years ago
omar 8563ef3ce4 Viewport: Popups by default merge into parent/host viewport as they have no decoration (same as menu/child). (#1542) 6 years ago
omar fb4f1ff7f6 InputText: Fixed a bug where ESCAPE would be first captured by the Keyboard Navigation code. (#2321, #787) 6 years ago
omar 0a233a505d imgui-test: Added extra item info callbacks. Using nav_bb for interactions when possible. Comments, Demo tweaks. 6 years ago
Francisco Gallego aacf993ee1 ImStrncpy: Fixed -Wstringop-truncation warning on GCC8 (#2323) 6 years ago
omar 37fb531d1c Docking: Comments and tidying up (should be no-op) 6 years ago
omar 86d3bba157 Added ImGuiDockNodeFlags_AutoHideTabBar. (#2109) 6 years ago
omar 2ccc6d2ed1 Docking: Exposing extra flag in Configuration panel. Moved some forgotten Changelog entries at the right place. 6 years ago
omar 8a4422b2fa Fixed CloseCurrentPopup() on a child-menu of a modal incorrectly closing the modal. (#2308) 6 years ago
omar 13ca2fe845 Silence XCode static analysis false positive (#2309) 6 years ago
omar 13a5f5ba8b Merge branch 'master' into docking
# Conflicts:
#	imgui.cpp
6 years ago
omar b26ac92a12 Revert "Added PushID(size_t sz) helper (may not be useful/meaningful for non C/C++ languages)."
This reverts commit 20bc06af70.
6 years ago
omar f56d9b74cc Nav: Removed unnecessary test (always failing). 6 years ago
omar ee3b4f2bf1 Using IM_UNUSED() macro. 6 years ago
omar c3c2cd1e82 Fix various XCode and PVS-Studio static analyzer warnings (#2309) 6 years ago
omar 20bc06af70 Added PushID(size_t sz) helper (may not be useful/meaningful for non C/C++ languages). 6 years ago
omar 07ff47bf1b Docking: Fixed various border / padding related inconsistency with dock node vs floating windows. (#2109) 6 years ago
omar 0737433c71 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) 6 years ago
omar 0bda7f196d Docking: Fixed overlapping issue with greyed out close button. 6 years ago
omar 9f96fcff3c Docking: Added ImGuiDockNodeFlags_Dockspace instead of node internal IsDockspace toward allowing the DockBuilder API to create non-dockspace nodes. 6 years ago
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) 6 years ago
omar bfacbac7c4 Docking: Fix a focusing issue where dock node wouldn't be moved to the front as expected. 6 years ago
omar 86fce79a6c Comments + clear out VisibleWinodw field (should have no effect) 6 years ago
omar c81a5a6070 Docking: Comments and renaming locals to facilitate debugging. 6 years ago
omar 0947fa3de0 Merge branch 'viewport' into docking
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
6 years ago
omar cb9a6b8a8b Merge branch 'master' into viewport
# Conflicts:
#	examples/README.txt
#	imgui.cpp
6 years ago
omar f14f93ef6e Fixed range-version of PushID() and GetID() not honoring the ### operator to restart from the seed value. 6 years ago
omar 28901dd104 Internals: Tweaks. Comments about PushID/GetID public function. 6 years ago
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. 6 years ago
Thomas Ruf 1e4cf67a53 avoid floating point exception when _EM_OVERFLOW is enabled (#2303) 6 years ago
omar 2d21a64fed Comments 6 years ago
omar 00ffdb9fa9 ImGuiTextBuffer: Added append() function (unformatted). 6 years ago
omar f94af2f5c5 Merge branch 'viewport' into docking
# Conflicts:
#	docs/CHANGELOG.txt
#	imgui.cpp
#	imgui_draw.cpp
6 years ago
omar 8079344cee Merge branch 'master' into viewport
# Conflicts:
#	examples/example_sdl_vulkan/main.cpp
#	examples/imgui_impl_dx11.cpp
#	examples/imgui_impl_dx12.cpp
#	examples/imgui_impl_glfw.cpp
#	examples/imgui_impl_sdl.cpp
#	examples/imgui_impl_vulkan.h
#	imgui.cpp
6 years ago
omar 2c38b32db1 Removed trailing spaces (#2038, #2299) 6 years ago
omar f94ba546ba Added checks for "zero-as-null-pointer-constant" warnings for older Clang (#2299, followup to #2277) 6 years ago
omar fcd61e0c59 Comments about DLL boundaries and using TLS variables for GImGui. (#2292) 6 years ago
omar b5144e477f Merge branch 'viewport' into docking
# Conflicts:
#	docs/CHANGELOG.txt
6 years ago
omar e9c625a1dc Merge branch 'master' into viewport
# Conflicts:
#	docs/CHANGELOG.txt
#	examples/imgui_impl_win32.cpp
#	imgui_demo.cpp
6 years ago
omar d1851ed6b7 Various tweaks and fixes as suggested by PVS Studio (thanks PVS Studio!) [docking branch] 6 years ago
omar 32c4e01267 Various tweaks and fixes as suggested by PVS Studio (thanks PVS Studio!) 6 years ago
omar 06aaf23877 Various tweaks and fixes as suggested by PVS Studio (thanks PVS Studio!) 6 years ago
omar 09f1cb642b FreeType: Minor tweaks previous commit (#2285) 6 years ago
omar 8a45c56c2c Merge branch 'viewport' into docking 6 years ago
omar 9391a97fbf Merge branch 'master' into viewport
# Conflicts:
#	docs/CHANGELOG.txt
#	examples/imgui_impl_win32.cpp
#	examples/imgui_impl_win32.h
6 years ago
omar 79d497edae Viewport: Made platform_io.Monitors mandatory for proper multi-viewport use. 6 years ago
omar 95ee99e6aa Version 1.68 WIP 6 years ago
omar 515ad62335 Merge branch 'viewport' into docking
# Conflicts:
#	docs/TODO.txt
6 years ago
omar 73353fad64 Merge branch 'master' into viewport 6 years ago
omar b8c6e31c2d Fixed cursor issue caused by 6890e08b when calling BeginChild/EndChild multiple times to reappend into a same child window. (#2282) 6 years ago
omar ff4bd758ca Merge branch 'viewport' into docking 6 years ago
omar e24674fc0e Merge branch 'master' into viewport 6 years ago
omar 7a5058e3bf Version 1.67 6 years ago
omar 6e41745f31 Added a bunch of diagnostic ignore to cope with Clang -Weverything being absurd. Also fixed two legit warnings. (#2277) 6 years ago
omar 529fccd9c2 Merge branch 'viewport' into docking 6 years ago
omar 4ee4f65c70 Merge branch 'master' into viewport 6 years ago
omar 49994ceb6e FAQ entry, moved ImTextureId, Gallery links. 6 years ago
omar 7cc86d4bc9 Docking: Fixed docking a split node into the empty central node of a dockspace leading to the central node tag being incorrectly carried along. (#2109) 6 years ago
omar 8011197c50 Merge branch 'viewport' into docking
# Conflicts:
#	imgui.cpp
6 years ago
omar c96aaef132 Merge branch 'master' into viewport
# Conflicts:
#	imgui.cpp
#	imgui.h
6 years ago
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). 6 years ago
omar 61a99f994e Minot internal tweaks, comments 6 years ago
omar f53cd3ee0f Internals: LowerBound: Use raw pointer typedefs, we never use iterator anywhere else in the codebase.
Demo: Typo.
C98 fix.
6 years ago
omar 57b1622afc Added IMGUI_USE_STB_SPRINTF (undocumented) (#1038) 6 years ago
omar b33977bc15 Tests: Reworking hook prototypes for imgui-test to be faster and multi-context friendly. 6 years ago
omar 3997e8b555 Fixed animated window titles from being updated when displayed in the CTRL+Tab list. + Adding overkill helpers for reusing buffers. (#787) 6 years ago
omar 6b32570644 Merge branch 'viewport' into docking
# Conflicts:
#	imgui_internal.h
#	imgui_widgets.cpp
6 years ago
omar 5af930f97a Merge branch 'master' into viewport
# Conflicts:
#	imgui.cpp
#	imgui.h
#	imgui_internal.h
6 years ago
omar 5cb7ce2085 Renamed ImFont::GlyphRangesBuilder to ImFontGlyphRangesBuilder. Keep redirection typedef (will obsolete). 6 years ago
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. 6 years ago
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) 6 years ago
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. 6 years ago
omar 515ecbddc2 Docking: Fix for handling of orphan/inactive dock node with ConfigDockingTabBarOnSingleWindows (would crash). 6 years ago
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). 6 years ago
omar 5278da98d2 Merge branch 'viewport' into docking
# Conflicts:
#	docs/CHANGELOG.txt
#	imgui.cpp
#	imgui_demo.cpp
6 years ago
omar e1ed27aeaa (Breaking change) Reorganized Viewports advanced flags, moved into new io.ConfigViewportsXXX flags. Pay attention that ImGuiConfigFlags_ViewportsDecoration became ConfigViewportsNoDecoeration, so the value is inverted! (#1542) 6 years ago
omar c8349d3305 Viewport: Added ConfigViewportsNoParent to parent viewport default to NULL and not main viewport. Fix eg.. popups appearing erroneously focusing parent window. 6 years ago
omar 606175b98f Viewport: Fix for minimization of individual viewports (the current back-end forcing a parent/child relationship between secondary viewports and the main viewport have hidden this issue). Follows d8ab2c1ac. 6 years ago
omar 05bc323be0 Viewport: Fixed minimization of main viewport leading to it being omitted from platform_io.Viewport list where the users assume it is at index 0. Fix d8ab2c1ac. It wasn't a problem when other viewports were child of the main viewport because they would all be minimized together. (#1542) 6 years ago
omar 599a52629a Viewport: Added minimum viable information in the Changelog. 6 years ago
omar c3efccaa9c Docking: Merge fix duplicate line + added assert to ease debugging. 6 years ago
omar b26f16a27f Merge branch 'viewport' into docking
# Conflicts:
#	imgui.cpp
6 years ago
omar a0c2e55e8c Merge branch 'master' into viewport
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
6 years ago
omar 237109caa5 Internals: Extracted code out of EndFrame() into UpdateMouseMovingWindowEndFrame() 6 years ago
omar b3469fa94b Alternative fix for bug introduced in d845135 (#1651), fix CTRL+Tab and fallback tooltip. 6 years ago
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.
6 years ago
omar 1b0e38df47 Fixes crash/assert bug introduced in d845135 (#1651): would assert when showing the CTRL+Tab list and or fallback "...." tooltip. 6 years ago
omar 5aebfedfad Docking: Forward WindowClass from node to host window. 6 years ago
omar ce1626a51e Merge branch 'viewport' into docking
# Conflicts:
#	imgui.cpp
#	imgui.h
#	imgui_internal.h
6 years ago
omar 0cabe4dedf Viewport: Added ImGuiWindowClass / SetNextWindowClass() (concept imported from Docking ImGuiDockFamily), which currently allows to overwrite viewport flags on a per-window basis. Exposed FindViewportByID(). Win32: Support for ParentViewportId. (#1542) 6 years ago
omar 0d6e3ab2b0 Docking: Renamed SetNextWindowId() -> SetNextWindowID() for consistency. (function vs member are still horribly inconsistent atm) 6 years ago
omar 4a6f95acc8 Viewport: Added Platform_UpdateWindow hook for general purpose: Rework Win32 code to reflect viewport flags changes into Win32 while the window is active. 6 years ago
omar 5305c32242 Viewport: Reorder flags. Set owned viewport common decoration flags in Begin(). Moved code in UpdateViewportsEndFrame() before we introduce family/class based overrides. 6 years ago
omar 951c9dd68b Merge branch 'master' into viewport
# Conflicts:
#	examples/imgui_impl_sdl.cpp
6 years ago
omar 4ea9fdbbea Docking: Agressively assert when CentralNode is a not a leaf node in order to find our bug. 6 years ago
omar e194219f2e Renamed ImGuiDockFamily to ImGuiWindowClass. Renamed CompatibleWithClassZero to DockingAllowUnclassed. (#2109) 6 years ago
omar 6b97ded438 Happy new year! & comments 6 years ago
omar e21bc44684 Comments: fixed missing line in the "how a simple rendering function may look like" section (#2258) 6 years ago
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). 6 years ago
omar a9a60a24c1 Tweaked asserts 6 years ago
omar a71d3c8cb3 Viewport: Misc comments following user feedbacks.. 6 years ago
omar 238321c159 Fix merge in Docking branch, remove ConfigDockingWithShift flag from DX11 example + misnamed function. 6 years ago
omar 81a2546cea Merge branch 'viewport' into docking
# Conflicts:
#	examples/example_allegro5/main.cpp
#	examples/example_win32_directx9/main.cpp
6 years ago
omar ee5560a958 Merge branch 'master' into viewport + added style tweak block when viewports are enabled
# Conflicts:
#	examples/example_glfw_opengl3/main.cpp
#	examples/example_sdl_opengl3/main.cpp
#	examples/example_win32_directx11/main.cpp
6 years ago
omar d9fda22763 Viewport: Fixed not clearing request flags in main viewport, which led some back-end (SDL) to break on resize as PlatformRequestResize would stay true forever and inhibit new sizes passed to AddUpdateViewport(). (#1542) 6 years ago
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. 6 years ago
omar 5794c0491a Docking: Fix an edge case failing to dock into an explicit dockspace which only have inactive nodes (because all the windows are inactive). (#2246, #2109) 6 years ago
omar e043b89814 Merge branch 'viewport' into docking
# Conflicts:
#	imgui.h
6 years ago
omar 02501f07c3 Merge branch 'master' into viewport
# Conflicts:
#	imgui.cpp
#	imgui.h
6 years ago
omar a0e5bb9532 Viewport: Corrected/clarified comments. Moved RenderPlatformWindowsDefault() next to UpdatePlatformWindow(). Removed unnecessary flag check. 6 years ago
omar 5691385a33 IO: Added BackendPlatformUserData, BackendRendererUserData, BackendLanguageUserData void* for storage use by back-ends. (#2004 + for cimgui) 6 years ago
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 6 years ago
omar 89ac0ea7c1 Various user-facing comments 6 years ago
omar 84d1ce3958 Tidying up README, moved entries to FAQ, updated screenshots, removed comma in title. 6 years ago
omar ca953f0fee Fix merge issue on master. 6 years ago
omar 088ef6623a Merge branch 'viewport' into docking 6 years ago
omar 9c916cdaf9 Merge branch 'master' into viewport
# Conflicts:
#	imgui.cpp
6 years ago
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. 6 years ago
omar 510ca373a2 Moved setting up NavHideHighlightOneFrame from lower-level ClosePopupToLevel() to CloseCurrentPopup() with an explanation. (Followup on 68d3e139a7) 6 years ago
omar ac9512e095 Merge branch 'master' into docking
# Conflicts:
#	imgui.cpp
6 years ago
omar 65dac02171 Internals: Popups: Renamed CurrentPopupStack to BeginPopupStack which is much less ambiguous. 6 years ago
omar f1c7596409 Internals: Popup related comments. Renamed the misleading internal ClosePopup() function. Added bool* test to BeginPopupModal in demo. 6 years ago
omar 5d20da1b36 Viewport, DPI: Now using DpiScale from the ImGuiPlatformMonitor array instead of calling Platform_GetWindowDpiScale() before the platform window creation. Might even tentatively see if things work out without Platform_GetWindowDpiScale. (#1676) 6 years ago
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.) 6 years ago
omar 9b09c7597f Merge branch 'viewport' into docking
# Conflicts:
#	imgui_demo.cpp
6 years ago
omar 2a1e903f43 Merge branch 'master' into viewport
# Conflicts:
#	imgui.h
6 years ago
omar 8497948ba0 Comments, minor tweaks. 6 years ago
omar e50894c95e Metrics: Fixed crash when viewports are disabled (g.MouseLastHoveredViewport is never set). 6 years ago
omar 991b16cc6a Merge branch 'master' into docking
# Conflicts:
#	imgui.cpp
#	imgui_demo.cpp
#	imgui_widgets.cpp
6 years ago
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) 6 years ago
omar d9a84de9d9 Contents size is preserved while a window collapsed. Fix auto-resizing window losing their size for one frame when uncollapsed. 6 years ago
omar 067b691fd8 Merge branch 'viewport' into docking
# Conflicts:
#	docs/TODO.txt
#	imgui.cpp
#	imgui.h
#	imgui_demo.cpp
#	imgui_draw.cpp
#	imgui_internal.h
#	imgui_widgets.cpp
6 years ago
omar c40feabe4d Merge branch 'master' into viewport
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
6 years ago
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.
6 years ago
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) 6 years ago
omar 15447f5b7b Using named flags instead of 0 + shallow formatting tweaks from other branches. 6 years ago
omar 2d4018aa89 Docking: Fix io.ConfigWindowsMoveFromTitleBarOnly for docking branch. 6 years ago
omar e6439e1a16 Merge branch 'viewport' into docking + moved io.ConfigFlags ImGuiConfigFlags_DockingNoSplit to io.ConfigDockingNoSplit
# Conflicts:
#	imgui.cpp
#	imgui.h
#	imgui_demo.cpp
6 years ago
omar 26b9e2d0a5 Merge branch 'master' into viewport
# Conflicts:
#	imgui.cpp
#	imgui_demo.cpp
6 years ago
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.
6 years ago
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. 6 years ago
omar d20e3ee710 Tests: Adding imgui-test engine hooks (experimental) to provide missing widget state to the testing system. 6 years ago
omar f768727284 Merge branch 'viewport' into docking
# Conflicts:
#	imgui.cpp
6 years ago
omar a03846bd9e Merge branch 'master' into viewport
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
6 years ago
omar ac52d9d44c Viewport: Fix handling of PlatformRequestResize/PlatformRequestPos. when OS decoration are enabled via ImGuiConfigFlags_ViewportsDecoration . 6 years ago
omar e2082a675c Viewport: Fix handling of PlatformRequestResize/PlatformRequestPos. when OS decoration are enabled via ImGuiConfigFlags_ViewportsDecoration . 6 years ago
omar b94f0241f1 Docking: Adjusting the docking popup menu position so it tends to stay within the same viewport. 6 years ago
omar b96b1f2412 Docking: Documenting an issue. Renamed member of ImGuiDockFamily. 6 years ago
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. 6 years ago
omar 6644f1ff64 Docking: Added io.ConfigDockingTabBarOnSingleWindows option (mostly made possible by the previous fixes).
Note that dock node have regressions compared to current floating window: no collapse, no auto-resize, resize grip under the scrollbar, border issues, general overhead. Will tackle those.
6 years ago
omar 8cac70d8af Docking: Focus fix (missing line in 8bac6d4) 6 years ago
omar 5105c6c0d0 Merge branch 'viewport' into docking
# Conflicts:
#	docs/CHANGELOG.txt
#	imgui.cpp
6 years ago
omar 3a678d48b1 Merge branch 'master' into viewport
# Conflicts:
#	examples/imgui_impl_dx10.cpp
#	examples/imgui_impl_dx11.cpp
6 years ago
omar 8bac6d428d Docking: Another attempt at tidying the inconsistent focus / tab bar reordering issues, and toward generalizing single window dock nodes. (#2109) 6 years ago
omar 2da200fc16 Docking: Fix generalizing the transition from loose windows to dock node so we can switch to single window dock node while transferring viewports (vs creating two viewports and dropping one). + Extracted DockContextGenNodeID out of DockContextAddNode(). 6 years ago
omar fb6ef8b1db Comments, tweak 6 years ago
omar f6b6ad1959 Viewport: Minor tweaks, better struct layout. 6 years ago
omar 3e84f7cd1d Viewport: Fixed a viewport bug which led some popups to merge in underlying host viewport when they should be z-over their parent viewport. 6 years ago
omar 10e13dd6bb Version 1.67 WIP (again, this time IMGUI_VERSION_NUM has leeway for another hot-fix). 6 years ago
omar ac10889bde Merge branch 'viewport' into docking
# Conflicts:
#	docs/CHANGELOG.txt
6 years ago
omar 65e579e558 Merge branch 'master' into viewport
# Conflicts:
#	docs/CHANGELOG.txt
#	examples/imgui_impl_dx10.cpp
#	examples/imgui_impl_dx11.cpp
#	examples/imgui_impl_dx12.cpp
#	examples/imgui_impl_glfw.cpp
#	examples/imgui_impl_opengl2.cpp
#	examples/imgui_impl_opengl3.cpp
#	examples/imgui_impl_sdl.cpp
#	examples/imgui_impl_vulkan.cpp
#	examples/imgui_impl_win32.cpp
#	imgui.h
#	imgui_demo.cpp
6 years ago
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). 6 years ago
omar 7658035e5a About, IO: Added io.BackendPlatformName, io.BackendRendererName for informational/QA purpose. 6 years ago
omar 3849def253 Added ShowAboutWindow(), About Window now showing various config/build information. 6 years ago
omar f78b5a0cdb Merge branch 'viewport' into docking 6 years ago
omar afeefadb4e Merge branch 'master' into viewport
# Conflicts:
#	examples/imgui_impl_dx10.cpp
#	examples/imgui_impl_dx11.cpp
#	examples/imgui_impl_glfw.cpp
#	examples/imgui_impl_opengl2.cpp
#	examples/imgui_impl_opengl3.cpp
#	examples/imgui_impl_sdl.cpp
#	examples/imgui_impl_win32.cpp
#	imgui.h
6 years ago
omar a423f032ee About, IO: Added io.BackendPlatformName, io.BackendRendererName for informational/QA purpose. 6 years ago
omar 4ef06f5aa2 Added ShowAboutWindow(), About Window now showing various config/build information. 6 years ago
omar 753223bd7b Merge branch 'viewport' into docking
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
6 years ago
omar f663277591 Merge misc/shallow changes from Docking branch to minimize drift: moved some blocks, added comments. 6 years ago
omar 1c7be88a1a Viewport: Fixed a bug where tooltips on their first frame didn't find a monitor leading to the "recovery" code to revert it to the main viewport for a frame. (#1542) 6 years ago
omar baf67d393f When the focused window become inactive don't restore focus to a window with the ImGuiWindowFlags_NoInputs flag. (#2213) 6 years ago
omar 3c114b280a Merge branch 'viewport' into docking
# Conflicts:
#	imgui_internal.h
6 years ago
omar 2fbbcaa339 Viewport: Avoid calling platform functions when window is not created (apart from Platform_GetWindowDpiScale, documented as such). Main viewport situation is still ambiguous. (#1542) 6 years ago
omar 36cbe1e521 Viewport: Misc renaming. 6 years ago
omar 19d17ed274 Docking: Added io.ConfigDockingTransparentPayload option (to use with ImGuiConfigFlags_ViewportsNoMerge) 6 years ago
omar 3bcc25f588 Merge branch 'viewport' into docking
# Conflicts:
#	imgui.cpp
#	imgui.h
6 years ago
omar 99c32ed4a5 Merge branch 'master' into viewport 6 years ago
omar c08b4b46f4 Viewport: Better support for toggling ImGuiConfigFlags_ViewportsEnable. (#2196) 6 years ago
omar 4105cc7e97 Added ImGuiConfigFlags_None, ImGuiBackendFlags_None for good measure. 6 years ago
omar e138a5fcb5 Docking: Fixed debug Rebuild operation. 6 years ago
omar fc16e54612 Docking: Maintain CentralNode. When SetNextWindowDockID() on a now split node id, we dig to find the central node or the last focused node. (#2109) 6 years ago