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
omar
93b8580a8d
Internals: DragFloat: Fixed power handling. Use an temporary accumulator and no absolute values so we will be able to manipulate double as well as 64-bit integers. ( #1011 , #708 , #320 )
2018-05-03 17:34:33 +02:00
omar
3f04fd0644
Internals: DragFloat: Removed DragSpeedScaleFast/DragSpeedScaleSlow since it's not yet usable and Nav version doesn't have an equivalent.
2018-05-03 17:34:29 +02:00
omar
4780ac1ca4
Internals: Data types: Added s64, u64 data types. Added support in InputScalar(). Removed internal.h InputScalarEx() to InputScalar(). Removed cheap-relative-operators support in recently added U32 data path, since this is heading toward being legacy code. + Fixed InputDouble parsing code. ( #1011 , #320 , #708 )
2018-05-03 17:34:22 +02:00
omar
d9fa1f869e
Comments about using "power curves". Demo tweaks. ( #648 )
2018-05-03 17:34:15 +02:00
omar
8a370f6491
SliderFloat: Fixed grab size and steps with %g format. ( #642 , #1301 )
2018-05-03 17:34:09 +02:00
omar
10e3f17235
DragFloat/SliderFloat internal InputScalar trim leading/trailing spaces emitted from the format string when presenting an edit box to the user. ( #648 )
...
Follow up to 6881d065b8
2018-05-03 17:34:02 +02:00
omar
a62f195e83
Internals: Renamed IsCharIsSpace() to IsCharIsBlank*() to match standard terminlogy and added ascii/u16 variations.
2018-05-03 17:33:55 +02:00
omar
ef05141a06
Internals: InputScalarEx: Tweak internals so there is a fast path for the simple case.
...
(in particular because it makes it clear what the extra code is for, so people tempted to create their own InputText data transform/handler understand how little is actually needed)
2018-04-30 20:12:14 +02:00
omar
ed756d474e
Internals: Added ImGuiDataType_Uint32 data type which is usable with InputScalarEx().
2018-04-30 20:02:33 +02:00
omar
7df985bc5c
Nav: Fixed hovering a Selectable() with the mouse so that it update the navigation cursor. Fixed c8b9b2c6
which was incorrect ( #787 )
2018-04-30 19:40:25 +02:00
omar
a1da7f9860
Internals: Tweaked ParseFormatPrecision(), clarified its more limited purpose, allowing 2-digits precisions since it makes (some) sense for doubles. ( #648 )
2018-04-30 16:52:16 +02:00
omar
92f0165f85
DragFloat, SliderFloat: Rounding scalar using the provided format string instead of parsed precision. ( #648 )
2018-04-30 16:44:57 +02:00
omar
6881d065b8
DragFloat/SliderFloat internal InputScalar trip trailing decoration off the format string when presenting an edit box to the user. ( #648 )
2018-04-30 15:59:59 +02:00
omar
d7e24416dd
DragFloat/SliderFloat internal InputScalar relies on the user supplied format string to format and parse value. ( #648 )
...
The trailing text after the format will be displayed in the InputText but not affect back parsing. Ideally we can try to strip it later.
2018-04-30 15:21:51 +02:00
omar
f2e9dddeca
DragDrop: Removed const qualifier from ImGuiPayload 's void* data, easing casting on user side.
2018-04-28 10:43:15 +02:00
omar
f80314754c
InputFloat,InputFloat2,InputFloat3,InputFloat4: Added variations taking a more flexible and consistent optional "const char* format" parameter instead of "int decimal_precision". This allow using custom formats to display values in scientific notation, and is generally more consistent with other API. Obsoleted functions using the optional "int decimal_precision" parameter. ( #648 )
2018-04-28 00:11:40 +02:00
omar
73445ff248
Renamed all "display_format" arguments to "format" to emphasis that they also affect rounding of values. ( #648 , #642 )
2018-04-27 23:44:27 +02:00
omar
8a38271a7c
SliderFloat, DragFloat: Fix to allow input of scientific notation when Ctrl+Clicking a slider or drag, matching the change done in c19b2781
for InputFloat(). ( #648 , #1011 )
2018-04-27 23:18:28 +02:00
omar
066550de68
DragFloat, DragInt: Cancel mouse tweak when current value is initially past the min/max boundaries and mouse is pushing in the same direction (keyboard/gamepad version already did this).
2018-04-27 19:15:25 +02:00
omar
a84aff1875
Internals: DragBehavior: tweaks internals.
2018-04-27 18:22:10 +02:00
omar
1d99b5f963
Internals: Reordered parameters of DataTypeFormatString() internal helper functions and shallow tweaks.
2018-04-27 18:19:59 +02:00
omar
101f9b42b7
InputText: Fixed returning true when edition is cancelled with Esc and the current buffer matches the initial value.
2018-04-27 17:32:03 +02:00
omar
c47d34cf70
Viewport: Exposing SetNextWindowViewport(). Used in demo and old/obsolete SetNextWindowPosCenter() (which is an interesting case). Fixed back-end likely crash calling GetFocus() after viewport destruction. Fixed metrics crash.
2018-04-27 15:13:22 +02:00
omar
cd51f37fc0
Viewport, Platform: Refresh monitor list (win32, glfw) + avoid calling GetWindowFocus before platform window creation to not require of backend to null-check things inconsistently. ( #1542 )
2018-04-26 16:18:47 +02:00
omar
da70c837da
Viewport: Removed unnecessary fields (now that the coordinate system is consistent accross viewports): MouseRefPrevViewport, MouseClickedPosViewportId. ( #1542 )
2018-04-26 15:30:19 +02:00
omar
f1ae07e532
Viewport, Platform: Using Platform_GetWindowFocus to provide a much stronger heuristic of platform z-order, in replacement for when the back-end cannot provide io.MouseHoveredViewport. The pressure for it to work well increased with the use of viewports by popups/menus. ( #1542 )
2018-04-26 11:52:38 +02:00
Bruce Mitchener
f8c9c33d33
Fixed static analyzers warnings with bool literals ( #1775 )
...
* Use `false` instead of `0` for a bool literal.
* Simplify calls to RadioButton to not need bool literals.
2018-04-26 09:51:46 +02:00
omar
d9cd494eaf
Viewport: Moved ScaleWindow* code in a proper location. Various comments.
2018-04-25 23:21:26 +02:00
omar
eb1c36fdfb
Added IMGUI_CHECKVERSION() macro to compare version string and data structure sizes in order to catch issues with mismatching compilation unit settings. ( #1695 , #1769 )
2018-04-25 22:07:14 +02:00
omar
5979233a3c
Misc: tweaks + minor changes merged from master to reduce branch drift. Removed code that ended up unused.
2018-04-25 18:23:39 +02:00
omar
0b1d6a0d52
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
# imgui.h
# imgui_internal.h
2018-04-25 18:13:23 +02:00
omar
711a63befc
Misc: Stop moving window if mouse position becomes invalid. Flagged menus are _NoMove for sanity.
2018-04-25 17:58:54 +02:00
omar
d317d90610
Misc: NavCalcPreferredRefPos selects between mouse and nav reference position + added sanity assert (merged from viewport branch to minimize branch drift).
2018-04-25 17:58:54 +02:00
omar
9cbca8c127
Begin: Shuffled some code, _should_ have no side-effect. Clear NextWindowData in one call and more consistently. (merged from viewport branch to minimize branch drift).
2018-04-25 17:58:54 +02:00
omar
e3453d0dc4
Misc: Comments and shallow/small changes (merged from viewport branch to minimize branch drift).
2018-04-25 17:58:53 +02:00
Bruce Mitchener
b28535d1da
ImGuiTextBuffer::appendfv needs to va_end the args_copy.
2018-04-25 17:40:39 +02:00
omar
7b433605f9
Viewport: Avoid creating viewport on drag (fix cc882b0723
)
2018-04-25 15:38:32 +02:00
omar
3b9b1956cd
Merge branch 'master' into viewport
...
# Conflicts:
# examples/allegro5_example/imgui_impl_a5.cpp
# examples/allegro5_example/imgui_impl_a5.h
# examples/allegro5_example/imgui_impl_allegro5.cpp
# examples/allegro5_example/imgui_impl_allegro5.h
# examples/allegro5_example/main.cpp
# examples/imgui_impl_allegro5.cpp
# examples/imgui_impl_allegro5.h
# imgui.cpp
# imgui_internal.h
2018-04-25 15:32:04 +02:00
omar
01fa934222
Internals: Removed unecessary Pos/PosFloat separation, only reason appears to be mostly pre-1.0. The only piece of code that I expected sub-pixel window position to matter actually already round its delta (wrongly so, will fix later/separately if we want).
2018-04-25 15:24:26 +02:00
omar
cc882b0723
Viewport: Tidying up AddUpdateViewport() calls. Moved flags argument. Removed extraneous mid-frame call to FindPlatformMonitorFromRect(). ( #1542 )
2018-04-25 15:14:51 +02:00
omar
6d6580f6be
Viewport: Fixed glitches with newly appearing menus creating viewport while the underlying imgui window should be hidden. ( #1542 )
2018-04-25 11:23:58 +02:00
omar
7684f53328
Viewport: Fixed issues with popups drifting in particular when reference mouse position become invalid (e.g. changing app focus while viewported-menu is open). Storing monitor index in viewport at beginning of the frame. ( #1542 )
2018-04-25 11:23:58 +02:00
Bruce Mitchener
7ebdadf92b
Fix various typos.
2018-04-25 09:40:14 +02:00
omar
e3e4b7bdf5
Viewport: Fixed mouse hover flicker on mouse button release frame after moving a window. ( #1542 )
...
Platform: Clarifying some comments in back-ends.
2018-04-24 17:10:27 +02:00
omar
679f4882a5
Removed presumably obsolete MovingWindow tests which prevent move/merge logic in viewport branch from working in all situations (e.g. docking away when ActiveId is the ID of a tab)
2018-04-24 17:10:26 +02:00
omar
46698c96c5
Removed presumably obsolete MovingWindow tests which prevent move/merge logic in viewport branch from working in all situations (e.g. docking away when ActiveId is the ID of a tab)
2018-04-24 16:48:26 +02:00
omar
dc03c93164
Internals: Removed misleading ImRect::FixInverted + fix minor formatting in Readme.
...
Demo: Fixed Overlay: Added a context menu item to enable freely moving the window.
2018-04-24 14:19:10 +02:00
omar
cb78e62df9
Viewport, Platform: Fixed IME positioning for multi-viewport. Moved API from ImGuiIO to ImGuiPlatformIO. Because it is extremely unlikely to people redefined this API manually the moving-forward-breakage is ok. ( #1542 )
...
SDL2 ime support under Win32 never worked properly because of SDL interferences.
2018-04-24 12:40:38 +02:00
omar
376f2aec54
Viewport: Clamp windows within monitors + fallback rescue window when it is out of sight (e.g. removed monitor, changed resolution) + Win32: declare primary monitor at the beginning of the list. ( #1542 )
2018-04-23 23:01:37 +02:00
omar
010757266e
Viewports: Todos, Tooltips/menus not automatically forced into their own viewport when the NoMerge flag is set (however the multiplication of viewports makes them more likely to protude and create their own). Win32: try to make primary monitor the first tin the list. ( #1542 )
2018-04-23 23:00:14 +02:00
omar
d268471285
Viewport: Added ImGuiConfigFlags_ViewportsNoMerge flag (to enforce a platform window for all floating windows) + minor tidying up and addition of non-functional wip code.
2018-04-23 18:56:25 +02:00
omar
7b6b7038c5
Window: Relaxed the internal stack size checker to allow Push/Begin/Pop/.../End patterns to be used with PushStyleColor, PushStyleVar, PushFont without causing a false positive assert. ( #1767 )
2018-04-23 17:58:49 +02:00
omar
f1c31ebc67
Viewport: Fixed initial popup positioning not using the monitor area properly. ( #1542 )
2018-04-23 12:52:01 +02:00
omar
4433ce4312
Viewport, Platform: Added work area in ImGuiPlatformMonitor. Renamed fields. ( #1542 )
2018-04-23 12:38:20 +02:00
omar
22773e03a2
InputText: On Mac OS X, support Cmd+Shift+Z for Redo. Cmd+Y is also supported as major apps seems to default to support both. ( #1765 )
2018-04-23 11:15:13 +02:00
omar
e2f831c80e
InputText: tweaks, minor refactoring, renaming + comments ( #1695 )
2018-04-23 11:09:16 +02:00
omar
456bbffcc4
Viewport: Switched to using unified platform-absolute mouse coordinates, which simplify lots of problems and simplify/reduce tricky conversions, makes ImVec2 less ambiguous. Fixed various viewport/windowing/popups/synchronization bugs. Settings on host-viewport are stored as relative (made settings decently compatible between viewport enable/disabled settings). Merged ImGuiViewport::Pos and ::PlatformPos. Tweaked thumbnails. Better, smaller code. ( #1542 )
2018-04-20 21:36:36 +02:00
omar
037d5a7e98
Columns: Fixed a bug introduced in 1.51 where columns would affect the contents size of their container, often creating feedback loops when ImGuiWindowFlags_AlwaysAutoResize was used. ( #1760 )
2018-04-20 16:03:21 +02:00
omar
49a451d247
Window: Fixed windows using the ImGuiWindowFlags_NoSavedSettings flag from not using the same default position as other windows. ( #1760 )
2018-04-20 15:40:12 +02:00
omar
f93dce9513
InputText: Tweak to make the if statement more readable + update Changelog ( #1747 )
2018-04-19 16:21:32 +02:00
Mikko Sivulainen
1554d97492
on OSX, ignore text input when CMD key is down
2018-04-19 16:17:57 +02:00
omar
637d9c42bf
Viewport: WIP for Tooltips, Popups, Menus to create their own viewport. Resizing a window allows it to leave the main viewport. ( #1542 )
2018-04-19 13:12:02 +02:00
omar
f5700f238d
Documentations for Github users. Metrics: Fixed display of NavRectRel, added display of ParentWindow.
2018-04-19 11:08:20 +02:00
omar
1c385c2ca4
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_dx10.cpp
# examples/imgui_impl_dx11.cpp
# examples/imgui_impl_dx12.cpp
# examples/imgui_impl_dx9.cpp
# examples/opengl2_example/imgui_impl_glfw_gl2.cpp
# examples/opengl3_example/imgui_impl_glfw_gl3.cpp
# examples/sdl_opengl2_example/imgui_impl_sdl_gl2.cpp
# examples/sdl_opengl3_example/imgui_impl_sdl_gl3.cpp
# examples/vulkan_example/imgui_impl_glfw_vulkan.cpp
# imgui.cpp
# imgui_internal.h
2018-04-18 19:06:49 +02:00
omar
6d6f4a85f6
Fixed DisplaySafeAreaPadding not affecting popups/tooltips/menus at it should have (partly broken in 2e5577f44f
).
2018-04-18 17:40:38 +02:00
omar
6a0b2627ad
BeginMainMenuBar: Followup to 1e41bad9
. Removed public window flag. DisplaySafeAreaPadding defaults to (3,3) instead of (4.4). Comments, tab to spaces, Changelog. ( #1439 )
2018-04-18 17:37:35 +02:00
Doug Binks
1e41bad90f
Added DisplaySafeAreaPadding to MainMenuBar height and fixed starting x position. Fixes main menu bar problems with TVs. ( #1439 )
2018-04-18 15:13:09 +02:00
omar
7241dc61d4
Fixed default proportional item width lagging by one frame on resize + miscellaneous minor tweaks.
2018-04-17 23:36:59 +02:00
omar
25f25d546d
Viewport: Fixed manual mouse resize to handle mouse viewport change, which will allow resizing a window while it changes viewport. Releasing manual resize may merge a window. Added ConvertViewportPosToViewportPos() helper. Renamed NewFrameUpdateMovingWindowDropViewport() to UpdateTryMergeWindowIntoHostViewport() and removed the now-unnecessary half of the function. + renaming ( #1542 )
2018-04-17 23:34:19 +02:00
omar
6ac50634e3
Viewport: Tweaked selection of g.MouseRefViewport, in particular aimed at fixing browsing child-menus while holding mouse buttons with menus in multiple viewports. ( #1542 )
2018-04-17 18:25:05 +02:00
omar
50e453a3e2
Viewport: Comments, tweaks, renaming. Removed unnecessary stuff. Fixed zealous Clang warning. ( #1542 )
2018-04-17 18:25:05 +02:00
omar
4649bf042e
Viewport: Render: Fix draw list build code to allow child windows to be in a different viewports (which will happen with e.g. extruding menus). ( #1542 )
2018-04-16 17:12:00 +02:00
omar
2bd0ee27f0
Viewport: Shuffled code in Begin to reset size of reappearing popups prior to selecting viewport, to avoid mistakenly using an old size. Moved code out of UpdateSelectWindowViewport() to the section of Begin where positions is being locked down, to avoid code in-between duplicating this. ( #1542 )
2018-04-16 17:12:00 +02:00
omar
0d16492eb7
Viewport: Moved ImGuiWindowFlags_FullViewport to an internal ViewportOwned flag. Renamed AddViewport to AddUpdateViewport. (#Viewport: Shuffled code in Begin to reset size of reappearing popups prior to selecting viewport, to avoid mistakenly using an old size. Moved code out of UpdateSelectWindowViewport() to the section of Begin where positions is being locked down, to avoid code in-between duplicating this. ( #1542 ))
2018-04-16 17:11:59 +02:00
omar
2ae19801a9
Viewport: Remove old code that never worked (testing wrong flag type, always false) + shuffled a few things in Begin() to clarify dependencies. Fixed viewport change on Begin/Begin/End/End patterns. ( #1542 )
2018-04-16 17:11:59 +02:00
daniel-murray
83d97d4a9b
Fix typos KeyDown => KeysDown
2018-04-14 10:28:10 +02:00
omar
d1c16d4ccd
Documentation bits. Misc comments.
2018-04-13 22:23:34 +02:00
omar
950539b768
Viewport, Platform, DPI: Back-end store per-monitor DPI information in ImGuiPlatformMonitor. ( #1542 , #1676 )
2018-04-13 20:26:36 +02:00
omar
f270d6c52c
Viewport: Fix to allow changing/animated window name to be reflected in the OS e.g. task bar, so named documents can appear properly. ( #1542 )
2018-04-13 16:21:34 +02:00
omar
22d6f00110
Viewport: Fixed DPI changing viewport from interfering with moving another window (disabling code) + metrics crash fix on closed viewport window + Windows 10 call to SetThreadDpiAwarenessContext(DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2) for DPI, with no noticeable improvements. ( #1542 , #1676 )
2018-04-13 11:14:06 +02:00
omar
38e357ef10
Viewport: Virtual mouse position are patched immediately when viewports are moved in the virtual space, avoiding interaction glitchs on a resizing frame. ( #1542 )
2018-04-12 19:57:35 +02:00
omar
0b7f3edc26
Viewport: Debug/metrics tweaks + renaming comments
2018-04-12 19:57:34 +02:00
Guillaume Chereau
58fd8ea303
Fix minor error in doc
...
Not a big deal.
2018-04-12 13:18:26 +02:00
omar
285269ef55
Viewport, Platform: Added ImGuiViewportFlags_TopMost that will be used by tooltip window (without it, clicking and holding the window emitting the tooltip would move the tooltip to the back) + GLFW backend fixes for non-win32 platforms. ( #1542 )
2018-04-11 21:27:19 +02:00
omar
e25da4230b
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2018-04-11 21:25:44 +02:00
omar
8be6f40ae1
Viewport: per-viewport overlay draw list created on demand. With this pattern it'll be easier to consider adding more (e.g. background draw list). ( #545 )
2018-04-11 21:21:52 +02:00
omar
d1d2bbf86a
Internals: Popup: Moved popup/menu/tooltip positioning code (viewport branch needs it organized in a different manner, so we are pushing the bulk of it here to minimize differences).
2018-04-11 17:01:19 +02:00
omar
bfc0efaae9
Internals: Window: Aggregating ImDrawList into the ImGuiWindow structure.
2018-04-11 12:43:38 +02:00
omar
84fe711bdf
Settings: Fixed saving an empty .ini file if CreateContext/DestroyContext are called without a single call to NewFrame(). ( #1741 )
2018-04-11 10:08:23 +02:00
omar
296f03374b
NewFrame: Prevent division by zero in frame rate calculation if io.DeltaTime is continuously zero. ( #1740 , #881 )
2018-04-10 23:48:27 +02:00
omar
83bd3595a4
Viewport: Merged ImGuiPlatformData into ImGuiPlatformIO. Comments. ( #1542 )
2018-04-10 22:58:39 +02:00
omar
32ee0a3947
Viewport, Platform: Added a way to register monitor bounds to imgui so they can be used to clamp individual-viewport tooltips/popups so they don't straddle monitors. ( #1542 )
2018-04-10 22:32:08 +02:00
omar
7ddc22b326
Viewports, DPI: Renamed config flags. ( #1542 )
2018-04-10 20:02:43 +02:00
omar
0d5042f0f3
Viewport: Popups, Tooltips can individually request no task bar icons to the platform layer. ( #1542 )
2018-04-10 19:15:44 +02:00
omar
0eaddb4dcd
Viewport: shuffled some code in the UpdateSelectWindowViewport() function.
2018-04-10 18:47:23 +02:00
omar
928a4ad315
Begin: moved tooltip position code in an else block. Misc comments
2018-04-10 16:51:16 +02:00
omar
52cac135c9
Internals: Renamed GetFrontMostModalRootWindow() to GetFrontMostPopupModal() and exposed in imgui_internal.h ( #1738 )
2018-04-10 15:04:36 +02:00
omar
d4dd448511
Examples, Platform, Viewport: Fixed inconsistent window ownership issues. Added comments. Made Win32/SDL back-ends track ownership.
2018-04-09 22:01:58 +02:00
omar
9117632bf0
Misc: IM_DELETE() helper function added in 1.60 doesn't clear the input _pointer_ reference, more consistent with expectation and allows passing r-value.
2018-04-09 20:42:49 +02:00
omar
56ad2a2d74
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_dx10.cpp
# examples/opengl2_example/imgui_impl_glfw_gl2.cpp
# examples/opengl3_example/imgui_impl_glfw_gl3.cpp
# examples/vulkan_example/main.cpp
# imgui.h
2018-04-09 19:35:14 +02:00
omar
6f1f5cbc20
Version 1.61 WIP
2018-04-09 14:02:32 +02:00
omar
3a29ddbcfa
Version 1.60
2018-04-08 00:45:02 +02:00
omar
6d0c720451
Internals: Removed unused internal variant of ArrowButton().
2018-04-07 23:06:06 +02:00
omar
82b7a39f31
Fixed a few zealous warnings.
2018-04-07 10:38:01 +02:00
omar
c712f7275d
Fixed unused variable warning.
2018-04-07 10:25:51 +02:00
omar
f421e73b40
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_dx10.cpp
# examples/imgui_impl_dx11.cpp
# examples/imgui_impl_dx12.cpp
# examples/imgui_impl_dx9.cpp
# examples/opengl2_example/imgui_impl_glfw_gl2.cpp
# examples/opengl3_example/imgui_impl_glfw_gl3.cpp
# examples/sdl_opengl2_example/imgui_impl_sdl_gl2.cpp
# examples/sdl_opengl3_example/imgui_impl_sdl_gl3.cpp
# examples/vulkan_example/imgui_impl_glfw_vulkan.cpp
# imgui.cpp
# imgui.h
# imgui_internal.h
2018-04-06 23:36:23 +02:00
omar
c2fc978983
Style: Default style is now StyleColorsDark()! Toward a 1.60 release :) ( #707 )
2018-04-06 23:25:25 +02:00
omar
0734a12d25
IO: ImGuiConfigFlags_NoMouse disable hovering so it is not destructive. Amend 2464e62a1a
2018-04-06 23:05:53 +02:00
omar
e88fb10d7c
NewFrame: Extract some code into a NewFrameUpdateHoveredWindowAndCaptureFlags() which can be of use with touch-based inputs systems.
2018-04-06 19:36:15 +02:00
omar
c1bdab6d5b
Comments about io.WantCapture flags + todo entries.
2018-04-06 19:36:14 +02:00
omar
ac2027c415
NewFrame: Extract some code into a NewFrameUpdateMouseInputs function. Moved settings saving higher up in the function so it is next to its peers.
2018-04-06 19:36:14 +02:00
omar
2464e62a1a
IO: Added ImGuiConfigFlags_NoMouse to force clear/disable mouse inputs in NewFrame().
2018-04-06 19:36:13 +02:00
omar
18a243bef0
Columns: Fixed calling Columns() again with the same number of columns. ( #125 )
2018-04-06 17:50:50 +02:00
omar
72899318e6
Viewport, Platform, Examples: Added support for transparent window via PlatformIO Platform_SetWindowAlpha ( #1542 ) + fixes for GLFW 3.3
2018-04-05 17:07:46 +02:00
omar
c23b5463c7
Viewport: Moving a window accross viewports tries to preserve the dragging pivot (that is assuming that the window will be evenly scaled by DPI, aka Style is scaled). ( #1542 )
2018-04-05 11:40:33 +02:00
omar
9d8bc79025
Viewport: Renamed RenderPlatformWindows() to RenderPlatformWindowsDefault(), tweaked examples and emphasis optional Viewport code path. ( #1542 )
2018-04-05 11:06:00 +02:00
omar
0cad274b87
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_dx10.cpp
# examples/imgui_impl_dx11.cpp
# examples/imgui_impl_dx12.cpp
# examples/imgui_impl_dx9.cpp
# examples/opengl2_example/imgui_impl_glfw_gl2.cpp
# examples/opengl3_example/imgui_impl_glfw_gl3.cpp
# examples/sdl_opengl2_example/imgui_impl_sdl_gl2.cpp
# examples/sdl_opengl2_example/imgui_impl_sdl_gl2.h
# examples/sdl_opengl3_example/imgui_impl_sdl_gl3.cpp
# examples/sdl_opengl3_example/imgui_impl_sdl_gl3.h
# imgui.cpp
2018-04-04 19:39:42 +02:00
omar
fc30462f18
Hide new windows for one frame until they calculate their size. Also fixes SetNextWindowPos() given a non-zero pivot. ( #1694 )
2018-04-04 19:35:08 +02:00
omar
5aa3f99b4c
Internal: using more consistent comparaison with HiddenFrames to not imply it could be -1. Tweaked comments.
2018-04-04 17:21:36 +02:00
omar
4649967112
Added extra comments and assertions to avoid user combining ImGuiCond flags. ( #1694 )
2018-04-04 15:01:01 +02:00
omar
cd1e6e384f
Tooltip windows uses PopupBorderSize ( #1697 ) + commented out debug stuff.
2018-04-04 12:39:48 +02:00
omar
1e116e6c17
Removed need for -Wnocast-qual on modern Clang/Xcode as a token of good behavior. Unfortunately the old stb_ decompress code is a little const clunky. + warning fix in stb_textedit which is already in master afaik.
2018-04-03 23:18:43 +02:00
omar
84fbc49403
BeginChild: named child don't include the full id inside their name ( #1698 )
2018-04-03 22:13:35 +02:00
omar
78610a54d2
Fixed Clang zealous cast-call warning (on par with GCC) which decided to warn against explicit C-style casts now.
2018-04-03 20:55:30 +02:00
omar
77e234d9df
Comments
2018-04-03 20:22:44 +02:00
omar
c461401b21
Comments, FAQ
2018-04-03 20:05:59 +02:00
omar
cc96477b1c
Comments ( #1695 )
2018-03-25 14:45:40 +02:00
omar
ac8931b2e9
Viewport: Moved OverlayDrawList to be a per-viewport instead of being global + fix overlay clipping glitch during viewport creation frame + support for software mouse cursor stradding over multiple viewport. The overlay draw list move is rather important as draw lists are not shared among viewports anymore and we can do a swap of their data without copying it. ( #1542 )
2018-03-22 22:09:42 +01:00
omar
4f112f898e
Viewport: Avoid modifying MousePos in UpdateWindowViewport just for the sake of docking test, sheering MousePos during the frame is problematic + minor renaming. ( #1542 )
2018-03-22 21:14:55 +01:00
omar
b69dc45f6e
Internals: Removed ImGuiDataType_Float2.
2018-03-22 20:14:31 +01:00
omar
c19b27813d
Added InputDouble() function. We use a format string instead of a decimal_precision parameter to also for "%e" and variants. ( #1011 ) May transition the other InputXXX function to use format strings as well.
2018-03-22 18:58:40 +01:00
omar
c796960ff9
InputFloat: Scientific input. InputText: Added ImGuiInputTextFlags_CharsScientific to add 'e' 'E' to list of characters that can be input. (later useful for #1011 )
2018-03-22 17:49:53 +01:00
omar
21ac470a8a
Nav: Fixed a crash with IMGUI_DEBUG_NAV_SCORING enabled + added info to Metrics.
2018-03-22 16:37:21 +01:00
omar
e5ba982be0
Nav: Fixed a crash with IMGUI_DEBUG_NAV_SCORING enabled + added info to Metrics.
2018-03-21 22:48:23 +01:00
omar
42ad3c1dd3
Examples: OpenGL2: Added multi-viewport support in the OpenGL2 back-end. ( #1542 ) + Metrics: Fix undisplayed flag.
2018-03-20 22:19:41 +01:00
omar
172570acae
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_dx10.cpp
# examples/imgui_impl_dx11.cpp
# examples/imgui_impl_dx12.cpp
# examples/imgui_impl_dx9.cpp
# examples/opengl2_example/imgui_impl_glfw_gl2.cpp
# examples/opengl3_example/imgui_impl_glfw_gl3.cpp
# examples/sdl_opengl2_example/imgui_impl_sdl_gl2.cpp
# examples/sdl_opengl3_example/imgui_impl_sdl_gl3.cpp
# examples/vulkan_example/imgui_impl_glfw_vulkan.cpp
# imgui.h
2018-03-20 22:14:34 +01:00
omar
75c3793db5
IO: Added ImGuiConfigFlags_NoSetMouseCursors. Added ImGuiBackendFlags_HasMouseCursors, ImGuiBackendFlags_HasSetMousePos. ( #787 , #1495 , #1202 )
2018-03-20 21:19:23 +01:00
omar
dcf7c3d188
Added ImGuiBackendFlags for backend to expose its capabilities. Added ImGuiBackendFlags_HasGamepad. ( #787 , #1542 )
2018-03-20 20:39:44 +01:00
omar
170f44e6f0
IO: Renamed io.WantMoveMouse to io.WantSetMousePos (was added in 1.52, _not_ used by core and only honored by some binding ahead of merging the Nav branch) + internal renaming ( #787 )
2018-03-20 20:12:34 +01:00
omar
c29971cf72
Merge branch 'master' into viewport
...
# Conflicts:
# examples/sdl_opengl2_example/main.cpp
# examples/sdl_opengl3_example/main.cpp
# examples/vulkan_example/main.cpp
2018-03-20 16:05:31 +01:00
omar
ccc9a22db3
Viewport: Changelog + Internals: Renamed viewport mouse fields for consistency (going to add more). ( #1542 )
2018-03-19 22:59:55 +01:00
omar
d1c45db9e8
Fixed enum typo.
2018-03-19 22:47:10 +01:00
omar
c00523dba4
Viewport: Added extra Metrics and debug features.
2018-03-19 18:07:12 +01:00
omar
9d5ec05150
Viewport, Platform: Update the contents of GetPlatformData() in EndFrame() so back-end can access it even if UpdatePlatformWindows hasn't been called. ( #1542 )
2018-03-19 17:33:21 +01:00
omar
2fecd332fc
Viewport, Platform: Added void* to render/swap buffer functions. Comments. ( #1542 , #1042 )
2018-03-19 15:20:47 +01:00
omar
62e94717eb
Nav: InputText: Allow editing text input fields with NavActivate (space). Not sure about that, on one hand it feels more consistent but you can't finish the editing with space to double space (activate + input space) could feel inconsistent. ( #787 )
2018-03-19 13:20:25 +01:00
omar
33ad8b2f0c
Nav: Track nav input source more generally (gamepad vs keyboard) ( #787 ) + update todos and demo tweaks
2018-03-19 13:20:18 +01:00
omar
46b61427e1
Viewport, Platform: Refactored platform interface. Removed need to use imgui_internal.h in backends. Split viewport into public facing ImGuiViewport and internal structure. Exposing enough data to provide custom tweaked renderers. Renamed handlers, fixed lots of inconsistencies. ( #1542 , #1042 )
2018-03-18 18:44:57 +01:00
omar
1ab236d9df
Viewport, Platform: Internal renaming to use more consistent (OsDesktopPos > PlatformPos). ( #1542 )
2018-03-15 20:07:48 +01:00
omar
8364d1ca6c
Viewport: Removed back-end renderer code that implied we need to clear with WindowBg color. Added NoRendererClear flag. ( #1542 , #1042 )
2018-03-15 18:17:04 +01:00
omar
6e58a95a01
Viewport, Platform, Examples: Changes to resizing flow + restored support for Platform events affecting the ImGui windows (so Decorated windows are functional). ( #1542 , #1042 ) ..
...
SDL: Added platform move/resize/close support.
GLFW: Added platform move/resize support. Moved Close to use callback for consistency.
Win32:
Vulkan: Fixed resize support.
Naming is WIP "PlatforrmRequestXXX" is too ambiguous. Basically we either have a ImGui->Platform flow or a Platform->ImGui flow. Working a bigger refactor now.
2018-03-15 10:57:22 +01:00
omar
207ad45983
Metrics: Displaying all draw lists of a window (if it uses layer 0 and has already been appended to earlier in the frame).
2018-03-14 17:50:11 +01:00
omar
921bb92eec
Viewport: Fixed software mouse cursor from appearing in all multiple lists simultaneously. ( #1542 )
2018-03-13 16:20:34 +01:00
omar
c50198debe
Viewport: Obsoleted io.DisplayPos (which was a Viewport branch thing), added ImDrawData::DisplayPos, DisplaySize ( #1542 ) wip
2018-03-13 16:20:27 +01:00
omar
6371474031
Viewport: Removed unnecessary function hoop.
2018-03-13 16:20:19 +01:00
omar
f6fc28dfd2
Merge branch 'master' into viewport (inc Vulkan resize fix merge #1042 )
2018-03-12 17:50:32 +01:00
omar
e7670c0bcc
Style: CloseButton() now display a proper cross. Using Button colors for background. Removed ImGuiCol_CloseButton, ImGuiCol_CloseButtonActive, ImGuiCol_CloseButtonHovered as the closing cross uses regular button colors now. ( #707 )
2018-03-12 11:48:04 +01:00
omar
b9ac127b0b
Internals: Columns renaming fields
2018-03-12 11:03:27 +01:00
omar
5e63711084
Viewport, DPI: Some early work on per-viewport DPI support. At the moment the easiest way is to replace fonts during the ChangedViewport callback, but down the line we should aim at handling some of it at ImFont level. ( #1542 , #1676 )
2018-03-12 10:31:39 +01:00
omar
a2fbcc9ad4
Examples: DPI: Portable DPI related helpers in the _Win32 examples. Using one in examples's main.cpp, the GetDpiScale functions are not wired anywhere for now. ( #1542 , #1676 )
2018-03-12 10:31:39 +01:00
omar
10030ff3ec
Viewport: Fix dropping back viewport not being moved to the front of the window list. (Now that viewport are more tighly coupled to a single root window) ( #1542 )
2018-03-12 10:31:38 +01:00
omar
648735a4cf
Viewport, DPI: Don't activate current window until a viewport has been selected. At this point we'll have the proper size/scale for the current DPI + fix viewport callback when appending to an existing window more than once a frame. ( #1542 , #1676 )
2018-03-12 10:31:38 +01:00