omar
17f36038e0
Internals: Misc/shallow merge from Docking branch.
2018-07-09 21:10:47 +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
c7016c25e8
Nav: Added a CTRL+TAB window list and changed the highlight system accordingly. ( #787 )
2018-07-09 19:16:48 +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
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
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
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
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
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
cdf51cad2d
Comments, documentation
2018-06-11 19:52:40 +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
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
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
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
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
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
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
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
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
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
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
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
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