Commit Graph

467 Commits (919fc548ad9b5c4fe7e1ab78e6498a447c6da301)

Author SHA1 Message Date
omar 7c7a7baf76 Merged miscellaneous small stuff (from nav/dock branches).
omar fa9327ccf8 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui.h
#	imgui_draw.cpp
#	imgui_internal.h
omar d0a1be0de0 Merge branch 'drag_and_drop'
omar 3ea5e67ba2 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui_demo.cpp
omar 28bbf1ade6 Fixed ParentWindow setup which broke Modal windows (fix c65124f415)
omar 052b6021dd Merge branch 'master' into drag_and_drop
# Conflicts:
#	imgui.cpp
#	imgui.h
#	imgui_internal.h
omar 0a3db267c3 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui.h
#	imgui_demo.cpp
#	imgui_internal.h
omar c22657985a Added GetFrameHeight() function (used to be SmallSquareSize internally)
omar ee7f1921e8 Internals: Added GetSmallSquareSize()
omar c65124f415 Internals: ParentWindow is now NULL for non-child windows and means what everyone expects.
omar f42d7b89e2 Internals: Removed misleading GetWindowParent() function. + renaming to clear confusing.
omar 4a555d35f0 IsWindowHovered(): split ImGuiHoveredFlags_FlattenChild into separate ChildWindows and RootWindow flags. Allowing more combination and a better symetry with IsWindowFocused() flags. ()
omar 45f440bb7d Internals: Renamed ImGuiButtonFlags_FlattenChilds -> ImGuiButtonFlags_FlattenChildren, ImGuiButtonFlags_AllowOverlapMode -> ImGuiButtonFlags_AllowItemOverlap
omar 2b9d8ab91d Merge branch 'master' into drag_and_drop
# Conflicts:
#	imgui.cpp
#	imgui.h
omar d1db229907 Merge branch 'master' into navigation
# Conflicts:
#	imgui_demo.cpp
omar e3e0326ea9 Exposed BeginCombo() publicly.
omar eab6333a0b SetNextWindowContentSize() adjust for client->window size, but the fate of borders isn't really clear for now (until now we always tried to make borders not affect layout, so if we want a 200x200 fully visible space with borders and zero window padding user need to include the borders) ()
omar a6f37287d8 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
omar a5e9392140 Combo: Added flags to BeginCombo() new api, removed explicit height, default to 8 instead of 7 items, allow popup height constraints via SetNextWindowSizeConstraints(), width expand if contents doesn't fit, popup reposition policy if it doesn't fit.
omar 7bf85db6c4 Drag and drop: Added COL3F payload for color without alpha overwrite. Exposed standard color payload types in imgui.h ()
omar 553b0fcf8f Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
omar 45466a8cf9 Internals: BeginCombo() added dummy ImGuiComboFlags.
omar e6215b6ca0 Merge branch 'master' into navigation + merge fix
# Conflicts:
#	imgui.cpp
omar 8959c64b33 Internals: Cleanup FindBestPopupWindowPos() to be more digestible, since we are bounds to rework the logic there. No functional changes intended
omar 2fc6a82665 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui.h
omar beda5fc5a0 Fixed scrollbar enable/disable calculation when size is modified programmatically. This is the generalization of the fix in 2df8fa95df.
omar e103fe8c1f Tweak four-corners resize grip code. Added ImRect::FixInverted() helper. ()
omar 729333293c Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui.h
omar b9dc0caee3 Tweak four-corners resize grip code. Added ImRect::FixInverted() helper. ()
omar 364251146b Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
omar 16d9fa30b2 Merge branch 'master' into drag_and_drop
omar c860a0a85c Internals: ImRect: Added IsFinite() helper.
omar 81cbaef806 Merge branch 'master' into navigation
omar 52e475230f Settings: Internals: Renaming.
omar 7ae71e4984 Settings: Internals: Added FindSettingsHandler()
omar 35eb5c5c99 Settings: Internals: Exposed FindWindowSettings(). Simplified some code.
omar 963259d128 Settings: Internals: Renamed ImGuiSettingsWindow to ImGuiWindowSettings.
omar 63712d5f5c Merge branch 'master' into drag_and_drop
omar 9191b17218 Merge branch 'master' into navigation
omar f3ec608c19 Settings: Initializing ImGuiSettingsWindow so external users don't end up with uncleared data. Exposed MarkIniSettingsDirty() in imgui_internal.h
omar 7e2d0d734c Settings: basic refactor so that additional data structures can be loaded/saved. Parser/saver is still the minimum viable poor-man parsing.
omar d552cabd15 Settings: Internal renaming of structure and fields names.
omar 4e3c7f1557 Nav: Exposed NavInitWindow() in imgui_internal ()
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.
omar b618629d99 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
omar 7d09a0ae99 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.
omar 68b26b4867 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
omar 302757447a Internals: Added SplitterBehavior(). ()
omar 2543807e56 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
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).
thedmd 8b2d449b16 Add ShadeVertsLinearUV()
omar 92212b17aa Merge branch 'master' into drag_and_drop
omar 9848a7023b Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui_demo.cpp
omar 9a44d447cd NewFrame() now asserts if neither Render or EndFrame have been called. Exposed EndFrame(). Made it legal to call EndFrame() more than one. ( etc.)
omar d211a0e338 Merge branch 'master' into navigation (with style breakable)
# Conflicts:
#	imgui.cpp
#	imgui_draw.cpp
omar 4022ada843 Merge branch 'master' into drag_and_drop
omar 6f7b1bf2e1 Internals: Renamed ImGuiWindow::Accessed to WriteAccessed.
omar 29e0078b66 Internals: Window minor internal renaming + added WindowRounding latch.
omar 834fa52c8e Columns: Added ImGuiColumnsFlags_GrowParentContentsSize to internal API to restore old content sizes behavior. (, )
omar 7746dd104c Merge branch 'master' into drag_and_drop
omar 44c590393c Merge branch 'master' into navigation
omar 4ad414c8d4 Internals: Window: Store whether the windows has a close button (we need that info for window/tabs dropping preview calculation)
omar 7c4be0a000 Internals: Added BringWindowToFront(), BringWindowToBack() helpers.
omar 5027311e7f Drag and drop: Standardizing payload types as defines. ()
omar ae060b1d67 Merge branch 'master' into drag_and_drop
omar 2275cb8b83 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
omar 3e06450d27 Internals: Added ArrowButton() helper.
omar 7908cce25f Drag and Drop: Added internal BeginDragDropTargetCustom() convenient to avoid submitting dummy ItemAdd. ()
omar a297cbafdb Merge branch 'master' into navigation
omar b6504b8eee Drag and drop: Handle overlapping drag target priorities given their surface, which appears to make most sense for drag and drop operations.
omar aae52522c3 Internals: Remove requirement to define IMGUI_DEFINE_PLACEMENT_NEW ()
omar 571b08f315 Internal: FindWindowByName() faster and doesn't touch every windows
omar de1e7dc088 Drag and Drop: Moved internal fields out of public sight. ()
omar 66f42324ad Drag and Drop: Added ImGuiDragDropFlags_SourceNoHoldToOpenOthers flag.
omar 63f6f2dd13 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui.h
omar a810619555 Drag and Drop: Added support for drag and drop hold-long-to-open for CollapsingHeader() and TreeNode(). Open only!
omar 1d7d8f8574 Merge branch 'master' into drag_and_drop
omar b13d281356 Maintaining ActiveIdTimer and HoveredIdTimer (the later is useful for drag and drop, both will be of course for creators of custom widgets)
omar 0e775807b4 Drag and Drop: Added a mechanism to allow widgets with no identifiers (such as Text/Image) to be used with BeginDragDropSource() given the explicit ImGuiDragDropFlags_SourceAllowNullID flag.
omar acf78da742 Drag and drop: moved to imgui.h
omar b5f714e9f9 Drag and Drop: made BeginDragDropSource() clear the IsItemHovered() by default, added a flag to keep it.
omar c5536e49ef Drag and drop API experiment
omar edafbcd630 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui.h
omar 77df1ba9e0 Version 1.53 WIP
omar c0b366b316 Merge branch 'master' into navigation
# Conflicts:
#	imgui.h
omar 9f200d10d5 Version 1.52
omar 5afee1c6f3 Merge branch 'master' into navigation
# Conflicts:
#	imgui_internal.h
omar 8dd7648db2 Comments
omar ccdb58b17e Internal: Added ImVec4 operators
omar 6243252d5a Internal: BeginTooltipEx() in imgui_internal.h
omar f10a1d7b9e Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
omar d42f6bb6cc Merged a bit of code from Navigation branch to ease further merging (InnerRect is currently not required in the Master branch)
omar c432fcf2bb Minor renaming.
omar a6ff14d66e Exposed IM_ARRAYSIZE() in imgui.h
omar 549f9e3f03 Merge branch 'master' into navigation
# Conflicts:
#	imgui_internal.h
omar 4faf99eff5 Added most basic form of Disabled flag to disable interactions (but visuals aren't altered), in imgui_internals.h, undocumented/unsupported (, )
omar d513546325 Merge branch 'master' into navigation
omar de72e9cc87 Internals: ImLerp() helper for ImVec4
omar 20983773f1 Nav: MainMenuBar now releases focus when user gets out of the menu layer. WindowingTarget when applying focus to a window with only menus automatically sets the layer. ()
This is enough for basic mouse/gamepad usage, but 1- previous window gets an unfocused title bar color temporarily, 2- generaly for gamepad and especially keyboard we need much more to get this done right
omar 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.