ocornut
ebbb98d519
Docking: docked window honor tab and text colors by storing them. ( #2771 )
...
Later to lead into #2700 and #2539
Move tab submission block above in DockNodeUpdateTabBar(), not strictly necessary for this change as is, but useful if needing to apply override for TitleBg* as we'd need a value for node->VisibleWindow earlier than currently set.
2021-01-18 18:32:46 +01:00
ocornut
9e4956d86b
Docking: added comments. added experimental TabItemFlagsOverrideSet to ImGuiWindowClass.
...
(Could probably do something similar with TabBarFlagsOverrideSet+Clear for #2700 later.)
2021-01-18 18:32:46 +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
388ca563db
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_dx12.cpp
2021-01-15 19:20: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
b11518d7d7
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_opengl2.cpp
# backends/imgui_impl_opengl3.cpp
# imgui.cpp
2021-01-05 16:46:38 +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
7b53551032
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
2020-12-22 17:17:49 +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
06e87014f2
Merge branch 'master' into docking
...
# Conflicts:
# imgui.h
# imgui_internal.h
2020-12-11 23:10:06 +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
dd4ca70b0d
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_win32.cpp
# imgui.cpp
# imgui_demo.cpp
2020-12-04 19:22:15 +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
c1ffac2fee
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2020-12-03 20:05:49 +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
4da92b89ed
Viewports: fix incorrect whitening of popups above a modal if both use their own viewport + fix pvs warning.
2020-11-19 18:31:13 +01:00
ocornut
3dcbcd8bf0
Internals: added IsWindowAbove() for use for modal/viewport bugfix.
2020-11-19 18:31:10 +01:00
ocornut
97265602c4
Internals: added IsWindowAbove() for use for modal/viewport bugfix.
2020-11-19 16:59:21 +01:00
ocornut
cecf6b4209
Viewports: made standalone modals appear in taskbar + new window perform z-check before merging in main host viewport. ( #3511 , #1542 )
...
This should fix a good amount of "lost modal" problems, however it is still possible to loose a modal in a host viewport if secondary viewports are configured as children above the host.
2020-11-19 16:07:07 +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
b2a91dc390
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2020-11-13 22:04:28 +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
ac08593b96
Merge branch 'master' into docking + tweak dock node padding + use CheckboxFlags with int
...
# Conflicts:
# imgui.cpp
# imgui_demo.cpp
# imgui_internal.h
2020-11-05 21:36:22 +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
e3ac52630a
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_opengl3.cpp
# imgui.cpp
2020-10-31 00:47:57 +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
ocornut
455c21df71
Merge branch 'master' into docking + dockspace demo comments
...
# Conflicts:
# backends/imgui_impl_opengl3.cpp
# docs/CHANGELOG.txt
# imgui_internal.h
# imgui_widgets.cpp
2020-10-19 15:08:32 +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
d3a80d9f1b
Internals: Docking: More fixes to make DockNodeBeginAmendTabBar() viable (probably some issues left)
2020-10-15 15:02:05 +02:00
ocornut
b26f1530b7
Internals: Docking, Tab Bar: Add DockNodeBeginAmendTabBar() and work toward making hybrid dock node with windows tab bars somehow work (not done).
2020-10-15 12:18:20 +02:00
ocornut
042a3b01d2
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_dx10.cpp
# backends/imgui_impl_dx10.h
# backends/imgui_impl_vulkan.h
# backends/imgui_impl_win32.cpp
# docs/CHANGELOG.txt
# examples/README.txt
# examples/example_glfw_opengl2/main.cpp
# examples/example_glfw_opengl3/main.cpp
# examples/example_glfw_vulkan/main.cpp
# examples/example_sdl_directx11/main.cpp
# examples/example_sdl_opengl2/main.cpp
# examples/example_sdl_opengl3/main.cpp
# examples/example_sdl_vulkan/main.cpp
# examples/example_win32_directx10/main.cpp
# examples/example_win32_directx11/main.cpp
# examples/example_win32_directx12/main.cpp
# examples/example_win32_directx9/main.cpp
# imgui.cpp
# imgui.h
# imgui_demo.cpp
# imgui_internal.h
2020-10-14 14:44:03 +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
682249396f
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
2020-10-08 16:05:55 +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
958e58b06b
Merge branch 'master' into docking
...
# Conflicts:
# examples/example_apple_opengl2/main.mm
# imgui.cpp
2020-10-01 13:33:08 +02:00
ocornut
c49330fc52
Docking: Fix handling of WindowMenuButtonPosition == ImGuiDir_None in Docking Nodes. ( #3499 )
2020-09-30 14:11:22 +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
fa004ae79a
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_examples.sln
# examples/imgui_impl_dx12.cpp
# examples/imgui_impl_dx12.h
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
# imgui_demo.cpp
# imgui_internal.h
# imgui_widgets.cpp
2020-09-22 17:00:57 +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
6bc526676c
Viewports: Comments, removed unnecessary use of ViewportFrontMostStampCount (the LastFrontMostStampCount is enough)
2020-09-16 12:29:46 +02:00
omar
78f753ffff
Merge branch 'master' into docking + incl add wd->Pipeline in ImGui_ImplVulkan_RenderDrawData platform code ( #3455 , #3459 )
2020-09-08 17:02:58 +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
ocornut
36c331ff74
Merge branch 'master' into docking
...
# Conflicts:
# examples/example_glfw_vulkan/main.cpp
# examples/example_sdl_vulkan/main.cpp
# imgui.cpp
# imgui_internal.h
2020-09-02 12:47:07 +02:00
ocornut
8dacb4da20
Docking: Fixed DockNode tab bar initial order broken by 8c80d533d
2020-09-02 12:11:45 +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
fc625d249f
Internals: Begin: update ->Hidden flags only on first begin of the frame. (ignore whitespace to see simple diff)
...
# Conflicts:
# imgui.cpp
2020-09-01 15:28:06 +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
34077c0140
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2020-09-01 12:07:35 +02:00
ocornut
ce230fc370
Internals: TabBar renaming and shuffling stuff around.
...
+ sneaking a readme change
2020-08-31 17:49:18 +02:00
ocornut
600b8f60b4
Docking: Fixed crash in metrics.
2020-08-28 20:20:28 +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
ocornut
e9053515bb
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/example_glfw_vulkan/main.cpp
# examples/example_sdl_vulkan/main.cpp
2020-08-25 19:29:06 +02:00
ocornut
30f0900b1c
Docking: Fix honoring payload filter with overlapping nodes. (we incorrectly over-relied on g.HoveredDockNode when making change for #3398 )
...
Essentially undo part of 85a661d
(#3398 ) + ref cf31254
(#3420 )
2020-08-25 19:17:46 +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
831e2c920e
Docking, Viewport: Fixed a rare edge-case if the window targetted by CTRL+Tab stops being rendered.
2020-08-21 18:44:56 +02:00
ocornut
cf312545e8
Docking: Fixed docking while hovering a child window. ( #3420 ) broken by 85a661d27
. Improve metrics debugging.
2020-08-21 16:34:34 +02:00
ocornut
9d20a5f0a5
Docking: DockSpace() emits ItemSize() properly + dockspace demo (works now since 05a25e5f3
)
2020-08-20 22:54:33 +02:00
ocornut
ad8fdc917f
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
2020-08-20 22:42:14 +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
05bc204dbd
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.h
2020-08-18 17:51:43 +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
b36d1d465d
Docking: Untangle a little bit of the ActiveIdClickOffset mess.
2020-08-18 12:40:43 +02:00
ocornut
25a9209b75
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
# imgui_internal.h
# imgui_widgets.cpp
2020-08-17 23:29:17 +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
a9626e1162
Docking: Made DockBuilderAddNode() automatically call DockBuilderRemoveNode(). ( #3399 , #2109 )
2020-08-11 11:52:13 +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
a5ba26806f
Make moving window prevent its active id from being stolen ( #3392 , #3243 , #1738 )
...
Amend 7b3d379
, 615e9ae3
2020-08-10 16:28:46 +02:00
omar
dbc70f21a9
Docking: Fixed docking overlay bits appearing at (0,0), because of 43bd80a4
. Most typically noticable when disabling multi-viewport.
2020-08-10 15:54:41 +02:00
omar
85a661d276
Docking: Storing HoveredDockNode in context which can be useful for easily detecting e.g. hovering an empty node. ( #3398 )
2020-08-10 12:55:37 +02:00
omar
acf043a675
Docking: Moved code unjustly in DockNodeTreeFindNodeByPos() out of it and into caller (should have no side-effect ideally). Removed dupe in Begin() from earlier merge.
2020-08-10 12:52:23 +02:00
omar
2c13a74a9d
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/example_glfw_vulkan/main.cpp
# examples/example_sdl_vulkan/main.cpp
# imgui.cpp
2020-08-10 11:35:51 +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
de1588928b
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2020-08-03 19:54:31 +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
70fa37527d
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_demo.cpp
# imgui_draw.cpp
# imgui_internal.h
2020-07-29 15:15:14 +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
f79f0e42f7
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/imgui_impl_opengl3.cpp
# imgui.h
2020-07-14 18:38:47 +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
cbade7b16d
Docking: Workaround recovery for node created without the _ockSpace flags later becoming DockSpace. ( #3340 )
2020-07-10 19:17:49 +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
4f5aac319e
Docking: moved local-ish IMGUI_DOCK_SPLITTER_SIZE to DOCKING_SPLITTER_SIZE at the top of the file.
2020-07-03 15:51:05 +02:00
omar
fc9d6b6cb5
Docking: Added experimental flags to perform more docking filtering and disable resize per axis. Designed for toolbar patterns.
...
The local/shared flags specs, saving and inheriting rules are pretty inconsistent at the moment.
2020-06-30 19:55:59 +02:00
omar
4bdbea8375
Docking: Rework size allocation to allow user code to override node sizes. Not all edge cases will be properly handled but this is a step toward toolbar emitting size constraints.
2020-06-30 18:53:13 +02:00
omar
2b9d88196e
Docking: Rework size allocations to recover when there's no enough room for nodes + do not hold on WantLockSizeOnce forever ( #3328 )
...
(Ensure if the fact that WantLockSizeOnce was kept when only 1 child is visible was desired/desirable)
2020-06-30 18:52:02 +02:00
omar
ab4ef822f0
Version 1.78 WIP
2020-06-30 16:56:09 +02:00
omar
90ea7e2f2f
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_demo.cpp
# imgui_internal.h
2020-06-30 16:43:16 +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
ddabfc3477
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
2020-06-29 17:15:40 +02:00
omar
9418dcb693
Version 1.77
...
+ fix minor clang-tidy warnings which seems reasonable
2020-06-29 15:54:28 +02:00
omar
f4f04cb5ec
Windows: Amend 6b0cf2e6
to facilitate working in viewport branch + handle safe area padding and ConfigWindowsMoveFromTitleBarOnly.
...
# Conflicts:
# imgui.cpp
2020-06-25 23:14:46 +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
d7ef56dca2
Windows: Fix unintended window size changes when resizing windows close to main viewport edges.
2020-06-25 22:58:39 +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
5628416bd3
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_demo.cpp
2020-06-25 14:03:40 +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
e1d7e14717
Viewports: used main viewport for centering (wip), clarified the meaning of how ImGuiPlatformMonitor WorkPos/WorkSize should be set if unknown, added asserts.
2020-06-23 18:42:01 +02:00
omar
a616ff5d4a
BeginPopupModal() doesn't set the ImGuiWindowFlags_NoSavedSettings flag anymore, and will not always be auto-centered. ( #915 , #3091 )
...
# Conflicts:
# imgui.cpp
2020-06-23 17:54:55 +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
76e40fe5d1
Docking: Fix misuse of PushClipRect in UpdateWindowManualResize(). ( #3311 )
2020-06-20 22:09:58 +02:00
omar
20d61f5f62
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2020-06-20 22:06:01 +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
2665288b30
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2020-06-11 11:36:38 +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
8baa4ccff5
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2020-06-06 20:31:24 +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
5d472c4895
Merge branch 'master' into docking + fixes for #3259
...
# Conflicts:
# examples/example_glfw_vulkan/main.cpp
# examples/example_sdl_vulkan/main.cpp
# examples/imgui_impl_sdl.cpp
# imgui.cpp
2020-05-25 18:32:15 +02:00
ocornut
5ddf60d8ce
Commit to facilitate branches merges
2020-05-25 18:28:25 +02:00
ocornut
0fe5170bc4
Viewports: Report minimized viewports as zero DisplaySize to be consistent with main branch + comments ( #1542 )
2020-05-25 16:28:55 +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
ocornut
615e9ae345
Docking: Fix undocking ( #3243 ), amend 7b3d3798
( #1738 )
2020-05-18 15:08:47 +02:00
omar
3b3af6b731
Docking: Fix extraneous function declaration ( #3236 ) + moved some other declarations in imgui_internal to facilitate moving docking code.
2020-05-16 16:11:42 +02:00
omar
e4d8267188
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
2020-05-16 14:14:51 +02:00
omar
1cd32d3afe
Docking: moving small docking context to imgui_internal.h, removed unnecessary indirection, renaming.
2020-05-14 00:19:56 +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
Chris Savoie
c46b79846c
Metrics: Fix metrics crash with viewports.
2020-05-11 17:54:07 +02:00
omar
6636cb9f2f
Viewports: Don't set ImGuiViewportFlags_NoRendererClear when ImGuiWindowFlags_NoBackground is set. ( #3213 )
2020-05-11 17:29:50 +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
8596f2b0fc
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2020-05-08 17:07:40 +02:00
omar
3aa1684129
Comments
2020-05-08 15:59:59 +02:00
omar
538d28e29e
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2020-05-08 00:00:03 +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
574ff0a280
Docking, Settings: Allow reload of settings data at runtime. ( #2573 )
2020-05-07 23:28:29 +02:00
omar
51e568f9dc
Docking: Fix to allow basic reload of non-docking .ini data (following d33021d8
) + moved settings blocks
2020-05-07 23:26:59 +02:00
omar
582f4db59b
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_demo.cpp
# imgui_internal.h
2020-05-07 22:13:47 +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
5116eee108
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
2020-05-04 15:05:07 +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
omar
7ddc1adefb
Internals: FIxed commented out IMGUI_DEBUG_LOG_xxx macros, added extra. Revert incorrect 103c5edaa
.
2020-04-22 16:41:18 +02:00
ocornut
266dff9bed
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui_internal.h
2020-04-20 11:33:56 +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
Rokas Kupstys
7f8b076f2b
Viewports, Backends: GLFW: Fix windows resizing incorrectly due to GLFW firing window positioning callbacks on next frame after window is resized manually. ( #2117 )
...
+ Docking fixed PVS warning
2020-04-18 11:27:34 +02:00
Patryk Czachurski
36ac557df0
Docking: Fix unused variable warning. ( #3135 )
2020-04-18 11:09:44 +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
b8e2b2bd6b
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
2020-04-12 20:24:18 +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
71eb4034eb
Viewports: Fixed viewport merge code not testing the Minimized flag correctly. ( #3118 )
2020-04-12 17:48:24 +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
3930472f34
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2020-04-06 18:16:13 +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
0e884304ee
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_opengl3.cpp
# imgui.h
2020-04-02 14:27:48 +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
16a9488c13
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_draw.cpp
2020-03-19 12:44:53 +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
ea0399414c
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2020-03-11 22:30:34 +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
fbaf65b8f6
Revert "Viewports: Renamed UpdatePlatformWindows > PlatformWindowsUpdate, RenderPlatformWindowsDefault -> PlatformWindowsRender, DestroyPlatformWindows > PlatformWindowsDestroy ( #1542 )"
...
This reverts commit f2c7f3b200
.
2020-03-06 17:53:09 +01:00
ocornut
f2c7f3b200
Viewports: Renamed UpdatePlatformWindows > PlatformWindowsUpdate, RenderPlatformWindowsDefault -> PlatformWindowsRender, DestroyPlatformWindows > PlatformWindowsDestroy ( #1542 )
2020-03-06 17:28:32 +01:00
Rokas Kupstys
7e00cde8a9
Disable false-positive warning that papeared in pvs-studio v7.06.37052.34.
2020-03-05 15:26:20 +01:00
ocornut
1ecc1db226
Fix GCC warning
2020-03-05 12:35:01 +01:00
ocornut
a7ace918fe
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_win32.cpp
# imgui.cpp
2020-03-05 11:48:57 +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
91ac93f9a6
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2020-03-03 17:06:38 +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
05c3e0b898
Merge commit 'caca55c642d16cf1c2649831c5d06b1f26146d12' into docking
...
# Conflicts:
# examples/imgui_impl_sdl.cpp
# imgui.cpp
2020-03-03 17:03:47 +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
omar
103c5edaaa
Internals: debug log macros.
2020-02-27 16:10:36 +01:00
ocornut
75de34e281
Viewports, Docking: Added per-viewport work area system for e.g. menu-bars. Fixed DocksapceOverViewport() and demo code (overlay etc) ( #3035 , #2889 , #2474 , #1542 , #2109 )
...
Clarified that BeginMenuMainBar() had an incorrect knowledge of its height (which was previously harmless).
Designed to easily allow for status bars although we don't have/use them yet, but custom code could use them.
2020-02-26 23:58:45 +01:00
ocornut
f032ad6b1f
Viewports: Renamed GetRect() to GetMainRect() in prevision for work rect. Comments
2020-02-26 21:02:25 +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
871727dd2f
Viewports: Software mouse cursor is also scaled by current DpiScale. (amend #939 )
2020-02-25 15:51:57 +01:00
Rokas Kupstys
3ff13edad9
Viewports: Improve menu positioning in multi-monitor setups.
...
This change uses mouse position for initial positioning of popup menus. It ensures that menu appears in expected location on monitor mouse is currently hovering. This change fixes incorrect menu positioning (permanent or on the first frame) when menu item spans multiple monitors.
2020-02-25 15:05:58 +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
3c80d57dc7
Viewports, Window: Avoid manually clipping resize grips and borders, which messes up with automation ability to locate the items. Also simpler and more standard.
...
Amend d8f9f6ba2a
and 377f730054
.
2020-02-19 23:43:04 +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
bb1e6f8af6
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/example_win32_directx11/main.cpp
# examples/example_win32_directx9/main.cpp
# examples/imgui_impl_win32.cpp
# examples/imgui_impl_win32.h
# imgui.cpp
2020-02-17 18:33:59 +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
8432d1bfc7
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2020-02-10 14:03:12 +01:00
omar
58b3e02b95
Version 1.75
...
Comments
2020-02-10 14:02:41 +01:00
omar
7e2d172ae5
Backends: GLFW, SDL: Platform monitors declared properly even if multi-viewport is not enabled.
2020-02-09 17:31:18 +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
3bde375078
Nav, Docking: Fixed failing to restore NavId when refocusing due to missing nav window.
2020-02-02 22:40:56 +01:00
omar
365b639981
Nav, Docking: Fixed failing to restore NavId when refocusing a child within a docked window.
2020-02-02 22:17:44 +01:00
omar
d4fc525614
Nav, Focus: Fixed messed up Ctrl+Tab order with Docked windows.
...
Amend d9bca0d853
, fc41839cab
, fc42528f13
for docking.
2020-02-02 21:24:53 +01:00
omar
5be649e082
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2020-02-02 21:21:54 +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
4b4be11fd2
Docking: Clarifying that DockNode!=NULL when DockIsActive. Comments. Cleanup.
2020-01-31 14:57:47 +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
e7bfcb970e
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
# imgui_demo.cpp
# imgui_internal.h
2020-01-30 15:21:16 +01:00
omar
6e1f8be07b
Window: Fix SetNextWindowBgAlpha(1.0f) failing to override alpha component. ( #3007 )
2020-01-30 15:13:36 +01:00
omar
3b828e6f96
Fix following bbe946f
(ImRect <> ImVec4)
2020-01-28 20:29:07 +01:00
omar
bbe946fb6c
Minor fixes/tweaks (some to reduce drift wiih master branch)
2020-01-28 20:08:04 +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
377f730054
Fix resizing viewport-owning windows when mouse pos is outside the InnerClipRect (can happen with OS decoration on). ( #1542 )
2020-01-27 17:57:07 +01:00
omar
f5528001f6
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_glfw.cpp
# examples/imgui_impl_opengl2.cpp
# imgui.cpp
# imgui_internal.h
2020-01-27 14:57:00 +01:00
omar
f68075b333
Docking: Added DockNodeFlagsOverrideSet/DockNodeFlagsOverrideClear (experimental)
2020-01-24 14:20:52 +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
f1b5c742ff
Viewports: Add various comments
2020-01-20 19:59:55 +01:00
omar
7e068da2bd
Docking: 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-20 19:29:25 +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
44174b1fa1
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_win32.cpp
# examples/imgui_impl_win32.h
# imgui.cpp
# imgui_internal.h
2020-01-14 20:01:27 +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
861f786d81
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
2020-01-10 14:38:09 +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
3b1b5266e5
Docking: Fixed a bug where the tab bar of a hidden dockspace would keep requesting focus. ( #2960 )
2020-01-02 22:50:56 +01:00
omar
c163b856d7
Docking: Fix for IMGUI_DEBUG_INI_SETTINGS=1, comments
2020-01-02 22:35:29 +01:00
omar
07eb7adbb4
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2019-12-20 16:36:41 +01:00
omar
854fc08194
Amend f70204f2
to facilitate merges.
2019-12-20 16:34:07 +01:00
omar
4c108d22f0
Minor bits, placeholder aimed at facilitating merging of Tables branch into Docking
...
# Conflicts:
# imgui.cpp
2019-12-19 17:01:22 +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
c706ff6f3a
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_sdl.cpp
# imgui.cpp
2019-12-18 20:49:41 +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
992736dc5d
Merge branch 'refs/heads/master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/imgui_impl_glfw.cpp
# examples/imgui_impl_sdl.cpp
# examples/imgui_impl_win32.cpp
# imgui.cpp
# imgui_internal.h
# imgui_widgets.cpp
2019-12-13 17:06:27 +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
927580d4a8
Docking: Cleanup, rename DockNodePreviewDockCalc() -> DockNodePreviewDockSetup()
2019-12-04 23:06:36 +01:00
omar
abaf0256b8
Version 1.75 WIP
...
Added message to font file loading assert.
2019-11-28 20:58:16 +01:00
omar
a1e4af62d3
Docking: Fix bug added in 71a58261
+ Misc docking omments
2019-11-28 20:52:46 +01:00
omar
4dff49b2f1
Docking, Viewports: Moving code.
...
Moved NewFrame() sanity checks in NewFrameSanityChecks().
Moved some of DockNodeUpdate() into DockNodeUpdateForRootNode().
2019-11-27 19:13:15 +01:00
omar
71a58261f6
Docking: Internals: Removed redundancy in code path leading to the BeginAsDockableDragDropSource(), clarified UpdateMouseMovingWindowEndFrame()
...
Note that the ConfigWindowsMoveFromTitleBarOnly path for UpdateMouseMovingWindowEndFrame() would previously test the window->RootWindow title bar instead of window->RootWindowDockStop. This didn't have any side effect afaik because we wouldn't enter that function anyway as clicking on any tab bar would trigger the move before UpdateMouseMovingWindowEndFrame() does it. However for consistency made the UpdateMouseMovingWindowEndFrame()code more correct.
+ minor renaming
2019-11-27 18:57:01 +01:00
omar
8d1b82d596
Docking: Internals: Rename StartMouseDragFromTitleBar() -> StartMouseMovingWindowOrNode(), clarify.
2019-11-27 15:51:15 +01:00
omar
3096e7a9cd
Viewports: Preserve last known size for minimized main viewport to be consistent with secondary viewports.
...
Amend 606175b9
, d8ab2c1a
.
However becomes inconsistent with viewport-enabled setup. Should report some of that logic in master, need back-end rework.
2019-11-26 21:02:28 +01:00
omar
1c3a9c8e74
Docking: Remove Size > 0.0f asserts added in 718e15c7
and 7c183dc6
. ( #2690 , #2109 , #2906 )
...
In #2906 the zero input came from a minimized viewport, but even without it we cannot prevent DockNode size from eventually reaching zero as padding are taken from the starting size.
In a separate commit we'll however shortcut some of the existing codepath on zero-sized viewport to reduce the likehood of lossy side-effects (just like we don't call ClampWindowRect in Begin)
2019-11-26 20:25:54 +01:00
omar
813e0c18e6
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/imgui_impl_dx10.cpp
# examples/imgui_impl_dx10.h
# examples/imgui_impl_dx11.cpp
# examples/imgui_impl_dx11.h
# examples/imgui_impl_dx12.cpp
# examples/imgui_impl_dx12.h
# examples/imgui_impl_dx9.cpp
# examples/imgui_impl_dx9.h
# examples/imgui_impl_metal.h
# examples/imgui_impl_metal.mm
# examples/imgui_impl_opengl3.cpp
# examples/imgui_impl_opengl3.h
# examples/imgui_impl_vulkan.cpp
# imgui.cpp
# imgui.h
# imgui_internal.h
2019-11-26 12:23:43 +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
3a82994429
Docking: Can undock from the small triangle button. (#2109,. #2645 )
2019-11-22 23:12:16 +01:00
omar
106184bbea
Docking: Fixed node->HasCloseButton not honoring ImGuiDockNodeFlags_NoCloseButton in a floating node, leading to empty space at the right of tab-bars with those flags. ( #2109 )
2019-11-22 23:11:21 +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
3895363432
Merge branch 'master' into docking inc alter GetWindowResizeID
...
# Conflicts:
# imgui.cpp
2019-11-18 13:58:50 +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
omar
a1e43c682a
Merge branch 'master' into docking (with fixes)
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2019-11-15 15:32:36 +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
c3fd4ae473
Docking: comments
2019-11-12 11:06:02 +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
69b5c2f541
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2019-11-08 15:45:12 +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
a704614b3e
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
# imgui_widgets.cpp
2019-11-04 16:33:57 +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
omar
6024051a2f
Viewport: Fixed 32380a0
( #2876 )
2019-10-29 21:18:01 +01:00
omar
b3e94f5de8
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_opengl3.cpp
# imgui_widgets.cpp
2019-10-29 17:21:19 +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
32380a0112
Viewport: Store current dpi scale in context.
2019-10-29 16:43:11 +01:00
omar
4e56de757c
Doc: Promote Discord over Discourse. Obsoleting Discourse server.
2019-10-25 15:36:37 +02:00
omar
664fb38e39
Docking: child windows don't use style.ChildRounding.
2019-10-25 11:13:51 +02:00
omar
0cbb96895a
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_dx12.cpp
# imgui.cpp
# imgui.h
# imgui_widgets.cpp
2019-10-24 15:11: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
omar
7feccf9ab2
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_dx10.cpp
# examples/imgui_impl_dx10.h
# examples/imgui_impl_dx11.cpp
# examples/imgui_impl_dx11.h
# examples/imgui_impl_dx9.cpp
# examples/imgui_impl_dx9.h
# examples/imgui_impl_glfw.cpp
# examples/imgui_impl_opengl2.cpp
# examples/imgui_impl_opengl2.h
# examples/imgui_impl_opengl3.cpp
# examples/imgui_impl_opengl3.h
# imgui.cpp
2019-10-18 16:50:30 +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
bf4880f6a2
Merge branch 'master' into docking
2019-10-07 19:14:37 +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
e0c0e53edf
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2019-10-04 19:22:42 +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
6994bf10bc
Merge branch 'master' into docking + fix for RenderMouseCursor()
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
# imgui_draw.cpp
# imgui_internal.h
2019-09-24 17:14:51 +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
3233d85d2f
Merge branch 'master' into docking
2019-09-22 22:16:11 +02:00
omar
13f00331da
Docking: Added ImGuiDockNodeFlags_NoDocking flag. ( #2109 )
2019-09-21 14:50:02 +02:00
omar
a45e3b5bb3
Readme, Wiki: Image loading examples.
2019-09-20 19:04:19 +02:00
omar
af93c21cf9
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2019-09-18 17:27:14 +02:00
omar
74e01e62ce
Fixed unused static function warning for some compilers. ( #2793 )
2019-09-18 13:21:12 +02:00
omar
1ca6ff974c
Viewport: fix to allow multiple shutdown / calls to DestroyPlatformWindows(). ( #2769 )
2019-09-17 18:02:58 +02:00
omar
575df6f192
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
# imgui_draw.cpp
# imgui_internal.h
2019-09-17 16:35:50 +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
0bdc145343
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2019-08-31 19:19:00 +02:00
omar
d049a7988c
Docking: comments for DockBuilder API.
2019-08-31 16:51:12 +02:00
omar
9e294be5c5
Docking: Fix for node created at the same time as windows that are still resizing (typically with io.ConfigDockingAlwaysTabBar) to not be zero/min sized. ( #2109 )
...
The fix delay their visibility by one frame, which is not ideal but not very problematic as the .ini data gets populated after that
2019-08-29 10:45:33 +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
a01d149369
Fixed context popup windows from not having the NoDocking flag. ( #2763 )
2019-08-28 10:52:17 +02:00
omar
483534b525
Internals: Using simpler ImVec2ih construct + fixed misnamed member.
2019-08-23 12:31:14 +02:00
omar
e1fca8d982
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2019-08-23 12:21:49 +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
10a202422a
Docking: Extracted some of BeginDocked() into a DockContextBindNodeToWindow() function.
...
Moved one of the undocking blurb to favor fast path.
(Commit intended to have no functional side effects)
2019-08-22 13:51:17 +02:00
omar
27431dcc6b
Docking: fix BeginDocked() path that creates node so that SetNextWindowDockID() doesn't immediately discard the node..( #2109 )
...
Amend 515ecbddc2
, not sure at this point if the (auto_dock_node) flag was needed at all.
Comments. Exposed DockContextGenNodeID() in imgui_internal.h
2019-08-22 13:51:16 +02:00
omar
d8f9f6ba2a
Viewport: Fixed issue where resize grip would display hovered (before of extruded hit rectangle) while mouse is still off the OS bounds so click would miss it and focus the OS window behind expected one. ( #1542 )
2019-08-22 13:51:16 +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
72090b646f
Fixed incorrect assignment of IsFallbackWindow which would tag dock node host windows created in NewFrame() as such, messing with popup viewport inheritance.
2019-08-22 11:35:17 +02:00
omar
aedcd2fb1a
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/imgui_impl_dx11.cpp
# imgui.cpp
2019-08-19 21:49:53 +02:00
omar
a33cedda14
Internals: Renaming window size calc functions.
2019-08-19 21:48:52 +02:00
omar
76ccbb899d
Viewport: Fix modal/popup window being stuck in unowned hidden viewport associated to fallback window without stealing it back. ( #1542 )
...
Viewport: Fix modal reference viewport when opened outside of another window.
+ Comments
2019-08-19 11:58:30 +02:00
omar
5d87ee8d82
Internals: Added function index for Viewport and Docking. Renamed a few functions.
2019-08-16 15:29:58 +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
451c756b01
Docking: Modals don't need to set ImGuiViewportFlags_NoFocusOnClick. This also mitigate the common described by #2445 , which becomes particularly bad with unfocused modal. ( #1542 )
2019-08-01 16:23:54 -07:00
omar
3aa9aae0be
Docking: Fix a crash that could occur with a malformed ini file (DockNode Parent value pointing to a missing node)
2019-08-01 15:50:05 -07:00
omar
f624455d7b
Version 1.73 WIP
2019-08-01 10:57:13 -07:00
omar
967073ba3d
Viewport: Handle case where host window gets moved and resized simultaneous (toggling maximized state). There's no perfect solution there, than using io.ConfigViewportsNoAutoMerge = false. ( #1542 )
2019-07-31 20:08:06 -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
b8d8355f10
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
2019-07-31 14:34:58 -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
07c52a25ff
Docking: Recording dockspace parent window so pruning doesn't zealously lose the location of nodes. ( #2109 )
2019-07-29 15:56:59 -07:00
omar
cb2de62bb1
Docking: Renaming, comments.
2019-07-29 15:56:59 -07:00
omar
9183e7c426
Version 1.73 WIP
2019-07-29 15:54:32 -07:00
omar
a1164399b0
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2019-07-27 18:21:41 -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
e5b905481d
Viewport: Refactored ViewportFlagsOverrideMask+ViewportFlagsOverrideValue into ViewportFlagsOverrideSet+ViewportFlagsOverrideClear which appears easier to grasp. ( #1542 )
...
(cherry picked from commit 9437630872e7ca19065bee78fcafaab54a0d5bf2)
2019-07-24 13:45:18 -07:00
omar
7c183dc6a1
Docking: Explicitly inhibit constraint when docked for now ( #2690 , #2109 )
...
Added asserts to catch issues.
2019-07-24 11:18:13 -07:00
omar
7fbd72b735
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2019-07-23 21:40:57 -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
969278fc0b
Docking: Fixed dragging/resizing from OS decoration not marking settings as dirty.
...
Internals: Added IMGUI_DEBUG_LOG_DOCKING, IMGUI_DEBUG_LOG_VIEWPORT macros to easily enable/disable a bunch of logging code.
2019-07-23 21:29:43 -07:00
omar
efc4c0fe9d
Internals: 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:26:15 -07:00
omar
db2581bee9
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2019-07-23 13:35:01 -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
75136d3bea
Internals: Removed ShowDockingDemo(), moved into Metrics. Metrics: Added more links to browse window->node, node->window, node->node etc.
2019-07-22 11:51:04 -07:00
omar
0e6a096afd
Docking: Renamed io.ConfigDockingTabBarOnSingleWindows to io.ConfigDockingAlwaysTabBar. ( #2109 )
...
Added ImGuiWindowClass::DockingAlwaysTabBar to set on individual windows.
2019-07-22 11:29:22 -07:00
omar
6f8d34768d
Docking: Removed seemingly unnecessary test in TabItemEx() for undocking tab leading to window move. Added ImGuiDockNode::IsFloatingNode() helper to clarify code intent in various places.
2019-07-22 11:02:44 -07:00
omar
9cda3035fd
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_dx10.cpp
# examples/imgui_impl_dx11.cpp
# examples/imgui_impl_glfw.cpp
# examples/imgui_impl_sdl.cpp
# imgui.cpp
2019-07-22 10:29:14 -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
omar
47f5ad32b7
Perform simple check: error if Docking or Viewport are enabled _exactly_ on frame 1 (instead of frame 0 or later), which is a common error leading to loss of .ini data. ( #2109 )
2019-07-21 12:05:04 -07:00
omar
9f35ba8546
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2019-07-19 15:19:10 -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
7fd34d4f30
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2019-07-17 18:48:16 -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
bb2aa5e770
Docking: Making it possible to undock a node by clicking on the tab bar / title bar for the node. ( #2645 , #2109 )
2019-07-17 13:55:00 -07:00
omar
56e10f1c35
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
2019-07-16 18:29:31 -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
718e15c7de
Docking: Fix so that an appearing window making a dock node reappear won't have a zero-size on its first frame (because dock node ->Size was 0.0 unlike ->SizeRef) ( #2109 )
...
Docking: Added ImGuiDockNode to .natvis file.
2019-07-16 11:45:52 -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
8bc6d976cb
Docking: Fixed using ImGuiDockNodeFlags_AutoHideTabBar with ConfigDockingTabBarOnSingleWindows. ( #2109 )
2019-07-15 14:17:01 -07:00
omar
dd80db87a6
Viewport: Added ImGuiViewportFlags_NoAutoMerge to prevent merging into host viewport in a per-window basis via the ImGuiWindowClass override mechanism. ( #1542 )
2019-07-15 13:35:21 -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
1f54c16f52
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
2019-07-02 18:47:10 +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
50d421fa19
Docking: Fixed GetBackgroundDrawList(), GetForegroundDrawList() overwriting ImDrawList flags after clear, leading to the AllowVtxOffset flag not being cleared. ( #2638 )
2019-06-26 09:52:25 +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
e2c1f0a7cd
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2019-06-18 23:12:50 +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
ca43436cd3
Fix monitor dpi info not being copied to main viewport when multi-viewports are not enabled. ( #2621 , #1676 ) + Tweaks, short path in FindPlatformMonitorForRect().
2019-06-17 11:19:34 +02:00
omar
b27fd87177
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
# imgui.h
2019-06-17 11:10:14 +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
07d3083279
Docking: Fixed rendering of outer decoration happening on non-visible docked window ( #2623 , #2109 ). Revealed by 0770449
. We are actually better than before now, as previously those would get unnecessarily get rendered into a hidden draw list.
2019-06-13 10:19:14 +02:00
omar
d3d998a885
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/README.txt
# imgui.cpp
# imgui.h
# imgui_internal.h
# imgui_widgets.cpp
2019-06-12 18:40:50 +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
63310acd58
Synced/merged minor cruft from master branch to minimize drift. Only meaningful change AFAIK is removing ImGuiComboFlags_PopupAlignLeft flag from the tab list combo emitted by TabBar.
2019-06-06 16:16:18 +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
e6850891cc
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2019-06-05 16:09:06 +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
440ad0b440
Merge branch 'master' into docking
2019-06-05 00:37:20 +02:00
omar
5cdd788f30
Comments ( #2599 ). Moved branch Changelog above 1.71 wip one. Added some missing changelog bits.
2019-06-05 00:37:14 +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
84f3ecc231
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2019-05-30 18:52:24 +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
8dc04a4c9f
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_dx10.cpp
# examples/imgui_impl_dx11.cpp
# examples/imgui_impl_dx9.cpp
# examples/imgui_impl_opengl3.cpp
# imgui.h
# imgui_demo.cpp
2019-05-29 16:32:27 +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
c72040a715
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_dx10.cpp
# examples/imgui_impl_dx10.h
# examples/imgui_impl_dx11.cpp
# examples/imgui_impl_dx11.h
# examples/imgui_impl_dx9.cpp
# examples/imgui_impl_dx9.h
# examples/imgui_impl_opengl3.cpp
# examples/imgui_impl_opengl3.h
# examples/imgui_impl_osx.h
# examples/imgui_impl_osx.mm
# imgui.cpp
# imgui.h
# imgui_demo.cpp
# imgui_internal.h
2019-05-29 16:20:26 +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
c7c1bf177b
Docking: Fixed DockBuilderRemoveNode() from overwriting other parent node flags when trying to move the CentralNode flag.
2019-05-28 00:06:21 +02:00
omar
5b0e59d9d5
Docking: Saving local _NoResize flag. ( #2583 )
2019-05-27 22:11:21 +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
7c06d9f043
Docking: Saving the NoTabBar, NoWindowMenuButton, NoCloseButton fields of dock node into the .ini file. Added them to the Metrics window. ( #2583 , #2423 , #2109 ).
2019-05-27 17:06:17 +02:00
omar
511e32e8ca
Docking: Clarified terminology of docking/tablist/collapse button into Window Menu button matching master. Added private ImGuiDockNodeFlags_NoWindowMenuButton, ImGuiDockNodeFlags_NoCloseButton flags. ( #2583 , #2109 )
2019-05-27 12:35:20 +02:00
omar
e5dfa0855f
Docking: Honor style.WindowMenuButtonPosition setting in docking node.
2019-05-24 21:59:44 +02:00
omar
afad952450
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
# imgui_widgets.cpp
2019-05-24 21:58:17 +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
fda1365c15
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2019-05-23 00:04:25 +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
04022114d9
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2019-05-21 14:47:29 +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
1575a3fbcd
Docking: Fixed temporarily losing Dockspace flag when merging remaining sibling back into a parent node. ( #2563 , #2109 )
...
Would trigger an assert in the Passthru hole path. Broken by fd5859ed
.
2019-05-19 17:00:17 +02:00
omar
7e772f6a51
Docking: Fixed undocking whole node (from collapse/docking menu button) from losing its size/pos. Made collapose/docking menu id easier to compute for testing.
2019-05-18 18:42:59 +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
2e5860b5a0
Docking: Fixed incomplete merge of 36e714a
leading to undocking. #2109
2019-05-18 13:00:00 +02:00
omar
4158cba1ff
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_glfw.cpp
# examples/imgui_impl_win32.cpp
# imgui.cpp
# imgui_internal.h
2019-05-13 19:23:18 +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
Chris Savoie
b955e485f1
Fixed unused variables warnings when asserts are compiled out. ( #2551 )
2019-05-12 17:53:08 +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
b668726a38
Fixed a PVS Studio static analyzer warning.
2019-05-10 22:58:24 +02:00
omar
835a8b2c9b
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
2019-05-10 22:56:43 +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
239c8732d7
Viewports: Minor tweaks. ( #2471 )
2019-05-08 18:33:08 +02:00
omar
9bf3f910c8
Viewports: Fix to avoid SetNextWindowViewport being overrided by creation of a standalone viewport. ( #2544 , #1542 )
2019-05-08 18:20:13 +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
76e61958fd
Merge branch 'master' into docking
...
# Conflicts:
# examples/README.txt
# examples/imgui_impl_dx9.cpp
# imgui.cpp
# imgui.h
2019-05-06 10:16:43 +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
825b61e4ba
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_dx10.cpp
# examples/imgui_impl_dx11.cpp
# examples/imgui_impl_dx12.cpp
# examples/imgui_impl_dx9.cpp
# examples/imgui_impl_opengl2.cpp
# examples/imgui_impl_opengl3.cpp
# examples/imgui_impl_vulkan.cpp
# imgui.cpp
2019-05-02 14:56:47 +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
7e67aba286
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2019-04-29 13:06:55 +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
dfb82d5c22
Merge branch 'master' into docking
...
# Conflicts:
# examples/example_sdl_opengl2/main.cpp
# examples/example_sdl_opengl3/main.cpp
# examples/example_sdl_vulkan/main.cpp
# examples/imgui_impl_sdl.cpp
# examples/imgui_impl_sdl.h
# imgui.cpp
2019-04-25 17:53:11 +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
d0fb547dc1
Viewports: Avoid rendering/swapping secondary viewports that are minimized. ( #1542 , #2496 )
2019-04-22 11:46:04 +02:00
omar
20f0cb0281
Docking: Fixed an issue where DockBuilderSplitNode() wouldn't update the CentralNode shortcut immediately, which was problematic for immediately following DockBuilderDockWindow(). ( #2109 )
2019-04-19 20:28:43 +02:00
omar
03b64defa5
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
2019-04-19 19:52:45 +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
655ebe4eaf
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_demo.cpp
2019-04-16 13:14:10 +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
f70eacee8e
Docking: Internal: Added helper for automation to process docking at the mouse level.
2019-04-13 19:50:30 +02:00
omar
433a7556c7
Docking: Fixed another issue where the resulting node of a split would sometimes recall the pos/size of previous host window. Spent a whole day adding framework for testing more of docking so hopefully we'll heading toward the magical world of less regressions. ( #2109 )
2019-04-13 19:19:56 +02:00
omar
712203dbcb
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2019-04-13 18:53:00 +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
800fb26606
Docking: Renamed target_node > node in some functions to facilitate debugger watch use across functions.
2019-04-13 00:36:24 +02:00
omar
224f087a5f
Docking: Rename typo Autority -> Authority + Rename DockContextNewFrameUpdateDocking -> DockContextUpdateDocking.
2019-04-13 00:36:24 +02:00
omar
fb2626c21b
Tests: Added hook/tweaks for imgui-test engine. + Fixed warnings.
2019-04-13 00:29:27 +02:00
omar
092426bed2
Docking: Hold Shift to force disable docking. ( #2109 )
2019-04-13 00:27:44 +02:00
omar
c6f1b7b92a
Tests: Added hook/tweaks for imgui-test engine. + Fixed warnings.
2019-04-13 00:27:44 +02:00
omar
328e4fa7e7
Merge branch 'master' into docking
...
# Conflicts:
# imgui_demo.cpp
2019-04-11 15:53:38 +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
f3110a57cd
Docking: Fixed an issue where newly created dock node override hosted window pos/size ( #2109 , #2386 )
2019-04-11 14:51:01 +02:00
omar
7056032483
Merge branch 'vulkan_fix_docking' into docking
2019-04-07 16:23:34 +02:00
omar
50ceb25003
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_vulkan.cpp
2019-04-07 16:23:31 +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
9c364b16ff
Merge branch 'vulkan_fix_master' into vulkan_fix_docking
2019-04-05 20:30:42 +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
bd351e9ac5
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:08 +02:00
omar
d61caf5714
Vulkan, Viewports: ImGui_ImplVulkan_RenderDrawData and renderer back-end automatically manage ImGui_ImplVulkanH_WindowRenderBuffers for each viewports so user doesn't have to do it. ( #2461 , #2348 , #2378 , #2097 )
2019-04-05 18:52:45 +02:00
omar
43a85dd02e
Merge branch 'master' into docking
2019-04-04 22:10:18 +02:00
omar
9ba64f9fe3
Viewport: Fixed PushClipRectFullScreen() missing out on negative coordinates. Among other things, the outer highlight during CTRL+Tab wouldn't appear in negative coordinates monitors. (~#2176, #1542 )
2019-04-04 22:02:36 +02:00
omar
fc52364652
Tabs to Spaces, comments.
2019-04-03 17:25:02 +02:00
omar
49fb8e6c45
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_dx9.cpp
# examples/imgui_impl_opengl3.cpp
2019-04-03 11:17:26 +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
9bf6509c6e
Docking: Fixed focus restore lagging by a frame when a tab stops being submitted. ( #2109 ) Building on a little build of technical debt there, should transition toward a more general docking-agnostic system ( #2304 )
2019-03-28 18:43:27 +01:00
omar
5af385ea78
Viewport: Renamed member + added note about a Docking issue with restoring focus.
2019-03-28 18:02:03 +01:00
omar
47219dd5c6
Docking: Remove code in BeginDocked() to set HiddenFramesCannotSkipItems based on upcoming tab bar selection, solely based on focus (might break something subtle?). Follow-up to c355ed1267
. ( #2453 , #2109 )
2019-03-28 16:13:06 +01:00
omar
b6ae8a0dca
Docking: Disable SkipItems when directly/programmatically focused (possible generalization of code currently in BeginDocked which relies on tab bar interaction, will remove that code in next commit). ( #2453 , #2109 )
2019-03-28 16:11:50 +01:00
omar
a33d45d7cd
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
2019-03-28 15:48:25 +01: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
5a665e423c
Docking: Added ImGuiDockNodeFlags_NoTabBar (not exposed publicly). ( #2423 , #2109 )
2019-03-27 20:44:49 +01:00
omar
fc95da8aa3
Docking: Internals: Moved CentralNode and HiddenTabBar state into LocalFlags for consistency. ( #2423 , #2109 )
2019-03-27 20:32:44 +01:00
omar
fd5859ed04
Docking: Separating SharedFlags vs LocalFlags in dock node so settings can be applied to individual nodes. Made _NoResize logic on single node applies as expected. ( #2423 , #2109 )
2019-03-27 19:00:36 +01:00
omar
75e3793f4d
Docking: Fix DockBuilderAddNode() not storing flags when creating floating node.
2019-03-27 17:36:52 +01:00
omar
8d4b5fef1d
Renamed ImGuiDockNodeFlags_Dockspace to ImGuiDockNodeFlags_DockSpace for consistency. DockBuilderCopyDockspace() to DockBuilderCopyDockSpace(). Made casing consistent elsewhere. ( #2109 )
2019-03-27 17:36:52 +01:00
omar
04a9ce3a18
Docking: Renamed ImGuiDockNodeFlags_PassthruDockspace to ImGuiDockNodeFlags_PassthruCentralNode. + Comments, shallow tweaks. ( #2109 )
2019-03-27 16:16:31 +01:00
omar
87883abd86
Docking: Tweak and silencing PVS studio static analyzer (back to zero warnings among our selected ones).
2019-03-26 14:15:56 +01:00
Tom Watson
f20725eada
Docking: Fixed an issue where windows docked into a node that's part of their dockspace wouldn't recover their order correctly after init. ( #2109 )
...
(It only worked on floating dock node for the accidental reason that BeginDocked would generally early out on the first frame)
2019-03-26 13:58:03 +01:00
omar
26646f2450
Docking: Wrapping tab bar creation/destroy to make it easier to debug them.
2019-03-26 12:41:50 +01:00
omar
f208fd7ebb
Docking: Fixed crash with ImGuiDockNodeFlags_AutoHideTabBar flag. ( #2423 , #2109 )
2019-03-26 12:33:58 +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
9350158d61
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
# imgui_internal.h
2019-03-25 16:08:09 +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
7a5196601e
Docking: BeginDocked() doesn't need to rely on tab bar data (will allow removing tab bar).
2019-03-18 09:48:06 -07:00
omar
c7619d4a6a
Docking: Preserve existing docked nodes when setting the ImGuiDockNodeFlags_NoDockingInCentralNode flag. ( #2423 , #2109 )
2019-03-18 09:48:00 -07:00
omar
221bf93a55
Comments, todo list, remove trailing spaces.
2019-03-17 00:56:21 +01:00
omar
7ba774a440
Viewports: Fixed being unable to refocus windows when ConfigViewportsNoTaskBarIcon + ConfigViewportsNoDecoration are enabled. ( #2420 , #1542 ) [@PathogenDavid] + comments.
2019-03-15 15:35:46 +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
b1af4d36ce
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/example_win32_directx10/main.cpp
# examples/example_win32_directx11/main.cpp
# examples/example_win32_directx12/main.cpp
# examples/example_win32_directx9/main.cpp
2019-03-13 15:30:35 +01:00
omar
55c02099c5
Version 1.69, comments, typos
2019-03-13 15:29:43 +01:00
omar
c3f20f6b81
Viewport: DestroyPlatformWindow() skips calling user function if PlatformWindowCreated is set. + Clarified comment about implicit Debug viewport which may be hogging a viewport.
2019-03-13 11:27:30 +01:00
David Maas
e7dca4fec2
Fixed main viewport not being marked as created, which broke updating the IME input position for the main viewport.
...
This change also removes the logic scattered about that compensated for PlatformWindowCreated being wrong for the main viewport.
2019-03-13 10:59:32 +01:00
omar
a26085ed53
Internals: Fixed Navigation from reaching ImGuiItemFlags_Disabled items ( #211 ) + Examples comments
2019-03-12 22:23:56 +01:00
omar
e1acb0b1fa
Docking: Fixed node merging altering window position incorrectly in a way that would make SizeContents incorrect for the next frame (making scrollbar flicker). ( #2414 , #2109 )
2019-03-11 19:46:37 +01:00
omar
3ead9820f7
Viewport: Popups and Tooltips viewports are correctly parented to the parent window's viewport. ( #2409 , #1542 )
2019-03-11 16:51:46 +01:00
omar
f7db4fad31
Merge branch 'master' into docking
...
# Conflicts:
# examples/example_win32_directx11/main.cpp
# examples/example_win32_directx12/main.cpp
# examples/example_win32_directx9/main.cpp
# imgui.cpp
2019-03-11 16:08:16 +01:00
omar
cf4fcc4735
Viewports: Fixed delayed window pos->viewport pos sync leading to monitor not being updated at the time of clamping window position in Begin. ( #2415 , #1542 )
2019-03-11 13:15:00 +01:00
omar
3eedb542a6
Viewports: Renamed ConfigViewportsNoParent to ConfigViewportsNoDefaultParent. Fix outdated comments in examples.
2019-03-11 11:07:23 +01:00
omar
ecf7666624
Docking: Fixed an issue where removing the last window from a dockspace node that is not a central node without remove the node. ( #2414 , #2109 )
2019-03-10 22:19:18 +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
d77d3416d3
Merge branch 'master' into docking
2019-03-07 18:40:55 +01:00
omar
5ce93bc0cc
Refactor: Move viewport code under other subsystem to simplify merging (4) (moving in multiple commits to make diff/patch behave nicely)
2019-03-07 18:39:31 +01:00
omar
54a129a2e2
Refactor: Move viewport code under other subsystem to simplify merging (3) (moving in multiple commits to make diff/patch behave nicely)
2019-03-07 18:38:40 +01:00
omar
bdf60dac6a
Refactor: Move viewport code under other subsystem to simplify merging (2) (moving in multiple commits to make diff/patch behave nicely)
2019-03-07 18:37:17 +01:00
omar
bbb543fc16
Refactor: Move viewport code under other subsystem to simplify merging (1) (moving in multiple commits to make diff/patch behave nicely)
2019-03-07 18:36:11 +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
28d8eb220b
Fix for Android char being unsigned by default ( #2408 )
2019-03-07 16:07:16 +01:00
omar
e02d6014bf
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2019-03-05 22:13:38 +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
8414c0bb09
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
# imgui_internal.h
2019-03-04 18:08:19 +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
49eb5f0280
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_opengl3.cpp
2019-03-03 23:34:56 +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
ff0c6c2bde
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
2019-02-27 19:00:09 +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
omar
4eecf80a4b
Moved Settings section above Docking to facilitate master<>docking merges.
2019-02-26 15:34:47 +01:00
omar
104294c7e4
Moved Logging/Capturing section above Docking to facilitate master<>docking merges.
2019-02-26 15:33:50 +01:00
omar
8915f7933a
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2019-02-24 23:24:07 +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
87ded34f9f
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/imgui_impl_opengl3.cpp
# imgui_widgets.cpp
2019-02-22 12:29:18 +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
9dc02464a4
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2019-02-19 13:04:35 +01:00
omar
3c15dffc94
Version 1.68
2019-02-19 12:50:46 +01:00
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!
2019-02-18 16:23:54 +01:00
omar
3de440fda2
Docking: Fixed assert in DockContextProcessDock() preventing some uses of DockNodeBuilder api. ( #2357 , #2109 )
2019-02-18 16:13:17 +01:00
omar
09c9bf2edb
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
2019-02-14 20:35:11 +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
2cada3c143
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_opengl2.cpp
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
# imgui_widgets.cpp
2019-02-11 18:59:49 +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
4a3a895be9
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_demo.cpp
2019-02-06 14:47:53 +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
be107ba8f8
Merge branch 'master' into docking
...
# Conflicts:
# imgui_internal.h
# imgui_widgets.cpp
2019-02-05 13:52: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
f902435a53
Docking: Fixed less of node size/pos caused by 1f2bdd37
( #2109 )
2019-02-03 18:58:07 +01:00
omar
80d51c692a
Docking: Fixed dragging docked window with _NoMove flag ( #2325 )
2019-02-03 18:44:30 +01:00
omar
7227454dca
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
# imgui.h
2019-02-03 17:31:16 +01:00
omar
c23a19c26f
Internals: Exposed internal SetWindowPos to imgui_internal.h (for imgui-test)
2019-02-03 17:29:51 +01:00
omar
f087359621
Revert part of change from 5536eded
. Fixed drag and drop in docking branch. ( #2331 , reopening #2325 )
2019-02-03 13:54:04 +01:00
omar
e215809c4d
Removed io.DisplayVisibleMin/DisplayVisibleMax (which were marked obsolete and removed from viewport/docking branch already).
2019-02-01 17:06:40 +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
d1c45c0d76
Merge branch 'master' into docking (enable range_select merge)
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2019-02-01 12:25:49 +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
65a2350a5f
Docking: Extracted code into a DocknodeUpdateTabListMenu() functions + minor other changes.
2019-02-01 11:12:37 +01:00
omar
cbf24a9151
Comments. Fix duplicate entries in About box. Synchronize a few small changes from Master branch.
2019-02-01 11:04:04 +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
f906d53f7d
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2019-01-31 19:19:35 +01:00
omar
1f2bdd37b3
Docking: Builder: Added DockBuilderSetNodePos, DockBuilderSetNodeSize, allow DockBuilderAddNode creating floating node (dockspace requires ImGuiDockNodeFlags_Dockspace) ( #2109 )
2019-01-31 17:01:15 +01:00
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 )
2019-01-31 15:22:40 +01:00
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().
2019-01-31 14:59:45 +01:00
omar
578e15f006
Docking: Removed unnecessary ImGuiTabItemFlags_DockedWindow internal flag.
2019-01-31 14:55:00 +01:00
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.
2019-01-30 21:39:05 +01:00
omar
8563ef3ce4
Viewport: Popups by default merge into parent/host viewport as they have no decoration (same as menu/child). ( #1542 )
2019-01-30 21:13:07 +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
37fb531d1c
Docking: Comments and tidying up (should be no-op)
2019-01-29 18:54:56 +01:00
omar
86d3bba157
Added ImGuiDockNodeFlags_AutoHideTabBar. ( #2109 )
2019-01-29 18:28:31 +01:00
omar
2ccc6d2ed1
Docking: Exposing extra flag in Configuration panel. Moved some forgotten Changelog entries at the right place.
2019-01-29 18:28:31 +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
13a5f5ba8b
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2019-01-27 16:46:35 +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
07ff47bf1b
Docking: Fixed various border / padding related inconsistency with dock node vs floating windows. ( #2109 )
2019-01-23 19:54:45 +01:00
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 )
2019-01-23 19:24:35 +01:00
omar
0bda7f196d
Docking: Fixed overlapping issue with greyed out close button.
2019-01-23 19:24:35 +01:00
omar
9f96fcff3c
Docking: Added ImGuiDockNodeFlags_Dockspace instead of node internal IsDockspace toward allowing the DockBuilder API to create non-dockspace nodes.
2019-01-23 19:24:34 +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
bfacbac7c4
Docking: Fix a focusing issue where dock node wouldn't be moved to the front as expected.
2019-01-23 11:05:00 +01:00
omar
86fce79a6c
Comments + clear out VisibleWinodw field (should have no effect)
2019-01-23 10:50:58 +01:00
omar
c81a5a6070
Docking: Comments and renaming locals to facilitate debugging.
2019-01-22 12:38:10 +01:00
omar
0947fa3de0
Merge branch 'viewport' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2019-01-21 16:54:37 +01:00
omar
cb9a6b8a8b
Merge branch 'master' into viewport
...
# Conflicts:
# examples/README.txt
# imgui.cpp
2019-01-21 16:52:22 +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
2d21a64fed
Comments
2019-01-21 14:25:13 +01:00
omar
00ffdb9fa9
ImGuiTextBuffer: Added append() function (unformatted).
2019-01-20 22:21:26 +01:00
omar
f94af2f5c5
Merge branch 'viewport' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
# imgui_draw.cpp
2019-01-20 22:13:35 +01:00
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
2019-01-20 22:12:06 +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
b5144e477f
Merge branch 'viewport' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2019-01-17 14:06:42 +01:00
omar
e9c625a1dc
Merge branch 'master' into viewport
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/imgui_impl_win32.cpp
# imgui_demo.cpp
2019-01-17 14:05:40 +01:00
omar
d1851ed6b7
Various tweaks and fixes as suggested by PVS Studio (thanks PVS Studio!) [docking branch]
2019-01-16 16:19:38 +01:00
omar
32c4e01267
Various tweaks and fixes as suggested by PVS Studio (thanks PVS Studio!)
2019-01-16 16:13:23 +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
8a45c56c2c
Merge branch 'viewport' into docking
2019-01-15 21:22:29 +01:00
omar
9391a97fbf
Merge branch 'master' into viewport
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/imgui_impl_win32.cpp
# examples/imgui_impl_win32.h
2019-01-15 21:22:21 +01:00
omar
79d497edae
Viewport: Made platform_io.Monitors mandatory for proper multi-viewport use.
2019-01-15 21:20:00 +01:00
omar
95ee99e6aa
Version 1.68 WIP
2019-01-15 20:19:05 +01:00
omar
515ad62335
Merge branch 'viewport' into docking
...
# Conflicts:
# docs/TODO.txt
2019-01-15 15:14:16 +01:00
omar
73353fad64
Merge branch 'master' into viewport
2019-01-15 15:13:29 +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
ff4bd758ca
Merge branch 'viewport' into docking
2019-01-14 21:30:07 +01:00
omar
e24674fc0e
Merge branch 'master' into viewport
2019-01-14 21:30:01 +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
529fccd9c2
Merge branch 'viewport' into docking
2019-01-13 14:19:40 +01:00
omar
4ee4f65c70
Merge branch 'master' into viewport
2019-01-13 14:19:31 +01:00
omar
49994ceb6e
FAQ entry, moved ImTextureId, Gallery links.
2019-01-12 19:48:07 +01:00
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 )
2019-01-10 18:20:52 +01:00
omar
8011197c50
Merge branch 'viewport' into docking
...
# Conflicts:
# imgui.cpp
2019-01-10 16:02:32 +01:00
omar
c96aaef132
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
# imgui.h
2019-01-10 16:01:36 +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
6b32570644
Merge branch 'viewport' into docking
...
# Conflicts:
# imgui_internal.h
# imgui_widgets.cpp
2019-01-07 21:29:15 +01:00
omar
5af930f97a
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
# imgui.h
# imgui_internal.h
2019-01-07 21:28:29 +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
515ecbddc2
Docking: Fix for handling of orphan/inactive dock node with ConfigDockingTabBarOnSingleWindows (would crash).
2019-01-03 23:02:40 +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
5278da98d2
Merge branch 'viewport' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
# imgui_demo.cpp
2019-01-03 21:40:08 +01:00
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 )
2019-01-03 21:33:33 +01:00
omar
c8349d3305
Viewport: Added ConfigViewportsNoParent to parent viewport default to NULL and not main viewport. Fix eg.. popups appearing erroneously focusing parent window.
2019-01-03 21:28:54 +01:00
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
.
2019-01-03 21:27:47 +01:00
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 )
2019-01-03 21:27:39 +01:00
omar
599a52629a
Viewport: Added minimum viable information in the Changelog.
2019-01-03 17:46:23 +01:00
omar
c3efccaa9c
Docking: Merge fix duplicate line + added assert to ease debugging.
2019-01-02 23:49:31 +01:00
omar
b26f16a27f
Merge branch 'viewport' into docking
...
# Conflicts:
# imgui.cpp
2019-01-02 23:16:10 +01:00
omar
a0c2e55e8c
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2019-01-02 23:11:52 +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
5aebfedfad
Docking: Forward WindowClass from node to host window.
2019-01-02 21:41:00 +01:00
omar
ce1626a51e
Merge branch 'viewport' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
# imgui_internal.h
2019-01-02 21:36:21 +01:00
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 )
2019-01-02 21:33:23 +01:00
omar
0d6e3ab2b0
Docking: Renamed SetNextWindowId() -> SetNextWindowID() for consistency. (function vs member are still horribly inconsistent atm)
2019-01-02 21:28:16 +01:00
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.
2019-01-02 19:03:36 +01:00
omar
5305c32242
Viewport: Reorder flags. Set owned viewport common decoration flags in Begin(). Moved code in UpdateViewportsEndFrame() before we introduce family/class based overrides.
2019-01-02 19:03:11 +01:00
omar
951c9dd68b
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_sdl.cpp
2019-01-02 19:00:31 +01:00
omar
4ea9fdbbea
Docking: Agressively assert when CentralNode is a not a leaf node in order to find our bug.
2019-01-02 16:22:45 +01:00
omar
e194219f2e
Renamed ImGuiDockFamily to ImGuiWindowClass. Renamed CompatibleWithClassZero to DockingAllowUnclassed. ( #2109 )
2019-01-02 16:22:44 +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
a71d3c8cb3
Viewport: Misc comments following user feedbacks..
2018-12-21 18:40:16 +01:00
omar
238321c159
Fix merge in Docking branch, remove ConfigDockingWithShift flag from DX11 example + misnamed function.
2018-12-21 16:56:26 +01:00
omar
81a2546cea
Merge branch 'viewport' into docking
...
# Conflicts:
# examples/example_allegro5/main.cpp
# examples/example_win32_directx9/main.cpp
2018-12-20 23:06:29 +01:00
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
2018-12-20 23:04:40 +01:00
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 )
2018-12-20 22:33:51 +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
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 )
2018-12-20 19:20:26 +01:00
omar
e043b89814
Merge branch 'viewport' into docking
...
# Conflicts:
# imgui.h
2018-12-20 17:03:21 +01:00
omar
02501f07c3
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
# imgui.h
2018-12-20 16:54:32 +01:00
omar
a0e5bb9532
Viewport: Corrected/clarified comments. Moved RenderPlatformWindowsDefault() next to UpdatePlatformWindow(). Removed unnecessary flag check.
2018-12-20 16:49:31 +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
088ef6623a
Merge branch 'viewport' into docking
2018-12-18 15:03:01 +01:00
omar
9c916cdaf9
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
2018-12-18 15:02:35 +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
ac9512e095
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2018-12-14 18:46:24 +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
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 )
2018-12-14 12:12:26 +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
9b09c7597f
Merge branch 'viewport' into docking
...
# Conflicts:
# imgui_demo.cpp
2018-12-13 19:21:51 +01:00
omar
2a1e903f43
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.h
2018-12-13 19:20:34 +01:00
omar
8497948ba0
Comments, minor tweaks.
2018-12-13 19:17:36 +01:00
omar
e50894c95e
Metrics: Fixed crash when viewports are disabled (g.MouseLastHoveredViewport is never set).
2018-12-13 19:16:44 +01:00
omar
991b16cc6a
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_demo.cpp
# imgui_widgets.cpp
2018-12-11 19:46:46 +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
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
2018-12-11 13:23:00 +01:00
omar
c40feabe4d
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2018-12-11 12:41:40 +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
2d4018aa89
Docking: Fix io.ConfigWindowsMoveFromTitleBarOnly for docking branch.
2018-12-11 11:03:28 +01:00
omar
e6439e1a16
Merge branch 'viewport' into docking + moved io.ConfigFlags ImGuiConfigFlags_DockingNoSplit to io.ConfigDockingNoSplit
...
# Conflicts:
# imgui.cpp
# imgui.h
# imgui_demo.cpp
2018-12-10 16:21:49 +01:00
omar
26b9e2d0a5
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
# imgui_demo.cpp
2018-12-10 16:14:31 +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
f768727284
Merge branch 'viewport' into docking
...
# Conflicts:
# imgui.cpp
2018-12-06 16:36:17 +01:00
omar
a03846bd9e
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2018-12-06 16:33:39 +01:00
omar
ac52d9d44c
Viewport: Fix handling of PlatformRequestResize/PlatformRequestPos. when OS decoration are enabled via ImGuiConfigFlags_ViewportsDecoration .
2018-12-06 15:36:36 +01:00
omar
e2082a675c
Viewport: Fix handling of PlatformRequestResize/PlatformRequestPos. when OS decoration are enabled via ImGuiConfigFlags_ViewportsDecoration .
2018-12-05 23:39:04 +01:00
omar
b94f0241f1
Docking: Adjusting the docking popup menu position so it tends to stay within the same viewport.
2018-12-05 21:19:42 +01:00
omar
b96b1f2412
Docking: Documenting an issue. Renamed member of ImGuiDockFamily.
2018-12-04 16:38:27 +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
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.
2018-12-04 13:37:46 +01:00
omar
8cac70d8af
Docking: Focus fix (missing line in 8bac6d4
)
2018-12-04 13:34:16 +01:00
omar
5105c6c0d0
Merge branch 'viewport' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
2018-12-04 00:06:26 +01:00
omar
3a678d48b1
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_dx10.cpp
# examples/imgui_impl_dx11.cpp
2018-12-04 00:05:45 +01:00
omar
8bac6d428d
Docking: Another attempt at tidying the inconsistent focus / tab bar reordering issues, and toward generalizing single window dock nodes. ( #2109 )
2018-12-04 00:01:20 +01:00
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().
2018-12-04 00:01:19 +01:00
omar
fb6ef8b1db
Comments, tweak
2018-12-03 23:50:59 +01:00
omar
f6b6ad1959
Viewport: Minor tweaks, better struct layout.
2018-12-03 20:30:00 +01:00
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.
2018-12-03 18:16:47 +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
ac10889bde
Merge branch 'viewport' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2018-12-03 11:44:51 +01:00
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
2018-12-03 11:41:53 +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
f78b5a0cdb
Merge branch 'viewport' into docking
2018-11-30 18:27:14 +01:00
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
2018-11-30 18:24:43 +01:00
omar
a423f032ee
About, IO: Added io.BackendPlatformName, io.BackendRendererName for informational/QA purpose.
2018-11-30 18:18:15 +01:00
omar
4ef06f5aa2
Added ShowAboutWindow(), About Window now showing various config/build information.
2018-11-30 18:02:01 +01:00
omar
753223bd7b
Merge branch 'viewport' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2018-11-30 14:38:54 +01:00
omar
f663277591
Merge misc/shallow changes from Docking branch to minimize drift: moved some blocks, added comments.
2018-11-30 14:35:13 +01:00
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 )
2018-11-30 14:35:13 +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
3c114b280a
Merge branch 'viewport' into docking
...
# Conflicts:
# imgui_internal.h
2018-11-29 21:30:26 +01:00
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 )
2018-11-29 21:28:47 +01:00
omar
36cbe1e521
Viewport: Misc renaming.
2018-11-29 21:21:04 +01:00
omar
19d17ed274
Docking: Added io.ConfigDockingTransparentPayload option (to use with ImGuiConfigFlags_ViewportsNoMerge)
2018-11-29 16:18:01 +01:00
omar
3bcc25f588
Merge branch 'viewport' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
2018-11-27 19:56:23 +01:00
omar
99c32ed4a5
Merge branch 'master' into viewport
2018-11-27 19:46:40 +01:00
omar
c08b4b46f4
Viewport: Better support for toggling ImGuiConfigFlags_ViewportsEnable. ( #2196 )
2018-11-27 19:46:36 +01:00
omar
4105cc7e97
Added ImGuiConfigFlags_None, ImGuiBackendFlags_None for good measure.
2018-11-27 19:46:14 +01:00
omar
e138a5fcb5
Docking: Fixed debug Rebuild operation.
2018-11-27 17:40:25 +01:00
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 )
2018-11-27 13:35:05 +01:00
omar
4575354bc0
Docking: Comments + maiintain LastFrameFocused per node + using bitfiield for docking bools.
2018-11-27 13:29:09 +01:00
omar
3f51c831de
Docking: Added internal DockBuilderGetCentralNode(). Fixed being unable to undock whole node from dock button in DockSpace with a central node. ( #2109 )
2018-11-26 22:18:55 +01:00
omar
962dcb466d
Docking: Added ImGuiDockNodeFlags_NoResize. ( #2109 )
2018-11-26 21:52:40 +01:00
omar
b8d9c5c130
Merge branch 'viewport' into docking
...
# Conflicts:
# imgui.cpp
2018-11-26 21:36:48 +01:00
omar
1a0d2578a1
Viewport: Merging fixes + relying on multiple viewport overlaps. Follow-up to previous attempts are reworking the split/merge mechanisms. ( #1542 )
2018-11-26 21:35:44 +01:00
omar
4a8efd7e68
Docking: Hidden tab-bar triangle reflects focus but using Button colors. ( #2109 )
2018-11-26 17:57:01 +01:00
omar
66cfbbff5e
Docking: Fixed double-overlay when dragging window over one of the (four cardinal) outer drop boxes. ( #2109 )
2018-11-26 17:39:38 +01:00
omar
d23c69d319
Docking: Added context menu option to hide the tab bar of single-window dock nodes, similar to Unreal. ( #2109 )
2018-11-26 17:25:06 +01:00
omar
1e7b50aeae
Viewport: Fixes moving child menu viewport (fix 379733a
).
2018-11-26 16:56:58 +01:00
omar
c93e92671a
Viewport: Fixes moving child menu viewport (fix 379733a
).
2018-11-26 16:55:40 +01:00
omar
ddc3f8f069
Merge branch 'viewport' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
# imgui_internal.h
2018-11-26 15:32:04 +01:00
omar
5261e5a6ba
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_sdl.cpp
2018-11-26 14:53:51 +01:00
omar
379733aba1
Viewport: Fix viewport regression with protruding child window creating their own viewport. (fixes cae4d02
, 760c1d95
) ( #1542 )
2018-11-26 14:53:04 +01:00
omar
131de7ab62
Docking: Added ImGuiConfigFlags_DockingNoSplit flag. ( #2109 )
2018-11-23 18:42:16 +01:00
omar
d8ab2c1ac9
Viewport: Added support for minimized window which caused problem when ImGuiBackendFlags_HasMouseHoveredViewport was not supported. ( #1542 ) + todo
2018-11-23 16:55:33 +01:00
omar
862781b195
Viewport: Avoid unnecessary reapplying platform pos/size every frame. ( #2205 ) + Fix GLFW ImGui_ImplGlfw_CreateWindow() from not applying position immediately. Clear LastNameHash properly (bug already fixed in Docking branch)
2018-11-23 16:35:17 +01:00
omar
cae4d020dc
Viewport: Merging/Extracting to/from main host viewport is now performed based on current state rather than triggers. Windows which don't fit in host window are now consistently in their own viewport. Toward simplifying the UpdateSelectWindowViewport() function. Probably broke something.. ( #1542 )
2018-11-22 21:18:14 +01:00
omar
1f78e08427
Viewport: UpdateTryMergeWindowIntoHostViewport() calls BringWindowToDisplayFront() - possible now that BringWindowToFocusFront() is a different function.
2018-11-22 21:16:43 +01:00
omar
760c1d95b9
Viewport: Merging/Extracting to/from main host viewport is now performed based on current state rather than triggers. Windows which don't fit in host window are now consistently in their own viewport. Toward simplifying the UpdateSelectWindowViewport() function. Probably broke something.. ( #1542 )
2018-11-22 21:13:07 +01:00
omar
510f0e505c
Viewport: UpdateTryMergeWindowIntoHostViewport() calls BringWindowToDisplayFront() - possible now that BringWindowToFocusFront() is a different function.
2018-11-22 20:13:55 +01:00
omar
d27ffefbd4
Version 1.67 WIP
2018-11-22 18:59:57 +01:00
omar
d9c54826bb
Viewport: Stop relying on viewport->CreatedPlatformWindow to create Platform_DestroyWindow and Renderer_DestroyWindow. Explicitly require Platform_GetWindowFocus() to require supporting empty data.
2018-11-22 17:27:35 +01:00
omar
2515413080
Merge branch 'viewport' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui_widgets.cpp
2018-11-22 15:29:18 +01:00
omar
d87b80c6c1
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
2018-11-22 15:28:27 +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
4a43f347bb
Merge branch 'viewport' into docking
...
# Conflicts:
# examples/example_allegro5/main.cpp
# examples/example_marmalade/main.cpp
2018-11-15 14:00:01 +01:00
omar
dcbf976a8e
Merge branch 'master' into viewport + comments
...
# Conflicts:
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
2018-11-15 13:58:46 +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
f2d577c33f
Viewport: BeginMainMenuBar(): explicitly set viewport to avoid creating new one when ImGuiConfigFlags_ViewportsNoMerge is set + misc shallow changes.
2018-11-13 22:14:40 +01:00
omar
ae34241f8b
Viewport: BeginMainMenuBar(): explicitly set viewport to avoid creating new one when ImGuiConfigFlags_ViewportsNoMerge is set + misc shallow changes.
2018-11-13 22:11:39 +01:00
omar
1546153ca2
Docking: Fixed a regression where clicking a Tab wouldn't immediately set NavWindow. Which led to breaking the NavSaveLastChildNavWindow/NavRestoreLastChildNavWindow logic. ( #2109 )
2018-11-13 19:31:10 +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
565af90958
Merge branch 'viewport' into docking
2018-11-06 09:52:38 +01:00
omar
797f2044cd
Viewport: Fixed SDL+OpenGL2 example to work with multi-viewports. ( #2175 )
2018-11-06 09:51:09 +01:00
omar
52ca91ca57
Merge branch 'master' into viewport
2018-11-05 17:29:31 +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
168af9b377
Merge branch 'viewport' into docking
...
# Conflicts:
# imgui_demo.cpp
2018-10-25 23:45:19 +02:00
omar
1a6eea012d
Docking: Tweaked tooltip on tabs so they don't show immediately when holding and releasing a tab (using HoveredIdNotActiveTimer) + Minor refactor + Removed legacy .ini parsing.
2018-10-25 23:41:32 +02:00
omar
50f6e12d31
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
2018-10-25 23:41:13 +02: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
c547b2e8ee
Added DockSpaceOverViewport() call, not sure about this because of the menu bar limitation. ( #2109 )
2018-10-25 15:34:53 +02:00
omar
56ba60ee68
Docking: Fixed not saving .ini file correct if DockingEnable flag is cleared. ( #2109 )
2018-10-24 12:25:58 +02:00
omar
f270c81c49
Viewport, Docking: Fixed incorrectly setting the ImGuiViewportFlags_NoInputs flag, affecting split docking node. ( #2109 )
2018-10-23 18:26:45 +02:00
omar
745fda081e
Viewport, Docking: Fixed incorrectly setting the ImGuiViewportFlags_NoInputs flag, affecting split docking node. ( #2109 )
2018-10-23 18:26:35 +02:00
omar
5f8c9ae0ef
Merge branch 'viewport' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
2018-10-18 10:57:54 +02:00
omar
056af2b1af
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
# imgui.h
2018-10-18 10:56:26 +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
69db792bf0
Viewport: Exposed GetOverlayDrawList(ImGuiViewport* viewport) in public API. ( #1542 , #1660 , #1878 , etc.)
2018-10-15 17:38:36 +02:00
omar
e6cc547a94
Merge branch 'viewport' into docking
...
# Conflicts:
# imgui.cpp
# imgui_widgets.cpp
2018-10-12 15:51:31 +02:00
omar
e73217d6f7
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_sdl.cpp
# imgui.cpp
2018-10-12 15:50:48 +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
c398153b40
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_sdl.cpp
# imgui.cpp
# imgui_internal.h
2018-10-12 13:01:20 +02:00
omar
33994bbfa1
Docking: Fixed Modal window from being dockable.
2018-10-12 12:56:56 +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
7525637804
Merge branch 'viewport' into docking. 15ec78e
Fixes the update of title buffer when docked in a leaf dock node with a single window. Added comment about overwriting DockIsActive in DockNodeUpdate().
...
# Conflicts:
# imgui.cpp
2018-10-11 21:36:00 +02:00
omar
15ec78e9d8
Internal: Moved stored window name update code to the first_begin_of_the_frame block. This will be useful in the Docking branch.
2018-10-11 21:32:20 +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
3a7828de6b
Viewport: Added ImGuiConfigFlags_ViewportsDecoration to re-enable platform decoration ( #1542 )
2018-10-09 18:35:45 +02:00
omar
7b3433c68b
Viewport: Added ImGuiConfigFlags_ViewportsDecoration to re-enable platform decoration ( #1542 )
2018-10-09 18:33:39 +02:00
omar
84507cc744
Docking: Kept ImGuiDockNodeFlags_PassthruDockspace and removed ImGuiDockNodeFlags_PassthruInEmptyNodes, ImGuiDockNodeFlags_RenderWindowBg. Doesn't include ImGuiDockNodeFlags_NoDockingInCentralNode. ( #2109 )
2018-10-08 12:37:10 +02:00
omar
cb76c086e0
Docking: Removed context parameter from internal DockBuilderXXX api at it is expected we transition it to be public facing. ( #2109 )
2018-10-05 16:14:51 +02:00
omar
4e30698706
Docking: Added ImGuiDockNodeFlags_PassthruDockspace mode (subdivided in three flags: ImGuiDockNodeFlags_NoDockingInCentralNode, ImGuiDockNodeFlags_PassthruInEmptyNodes, ImGuiDockNodeFlags_RenderWindowBg). Added internal facility for register a rectangular hit-test hole in window. Updated DockSpace demo accordingly. ( #2109 )
2018-10-03 22:32:23 +02:00
omar
2dd8338e7d
Docking: Added ImGuiDockNodeFlags_NoOuterBorder, tweaked DockSpace demo to remove window border. Made docking splitter use the same standard setting as resizing from edges. ( #2109 )
2018-10-03 18:30:36 +02:00
omar
d348d86df4
Docking: Renamed "DocRoot/DocumentRoot" to "CentralNode", more self explanatory. Moved Splitter update higher up in DockNodeUpdate() + minor misc tweak. ( #2109 )
2018-10-03 17:50:07 +02:00
omar
1d3862b6b3
Docking: Added ImGuiDockNodeFlags_NoDockingInsideDocRootNode flag. Honoring ImGuiDockNodeFlags_NoSplit in child node is already split (so we can use DockBuilder and then lock the layout). Added those options to the demo. ( #2109 )
2018-10-03 14:57:28 +02:00
omar
bd82539ad5
Docking: Fixed DockSpace() child window displaying a scrollbar behind the node backgrounds. Rename ImGuiCol_DockingBg to ImGuiCol_DockingEmptyBg. Added ImGuiDockNode::IsLeaftNode(). ( #2109 )
2018-10-03 14:42:47 +02:00
omar
83f55c9de5
Merge branch 'viewport' into docking
2018-10-02 18:55:48 +02:00
omar
33b88a0339
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
2018-10-02 18:55:36 +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
44bfa24cc3
Docking: Fixed crash using DockBuilderSplitNode(). ( #2109 )
2018-10-02 11:09:53 +02:00
omar
2cff3f6a65
Docking: Renamed io.ConfigDockingWithKeyMode to io.ConfigDockingWithShift.
2018-10-01 18:35:21 +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
b48ed9ebc0
Docking: Better tracking of current dock id for inactive and uncreated windows (in settings etc.). + Fixed assert when docking a single-visible leaf node of a hierarchy into another
2018-10-01 11:56:26 +02:00
omar
4e717b524c
Docking: Fixes for C++03 compilers.
2018-10-01 10:40:43 +02:00
omar
ae657a349a
Docking: Fixed extracting a dock node from a document root: document root should be preserved.
2018-09-30 23:39:38 +02:00
omar
ed3c015f4e
Docking: Reorganizing some of the tab-bar selection and window focus related code.
2018-09-30 23:39:38 +02:00
omar
9cfc40c2cc
Docking: Demo: Displaying a message if master docking flag is disabled. + DockSpace() early out + comments.
2018-09-30 23:39:37 +02:00
omar
6ebc63d3ef
Docking: Various sanity fixes + fixed tab-bar items sorting issue when docking single window with a dock node into single window without dock node.
2018-09-30 22:07:57 +02:00
omar
1ae0a1e658
Docking: Fix DockContextRebuild() temporarily invalidating dockid reference leading to undesirable merging of nodes.
2018-09-30 19:34:03 +02:00
omar
46dff42239
Docking: Fixed dock node with single window accidental stealing of non-owned host viewport (leading to general havoc).
2018-09-30 19:30:51 +02:00
omar
35d1fb7b34
Style: Added style.TabRounding setting.
2018-09-30 18:41:07 +02:00
omar
876a3299fc
Docking: Added DockBuilderCopyDockspace() wip. Added DockBuilderCopyWindowSettings(), renamed DockBuilderForkNode() to DockBuilderCopyNode().
2018-09-28 17:58:55 +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
93896d550e
Added FindOrCreateWindowSettings() internal helper.
2018-09-26 23:01:51 +02:00
omar
18ffb7dd86
Docking: Reworked DockContextPruneUnusedSettingsNodes() to prune entire unused trees.
2018-09-26 23:01:51 +02:00
omar
c6193d0605
Merge branch 'viewport' into docking
2018-09-26 21:35:09 +02:00
omar
6cc380fc41
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_win32.cpp
# examples/imgui_impl_win32.h
# imgui.cpp
2018-09-26 21:34:52 +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
4053d9d638
Docking: Fixed tab order restoring (follow up to 67be485e
, broken in 455dc6e2
)
2018-09-26 17:11:37 +02:00
omar
45731cca19
Docking: Added DockBuilderForkNode() primitive for usage for user code to fork/copy entire layouts. This will probably need to be added to as I find ways to migrate patterns from user code to the library. Added IMGUI_DEBUG_DOCKING_INI helper to facilitate debugging. (+1 squashed commits)
2018-09-26 17:11:37 +02:00
omar
dc92431328
Docking: Minor renaming. DockContextAddNode() uses 0 as marker for automatic ID selection + TODO update and moved docking entries to docs/TODO.txt
2018-09-26 12:58:14 +02:00
omar
d3e8e5731a
Docking: Renamed SetNextWindowDock() to SetNextWindowDockId(). Added GetWindowDockId().
2018-09-25 17:45:06 +02:00
omar
53a5d32df1
Docking: Reworked SetNextWindowUserType() as SetNextWindowDockFamily(), allowing multiple scene to be tagged with their scene id and not receive tabs from other scene + persistent storage for family id to allow for docking tree fork/remap.
2018-09-25 16:15:25 +02:00
omar
85e1e2b0c8
Docking: Added DockBuilderGetNode() wrapper for consistency.
2018-09-25 14:14:07 +02:00
omar
9960ccddb2
Docking: Added DockBuilderRemoveNode() + various tweaks. Fixed dragging/undocking dock node from CollapseButton.
2018-09-24 23:19:18 +02:00
omar
4021776d0f
Docking: Fix for undocking node where the dockspace node is attached to an immovable parent window. + Tweak .ini output.
2018-09-24 22:14:12 +02:00
omar
fa0ce4b7d5
Docking: Some DockBuilder functions are applied on settings data if windows are not present. Added DockBuilderCreateNode which needs a size else if we can't split properly. DockNodeTreeSplit() doesn't clamp SizeRef. (+1 squashed commits)
2018-09-24 16:38:44 +02:00
omar
2a5ce1849a
Docking, Viewport: Reworked viewport inheritance/transition so that extracting a dock node from a split node owning its viewport will have both viewports be in the expected OS z-order. (The lower window re-use the exiting viewport, the detached node uses a new viewport:
2018-09-24 10:53:51 +02:00
omar
ae4b838840
Docking, Viewport: Rework ownership transfer/stealing to fix issues where non-child windows could be stick marked as not owning their viewport.
2018-09-24 10:48:56 +02:00
omar
79c075ca09
Docking+Viewport: Fixed PlatformRequestClose (e.g. ALT-F4) being redrected to the first window of the docking node instead of the selected one.
2018-09-24 10:48:55 +02:00
omar
1127804109
Viewport: Misc tweaks.
2018-09-24 10:39:15 +02:00
omar
67be485e24
Docking: Fixed losing tab bar selection when extracting a whole docked node + reusing existing dock node when possible.
2018-09-21 16:23:00 +02:00
omar
fda57f48d5
Merge branch 'viewport' into docking
...
# Conflicts:
# examples/example_glfw_opengl2/main.cpp
# examples/example_glfw_opengl3/main.cpp
# examples/example_glfw_vulkan/main.cpp
# examples/example_sdl_opengl2/main.cpp
# examples/example_sdl_opengl3/main.cpp
# examples/example_sdl_vulkan/main.cpp
# examples/example_win32_directx10/main.cpp
# examples/example_win32_directx11/main.cpp
# examples/example_win32_directx12/main.cpp
# examples/example_win32_directx9/main.cpp
2018-09-21 11:52:32 +02:00
omar
840652830d
Docking: Fixed undocking on whole dock node from leaving undesirable empty node in the docking tree. Fixed calls to MarkIniSettingsDirty().
2018-09-21 11:50:49 +02:00
omar
5eabf44021
Nav: Use Platform_SetWindowFocus when CTRL+Tabbing to another viewport.
2018-09-21 11:49:43 +02:00
omar
599d5f185c
TabBar: Recover if SelectedTabId doesn't exist anymore.
2018-09-21 11:02:03 +02:00
omar
3e47978a80
Docking: Renamed ImGuiDockSpaceFlags to ImGuiDockNodeFlags. Clarified in comments/demos that DockSpace creates a Node. Renamed IsExplicitRoot to IsDockSpace. Assert against explicitly calling DockSpace twice in a frame.
2018-09-20 09:52:51 +02:00
omar
e647f89c33
Docking: Added undocking of whole dock node by dragging from the Collapse button. Super useful and works great!
2018-09-19 22:38:40 +02:00
omar
82978fc88f
Docking: Fix of title bar flicker during rebuild. Fixed dragging of DockNode always triggering BeginAsDockableDragDropSource() when io.ConfigDockingWithKeyMod is false.
2018-09-19 19:41:31 +02:00
omar
95d49c3b98
Docking: Internals renaming LastExplicitSize to SizeRef (invalidate .ini data) + todo
2018-09-19 18:25:26 +02:00
omar
455dc6e229
Docking: Creating tab bar and adding window into tab bar immediately (not sure why I didn't do that before). Probably broke something subtle, will find out. *Edit* Initially broke restoring selected tab.
2018-09-19 16:00:13 +02:00
omar
291bfe6841
Docking: work to allow programmatic control of dock nodes, various refactor + assert fix. Probably broke something (but I haven't found what yet!)
2018-09-19 16:00:13 +02:00
omar
35032d41fa
Docking: Internals: Transitioning some code toward consistently using ImGuiContext* ctx parameter instead of ImGuiDockContext
2018-09-17 17:06:52 +02:00
omar
28094b7cea
Docking: Fixed central docking display with ImGuiDockSpaceFlags_NoSplit, affecting in particular with io.ConfigDockingWithKeyMod = false. + comments, asserts
2018-09-17 15:39:35 +02:00
omar
b55b9aee9b
Fixed bad merge ( a82be53
) where we lost the version number in Docking branch + moved Docking related API together for now.
2018-09-14 18:09:46 +02:00
omar
0f1c21a6c9
Docking: Changed DockSpace() signature to take an ID, as ID will frequently be used by other API it makes more sense to let the user compute it.
2018-09-14 18:09:04 +02:00
omar
175bab4f5f
Docking: Removed SplitRatio from ImGuiDockNode and ImGuiDockNodeSettings, which we don't need anymore.
2018-09-14 17:51:30 +02:00
omar
ba7b68798d
Docking: Misc rework/rename toward being able to rebuild a branch selectively, so we can honor settings changes on a per Dockspace basis. + Comments
2018-09-14 16:01:47 +02:00
omar
e32256b4b4
Merge branch 'viewport' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui_demo.cpp
# imgui_internal.h
2018-09-14 11:38:10 +02:00
omar
132d8c5a99
Viewport: Increased threshold for setting ImGuiViewportFlags_NoFocusOnAppearing. ( #1542 ), 2 doesn't seem enough with some docking setup.
2018-09-14 11:37:17 +02:00
omar
85a3fb3bef
Viewport: Fix an issue introduced on ~August 16, which would assert when viewport are disabled. Also made the DestroyPlatformWindow process more sturdy. ( #1542 )
2018-09-13 17:11:06 +02:00
omar
6d91055462
Docking: Fixed floating->docking transition on a platform window mistakenly destroying the platform window because the upcoming tab isn't visible and triggers viewport GC. Fixed missing title bar data on recreate window.
2018-09-13 16:56:57 +02:00
omar
136fc56af0
Docking: Better handling of window losing its dock node or having its dock node not active.
2018-09-13 14:38:37 +02:00
omar
c355ed1267
Docking: Flicker fix when clicking on a Tab leading of a new window, in particular would be noticeable when using nested tab bars.
2018-09-13 12:44:29 +02:00
omar
1cefc48f13
Docking: Internal renaming and comments. + Fixed DockNodeMoveChildNodes() to transfer the LastExplicitSize value (was inconsequential afaik).
2018-09-11 18:53:08 +02:00
omar
211a9c8fd2
Docking: Added ImGuiDockSpaceFlags_KeepAliveOnly, important for multiple level of tabs. (also renamed ImGuiDockFlags to ImGuiDockSpaceFlags.)
2018-09-11 17:58:09 +02:00
omar
f29b3b4033
Nav: Added a way for code to cancel Alt for menu toggle (ImGuiNavInput_KeyMenu_). Cancelling out on platform window. close request. ( #1542 , #787 )
2018-09-11 15:35:53 +02:00
omar
df65d4a14f
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2018-09-11 11:18:46 +02:00
omar
c4e26f4b92
Nav: Added a way for code to cancel Alt for menu toggle (ImGuiNavInput_KeyMenu_). Cancelling out on platform window. close request. ( #1542 , #787 )
2018-09-10 22:19:54 +02:00
omar
416918429d
Docking: Added Type enum in ImGuiDockRequest. Renamed fields. DockSpace() skips node update if already submitted (when transitioning from implicit -> explicit DockSpace).
2018-09-10 22:09:43 +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
d5692bff00
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:30:14 +02:00
omar
dcef0c0237
Docking: Updating LastFrameActive earlier in Begin() because BeginDocked() will need to use it. Extracted some code into a DockNodeIsDropAllowedOne() function. Comments.
2018-09-10 20:23:03 +02:00
omar
a68c98bb67
Docking: Added SetNextWindowUserType() + user type filtering in dockspace and window merging. Added DockSpace() flag ImGuiDockFlags_NoSplit. Renaming. Reworked the DockNodeUpdateFindOnlyNodeWithWindows code so DockNodeUpdate can access the first window.
2018-09-10 14:32:00 +02:00
omar
b872aa5c8e
Docking: io.ConfigResizeWindowsFromEdges default to true in Docking branch. Moved code in BeginTabItem().
2018-09-10 11:24:27 +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
a82be53407
Merge branch 'docking2' into viewport_docking
...
# Conflicts:
# examples/example_glfw_opengl2/main.cpp
# examples/example_glfw_opengl3/main.cpp
# examples/example_glfw_vulkan/main.cpp
# examples/example_sdl_opengl3/main.cpp
# examples/example_sdl_vulkan/main.cpp
# examples/example_win32_directx10/main.cpp
# examples/example_win32_directx11/main.cpp
# examples/example_win32_directx12/main.cpp
# imgui.cpp
# imgui.h
# imgui_demo.cpp
# imgui_internal.h
2018-09-06 22:28:21 +02:00
omar
e381f22ac1
Docking: Added Docking system. (Part 3) ( #351 )
2018-09-06 21:45:46 +02:00
omar
9ac1e93aa1
Docking: Added Docking system. (Part 2) ( #351 )
2018-09-06 21:45:46 +02:00
omar
5adcb9ce6d
Docking: Added empty skeleton/sections to facilitate diff/patch of incoming code (otherwise git gives us a messier patch).
2018-09-06 21:45:45 +02:00
omar
2ec135c9f7
Docking: Added ImVec2[] non const operator. Added ImStrSkipBlank. Reseting some values earlier in Begin. Added IMGUI_DEBUG_LOG() helper. Added docking source code section.
2018-09-06 21:45:45 +02:00
omar
58d46e1fe6
Tabs: Added BeginTabBar(), EndTabBar(), BeginTabItem(), EndTabItem() + demo. ( #261 , #351 )
2018-09-06 21:45:44 +02:00
omar
741bdf151a
Added ImGuiWindowFlags_UnsavedDocument flags.
2018-09-06 21:45:10 +02:00
omar
5070c769b8
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-09-06 21:45:09 +02:00
omar
52e0de84a9
Internals: Split RenderTextClipped into two functions.
2018-09-06 21:45:09 +02:00
omar
eb7033e75b
Version 1.66 WIP
2018-09-06 21:44:59 +02:00
omar
b974fffea0
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
2018-09-06 15:59:35 +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
a2616c79fe
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
2018-09-06 11:42:11 +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
31b5b18611
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
2018-09-05 20:59:27 +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
8601c39571
Viewport: Making the code a little more sturdy (flag changes) + added descriptions. ( #1542 )
2018-09-05 17:50:55 +02:00
omar
af27ec296b
Merge branch 'master' into viewport + added viewport ConfigFlags/BackendFlags
...
# Conflicts:
# imgui.cpp
# imgui.h
2018-09-05 17:38:47 +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
a848807847
Minor inconsequential merges from Master/Docking branches
2018-09-05 11:51:45 +02:00
omar
bdb30d7145
Merge branch 'master' into viewport
2018-09-05 11:08:57 +02:00
omar
897e5c6231
Viewport: Moved code following refactor. ( #2036 , #1542 )
2018-09-05 11:08:44 +02:00
omar
40db2ca098
Fixed a build issue with non-Cygwin GCC under Windows.
2018-09-04 18:58:20 +02:00
omar
1007873d94
Misc: merge minor/inconsequential stuff from Docking branch to reduce drift.
2018-09-03 19:51:22 +02:00
omar
bcb1441ce7
Version 1.65 WIP
2018-09-03 14:38:04 +02:00
omar
fd201a90f1
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
2018-08-31 18:39:02 +02:00
omar
5d40d295b3
Comments, readme updates
2018-08-31 11:37:14 +02:00
omar
fd90afef43
Refactor: Internals: Moved Viewport functions in imgui.cpp in their own section. (part 3) ( #2036 , #1542 )
2018-08-31 11:11:18 +02:00
omar
5207afa0dd
Refactor: Internals: Moved Viewport functions in imgui.cpp in their own section. (part 2) ( #2036 , #1542 )
2018-08-31 11:06:21 +02:00
omar
0c24fe276c
Merge branch 'master_164' into viewport_164
...
# Conflicts:
# imgui.cpp
# imgui_draw.cpp
# imgui_widgets.cpp
2018-08-31 10:28:21 +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
c83391262e
Refactor: Internals: Moved Tooltip functions in imgui.cpp in their own section + comments. ( #2036 )
2018-08-30 21:21:14 +02:00
omar
00262d51ad
Refactor: Internals: Moved Popup functions in imgui.cpp in their own section. (part 3) ( #2036 )
2018-08-30 21:19:30 +02:00
omar
d7c04ccbfb
Refactor: Internals: Moved Popup functions in imgui.cpp in their own section. (part 2) ( #2036 )
2018-08-30 21:18:16 +02:00
omar
b1f263b34b
Refactor: Internals: Moved Popup functions in imgui.cpp in their own section. (part 1) ( #2036 )
2018-08-30 21:16:30 +02:00
omar
a58e4dfd0f
Refactor: Moved Scrollbar function from imgui.cpp to imgui_widgets.cpp, added file index ( #2036 )
2018-08-30 21:16:23 +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
346f83e014
Refactor: Internals: Moved Navigation functions in imgui.cpp in their own section. DONE! (part 9) ( #2036 , #787 )
2018-08-30 19:41:02 +02:00
omar
fefcc77f13
Refactor: Internals: Moved Navigation functions in imgui.cpp in their own section. (part 8) ( #2036 , #787 )
2018-08-30 19:40:40 +02:00
omar
b6cdfef442
Refactor: Internals: Moved Navigation functions in imgui.cpp in their own section. (part 7) ( #2036 , #787 )
2018-08-30 19:38:44 +02:00
omar
172e426ba9
Refactor: Internals: Restored new lines in NavUpdate() ... (part 6) ( #2036 , #787 )
2018-08-30 19:36:59 +02:00
omar
f74d9ec7f7
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:36:40 +02:00
omar
9093166eea
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:35:19 +02:00
omar
f5ed5478e1
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:35:12 +02:00
omar
9a4234ea8e
Refactor: Internals: Moved Navigation functions in imgui.cpp in their own section. (part 2) ( #2036 , #787 )
2018-08-30 19:35:06 +02:00
omar
af002dc861
Refactor: Internals: Moved Navigation functions in imgui.cpp in their own section. (part 1) ( #2036 , #787 )
2018-08-30 19:34:48 +02:00
omar
adeb993122
Refactor: Internals: Moved Logging functions in imgui.cpp in their own section. ( #2036 )
2018-08-30 19:33:02 +02:00
omar
81bc4265e5
Refactor: Internals: Moved Settings functions in imgui.cpp in their own section. ( #2036 )
2018-08-30 19:32:52 +02:00
omar
a44c5f7afe
Refactor: Internals: Moved various functions in imgui.cpp ( #2036 )
2018-08-30 19:30:17 +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
521405488b
Refactor: Moved Slider/Drag/Input functions + support DataType stuff from imgui.cpp to imgui_widgets.cpp ( #2036 )
2018-08-30 19:21:50 +02:00
omar
24dfa0c957
Refactor: Moved InputText functions from imgui.cpp to imgui_widgets.cpp ( #2036 )
2018-08-30 19:12:33 +02:00
omar
158a65c98f
Refactor: Moved ColorEdit/ColorPicker/ColorButton/etc. functions from imgui.cpp to imgui_widgets.cpp ( #2036 )
2018-08-30 19:04:49 +02:00
omar
6caf074bd5
Refactor: Moved Tree/Selectable functions from imgui.cpp to imgui_widgets.cpp ( #2036 )
2018-08-30 19:04:42 +02:00
omar
905e14f384
Refactor: Moved Plot/Value functions from imgui.cpp to imgui_widgets.cpp ( #2036 )
2018-08-30 19:04:36 +02:00
omar
4be79a8955
Refactor: Moved Menu functions from imgui.cpp to imgui_widgets.cpp ( #2036 )
2018-08-30 19:04:04 +02:00
omar
2d952504ed
Refactor: Moved Combo/ListBox functions from imgui.cpp to imgui_widgets.cpp ( #2036 )
2018-08-30 19:01:05 +02:00
omar
43219d36a6
Refactor: Moved Button/Image/Checkbox/RadioButton/Bullet/ProgressBar functions from imgui.cpp to imgui_widgets.cpp ( #2036 )
2018-08-30 19:00:59 +02:00
omar
99b27488e7
Refactor: Moved Text functions from imgui.cpp to imgui_widgets.cpp ( #2036 )
2018-08-30 19:00:52 +02:00
omar
6c34bffbb5
Version 1.64 WIP
2018-08-30 19:00:22 +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
36b2f64051
Merge branch 'master' into viewport
...
# Conflicts:
# examples/example_glfw_opengl3/main.cpp
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
# imgui_internal.h
2018-08-29 17:40:52 +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
f81caac459
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
# imgui.h
2018-08-25 21:19:42 +02:00
omar
e9c849884a
Viewport: Fixed warnings due to bad merge.
2018-08-24 15:42:31 +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
a4191857c1
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_vulkan.h
# imgui.cpp
2018-08-22 21:35:44 +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
9d7480774f
Merge branch 'master' into viewport
2018-08-17 11:37:03 -07: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
5d630c930d
Viewport: DestroyPlatformWindows() checks for the bool CreatedPlatformWindow flag correctly. Note that we set CreatedPlatformWindow=true for the main viewport to allow the back-end to store data in the public Viewport structure (for consistency). ( #1542 )
2018-08-15 16:15:44 -07:00
omar
9852649e97
Viewport: Initial viewport DpiScale only queried on viewport creation. Because AddUpdateViewport() is called repeatedly on MovingWindow or with ImGuiConfigFlags_ViewportsNoMerge, the DpiScale update would break ImGuiConfigFlags_DpiEnableScaleViewports. ( #1542 )
2018-08-14 19:17:33 -07:00
omar
1722a31155
Viewport: ImGuiWindowFlags_NoFocusOnAppearing affects viewport accordingly. ( #1542 )
2018-08-14 14:58:19 -07:00
omar
e5f2295398
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_opengl2.cpp
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
2018-08-13 17:50:48 -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
8ef0ca9765
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_dx11.cpp
# examples/imgui_impl_glfw.cpp
# examples/imgui_impl_sdl.cpp
# imgui.cpp
2018-08-01 12:27:56 +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
c031ea088a
Viewport: Fixed an assert on loss of valid mouse position while dragging a tooltip (would happen often when using debugger breakpoint). Not totally sure about best solution, may not be important.
2018-07-31 13:46:37 +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
omar
9824bf1ba1
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
2018-07-31 12:12:56 +02:00
omar
e13e5982ff
Drag and Drop: Payload stays available and under the mouse if the source stops being submitted, however the tooltip is replaced by "..." + moved FrameScopeActive = false at the bottom of EndFrame() for safety. ( #1725 )
2018-07-31 12:11:18 +02:00
omar
f88bf9cea3
InvisibleButton: Added an assert to catch common type of passing zero-sized dimensions. ( #1983 )
2018-07-30 18:48:10 +02:00
omar
a7ac9e8346
Made assertion more clear when trying to call Begin() outside of the NewFrame()..EndFrame() scope. ( #1987 )
2018-07-30 18:20:25 +02:00
omar
4d5dcdb57a
Internals: Changed signature of ShadeVerts functions to remove pointers. ( #1286 , #1700 , #1986 )
2018-07-30 17:24:04 +02:00
omar
f05aede098
Revert "Assert that fmt != NULL before calling vsnprintf ( #1969 )"
...
This reverts commit 84183f5bb6
.
2018-07-30 16:50:47 +02:00
omar
80db2383d8
Speculative va_copy() fix for old versions of GCC/Clang. (cannot repro) ( #1085 )
2018-07-30 16:01:06 +02:00
omar
2a67aeaa3d
Visual Studio: calling into _vsnprintf. ( #1085 )
2018-07-30 16:01:06 +02:00
omar
15a93d6fe3
Internals: Fixed HoveredIdTimer so it is safe to call SetHoveredId() multiple times without altering the timer.
2018-07-30 14:36:33 +02:00
omar
f9e8b5c652
CollapseButton: Added hovering highlight + minor consistency tweaks.
2018-07-27 13:32:33 +02:00
omar
6211f40f3d
Internals: Drag and Drop: default drop preview use a narrower clipping rectangle (no effect here, but other branches uses a narrow clipping rectangle that was too small so this is a fix for it) + Comments
2018-07-27 12:39:42 +02:00
omar
0095b7a0ea
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2018-07-26 23:55:23 +02:00
omar
28c1a9857e
Internals: Changed SplitterBehavior() signature to be consistent with other similar signatures. ( #319 ).
2018-07-26 23:50:05 +02:00
omar
63df9d6311
Internals: Extracted part of Begin into UpdateWindowParentAndRootLinks(). Useful to call to keep state updated immediately (namely useful for docking) + small tidying up of imgui_internal.h
2018-07-26 23:49:36 +02:00
OswaldHurlem
84183f5bb6
Assert that fmt != NULL before calling vsnprintf ( #1969 )
...
In the case of Visual Studio 15.6 + Windows SDK 10.0, vsnprintf() with NULL format string appears to corrupt the stack...
2018-07-26 22:26:50 +02:00
omar
6b4f6cd2c5
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
2018-07-26 19:25:55 +02:00
omar
dd0d5debef
Internals: Child windows that are clipped or part of a collapsed parent are not marked as collapsed anymore, but just a separate hidden marker set. We distinguish hiding for size measurement vs hiding for other reasons. Cleaned a little the end of Begin.
2018-07-26 19:24:27 +02:00
omar
0b045d8de5
Nav: Tweaked CTRL+TAB to hide visual noise on fast switch + fading out screen dimming and highlight to make the experience less harsh
2018-07-26 19:03:02 +02:00
omar
1b646a4440
Nav: Tweaked CTRL+TAB to hide visual noise on fast switch + fading out screen dimming and highlight to make the experience less harsh
2018-07-26 19:01:51 +02:00
omar
7adac4ab3e
FAQ update
2018-07-26 12:55:40 +02:00
omar
0c88fad6c2
Internals: SplitterBehavior() added hover_visibility_delay parameter which is helpful to reduce visual noise. ( #319 )
2018-07-25 16:07:05 +02:00
omar
f22024cb19
Internals: Exposed NavScoreItemGetQuadrant() as ImGetDirQuadrantFromDelta() in imgui_internal.h
2018-07-24 16:54:29 +02:00
omar
352695bc57
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_sdl.cpp
# imgui.cpp
2018-07-24 16:50:49 +02:00
omar
357534e588
Made it possible to move a window by dragging from the Collapse button (past the drag threshold). Extracted some code out to a CollapseButton() function.
2018-07-24 16:45:11 +02:00
omar
3a522b2400
Internals: Renamed one of the arrow functions so their name don't collide.
2018-07-24 16:41:17 +02:00
omar
528b50a89f
Fixed horizontal mouse wheel not forwarding the request to the parent window if ImGuiWindowFlags_NoScrollWithMouse is set. ( #1463 , #1380 , #1502 )
2018-07-22 19:04:15 +02:00
omar
4b8ce24e46
Internals: Extracted part of NewFrame() into a UpdateMouseWheel() function.
2018-07-22 18:57:28 +02:00
omar
4ebd442a24
Added asserts to catch illegal modifications of the font atlas between NewFrame() and EndFrame()/Render(). ( #1958 )
2018-07-22 18:53:27 +02:00
omar
e07f5d4c78
Changed ImGui::GetTime() return value from float to double to avoid accumulating floating point imprecisions over time.
2018-07-22 18:46:41 +02:00
omar
74077491ce
Viewport: Fixed a situation when the implicit Debug window can hold on a zombie viewport which platform window is not properly destroyed. ( #1542 )
2018-07-22 16:24:06 +02:00
omar
048add5ef2
ImGuiTextFilter, TextRange: removed cruft from TextRange since it's not a publicly and generic helper at the moment + marked internal stuff + changed a reference to a pointer. ( #1879 )
2018-07-19 15:22:18 +02:00
omar
23b67e6ff5
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
2018-07-17 19:52:14 +02:00
omar
93321d3280
Nav: Fixed CTRL+TAB windowing list from always showing the implicit Debug window. ( #787 )
2018-07-17 19:48:53 +02:00
Rokas Kupstys
7e59eb026b
Fix warning when IMGUI_DEFINE_MATH_OPERATORS is already defined by build system. ( #1950 )
2018-07-17 17:17:56 +02:00
omar
7b4fbf4301
Viewport: Removed the need for the back-end to fill io.MousePosViewport, it seems unnecessary at this point. ( #1542 )
2018-07-17 16:37:10 +02:00
omar
b8b74970d7
Internals: Viewport: Renamed g.MouseRefViewport to g.MouseViewport. ( #1542 )
2018-07-17 16:04:47 +02:00
omar
defbf1c4b3
Viewport: when moving window we use the moving window viewport unless drag and dropping. This is to fix e.g. IsItemHovered() + Tooltip pattern that may be active while moving a window. ( #1542 )
2018-07-17 15:56:02 +02:00
omar
16c6734bcb
Viewport: Revert part of 7abf72e
, the viewport ownership stealing is problematic. ( #1542 ). Will rework in the context of docking. (+1 squashed commits)
...
+ Fixed unused prototype warning (left-over from a merge)
2018-07-17 15:14:19 +02:00
omar
b30b82835a
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
# imgui_demo.cpp
# imgui_internal.h
2018-07-12 11:48:49 +02:00
omar
d107146687
Viewport: Fixed CTRL+TAB windowing list displaying too many dimming layers (fix dd61c48
for viewport branch)
2018-07-12 11:19:17 +02:00
omar
5e73e969fb
Comments, exposed a few things in imgui_internal.h for consistency, added ImQsort wrapper.
2018-07-12 11:08:24 +02:00
omar
88df66ec83
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
# imgui.h
# imgui_draw.cpp
# imgui_internal.h
2018-07-12 10:03:18 +02:00
omar
23288547ec
Revert part of c7016c2
incorrectly renaming ImGuiCol_NavWindowingHighlight to ImGuiCol_NavWindowListHighlight, that was wholly unnecessary (and not documented!). (also invalidate #1939 )
2018-07-12 09:53:10 +02:00
omar
9007dff5eb
IsItemHovered(): Added ImGuiHoveredFlags_AllowWhenDisabled flag to query hovered status on disabled items. ( #1940 , #211 )
...
+ shallow changelog tweaks
2018-07-10 19:16:57 +02:00
omar
b829671df1
Fixed missing value in GetStyleColorName(). ( #1939 ) broken with c7016c2
2018-07-10 16:45:54 +02:00
omar
4dfb9ef751
Internals: Extracted StartMouseMovingWindow so we can add code to turn an arbitrary widget into a window mover (will be useful to make the Collapse button a window mover past a mouse drag threshold) + added a couple of _None flags.
2018-07-10 11:16:40 +02:00
omar
ce18371d1b
Internals: Fixed CalcSizeContents() returning negative value on first run (inconsequential afaik, but fixing for sanity)
2018-07-09 21:49:49 +02:00
omar
dc021f1c23
Internals: Fixed CalcSizeContents() returning negative value on first run (inconsequential afaik, but fixing for sanity)
2018-07-09 21:38:37 +02:00
omar
9dea27b273
Viewport: Made it possible for the moving window to detach and recreate its own Viewport (used by Docking)
2018-07-09 21:18:41 +02:00
omar
140ece0aeb
Internals: HoveredWindowUnderMovingWindow special handling for drag and drop of window without altering the _NoInputs window flag, which worked but messed up the IsWindowHovered() user-facing flags.
2018-07-09 21:18:10 +02:00
omar
7abf72ec78
Viewport: Reapply/recover ownership of viewport which is convenient for docking but also can recover from faulty .ini files. ( #1542 )
2018-07-09 21:13:51 +02:00
omar
17f36038e0
Internals: Misc/shallow merge from Docking branch.
2018-07-09 21:10:47 +02:00
omar
574185426c
Internals: Misc/shallow merge from Docking branch.
2018-07-09 21:06:46 +02:00
omar
7033b2043b
Internals: Move IMGUI_CDECL declaration to imgui_internal.h so everyone can profit.
2018-07-09 20:34:12 +02:00
omar
dd61c4802a
Nav: Added a CTRL+TAB window list and changed the highlight system accordingly. ( #787 )
2018-07-09 19:22:49 +02:00
omar
c7016c25e8
Nav: Added a CTRL+TAB window list and changed the highlight system accordingly. ( #787 )
2018-07-09 19:16:48 +02:00
omar
14cef31467
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
2018-07-09 16:24:01 +02:00
omar
0708f91617
Internals: Removed RootWindowForTabbing, won't be needed. Nav: Not starting NavWindowingTarget when a modal is active (was not noticeable).
2018-07-09 16:20:14 +02:00
omar
bd6097ac6f
Drag and Drop: Calling BeginTooltip() between a BeginDragSource()/EndDragSource() or BeginDropTarget()/EndDropTarget() uses adjusted tooltip settings matching the one created when calling BeginDragSource() without the ImGuiDragDropFlags_SourceNoPreviewTooltip flag. ( #143 ) + additional safety checks.
2018-07-08 20:06:49 +02:00
omar
64938178b7
Internals: Moved selectable flags to avoid collision with public flags + rewrote some tests so we can consistently grep for (held && hovered)
2018-07-08 18:23:12 +02:00
omar
a33f0d1f7f
Drag and Drop: Fixed ImGuiDragDropFlags_SourceNoDisableHover to affect hovering state prior to calling IsItemHovered() + fixed description. ( #143 )
2018-07-08 16:38:57 +02:00
vby
3a42eb6620
Fix missing ImmReleaseContext in default Win32 IME handler ( #1932 )
2018-07-08 15:24:12 +02:00
omar
b0cdfe0ece
Generalized d11d211e
so regular popups (without the AlwaysAutoResize flag) also have a smaller minimum size, but reduced it to an arbitrary 4.0f instead of 1.0f to ease debugging of faulty situations. ( #1909 )
2018-07-08 13:27:16 +02:00
omar
6277781e83
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
2018-07-08 13:08:16 +02:00
omar
c790723cfa
Drag and Drop: Fixed an incorrect assert when dropping a source that is submitted after the target (bug introduced with 1.62 changes related to the addition of IsItemDeactivated()). ( #1875 , #143 )
2018-07-08 13:03:39 +02:00
omar
d11d211e5d
Allow popup from ignoring the style.WindowMinSize values so short menus are not padded. ( #1909 ) Wider generalization of b16603745c
.
2018-07-06 18:29:39 +02:00
omar
42bf149ac6
Removed per-window ImGuiWindowFlags_ResizeFromAnySide beta flag in favor io.OptResizeWindowsFromEdges=true
to enable the feature globally. ( #1495 ) The feature is not currently enabled by default because it is not satisfying enough.
2018-07-06 15:30:21 +02:00
omar
0146f4b456
Internals: BeginChildEx tweaks.
2018-07-05 09:17:16 +02:00
omar
7b2662d245
Examples: Comments, bits of documentation
2018-07-04 19:06:28 +02:00
omar
665bd1e140
Links and thanks. Comments on using BeginCombo/EndCombo + moved the Combo() implementations closer to each others to maximize user seeing how it is implemented from any of the secondary function body.
2018-07-04 10:29:28 +02:00
omar
770cba0bd0
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_glfw.cpp
# examples/imgui_impl_glfw.h
# examples/imgui_impl_sdl.cpp
# examples/imgui_impl_sdl.h
# examples/imgui_impl_win32.cpp
# examples/imgui_impl_win32.h
# imgui.cpp
# imgui_internal.h
2018-07-02 20:13:16 +02:00
omar
004fe8916a
Internals: Settings: Simple optimization caching index into the settings buffer, to remove an unnecessary O(N*M) search during saving. (with N=active root windows during the session, M=stored settings which grows over time)
2018-06-28 18:42:38 +02:00
omar
b16603745c
Allow menu windows from ignoring the style.WindowMinSize values so short menus are not padded. ( #1909 )
2018-06-28 11:33:03 +02:00
omar
7adae3299e
Double-click on resize grip doesn't need to test HoveredWindow (as button has the flattenchild flag anyway) + double-click on title bar verify that we don't have overlapping items to allow contents in title bar. + Comments
2018-06-27 17:29:31 +02:00
omar
c38fe6b0e1
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
2018-06-26 12:41:36 +02:00
omar
79153cf19f
Internals: Various renaming. e.g. NewFrameUpdateHoveredWindowAndCaptureFlags() to UpdateHoveredWindowAndCaptureFlags() + exposed UpdateMovingWindow() in imgui_internal.h.
2018-06-26 12:40:37 +02:00
omar
14ceaaf460
ArrowButton: Fixed to honor PushButtonRepeat() setting (and internals' ImGuiItemFlags_ButtonRepeat). Setup current line text baseline so that ArrowButton() + SameLine() + Text() are aligned properly.
2018-06-26 12:37:20 +02:00
omar
9d67d18d86
Internals: Moved some of the SliderBehaviorT code into SliderBehavior to reduce the amount of instanciated code.
2018-06-25 14:01:21 +02:00
omar
c1d8dee6c5
Version 1.63 WIP
2018-06-25 09:40:09 +02:00
omar
ce500f8727
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_glfw.cpp
# examples/imgui_impl_win32.cpp
2018-06-22 12:01:42 +02:00
omar
1b74e3be02
Version 1.62
2018-06-22 09:41:25 +02:00
omar
40845852b9
Fixed warnings + readme
2018-06-16 10:23:11 +02:00
omar
7e6700d261
Viewport: Fix lagging overlay clipping rectangle on viewport owning window (affecting sync of multi-layered docking overlays). This was extremely tricky to find and fix (*). ( #1541 )
...
(*) Merely assigning viewport->Pos = pos in UpdateMovingWindow() broke a series of thing because the code that assign viewports and viewport flags relied on moving window leaving its own viewport the first time to set the NoInputs flag.
2018-06-15 19:40:17 +02:00
omar
c71522adc5
Viewport: Comments. Removed misleading test for !window->ViewportOwned in UpdateSelectWindowViewport(). ( #1541 )
2018-06-15 19:40:00 +02:00
omar
70b0bd13aa
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_opengl2.cpp
# examples/imgui_impl_opengl2.h
# examples/imgui_impl_opengl3.cpp
# examples/imgui_impl_opengl3.h
# imgui.cpp
# imgui.h
2018-06-14 15:30:15 +02:00
omar
b5d385824d
Added assert in TreePop() to ease catching ID stack underflow earlier.
2018-06-14 15:11:14 +02:00
omar
826d77185e
Revert 640c0566
: TreeNode: Fixed nodes with ImGuiTreeNodeFlags_Leaf flag always returning true which was meaningless -> more flexible to keep allowing it by default so it setup an ID scope.
2018-06-14 15:10:46 +02:00
omar
ce0b36ba10
Added _None values to various enum flags, useful for readability and some coding style likes it. (Unfortunately we can't refer to them as default value in imgui.h functions because they need to be declared below).
2018-06-13 23:22:19 +02:00
omar
2a6fbb2197
Speculative fix for Win32 clipboard handler if SetClipboardText() fails + Minor fix for static analyzer + using :: prefix when calling in Win32 functions.
2018-06-13 22:22:52 +02:00
omar
d57fc7fb97
Added IsItemDeactivatedAfterChange() if the last item was active previously, isn't anymore, and during its active state modified a value. Note that you may still get false positive. ( #820 , #956 , #1875 )
2018-06-13 00:10:33 +02:00
omar
be4b8b5615
Internals: Added GetItemID(), GetFocusID() for consistency. Made GetActiveID() inline. Comments, fixed typos, demo tweaks.
2018-06-13 00:02:19 +02:00
omar
cd455a4600
Added IsItemDeactivated() to query if the last item was active previously but isn't anymore. Useful for Undo/Redo patterns. ( #820 , #956 , #1875 )
2018-06-12 18:44:33 +02:00
omar
c725710c6d
Comments
2018-06-12 18:25:04 +02:00
omar
24aeca3d0c
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_dx10.cpp
# examples/imgui_impl_dx10.h
# examples/imgui_impl_dx11.cpp
# examples/imgui_impl_glfw.cpp
# examples/imgui_impl_glfw.h
# examples/imgui_impl_opengl2.cpp
# examples/imgui_impl_opengl2.h
# examples/imgui_impl_opengl3.cpp
# examples/imgui_impl_sdl.cpp
# examples/imgui_impl_sdl.h
# examples/imgui_impl_vulkan.h
# examples/imgui_impl_win32.cpp
2018-06-12 16:24:24 +02:00
omar
cdf51cad2d
Comments, documentation
2018-06-11 19:52:40 +02:00
omar
ff4f40de41
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
2018-06-08 20:22:07 +02:00
omar
85f9694bd4
Big example binding refactor (manually imported from Viewport branch, stripped out of Viewport code). ( #1870 )
...
Read examples/README.txt for some details.
ImDrawData: Added DisplayPos, DisplaySize fields honored by all backends (not strictly necessary to honor just now, but doing it to be ahead)
2018-06-08 19:37:33 +02:00
omar
8c374512fd
Examples, Platform: Removed the call to ImGui::NewFrame() from the platform _NewFrame() function e.g. ImGui_ImplWin32_NewFrame(), ImGui_ImplSDL2_NewFrame(), ImGui_ImplGlfw_NewFrame(), etc. Moved to main.cpp for consistency. ( #1542 )
2018-06-07 22:10:31 +02:00
omar
8e48ab6b19
Nav: Addendum: only set io.WantSetMousePos if necessary. ( #1867 )
2018-06-07 18:08:59 +02:00
omar
e3710448ae
Nav: Removed an unnecessary assertion that could fail when using Mouse and Keyboard simultaneously with the NavEnableSetMousePos flag. ( #1867 )
2018-06-07 18:04:44 +02:00
omar
929529a0db
SliderFloat(): When using keyboard/gamepad and a zero precision format string (e.g. "%.0f"), always step in integer units. ( #1866 )
2018-06-07 13:29:54 +02:00
omar
b3a5b8debd
Popup: Improved handling of (erroneously) repeating calls to OpenPopup() to not fully close/re-open the popup so its child popups won't get closed. ( #1497 , #1533 , #1865 ).
...
Followup/fix the change made in deab2ab015
2018-06-06 19:25:49 +02:00
omar
5a288b2d3a
Readme, FAQ tweaks ( #1807 )
2018-06-06 13:02:19 +02:00
omar
d44faa165a
Added GetGlyphRangesChineseSimplifiedCommon() helper that returns a list of ~2500 most common Simplified Chinese characters. Renamed GetGlyphRangesChinese() to GetGlyphRangesChineseFull() to distinguish other variants and discourage using the full set. ( #1859 )
...
Changed the accumulative encoding to remove the implicit +1 which only saved a little space and made things more confusing.
2018-06-06 12:35:36 +02:00
omar
2a56105f85
TreeNodeEx(): The helper ImGuiTreeNodeFlags_CollapsingHeader flag now include ImGuiTreeNodeFlags_NoTreePushOnOpen. The flag was already set by CollapsingHeader(). The only difference is if you were using TreeNodeEx() manually with ImGuiTreeNodeFlags_CollapsingHeader and without ImGuiTreeNodeFlags_NoTreePushOnOpen. In which case you can remove the ImGuiTreeNodeFlags_NoTreePushOnOpen flag from your call (ImGuiTreeNodeFlags_CollapsingHeader & ~ImGuiTreeNodeFlags_NoTreePushOnOpen). ( #1864 )
2018-06-06 11:39:29 +02:00
omar
916528080e
InputTextMultiline(): Fixed double navigation highlight when scrollbar is active. ( #787 )
2018-06-05 16:16:54 +02:00
omar
512ffa37bd
Nav: Fixed clipped scoring when exiting a NavFlattened child back to a parent item (clipping not desirable then). (followup and fix to c665c15
). ( #787 )
2018-06-05 16:12:46 +02:00
omar
93b032ea92
Merge branch 'master' into viewport
...
# Conflicts:
# examples/opengl3_example/imgui_impl_glfw_gl3.cpp
# examples/sdl_opengl3_example/imgui_impl_sdl_gl3.cpp
# imgui.cpp
2018-06-05 15:51:52 +02:00
omar
6d98c0323b
Nav: Added support for PageUp/PageDown (explorer-style: first aim at bottom/top most item, when scroll a page worth of contents). ( #787 )
2018-06-05 15:49:33 +02:00
omar
2bdf0b54a2
Changelog formatting update, Todo, comments. Tweak Child demo. Shuffle some code in NavUpdate().
2018-06-05 15:34:22 +02:00
omar
c665c15a7d
Nav: When entering into a NavFlattened child we only consider the visible items for scoring (note that this only work assuming the NavFlattened child window has interactive items). Fixes accidentally hoping into a NavFlattened child. ( #767 )
2018-06-04 18:18:12 +02:00
omar
f4120e20d5
Nav: NavFlattened: Fixed navigation miscrolling parent window when the current window is scrolling enough to keep the item in view. Fix feature added in e11610d6
, typically affect large navigation steps (used by PageUp/PageDown). + comments ( #787 )
2018-06-04 18:18:11 +02:00
omar
5a7e98c7cf
Internals: Nav: Removed ParentID from move result (unused, would need to be full-filled for PageUp/PageDown code) + FAQ typo fix.
2018-06-04 15:43:33 +02:00
omar
948009a8b2
Intensive FAQ answer for the million of people asking the same questions over and over again. ( #1848 , #1791 , #1840 , #1493 , #1295 )
2018-05-30 16:31:34 +02:00
omar
a2198bcf6b
Made mouse drag distance calculation more robust to invalid mouse position. ( #1845 )
2018-05-29 10:47:18 +02:00
omar
08e20ae465
Internals: Reintroducing LastActiveIdTimer because it is useful and to reduce merge conflicts. ( #1537 )
2018-05-28 21:48:25 +02:00
omar
d4b151076c
Internals: Added BeginDragDropTooltip() internal function to convey semantic (drag and drop tooltip doesn't get clipped within display boundaries). Revert part of 3218666fb9
. ( #1739 , #143 ).
2018-05-28 21:40:09 +02:00
omar
3218666fb9
Made drag source tooltip display at the same position as a regular tooltip to avoid discontinuity where dynamically swapping tooltip at the target site. Made drag source tooltip override previous tooltip if any. ( #1739 , #143 ).
2018-05-28 21:24:03 +02:00
omar
92b7d6bc4f
Added ImGuiDragDropFlags_AcceptNoPreviewTooltip flag to disable drag source tooltip from the target site ( #143 )
2018-05-28 20:57:41 +02:00
omar
7fd9199a1d
Internals: Selectable: Renamed variables. Todo update.
2018-05-28 17:13:40 +02:00
omar
f843facba4
Internals: PushItemFlag() flags are inherited by BeginChild().
2018-05-28 15:30:42 +02:00
omar
0e83d74698
Documentation: FAQ, ID Stack, Fonts ( #1839 , #1840 ), #1842 )
2018-05-27 22:32:46 +02:00
omar
03c8a78f04
Merge branch 'master' into viewport
...
# Conflicts:
# examples/opengl2_example/imgui_impl_glfw_gl2.cpp
# examples/opengl3_example/imgui_impl_glfw_gl3.cpp
# examples/sdl_opengl3_example/imgui_impl_sdl_gl3.cpp
# examples/sdl_opengl3_example/imgui_impl_sdl_gl3.h
# examples/vulkan_example/imgui_impl_glfw_vulkan.cpp
2018-05-25 12:44:56 +02:00
omar
251f178a6f
Drag and Drop: Source doesn't report as hovered (at a lower-level). Source disable AllowOverlap flag if any set. ( #143 )
2018-05-24 18:05:50 +02:00
omar
b88fbd69cc
Drag and Drop: BeginDragDropSource(): Offset tooltip position so it is off the mouse cursor, but also closer to it than regular tooltips, and not clamped by viewport. ( #1739 )
2018-05-23 23:19:01 +02:00
omar
09ea376a6a
BeginCombo(), BeginMainMenuBar(), BeginChildFrame(): restore modified style at end of Begin instead of End so doesn't affect child windows, BeginTooltip() etc.. (allowed since 7b6b7038c5
)
2018-05-23 23:05:26 +02:00
omar
002e513b82
Added float GetWindowDpiScale(). ( #1542 , #1676 )
2018-05-23 18:25:37 +02:00
omar
ed84b2aaeb
Viewport, Platform: Fixed a crash if the back-end set the PlatformRequestMove/PlatformRequestSize flags while viewports were disabled (it happened in the SDL back-end, and generally we want to tolerate it to make back-end implementation simpler). ( #1542 )
2018-05-23 18:01:50 +02:00
omar
bf56b6b9a5
ColorEdit3, ColorEdit4, ColorButton: Added ImGuiColorEditFlags_NoDragDrop flag to disable ColorEditX as drag target and ColorButton as drag source. ( #1826 )
2018-05-21 10:13:21 +02:00
omar
1176460e44
Viewport: Fixed using ImGuiConfigFlags_ViewportsNoMerge always showing the Debug window by testing the Active flag as well. ( #1542 )
2018-05-19 20:45:49 +02:00
omar
6c684ae39b
Fixed GCC pre-8 build. ( #1822 ) + added bonus the non-ASCII character pasted from GCC breaks my SourceTree/Git combo
2018-05-17 18:10:20 +02:00
omar
01429e7d16
Merge branch 'master' into viewport
...
# Conflicts:
# examples/opengl3_example/imgui_impl_glfw_gl3.cpp
# examples/sdl_opengl3_example/imgui_impl_sdl_gl3.cpp
# imgui.cpp
# imgui.h
2018-05-17 15:03:56 +02:00
omar
64b1645deb
Disabled GCC 8.1.0 warnings -Wclass-memaccess ( #1822 )
2018-05-17 14:19:20 +02:00
omar
d5c8f404b2
Remove trailing white spaces.
2018-05-17 14:12:37 +02:00
omar
ede5059e69
Internals: Forward declaring and commenting internal structures. Renamed ImGuiDrawContext to ImGuiWindowTempData, but kept .DC member name for backward compatibility purpose
2018-05-17 10:48:15 +02:00
omar
4c35e00f49
Viewport: Made GetWindowViewport() not flag the window as written to.
2018-05-16 22:48:54 +02:00
omar
86f8cdbd98
Comments + Internals: Selectable: decoupled internal flags and removed their menu / menu-item semantic as upcoming changes are requiring more flexibility.
2018-05-16 18:03:37 +02:00
omar
7f960616e0
Viewport: When resizing/moving a window using the host OS/WM we attempt to merge back into host viewport. ( #1542 )
2018-05-16 14:34:46 +02:00
omar
1cafdb5b46
Viewport: Added GetWindowViewport() to query the current viewport for the current window. Comments. ( #1542 )
2018-05-15 11:04:07 +02:00
omar
640c056602
TreeNode: Fixed nodes with ImGuiTreeNodeFlags_Leaf flag always returning true which was meaningless. Tweak demo.
2018-05-14 23:36:37 +02:00
omar
99ff6fc7e4
Nav: Draft internal api to forward move request with loop/wrap options. Will rework for parallel scoring of two paths (as a generalization of the NavFlattened concept). ( #787 )
2018-05-14 23:07:35 +02:00
omar
e11610d6ff
Nav: To keep the navigated item in view we also attempt to scroll the parent window as well as the current window. ( #787 )
2018-05-14 19:50:48 +02:00
omar
036dce634e
Version 1.62 WIP
2018-05-14 19:19:19 +02:00
omar
b0fb340b57
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
2018-05-14 13:15:21 +02:00
omar
78b28d545f
Version 1.61 + todo additions
2018-05-14 12:34:47 +02:00
omar
3f29ed6fd5
ColorEdit: Fixed not being able to pass the ImGuiColorEditFlags_NoAlpha or ImGuiColorEditFlags_HDR flags to SetColorEditOptions(). Demo tweak.
2018-05-13 23:41:43 +02:00
omar
725c13ca68
Fix for atof with glibc.
2018-05-13 22:43:43 +02:00
omar
2a2bb8970d
Added ImAtof, ImCeil, ImFloorStd to IMGUI_DISABLE_MATH_FUNCTIONS for consistency. Configuration comments.
2018-05-13 22:31:29 +02:00
omar
ff033f431b
Added IMGUI_DISABLE_MATH_FUNCTIONS in imconfig.h to make it slightly easier to redefine wrappers to std maths functions such as fabsf(), fmodf(), etc. Comments.
2018-05-13 21:04:07 +02:00
omar
7475c1e7dd
Data types: DragScalar: Fixed speed of integer values tweaking with keyboard/gamepad when speed < 1. Enforce min/max bounds when power curves are used. SliderScalar: Fixed integer/slow tweaking. ( #643 )
2018-05-12 17:39:34 +02:00
omar
85f3ba844c
Merge branch 'master' into viewport
...
# Conflicts:
# examples/sdl_opengl2_example/imgui_impl_sdl_gl2.cpp
# examples/sdl_opengl3_example/imgui_impl_sdl_gl3.cpp
# imgui.cpp
# imgui.h
2018-05-11 22:22:41 +02:00
omar
fc7fc83f9e
Data types: DragScalar, InputScalar: default parameters. Added IM_STATIC_ASSERT(). Comments.
2018-05-11 19:27:27 +02:00
omar
0dc18a6ca6
Documentation tweaks, comments
2018-05-11 16:54:50 +02:00
omar
8149408408
Merge branch 'data_types'
...
# Conflicts:
# CHANGELOG.txt
# imgui.cpp
2018-05-11 16:48:50 +02:00
omar
14f575ff76
Scrolling: Fixed a case where using SetScrollHere(1.0f) at the bottom of a window on the same frame the window height has been growing would have the scroll clamped using the previous height. ( #1804 )
2018-05-10 14:31:04 +02:00
omar
6eacddb50f
Viewport: Changed Monitor field to use Pos+Size (more consistent), changed FullMin,FullMax to MainPos,MainSize. Made main viewport accessible in PlatformIO on first frame. Fixed casing of ImGuiViewportFlags_TopMost flag. ( #1542 )
2018-05-10 13:10:04 +02:00
omar
91e39e72a3
Combo: Horizontally offset items using WindowPadding instead of Indent, for consistency.
2018-05-09 23:12:35 +02:00
omar
773d484009
Internals: Made ContentsRegionRect absolute to reduce confusion. Renamed InnerRect to InnerMainRect, renamed WindowRectClipper to OuterRectClipped.
2018-05-09 23:12:34 +02:00
omar
f83f566530
Internals: Nav: Extracted code into a NavClampToVisibleAreaForMoveDir() + fix debug code + inline some functions, removed obsolete EndChild() comment.
2018-05-09 21:48:03 +02:00
omar
4cabf599c4
Data types: Fix format srtings with leading blanks. Fix ColorEdit4() to not use obsolete formats (when using IMGUI_DISABLE_OBSOLETE_FUNCTIONS) ( #643 )
2018-05-08 23:41:46 +02:00
omar
ad2927888b
Apply fix from data_types branch, some widgets broken when format string doesn't contains a %. Broken by 92f0165f85
. Data_types branch fix c5fb929555
.
2018-05-08 20:07:25 +02:00
omar
5f464877ed
Internals: Declaring DragBehavior, SliderBehavior in there (no warantee given) as they may be useful to custom widgets.
2018-05-08 19:52:56 +02:00
omar
c5fb929555
Data types: Fixed empty format string (or no % specifier) breaking the parsing back of values.
2018-05-08 19:52:55 +02:00
omar
280c05e4f8
Fix to allow compiling in unity builds where stb_rectpack/stb_truetype may be already included in the same compilation unit.
2018-05-08 11:02:38 +02:00
omar
4ff23d3306
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_dx9.cpp
# imgui.cpp
# imgui.h
2018-05-07 22:23:58 +02:00
omar
0bf43b3a1b
Settings: Added LoadIniSettingsFromDisk(), LoadIniSettingsFromMemory(), SaveIniSettingsToDisk(), SaveIniSettingsToMemory(), io.WantSaveIniSettings. ( #923 , #993 )
2018-05-07 22:18:45 +02:00
omar
023cc25c7c
Internals: Removed unnecessary allocation indirection for g.LogClipboard (this only made sense when there was a global context instance)
2018-05-07 22:15:25 +02:00
omar
3e8087458d
SliderScalar, VSliderScalar(): Support for any data types. Tested with various ranges/limits. Note that Drag/Slider/Input currently fail if the format string doesn't preview the actual value. Will fix next. ( #320 , #643 , #708 , #1011 )
2018-05-04 20:55:51 +02:00
omar
944f414cc6
Internals: A few selected math helpers are now using template to handle all supported types. Added ImPow() to wrap float/double in a standard manner without calling pow(double) when not needed in Drag code.
2018-05-04 18:14:59 +02:00
omar
f4c16fbb99
Internals: Data types: Made format string optional. DragBehavior: Moved a bit of code outside of the template. Slider tidying up. Removed unnecessary call to fabsf().
2018-05-04 17:57:47 +02:00
omar
dcd26f1295
DragFloat, DragInt: Default format string is none is passed to the function. Fixed demo using old style %.0f.
2018-05-04 16:41:48 +02:00
omar
f47c756755
Internals: Missing const, some renaming. Tweak legacy fast path.
2018-05-03 22:12:55 +02:00
omar
0699ae161f
DragInt, DragScalar: Actually made the fast-past handle the now-most-common case..
2018-05-03 21:49:38 +02:00
omar
7640439747
DragInt: Patch old format strings to replace %f by %d when using the DragInt() entry point. ( #320 , #643 , #708 , #1011 )
2018-05-03 21:35:04 +02:00
omar
069b284f17
Internals: Tidying up internal helpers. Fixed a case ImParseFormatTrimDecorations() can return an off by one (out of bound) pointer if the format string is invalid. Extracted ImParseFormatFindEnd() out of TrimDecorations so we can use it to find the format type and replace the %f in old Int apis.
2018-05-03 20:22:29 +02:00
omar
086c3925c4
Internals: Fixed DragInt* default format string. InputScalar(), InputScalarN(), removed InputFloatN(), InputInt(). Note that DragInt2/3/4 will %f format strings will currently be broken. ( #320 , #643 , #708 , #1011 )
2018-05-03 19:42:35 +02:00
omar
6c932479f2
Internal: DragScalar(), InputScalar() now support signed/unsigned, 32/64 bits, float/double data types. ( #320 , #643 , #708 , #1011 )
2018-05-03 17:34:38 +02:00