omar
0e89041997
Internals: ButtonEx, ButtonBehavior can support multiple mouse buttons.
2020-01-29 18:55:49 +01:00
omar
5f4dfad5b7
Merge misc/shallow changes from Docking to reduce drift.
...
Most are comments. Fix menu bar clipping: 07ff47bf1b
2020-01-28 20:06:34 +01:00
omar
6c1a73774d
Tooltip: Testing DragDropWithinSourceOrTarget in BeginTooltipEx() instead of just BeginTooltip() - feel this was an overlook. Added tooltip flags instead of using bool.
2020-01-27 22:02:43 +01:00
omar
2eda3585e7
Fixed hoverable/focus bug introduced in 3fe6ae97
( #2997 )
...
+ ArrowButtonEx() internal bits.
2020-01-22 15:20:49 +01:00
omar
2478dbfdb7
Disable warning C5054 introduced in VS 2019 16.2 ( #2983 )
2020-01-17 14:18:16 +01:00
omar
9ad4c5da7e
Fix zealous warnings + Internals: Renamed members from XxxxID to XxxxxId to be more consistent with rest of the codebase (still some inconsistency left that are harder to fix)
2020-01-16 23:44:05 +01:00
omar
2ebe08be40
Focus, Nav: Merged bits from RangeSelect features to enable early manipulation of focus scope for styling purpose.
...
FocusScopeId is tracked by nav scoring/request and stored in result.
It's all rather WIP and we should reorganize the SetNavIDXXX functions fiasco at some point (soon?).
Didn't separate FocusScope from SelectionScope for now, will re-investigate this later, this is the minimum commit to be able to do some styling.
2020-01-14 19:25:20 +01:00
omar
e2eb0b4bc4
Internals: Begin tries to setup WindowTemp/DC members in same order as their declaration. Readme: remove Coverity banner (PVS is better)
2020-01-13 16:50:56 +01:00
omar
02c2d18aa3
Internals: Renaming and marking of legacy focus/tabbing system
2020-01-13 15:21:37 +01:00
omar
52334ad8df
Internals: Minor ordering/comments of ImGuiWindowTempData.
2020-01-13 15:04:28 +01:00
omar
f56962cb9a
ColorEdit: "Copy As" context-menu tool shows hex values with a '#' prefix instead of '0x' + both with/without alpha when available.
2020-01-13 14:09:42 +01:00
omar
4ee7aa72e9
ButtonBehavior: Default assignment of pressed behavior now also test for ImGuiButtonFlags_PressedOnDragDropHold which wasn't the case before.
2020-01-10 14:35:03 +01:00
omar
1eb71fc72b
ButtonBehavior: Added ImGuiButtonFlags_PressedOnClickReleaseAnywhere behavior ( #2971 )
...
Rearranged flags. Added tests in 'widgets_button_press'
2020-01-10 14:34:15 +01:00
omar
1db78b8ca7
Renaming + missing initialization + missing Changelog update.
2020-01-07 21:26:16 +01:00
Rokas Kupstys
32c33c6659
ColorEdit: Preserve last saturation value when V=0. Disable Hue editing lock.
...
This workaround is no longer necessary because preserving hue value prevents it from resetting when it is edited in said condition.
2020-01-07 21:26:15 +01:00
Rokas Kupstys
e254167afd
ColorEdit: Fix label alignment when using ImGuiColorEditFlags_NoInputs. ( #2955 )
2020-01-06 16:26:14 +01:00
omar
d581939387
Removed trailing spaces.
2020-01-06 15:24:16 +01:00
omar
e01fb5462d
Internals: Separator: Simplify duplicated code.
2019-12-18 18:26:28 +01:00
omar
9d444062f9
Limiting Columns()/BeginColumns() api to 64 columns ( #125 )
...
While the current code technically supports it, future code may not so we're putting the restriction ahead.
2019-12-17 13:25:46 +01:00
omar
e4a59d0025
TabItem: honor ImGuiTabItemFlags_NoCloseButton passed as parameter (although undocumented and part of private api) ( #2923 )
2019-12-07 16:22:07 +01:00
omar
b521cd357d
Removed implicit default parameter to IsMouseDragging(int button = 0) to be consistent with other mouse functions.
...
(none of the other functions have it).
2019-12-05 18:33:36 +01:00
omar
abaf0256b8
Version 1.75 WIP
...
Added message to font file loading assert.
2019-11-28 20:58:16 +01:00
omar
bdce833636
Version 1.74
2019-11-25 18:38:53 +01:00
omar
51a02b319c
Added IM_UNICODE_CODEPOINT_MAX. Changed specs of ImFontAtlas::AddCustomRectRegular() (breaking change).
2019-11-21 14:13:17 +01:00
omar
ca63349eb4
Renamed XX-bits -> XX-bit in comments to match what the world appears to be using.
2019-11-20 11:58:25 +01:00
omar
7e232092a6
Internals: Added GetWindowResizeID(), renamed GetScrollbarID() to GetWindowScrollbarID(). Using integer for resize ID so they matches regardless of the pointer size.
...
Internals: Renamed IMGUI_USER_ERROR to IM_ASSERT_USER_ERROR().
2019-11-15 16:59:43 +01:00
omar
03852470de
Internals: Routing recoverable user errors via IMGUI_USER_ERROR() macro. ( #1651 )
2019-11-13 21:58:18 +01:00
omar
b138f8cbcd
Internal: Nav rename preparing for nav inputs ownership changes. IsNavInputPressed() -> IsNavInputTest()
2019-11-13 21:02:25 +01:00
omar
57dc34f4e8
TreeNode: Added IsItemToggledOpen() to explicitly query if item was just open/closed, facilitating interactions with custom multi-selections patterns. ( #1896 , #1861 )
2019-11-08 15:30:15 +01:00
omar
011d475532
TreeNode: The collapsing arrow accepts click even if modifier keys are being held, facilitating interactions with multi-select patterns. ( #2886 , #1896 , #1861 )
2019-11-08 15:30:15 +01:00
omar
037126ee0e
TreeNode: Reworded code for ImGuiTreeNodeFlags_OpenOnArrow (follow up to f79b2d6c
) to make it lightweight. Should be a no-op from user's point of view. Will facilitate using the arrow hovering information in the hot path. ( #2886 )
2019-11-08 15:00:28 +01:00
omar
8fee5a4349
Internals: Renaming for consistency.
2019-10-31 11:15:40 +01:00
stfx
6bf5aed325
Declaration and assignment can be joined, Member function may be 'const'. ( #2875 )
2019-10-29 17:11:49 +01:00
Rokas Kupstys
c863c1f6a1
Clean up number rounding. Now it is more obvious what code is doing. ( #2862 )
...
Add IM_ROUND() macro
Replace IM_FLOOR(n + 0.5f) and ImFloor(n + 0.5f) with IM_ROUND(n)
2019-10-29 17:05:25 +01:00
omar
9b323a7ebf
SplitterBehavior: not using FrameRounding in render (was in first commit of the function, not sure why). ( #319 )
2019-10-25 11:05:14 +02:00
omar
ec0e953cca
Fixed a couple of subtle bounding box vertical positioning issues relating to text baseline alignment.
...
The issue would generally manifest when laying out multiple items on a same line, with varying heights and text baseline offsets. (#2833 )
Some specific examples, e.g. a button with regular frame padding followed by another item with a multi-line label and no frame padding, such as: multi-line text, small button, tree node item, etc. The second item was correctly offset to match text baseline, and would interact/display correctly,but it wouldn't push the contents area boundary low enough.
Note: previously the second parameter to ItemSize() was 0.0f was default, now -1.0f to signify "no text baseline offset request". If you have code using ItemSize() with an hardcoded zero you may need to change it. (+1 squashed commits)
2019-10-23 18:05:44 +02:00
Alexey
be9f1e8f00
ColorPicker: Fixed SV triangle gradient to block (broken in 1.73). ( #2864 , #2711 ). [@lewa-j]
2019-10-23 00:43:40 +02:00
omar
048b73dfaa
Various comments + Doc: Examples readme. Moved main menu bar code below menu bar code.
2019-10-21 20:57:07 +02:00
Rokas Kupstys
714fe29d1a
Replace manual flooring with IM_FLOOR() macro. ( #2850 )
...
Macro is used to ensure that flooring operation is always inlined even in debug builds. __forceinline does not force inlining in /Od builds with MSVC.
(cherry picked from commit bc165df6fd
)
2019-10-18 16:18:38 +02:00
omar
a41f0b2df4
Inputs: Fixed a miscalculation in the keyboard/mouse "typematic" repeat delay/rate calculation, used by keys and e.g. repeating mouse buttons as well as the GetKeyPressedAmount() function.
...
IMPORTANT: Renamed internal CalcTypematicPressedRepeatAmount to CalcTypematicRepeatAmount and reordered the t1, t0 arguments to t0, t1 !!
If you were using a non-default value for io.KeyRepeatRate (previous default was 0.250), you can add +io.KeyRepeatDelay to it to compensate for the fix. The function was triggering on: 0.0 and (delay+rate*N) where (N>=1). Fixed formula responds to (N>=0).
Effectively it made io.KeyRepeatRate behave like it was set to (io.KeyRepeatRate + io.KeyRepeatDelay).
Fixed the code and altered default io.KeyRepeatRate,Delay from 0.250,0.050 to 0.300,0.050 to compensate.
If you never altered io.KeyRepeatRate nor used GetKeyPressedAmount() this won't affect you.
2019-10-14 23:07:06 +02:00
omar
c7bdec7e18
InputText, Nav: Fixed Left!Right keys broken when activating Keyboard Navigation. ( #787 ) Amend 892dfb1
2019-10-14 22:43:04 +02:00
omar
aeb6481499
InputText: Filter out Ascii 127 (DEL) emitted by low-level OSX layer, as we are using the Key value. ( #2578 )
2019-10-12 14:27:37 +02:00
omar
bf746c4215
DragScalar, SliderScalar, InputScalar: Added p_ prefix to parameter that are pointers to the datato clarify how they are used, and more comments redirecting to the demo code. ( #2844 )
2019-10-11 12:04:28 +02:00
omar
927472f5ff
Combo: Added _NoMove flag to prevent window from docking, which has an effect in Docking branch (in Master was not noticeable as the Combo code kept repositioning the window). ( #2835 )
2019-10-07 19:14:08 +02:00
omar
73fa6509a5
Internal: InputTextEx: tweaked a bit of code (should be a no-op)
2019-10-05 16:57:12 +02:00
omar
ee3373d067
TreeNode: Fixed combination of ImGuiTreeNodeFlags_SpanFullWidth and ImGuiTreeNodeFlags_OpenOnArrow incorrectly locating the arrow hit position to the left of the frame. ( #2451 , #2438 , #1897 )
2019-10-04 19:21:29 +02:00
domgho
ccb2a947a2
Internal: SliderBehaviorT: Condition '!is_decimal' is always true ( #2828 )
2019-10-04 11:57:20 +02:00
omar
a6c3be4bda
Internals: Tweaks to ItemSize() should be harmless. Added DebugDrawItemRect() helper.
2019-10-03 18:30:41 +02:00
omar
892dfb1dea
InputText, Nav: Fixed Home/End key broken when activating Keyboard Navigation. ( #787 )
...
Small refactor of ActiveIdUsingXXX inputs flags toward a little more consistent system. (#2637 )
2019-10-02 15:57:36 +02:00
omar
c262276988
Version 1.74 WIP
2019-09-30 14:27:56 +02:00
omar
d5efe16157
Version 1.73
2019-09-24 17:02:26 +02:00
goran-w
e100523917
CollapsingHeader: Added support for ImGuiTreeNodeFlags_Bullet and ImGuiTreeNodeFlags_Leaf on framed nodes. ( #2159 , #2160 )
...
The Bullet and Leaf ImGuiTreeNodeFlags are now taken into account for Framed/CollapsingHeader tree nodes as well. TreeNodeEx() can be used to specify these flags. A choice was made to left-adjust the Framed text when no Bullet/Arrow is rendered, since this was deemed to look better in the Framed context (especially when considering that CollapsingHeader is drawn using NoTreePushOnOpen, so child/sibling Text items etc will often be non-indented).
2019-09-24 12:48:49 +02:00
omar
25849234f6
Internal: Tree: tweaks (initially tried to implement auto-scrolling, stashed)
2019-09-23 13:11:38 +02:00
omar
80b3ab7d3e
TabBar: Fixed single tab shrinking reducing the tab to 0.0f size. Broken by a856c670c1
.
2019-09-22 22:16:05 +02:00
omar
38d22bc47d
ColorPicker / ColorEdit: restore Hue when zeroing Saturation. ( #2722 , #2770 ) - changelog, fixed uninitialized variables, tweaks, renaming.
2019-09-20 15:31:39 +02:00
Rokas Kupstys
accb0261b8
ColorPicker / ColorEdit: restore Hue when zeroing Saturation. ( #2722 , #2770 )
...
Issue is fixed by storing last active color picker color and last hue value when active color picker takes rgb as input. Then if current color picker color matches last active color - hue value will be restored. IDs are not used because ColorEdit4() and ColorWidget4() may call each other in hard-to-predict ways and they both push their own IDs on to the stack. We need hue restoration to happen in entire stack of these widgets if topmost widget used hue restoration. Since these widgets operate on exact same color value - color was chosen as a factor deciding which widgets should restore hue.
2019-09-20 15:31:15 +02:00
omar
9d02ed51e3
TreeNode: Added ImGuiTreeNodeFlags_SpanAvailWidth and ImGuiTreeNodeFlags_SpanFullWidth flags ( #2451 , #2438 , #1897 )
...
Added demo bits.
2019-09-18 17:13:41 +02:00
omar
3f986e72d9
Internal: Offset STB_TEXTURE_K_ defines to remove that change from #2541 + sponsors update.
2019-09-17 12:06:31 +02:00
omar
7d5a17e5e4
Remove trailing spaces (grep for ' \r?$' in visual studio)
2019-09-17 11:33:18 +02:00
omar
404dc0367e
BeginTabItem: Fixed case where right-most tab would create an extraneous draw calls (probably related to other tab fitting code in 1.73 wip)
2019-09-17 11:12:33 +02:00
omar
3dcf323c35
Columns: Separator: Fixed a bug where non-visible separators within columns would alter the next row position differently than visible ones.
...
Fixed rounding issues also leading to change of ScrollMax depending on visible items (in particular negative coordinate would be rounded differently)
2019-09-16 19:15:43 +02:00
Bagrat Dabaghyan
3cf519c9cb
Fix DragScalar for unsigned types ( #2780 )
...
decreasing the value was broken on arm64
2019-09-16 19:01:39 +02:00
omar
0537ac005f
ColorEdit: Disable Hue edit when Saturation==0 instead of letting Hue values jump around.
2019-08-30 20:33:35 +02:00
omar
b59ec7b9b7
DragInt, DragFloat, DragScalar: Using (v_min > v_max) allows locking any edit to the value.
2019-08-30 20:30:21 +02:00
omar
3f99890f40
TabBar: feed desired width (sum of unclipped tabs width) into layout system to allow for auto-resize. ( #2768 )
...
Before 1.71 tab bars fed the sum of current width which created feedback loops in certain situations. Amend f95c77eeea
.
2019-08-29 14:57:34 +02:00
omar
f8d3d8d7f5
TabBar: improved shrinking for large number of tabs to avoid leaving extraneous space on the right side. Individuals tabs are given integer-rounded width and remainder is spread between tabs left-to-right.
2019-08-29 12:21:09 +02:00
omar
c8418015c2
SliderScalar: Improved assert when using U32 or U64 types with a large v_max value. ( #2765 )
...
+ misc minor stuff.
2019-08-28 15:19:10 +02:00
omar
a856c670c1
TabBar: fixed single-tab not shrinking their width down.
...
+ minor typo fixes (#2738 )
2019-08-22 11:38:58 +02:00
omar
7abd41bd5f
TabBar: fixed ScrollToBar request creating bouncing loop when tab is larger than available space.
2019-08-19 20:38:17 +02:00
omar
9fce278918
ColorPicker: Made rendering aware of global style alpha of the picker can be faded out. ( #2711 )
...
Note that some elements won't accurately fade down with the same intensity, and the color wheel when enabled will have small overlap glitches with (style.Alpha < 1.0).
2019-08-16 11:46:11 +02:00
omar
f624455d7b
Version 1.73 WIP
2019-08-01 10:57:13 -07:00
omar
6a0d0dab5a
Version 1.72b (patch for nav)
2019-07-31 14:31:06 -07:00
omar
27079e68c2
Nav: Made hovering non-MenuItem Selectable not re-assign the source item for keyboard navigation.
2019-07-31 14:31:06 -07:00
omar
5ef7445d92
Internal: Avoid using GImGui multiple times in same function.
2019-07-30 16:51:12 -07:00
omar
9183e7c426
Version 1.73 WIP
2019-07-29 15:54:32 -07:00
omar
ecb9b1e2eb
Version 1.72
2019-07-27 18:15:07 -07:00
omar
824e8c53b4
Internals: Added IMGUI_DEBUG_INI_SETTINGS. Made IMGUI_DEBUG_LOG redefinable in imconfig.h. Comments. Fix to allow Metrics's NodeWindow() being called with a NULL window.
2019-07-23 21:37:09 -07:00
omar
baae057a03
Internals: Merge in minor noise from wip Tables branch to simplify further merging.
2019-07-23 13:28:36 -07:00
omar
51853292cc
ImDrawList: Using ImDrawCornerFlags instead of int in various apis.
...
Demo: Using ImGuiColorEditrFlags instead of int.
2019-07-23 10:41:48 -07:00
omar
dcd03f62a7
Scrolling: Made it possible for mouse wheel and navigation-triggered scrolling to override a call to SetScrollX()/SetScrollY(), making it possible to use a simpler stateless pattern for auto-scrolling.
...
Demo: Log, Console: Using a simpler stateless pattern for auto-scrolling.
2019-07-22 18:49:51 -07:00
omar
34cf00566f
InputTextMultiline: Fixed vertical scrolling tracking glitch.
...
Fixed Travis-CI banner address.
2019-07-22 18:11:06 -07:00
omar
f0348ddffc
Amend 0f86116
, renamed to ImGuiKey_KeyPadEnter Changelog.. ( #2677 , #2005 )
2019-07-21 18:39:50 -07:00
Aaron Cooper
0f86116a69
Adding an ImGuiKey 'ImGuiKey_EnterSecondary' to support platforms that differentiate the enter (return key) and the numpad enter key.
2019-07-21 18:29:11 -07:00
omar
c37f21788f
Columns: Made GetColumnOffset() and GetColumnWidth() behave when there's no column set, consistently with other column functions + fixed Columns demo ( #2683 )
2019-07-21 11:23:15 -07:00
omar
b443bc0a64
Columns: Improved honoring alignment with various values of ItemSpacing.x and WindowPadding.x. ( #125 , #2666 )
2019-07-19 14:22:33 -07:00
omar
4abc2a82e0
Columns: Made the right-most edge reaches up to the clipping rectangle (removing WindowPadding.x*0.5 worth of asymmetrical/extraneous padding). ( #125 , #2666 )
...
+ Moved a few things in BeginColumns().
2019-07-19 14:22:12 -07:00
omar
493795cdd1
Columns: Fix support for BeginColumns() with a count of 1 (not that this isn't available via the old Columns() api). Tweaked Demo to facilitate testing for it.
2019-07-19 12:11:00 -07:00
omar
44336950e9
Revert "Columns: Improved honoring left-most and right-most alignment with various values of ItemSpacing.x and WindowPadding.x. In particular, the right-most edge now reaches up to the clipping rectangle while ensuring that the right-most column clipping width matches others. ( #125 , #2666 )"
...
This reverts commit 6c16ba6490
.
2019-07-19 11:22:39 -07:00
omar
6c16ba6490
Columns: Improved honoring left-most and right-most alignment with various values of ItemSpacing.x and WindowPadding.x. In particular, the right-most edge now reaches up to the clipping rectangle while ensuring that the right-most column clipping width matches others. ( #125 , #2666 )
2019-07-17 18:40:48 -07:00
omar
e28d20c3e2
Columns: Fixed a regression from 1.71 where the right-side of the contents rectangle within each column would wrongly use a WindowPadding.x instead of ItemSpacing.x like it always did. ( #125 , #2666 )
2019-07-17 17:29:30 -07:00
omar
61c7f0194e
Misc: Made Button(), ColorButton() not trigger an "edited" event leading to IsItemDeactivatedAfterEdit() returning true. This also effectively make ColorEdit4() not incorrect trigger IsItemDeactivatedAfterEdit() when clicking the color button to open the picker popup. ( #1875 )
...
Demo: Added Button with repeater and InputFloat with +/- button to the status query test demo.
2019-07-17 17:10:28 -07:00
omar
1f3feb481e
Internals: Refactor: Moved all Columns code from imgui.cpp to imgui_widgets.cpp ( #125 )
...
Also moved NextColumn between BeginColumn and NextColumn which makes it easier to work on that code.
2019-07-17 17:10:27 -07:00
omar
e6a286b3a5
Style: Added style.ColorButtonButton (left/right, defaults to ImGuiDir_Right) to move the color button of ColorEdit3/ColorEdit4 functions to either side of the inputs.
2019-07-16 16:43:21 -07:00
omar
a35f42f123
Removed TreeAdvanceToLabelPos() which is rarely used and only does SetCursorPosX(GetCursorPosX() + GetTreeNodeToLabelSpacing()). Kept redirection function (will obsolete). ( #581 , #324 )
2019-07-15 18:30:20 -07:00
omar
3d07c7cbe4
TabBar: Fixed unfocused tab bar separator color (was using ImGuiCol_Tab, should use ImGuiCol_TabUnfocusedActive).
2019-07-15 18:30:20 -07:00
omar
7a9d32acee
Fixed unnecessary test in UpdateMouseWheel() (thanks PVS).
...
TreeNodeBehavior: avoid computing bg_col for non-framed non-active tree nodes.
Comments, binaries update, minor typos.
2019-07-15 18:30:20 -07:00
omar
3436132d4b
Combo: Hide arrow when there's not enough space even for the square button.
...
+ Various todo items.
2019-07-11 17:20:56 +02:00
omar
e16564e67a
Scrollbar: Avoid overlapping the opposite side when window (often a child window) is forcibly too small.
2019-07-01 20:59:00 +02:00
omar
2a3517a399
Internals: Checkbox: Added undocumented mixed/indeterminate/tristate support via ImGuiItemFlags_MixedValue. ( #2644 )
2019-06-30 12:03:09 +02:00
omar
e9b92d1cef
Disable -Wpragmas warning in GCC to avoid relying on version checks, as unusual/forks/mods don't appear to always have same warning<>version. ( #2618 )
...
+ Fix version number in imgui.h
2019-06-17 11:32:00 +02:00
omar
5286ecb8a7
Version 1.72 WIP
2019-06-14 11:58:58 +02:00
omar
2da1c66d15
Version 1.71 + comments
2019-06-12 18:30:06 +02:00
omar
5ae268c0a3
Internals: Reworked RenderTextEllipsis() to satisfy what we need for table headers.
2019-06-11 16:12:00 +02:00
omar
c3a348aa25
CollapsingHeader: Minor fix to align right side of frames (which is extruded past the Work/Contents rect) with clipping rectangle.
2019-06-11 15:56:57 +02:00
omar
a8eb64fc54
Log/Capture: Fixed BeginTabItem() label not being included in a text log/capture.
...
Extracted tab rendering code into a RenderTextEllipsis() function.
2019-06-11 14:03:13 +02:00
omar
afa3978ff6
Internals: Added drawlist and color arg to RenderArrow(), RenderBullet(). Reordered args for RenderPixelEllipsis.
2019-06-07 17:32:51 +02:00
omar
431aa4e456
Synced/merged minor cruft from docking branch to minimize drift. AFAIK the only meaningful no-op change is that the call UpdateHoveredWindowAndCaptureFlags() was moved above UpdateMouseMovingNewFrame() to match what docking branch has been doing for a while.
2019-06-06 16:13:30 +02:00
omar
c1a61d25a7
Scrollbar overlap an extra WindowBorderSize amount on the left to make all distances consistent. Reverted to BorderSize not affecting work/contents rectangles. Scrollbar, Style: Changed default style.ScrollbarSize from 16 to 14.
2019-06-05 15:59:14 +02:00
omar
15282261dd
Internals: Minor no-op tidying up toward solving the WindowPadding / WindowBorderSize / ScrollbarSize overlapping mess.
...
+ Demo: Use SetScrollY().
2019-06-05 15:59:14 +02:00
omar
fe32fde376
Internals: Renamed SizeContents to ContentSize, SizeContentsExplicit to ContentSizeExplicit. Tweaked Metrics->Show Rectangles functionality.
2019-06-05 15:59:13 +02:00
omar
f95c77eeea
Window rectangles: Changed WorkRect to cover the whole region including scrolling (toward obsolete ContentsRegionRect) + using full WindowPadding*1 padding.
...
Tweaked InnerClipRect.
TreeNode, CollapsingHeader: Fixed highlight frame not covering horizontal area fully when using horizontal scrolling. (#2211 , #2579 )
TabBar: Fixed BeginTabBar() within a window with horizontal scrolling from creating a feedback loop with the horizontal contents size.
Columns: Fixed Columns() within a window with horizontal scrolling from not covering the full horizontal area (previously only worked with an explicit contents size). (#125 )
Demo: Added demo code to test contentsrect/workrect
2019-06-05 15:59:13 +02:00
omar
a0994d74c2
Clarified behavior of SetNextWindowContentSize(). Content size is defined as the size available after removal of WindowPadding on each sides. So SetNextWindowContentSize(ImVec2(100,100)) + auto-resize will always allow submitting a 100x100 item without creating a scrollbar, regarding of WindowPadding.The exact meaning of ContentSize for decorated windows was previously ill-defined.
2019-06-05 15:59:13 +02:00
omar
b9874a2423
Comments about obsoleted features version. Todo. Clarify tab bar initial offset (useful if we decide to remove the half-windowpadding clip margin).
2019-06-05 15:58:49 +02:00
DucaRii
6614bab883
Combo: Fixed rounding not applying with the ImGuiComboFlags_NoArrowButton flag. ( #2606 , #2607 )
2019-06-04 20:49:29 +02:00
omar
21ebdcafc9
Internals: Window rectangles: Renaming of all rectangles toward their final form. Should be a no-op. Renamed GetWorkRectMax() to GetContentRegionMaxAbs(). Metrics shows SizeContents.
2019-05-30 18:04:21 +02:00
omar
cb7ba60d3f
CollapsingHeader: When a close button is enabled, better clip the label to avoid overlap. ( #600 )
2019-05-28 21:25:28 +02:00
omar
70d9f79312
Internal: Renamed InnerMainRect to InnerVisibleRect. Printing coordinates in Metrics window.
2019-05-28 11:23:04 +02:00
omar
70a4be07df
ColorEdit: Fixed the color picker popup only displaying inputs as HSV instead of showing multiple options. ( #2587 , broken in 1.69 by #2384 ).
2019-05-27 14:57:39 +02:00
omar
958d75c00a
Style: Added style.WindowMenuButtonPosition (left/right, defaults to ImGuiDir_Left) to move the collapsing/docking button to the other side of the title bar.
2019-05-24 21:54:52 +02:00
omar
6c3697f6f1
Internal: CloseButton takes an upper-left corner + a size to be consistent with similar widgets.
2019-05-24 17:58:21 +02:00
omar
ec3ec24157
Internals: Extracted some of the tab bar shrinking code into a ShrinkWidths() function so columns/table can use it.
2019-05-24 14:32:33 +02:00
omar
3fda90d6a7
Fixed InputScalar, InputScalarN, SliderScalarN, DragScalarN with non-visible label from inserting style.ItemInnerSpacing.x worth of trailing spacing.
2019-05-24 14:32:28 +02:00
omar
7bc03f7155
Internals: Added InnerWorkRect equal to old InnerClipRect, added InnerWorkRectClipped actually clipped.
2019-05-22 23:56:31 +02:00
omar
882d2c3aea
Fixed crash when appending with BeginMainMenuBar() more than once and no other window are showing. ( #2567 ) + comments
2019-05-21 12:18:34 +02:00
omar
f242cd4d8a
Fixed GCC mem-access warnings ( #2565 )
...
+ using "if defined" more consistently for Clang.
2019-05-19 17:15:14 +02:00
omar
e6109a9145
Fixed ColorEdit breakage introduced by d3a387c
( #2557 , #1875 , #2034 )
2019-05-18 11:18:31 +02:00
omar
d3a387cc18
Fixed InputFloatX, SliderFloatX, DragFloatX functions erroneously reporting IsItemEdited() multiple times when the text input doesn't match the formatted output value (e.g. input "1" shows "1.000"). It wasn't much of a problem because we typically use the return value instead of IsItemEdited() here. ( #1875 , #2034 )
2019-05-13 19:04:57 +02:00
omar
99a845053a
Internal: Renamed fields + minor tweaks (probably shallow break stack-layout pr, sorry!)
2019-05-13 18:26:28 +02:00
omar
64dbd932d2
Internal: Removed GetNextItemWidth(), relying on ItemAdd or NextItemData.ClearFlags() to clear the width data. Amend 5078fa20
and undo some of its effects of imgui_widgets.cpp
2019-05-13 15:29:00 +02:00
omar
632469d2e5
Renamed SetNextTreeNodeOpen() to SetNextItemOpen(). Refactored SetNextItemXXX stuff to match SetNextWindowXXX code closely.
2019-05-13 15:11:25 +02:00
omar
36e714a459
Internal: Storing flags for NextWindowData so that we can clear everything with a single write and remove dummy condition fields.
2019-05-13 14:57:30 +02:00
omar
0b485f12d7
Internal: Minor tidying/reordering of sections within ImGuiContext / window DC.
2019-05-13 14:02:03 +02:00
omar
39eeda0227
Internal: Scrollbar: Further sane simplification (using InnerMainRect instead of duplicating calculations).
2019-05-10 18:52:29 +02:00
omar
37174c85e2
Internal: Scrollbar: Extracted scrollbar code for other uses (eg. table v2 scrolling without using a child window).
2019-05-10 18:52:23 +02:00
omar
9534ef9b26
Separator: Revert 1.70 "Declare its thickness (1.0f) to the layout" change ( c5d83d8a
). It's not incorrect but it breaks existing some layout patterns. Will return back to it when we expose Separator flags.
2019-05-09 17:52:56 +02:00
omar
a4d0b0efa4
Internal: Refactored Separator into SeparatorEx(), exposed ImGuiSeparatorFlags_SpanAllColumns in imgui_internal.h and support without. ( #759 ) + misc comments
2019-05-09 12:55:01 +02:00
omar
b7c2759f95
Columns: Fixed Separator from creating an extraneous draw command. Fixed Selectable with SpanAllColumns flag from creating an extraneous draw command. ( #125 )
2019-05-09 12:10:36 +02:00
omar
42fc563fed
Version 1.71 WIP + fixed minor typo
2019-05-07 16:36:08 +02:00
omar
d1d5075b66
Version 1.70
2019-05-06 14:17:39 +02:00
omar
2dc81057ec
Selectable: With ImGuiSelectableFlags_AllowDoubleClick doesn't return true on the mouse button releas efollowing the double-click. Only first mouse release + second mouse down (double-click) returns true. Likewise for internal ButtonBehavior() with both _PressedOnClickRelease | _PressedOnDoubleClick. ( #2503 )
2019-05-03 14:31:12 +02:00
omar
ce19cb465f
Internals: Rename GetContentRegionMaxScreen() -> GetWorkRectMax(). At this point this is mostly useful to facilitate merge of other branches.
2019-05-02 16:29:40 +02:00
omar
4dec744795
Tidying up BeginMenu() code + comments.
2019-04-29 00:02:02 +02:00
omar
bda2cde68e
Popups: Closing a popup restores the focused/nav window in place at the time of the popup opening, instead of restoring the window that was in the window stack at the time of the OpenPopup call. ( #2517 )
...
Among other things, this allows opening a popup while no window are focused, and pressing Escape to clear the focus again.
2019-04-28 22:18:51 +02:00
omar
3276b12765
Internals: Added DataTypeApplyOp, DataTypeApplyOpFromText to imgui_internal.h
2019-04-28 20:55:51 +02:00
omar
4e81b2d093
Internals: Renaming. Renamed ImGuiPopupRef to ImGuiPopupData for consistency and added constructor.
2019-04-28 17:15:08 +02:00
omar
3d363c91fd
Internals: Exposed ImGuiDataTypeInfo, DataTypeGetInfo(), DataTypeFormatString(). Comments.
2019-04-28 15:27:18 +02:00
omar
c5d83d8af2
Separator: Declare its thickness (1.0f) to the layout, making items around separator more symmetrical.
2019-04-26 23:31:31 +02:00
omar
56c3aaf6bd
Nav: Fixed Drag/Slider functions going into text input mode when keyboard CTRL is held while pressing NavActivate.
2019-04-25 17:50:40 +02:00
omar
dd15b44230
Internals: TempInputText: Tidying up DragScalar / SliderScalar / TempInputTextScalar.
2019-04-25 17:50:40 +02:00
omar
0ca1675ff9
Internals: TempInputText: Rename InputScalarAsWidgetReplacement() -> TempInputTextScalar(), ScalarAsInputTextId -> TempInputTextId, small tidying up in affected functions.
2019-04-25 16:03:47 +02:00
omar
59a3f0476d
Internals: Using more explicit PushOverrideID() helper + renamed equivalent internal tree helper.
2019-04-25 15:21:22 +02:00
omar
16b18b265e
MenuItem, BeginMenu: Fix undesirable tall frames in horizontal layout context, which would be visible when trying to use rounded selectable/menus.
...
PushStyleVar: Added comments in the assert message.
Minor tweaks.
2019-04-25 11:34:07 +02:00
omar
6db0766564
Misc comments, internal renaming, added disable indentation option to Columns demo section.
2019-04-24 17:40:07 +02:00
omar
59f012d656
Internals: ImHashStr() default parameter.
2019-04-19 19:48:51 +02:00
omar
5078fa208b
Added SetNextItemWidth() helper to avoid using PushItemWidth/PopItemWidth() for single items.
2019-04-18 18:29:28 +02:00
omar
f355a40367
Added commentary about ContentRegion functions. Added internal GetContentRegionMaxScreen() to facilitate internal code at the moment.
2019-04-18 15:46:13 +02:00
omar
9d4a893a77
Internals: Moved CalcItemSize next to CalcItemWidth, added comments to clarify their respective intent. Should have no side effect.
2019-04-18 15:46:12 +02:00
omar
240dddff87
Combo, Slider: Improve rendering in situation when there's there's very little space available.
2019-04-18 15:46:12 +02:00
omar
1aeee9d40f
Internals: Columns: Tweaks, renaming. Metrics: Show rectangles for child windows.
...
Renamed SameLine() first parameter.
2019-04-17 22:12:17 +02:00
omar
7baf45cffa
Metrics: Added "Show windows rectangles" tool to visualize the different rectangles.
2019-04-16 22:02:56 +02:00
omar
311469e9d6
Internals: Columns: Some renaming, extracted code into GetColumnsID().
2019-04-16 11:58:54 +02:00
omar
fb2626c21b
Tests: Added hook/tweaks for imgui-test engine. + Fixed warnings.
2019-04-13 00:29:27 +02:00
omar
30d81f53cb
PlotLines, PlotHistogram: Ignore NaN values when calculating min/max bounds. ( #2485 )
2019-04-12 22:16:59 +02:00
omar
ee02cdbf03
Internals, Docs: Added a bunch of clarification about ButtonBehavior in the form of a table (and to facilitate writing tests)
2019-04-12 17:49:40 +02:00
omar
07a70dc972
Internals: Merge minor things from range_select branch. Added ImGuiButtonFlags_NoHoveredOnNav. Added IsItemToggledSelected() - unused here. Renaming.
2019-04-11 15:40:36 +02:00
omar
1391904fd2
Internals: Selectable: Added ImGuiSelectableFlags_AllowItemOverlap in imgui_internal.h (~ #684 , #2341 )
2019-04-08 17:59:25 +02:00
omar
b53630813e
Internals: Tweak ItemSize calls. Added todo items.
2019-04-08 16:13:51 +02:00
omar
c8fd4afd75
Misc: Added IM_MALLOC/IM_FREE macros mimicking IM_NEW/IM_DELETE so user doesn't need to revert to using the ImGui::MemAlloc()/MemFree() calls directly.
2019-04-05 20:20:24 +02:00
omar
8dab7ac021
InputText: Made Shift+Tab consistently do nothing regardless of whether the back-end emits both char and keys or just keys. ( #2467 , #1336 )
2019-04-03 11:14:34 +02:00
omar
da035ced97
InputText, Examples/SDL: Emulate \t input if back-end doesn't provide it. ( #1336 , #2467 )
...
+ Fix some output filename in SDL build batch files.
2019-04-03 11:04:00 +02:00
omar
01e29a3933
InputText: Fixed ImGuiInputTextFlags_AllowTabInput leading to two tabs characters being inserted if the back-end provided both Key and Character input. ( #2467 , #1336 )
2019-04-03 10:45:51 +02:00
omar
4a57507f75
InputText: Work-around for buggy standard libraries where isprint('\t') returns true. ( #2467 , #1336 )
...
Not using isprint. + todo items.
2019-04-03 10:40:14 +02:00
omar
3d8ea352d1
InputText: Fixed selection background starts rendering one frame after the cursor movement when first transitioning from no-selection to has-selection. (Bug in 1.69) ( #2436 ) [@Nazg-Gul]
2019-03-25 16:06:30 +01:00
omar
abb7d7b18a
InputText: Simplify read-only code path.
2019-03-25 15:50:23 +01:00
omar
221bf93a55
Comments, todo list, remove trailing spaces.
2019-03-17 00:56:21 +01:00
omar
cf2c52282d
Version 1.70 WIP
2019-03-15 13:07:30 +01:00
omar
55c02099c5
Version 1.69, comments, typos
2019-03-13 15:29:43 +01:00
omar
a26085ed53
Internals: Fixed Navigation from reaching ImGuiItemFlags_Disabled items ( #211 ) + Examples comments
2019-03-12 22:23:56 +01:00
omar
53e0c13be2
TabBar: Reworked scrolling policy (when ImGuiTabBarFlags_FittingPolicyScroll is set) to teleport the view when aiming at a tab far away the visible section, and otherwise accelerate the scrolling speed to cap the scrolling time to 0.3 seconds.
2019-03-12 20:57:02 +01:00
omar
99d8425173
TabBar: Fixed Tab tooltip code making drag and drop tooltip disappear during the frame where the drag payload activate a tab.
2019-03-12 18:56:19 +01:00
omar
495065f790
Fixed Clang and PVS warnings.
2019-03-12 12:08:51 +01:00
omar
f254168335
InputText: Fixed c779fbb
leading to display of the wrong buffer when resizing a buffer. ( #2400 , #2006 , #1443 , #1008 ).
2019-03-12 11:56:40 +01:00
omar
65c2220049
Internal: Removed unused fields from ImGuiMenuColumns.
2019-03-11 20:14:56 +01:00
Haldean Brown
79bb4ce128
Added ImGuiColorEditFlagsFlags_InputHSV. ( #2383 , #2384 )
2019-03-08 18:16:41 +01:00
omar
8e0e91827f
ColorEdit: Fixed tooltip not honoring the ImGuiColorEditFlags_NoAlpha contract of never reading the 4th float in the array (value was read and discarded). ( #2384 )
2019-03-08 18:16:41 +01:00
omar
e9651aaa77
TabBar: Fixed ImGuiTabItemFlags_SetSelected being ignored if the tab is not visible (with scrolling policy enabled) or if is currently appearing.
2019-03-07 17:45:59 +01:00
omar
1c23981782
Made ImS8 and ImS16 explicitly signed in case some crazy SDK decide to flip the signedness over. ( #2408 )
2019-03-07 16:10:44 +01:00
omar
8464df1f6e
Internals: ColorEdit: Minor optimizations. Initialize internal arrays as static const, avoid unnecessary HSV->RGB conversion.
2019-03-06 19:30:34 +01:00
omar
ea8158acdf
Demo: Renamed ShowHelpMarker() -> HelpMarker(). Fixed minor PVS warning. Removed unnecessary casts.
2019-03-06 18:24:07 +01:00
omar
c779fbb651
InputTextWithHint: Fix for Password fields. Update changelog, demo. ( #2400 )
2019-03-06 17:33:24 +01:00
Lucas Lazare
ab80ee6453
Added InputTextWithHint() ( #2400 )
...
Squashed commit of the following:
commit 1970d84051
Author: Lucas Lazare <lazarelucas@yahoo.fr>
Date: Tue Mar 5 12:20:39 2019 -0500
Removing sneaky tabulations #2 (why, editor T-T)
I should update my settings, I guess
commit 219bdfcb7f
Author: Lucas Lazare <lazarelucas@yahoo.fr>
Date: Tue Mar 5 12:17:27 2019 -0500
Removing useless check introduced in b0d172
commit 8afd7a2b45
Author: Lucas Lazare <lazarelucas@yahoo.fr>
Date: Tue Mar 5 11:49:24 2019 -0500
Removing sneaky tabulations
commit 8e04908631
Author: Lucas Lazare <lazarelucas@yahoo.fr>
Date: Tue Mar 5 11:45:13 2019 -0500
Moving InputTextHinted code to InputTextEx
commit b0d1723a2f
Author: Lucas Lazare <lazarelucas@yahoo.fr>
Date: Tue Mar 5 00:23:02 2019 -0500
C++11 to C++98
commit 9afeae3998
Author: Lucas Lazare <lazarelucas@yahoo.fr>
Date: Mon Mar 4 23:43:28 2019 -0500
Added InputTextHinted
2019-03-06 17:33:05 +01:00
omar
fe48368cb2
InputText: Moving some code in anticipation of supporting hint display with password. This commit is aimed at having no visible side effect. ( #2400 )
2019-03-06 15:45:11 +01:00
omar
344140004b
Fixed IsItemDeactivated()/IsItemDeactivatedAfterEdit() from not correctly returning true when tabbing out of a focusable widget (Input/Slider/Drag) in most situations. ( #2215 , #1875 )
...
+ Minor renaming of a local variable in widget code.
2019-03-05 22:09:25 +01:00
omar
26328fc9fe
Internal: Tabbing/Focus: Tidying up old code, moved some state to context instead of window. Storing new data will allow us to fix the bug mentioned in #2215 (probably in next commit).
2019-03-05 19:51:27 +01:00
omar
076be7ec41
MenuItem, Selectable: Fixed disabled widget interfering with navigation (fix c2db7f63
in 1.67).
2019-03-05 19:00:19 +01:00
omar
ce4e62649a
Internal: Tabbing: Tweaks to FocusableItemRegister and using the standard mechanism to allow/block Tab being interpreting by tabbing instead of InputText() widget.
2019-03-05 18:24:59 +01:00
omar
1ed3c4cf4a
Internal: Text: Extracted TextUnformatted into TextEx over which we can freely atter the signature. Clarified current large text behavior of TextUnformatted with explicit ImGuiTextFlags_NoWidthForLargeClippedText flag (always set).
2019-03-05 17:35:45 +01:00
omar
622a27506a
Text: Fixed large Text/TextUnformatted call not declaring its size when starting below the lower point of the current clipping rectangle. Somehow this bug has been there since v1.0! It was hardly noticeable but would affect the scrolling range, which in turn would affect some scrolling request functions when called during the opening frame of a window.
2019-03-05 15:23:11 +01:00
omar
94e794f81b
Renamed GetOverlayDrawList() to GetForegroundDrawList() for consistency. Kept redirection function (will obsolete). ( #2391 )
...
Demo: Using GetBackgroundDrawList() and GetForegroundDrawList() in "Custom Rendering" demo.
2019-03-04 16:35:50 +01:00
omar
1c67d09c0b
ColorPicker: Fix assertion when running in a collapsed window and dragging its title bar ( #2389 )
2019-03-01 00:06:36 +01:00
omar
f02705fbaa
InputInt, InputScalar: +/- buttons now respects the natural type limits instead of overflowing or underflowing the value.
2019-02-27 18:59:17 +01:00
omar
736d3e2654
DragScalar, InputScalar, SliderScalar: Added support for u8/s8/u16/s16 data types. We are reusing function instances for larger types to reduce code size. ( #643 , #320 , #708 , #1011 )
2019-02-27 18:16:03 +01:00
omar
ac47710db7
Internal: InputText: Tweaks to make PVS static analyzer relax a little with its false positive.
2019-02-27 16:49:55 +01:00
omar
6de09a5e48
Renamed ColorEdit/ColorPicker's ImGuiColorEditFlags_RGB/_HSV/_HEX flags to respectively ImGuiColorEditFlags_DisplayRGB/_DisplayHSV/_DisplayHex. This is anticipation of adding new flags to ColorEdit/ColorPicker functions which would make those ambiguous. ( #2384 ) [@haldean]
2019-02-27 16:45:58 +01:00
haldean
8a2f6866a6
add _Show prefix to color flags that control inputs, rename __InputsMask to __ShowMask
...
This is anticipation of changing __InputsMask to control the format of
input colors, and adding _InputRGB and _InputHSV to change how input
colors are interpreted.
2019-02-27 16:24:15 +01:00
omar
def723b6b6
Plot: Fixed error in 5e3a1de
( #2387 )
2019-02-27 14:34:11 +01:00
omar
5e3a1de4e6
Plot: Fixed divide-by-zero in PlotLines() when passing a count of 1. ( #2387 ) [@Lectem]
2019-02-27 14:25:37 +01:00
omar
cf3cb7cf7e
InputText: Fixed various display corruption related to swapping the underlying buffer while a input widget is active (both for writable and read-only paths). Often they would manifest when manipulating the scrollbar of a multi-line input text.
2019-02-26 12:50:44 +01:00
omar
b7b82520b4
Internal: InputText: Minor changes (intended to have side-effect but clarify next commit, however there is rarely such a thing as zero side effect in InputText land!)
2019-02-26 12:28:27 +01:00
omar
439f726945
InputText; Disabled rendering selection when inactive (it kinda work but I'm not sure this is desirable especially for single-line input, was not intended to be active).
2019-02-24 23:31:00 +01:00
omar
6f80179a1d
InputText: Fixed deactivated but-last-active InputText instance holding on displaying the last active version of the text and not reflecting change in the source. Fix/amend 2e9a175
. [+test]
2019-02-23 17:04:54 +01:00
omar
cd67d4d3c1
Log/Capture: Fixed LogXXX functions 'auto_open_depth' parameter being treated as an absolute tree depth instead of a relative one. Fixed CollapsingHeader trailing ascii representation being "#" instead of "##". Minor tidying up the of code.
2019-02-23 16:07:01 +01:00
omar
9da48c16c5
TabBar: Added extra mis-usage error recovery. Past the assert, common mis-usage don't lead to hard crashes any more, facilitating integration with scripting languages. ( #1651 )
2019-02-22 12:27:41 +01:00
omar
0f83145aa8
TabBar: Fixed a crash when using BeginTabBar() recursively (didn't affect docking). ( #2371 )
...
Added ImPool::Contains() helper.
2019-02-22 12:24:27 +01:00
omar
f988618ebe
Internal: InputText: Tweaks (including a large indentation change, compare ignoring space) to make next commit more digestible.
2019-02-21 23:06:26 +01:00
omar
be593f2c16
Internal: InputText: refactor the flow to easily decorrelate rendering of selection vs cursor, which would allow us to render selection on inactive items, and generally makes the code clearer. + Some renaming.
2019-02-21 22:56:09 +01:00
omar
332f8f2462
Internal: InputText: Made clipboard copy/cut use its own temporary buffer (like paste) so we can guarantee that TempBuffer if not altered and can be preserved. Renamed TempBufferA to TextA to celebrate this.
2019-02-21 19:55:37 +01:00
omar
81a8730022
Internal: InputText: Renamed is_editable to !is_readonly, Hopefully more explicit. Renamed internal member. Shuffled some code. Added comments, assert (_will_ trigger on !readonly > readonly edge, old bug).
2019-02-21 19:55:36 +01:00
omar
cc3be5d428
InputText: Fixed an edge case crash that would happen if another widget sharing the same ID is being swapped with an InputText that has yet to be activated.
2019-02-21 19:55:36 +01:00
omar
2e9a175057
Internal: InputText: Refactor to clarify access pattern to the InputTextState (we are now accessing via a pointer which can be NULL, shortened its name while we are at it) + added an assert to track an issue that existed already before.
2019-02-21 19:55:36 +01:00
omar
677e64e71e
Internal: InputText: Comments. Renamed internal member. Renamed ImGuiStb->ImStb.
2019-02-20 21:34:08 +01:00
omar
782b747a17
InputText: Renamed some local variables to clarify code. Should be a no-op functionality wise. TODO items.
2019-02-20 00:45:45 +01:00
omar
7c51cba74f
InputInt, InputFloat, InputScalar: Fix to keep the label of the +/- buttons centered when style.FramePadding.x is abnormally larger than style.FramePadding.y. Since the buttons are meant to be square (to align with e.g. color button) we always use FramePadding.y. ( #2367 )
2019-02-20 00:20:11 +01:00
omar
257f5d204e
Version 1.69 WIP
2019-02-20 00:11:36 +01:00
omar
93b06e6e7c
Internal: Changed Scrollbar() signature. Using GetScrollbarID() in InputTextMultiline().
...
Removed multiple semi-colons (#2368 )
2019-02-20 00:08:21 +01:00
omar
77833003ff
Fixed unused argument warning when compiling with IM_ASERT() evaluating to an empty macro.
2019-02-19 17:32:14 +01:00
omar
3c15dffc94
Version 1.68
2019-02-19 12:50:46 +01:00
haldean
b277cfffc8
Selectable: add support for specifying text alignment on selectables ( #2347 )
...
Adds a style variable to Selectable that allows clients to specify the
text alignment within Selectables, adds a section in the demo to
demonstrate selectable text alignment, and a pair of sliders in the
style editor to change selectable alignment on the fly.
In terms of implementation, this one is extremely simple: Selectable was
already calling an API that supports text alignment, but had hard-coded
it to top-left. This changes that to just pass the style variable
straight through to RenderTextClipped. Backwards-compatibility is
preserved by defaulting the text_align parameter to (0, 0), i.e.,
top-left.
This also fixes a bug with selectable text rendering that caused
right-aligned text in a selectable to be clipped incorrectly, because
the wrong clipping rectangle was being used.
2019-02-14 19:38:57 +01:00
omar
0236bc246f
Scrollbar: Fade out and disable interaction when too small, in order to facilitate using the resize grab on very small window, as well as reducing visual noise/overlap. (+1 squashed commits)
...
Internals: Added GetScrollbarID(). (#1185 )
2019-02-14 14:07:59 +01:00
omar
0640b6e67c
Shallow tweaks
2019-02-12 22:15:19 +01:00
omar
1b63ded8fa
Tabs: Fixed border (when enabled) so it is aligned correctly mid-pixel and appears as bright as other borders.
2019-02-07 12:07:53 +01:00
omar
29d38b59d0
ListBox/InputTextMultiline: Better optimized when clipped / non-visible.
2019-02-06 14:46:14 +01:00
omar
62084aac0f
DragScalarN, SliderScalarN, InputScalarN: Removed unnecessary string id after the integer PushID() calls.
2019-02-06 14:39:00 +01:00
omar
f366828dd2
Minor tweaks to reduce false positive of PVS Studio static analyzer.
2019-02-06 13:16:52 +01:00
omar
5bdc7d7a6f
Menus: Tweaked horizontal overlap between parent and child menu (to help convey relative depth) from using style.ItemSpacing.x to style.ItemInnerSpacing.x, the later being expected to be smaller. ( #1086 )
2019-02-06 12:32:10 +01:00
omar
97ed97b8ce
Plot: Register an ID to take the click the same way as other framed widgets. Set HoveredId in the FramePadding zone (between inner_bb and frame_bb).
2019-02-05 21:17:04 +01:00
omar
cef4e086ba
Internals: Selectable: Fixed rendering width miscalculation when starting pos is not line start pos, which would generally be unnoticeable. Could affect group lock X with a smaller SetCursorPos value but that's unlikely to be used.
2019-02-05 21:17:00 +01:00
omar
521470b3cd
Internals: Removed unnecessary code.
2019-02-05 21:16:32 +01:00
omar
b980e0077a
Tabs: Moved Tab List Popup to left-side to match docking button. Highlight selected tab. ( #261 , #351 )
2019-02-05 13:39:48 +01:00
omar
d38f4dc143
Tabs: Non-docking tab bars are storing names to allow tab list button + whole style scaling. Added ImGuiTabBarFlags_TabListPopupButton flag to show a popup button on manual tab bars. Locking FramePadding for the scope of a tab-bar to avoid sheering/clipping of tab item. Made scaling of tab ellipsis less awkward. ( #261 , #351 )
2019-02-05 13:23:44 +01:00
omar
f7c879eb60
RadioButton: Fixed label horizontal alignment to precisely match Checkbox(). + Internals: Checkbox, RadioButton: Single call to ItemSize() for flow layout purpose.
2019-02-04 23:34:32 +01:00
omar
0b05ba18df
Internals: DragScalar, SliderScalar: Calling ItemSize before ItemAdd as with every other widgets so we can more easily rearrange the signature of ItemXXX functions (toward allowing non-rounded sizes for scaling and flow layout).
2019-02-04 23:34:27 +01:00
omar
d5945aa25b
Internals: Minor changes to TreeNodeBehavior() and Selectable() for the benefit of fhe range_select branch. ( #1861 )
2019-02-01 12:14:38 +01:00
omar
0d4a2a2cd0
Internals: Track ActiveIdHasBeenPressed (similar to ActiveIdHasBeenEdited). This is currently mostly for the benefit of the range_select branch. ( #1861 )
2019-02-01 12:14:37 +01:00
omar
1fb57c97c6
Internals: InputScalarAsWidgetReplacement: Fixed seemingly unnecessary calling of SetActiveID/SetHoveredID every frame, which in turns allow us to remove the g.ActiveIdAllow/Block settings duplicated.
2019-01-30 15:41:20 +01:00
omar
fb4f1ff7f6
InputText: Fixed a bug where ESCAPE would be first captured by the Keyboard Navigation code. ( #2321 , #787 )
2019-01-30 15:16:09 +01:00
omar
158995f271
InputText: Fixed a bug where ESCAPE would not restore the initial value in all situations. ( #2321 ) [@relick]
2019-01-30 13:15:14 +01:00
omar
0a233a505d
imgui-test: Added extra item info callbacks. Using nav_bb for interactions when possible. Comments, Demo tweaks.
2019-01-30 12:53:01 +01:00
omar
4e8e177cac
Persistently fixing some PVS-Studio static analyzer false positive warnings.
2019-01-27 16:35:48 +01:00
omar
ee3b4f2bf1
Using IM_UNUSED() macro.
2019-01-27 16:23:23 +01:00
omar
c3c2cd1e82
Fix various XCode and PVS-Studio static analyzer warnings ( #2309 )
2019-01-27 16:18:23 +01:00
omar
f14f93ef6e
Fixed range-version of PushID() and GetID() not honoring the ### operator to restart from the seed value.
2019-01-21 16:50:27 +01:00
omar
2c38b32db1
Removed trailing spaces ( #2038 , #2299 )
2019-01-20 17:56:17 +01:00
omar
f94ba546ba
Added checks for "zero-as-null-pointer-constant" warnings for older Clang ( #2299 , followup to #2277 )
2019-01-20 17:46:00 +01:00
omar
06aaf23877
Various tweaks and fixes as suggested by PVS Studio (thanks PVS Studio!)
2019-01-16 16:10:51 +01:00
omar
95ee99e6aa
Version 1.68 WIP
2019-01-15 20:19:05 +01:00
omar
7a5058e3bf
Version 1.67
2019-01-14 17:41:44 +01:00
omar
1da40df279
DragFloat: Fixed broken mouse direction change with power!=1.0. ( #2174 , #2206 ) [@Joshhua5]
2019-01-14 17:38:19 +01:00
omar
6e41745f31
Added a bunch of diagnostic ignore to cope with Clang -Weverything being absurd. Also fixed two legit warnings. ( #2277 )
2019-01-13 18:57:46 +01:00
omar
1f6e0b2f98
ImVector: Made a struct. Using T/T* in the code instead of value_type/iterator. Renamed index_from_pointer() to index_from_ptr() (was not documented, added in 1.63, users not supposed to use ImVector, hopefully not a big deal).
2019-01-10 15:51:08 +01:00
omar
61a99f994e
Minot internal tweaks, comments
2019-01-08 23:11:54 +01:00
omar
b33977bc15
Tests: Reworking hook prototypes for imgui-test to be faster and multi-context friendly.
2019-01-07 23:59:05 +01:00
omar
c2db7f63bd
Selectable() should have an ID even though they are disabled, to be consistent with other widgets. Not sure of the reasoning ~1.41 which made this turn to 0.
2019-01-07 23:48:50 +01:00
omar
1ae7f88495
Tabs: Added ImGuiTabBarFlags_NoTooltip flag. ( #261 , #351 ) + added helpful assert
2019-01-07 18:07:09 +01:00
omar
acfa4050ec
Tweak changelog + tweak internal render helper functions.
2019-01-07 16:43:55 +01:00
omar
c3af134cc8
IO: Renamed InputCharacters[], marked internal as was always intended. AddInputCharacter() goes into a queue which can receive as many characters as needed during the frame. This is useful for automation to not have an upper limit on typing speed. Will later transition key/mouse to use the event queue later.
2019-01-06 16:37:42 +01:00
omar
9ba202821f
Nav: Fixed an keyboard issue where holding Activate/Space for longer than two frames on a button would unnecessary keep the focus on the parent window, which could steal it from newly appearing windows. ( #787 )
2019-01-04 19:03:56 +01:00
omar
d223d1e951
Added bindings in Readme. Added internal IMGUI_DEBUG_LOG() helper. Comments, missing breaking changes note relative to imgui_impl_xxxx changes, not really part of core but worth adding in the imgui.cpp breaking change section.
2019-01-04 18:01:43 +01:00
omar
acacd93836
Renamed extra_flags to flags in InputXXX parameters.
2019-01-02 11:08:14 +01:00
omar
c738f9ef92
InputFloat: When using ImGuiInputTextFlags_ReadOnly the step buttons are disabled. ( #2257 )
2019-01-02 11:03:56 +01:00
omar
ae76a1fda7
Window, Focus, Popup: Fixed an issue where closing a popup by clicking another window with the _NoMove flag would refocus the parent window of the popup instead of the newly clicked window.
2018-12-18 15:01:15 +01:00
omar
65dac02171
Internals: Popups: Renamed CurrentPopupStack to BeginPopupStack which is much less ambiguous.
2018-12-14 18:44:17 +01:00
omar
f6f5c51106
Internals: Popups: EndMenu() calls ClosePopupToLevel(g.CurrentPopupStack.Size) which is more correct.
2018-12-14 18:42:28 +01:00
omar
587506dd57
Tests: Changed prototype of ImGuiTestEngineHook_ItemAdd to match functions called in same spot. Made ButtonBehavior submit fallback item info if ItemAdd() was not called (for resize grips, resize borders, scrollbar, columns, etc.)
2018-12-14 11:27:02 +01:00
omar
1b263f6ab0
Tabs: Fixed support for drag and drop ImGuiButtonFlags_PressedOnDragDropHold. ( #261 ) incorrectly missing from the merge from Docking branch.
2018-12-11 19:37:22 +01:00
omar
5a6b8e00db
BeginTabBar: Fix to push the expected ID into the ID stack (instead of a hash's hash). ( #261 )
2018-12-11 15:22:10 +01:00
omar
54a60aaa40
Added BETA api for Tab Bar/Tabs widgets. ( #261 , #351 ) (merged this feature from the from Docking branch so it can be used earlier as as standalone feature)
...
- Added BeginTabBar(), EndTabBar(), BeginTabItem(), EndTabItem(), SetTabItemClosed() API.
- Added ImGuiTabBarFlags flags for BeginTabBar().
- Added ImGuiTabItemFlags flags for BeginTabItem().
- Style: Added ImGuiCol_Tab, ImGuiCol_TabHovered, ImGuiCol_TabActive, ImGuiCol_TabUnfocused, ImGuiCol_TabUnfocusedActive colors.
- Demo: Added Layout->Tabs demo code.
- Demo: Added "Documents" example app showcasing possible use for tabs.
2018-12-11 12:36:47 +01:00
omar
15447f5b7b
Using named flags instead of 0 + shallow formatting tweaks from other branches.
2018-12-11 12:14:27 +01:00
omar
d20e3ee710
Tests: Adding imgui-test engine hooks (experimental) to provide missing widget state to the testing system.
2018-12-10 14:30:41 +01:00
omar
125e62491e
Internals: Nav: Added ImGuiNavLayer_ to clarify semantic of previously integer NavLayer values, and not pretend that increment/decrement operators on them super flexible. + Storage tweaks.
2018-12-04 14:34:49 +01:00
omar
10e13dd6bb
Version 1.67 WIP (again, this time IMGUI_VERSION_NUM has leeway for another hot-fix).
2018-12-03 12:19:23 +01:00
omar
801645d350
Version 1.66b (will revisit how to change IMGUI_VERSION_NUM across versions, this commit reduces the numerical IMGUI_VERSION_NUM compared to the commit on Nov 22).
2018-12-03 10:17:17 +01:00
omar
1bfcf8f339
Separator: Fixed Separator() outputting an extraneous empty line when captured into clipboard/text/file.
2018-11-30 16:42:32 +01:00
omar
d27ffefbd4
Version 1.67 WIP
2018-11-22 18:59:57 +01:00
omar
da3c4330c1
Version 1.66
2018-11-22 15:11:52 +01:00
omar
6c1ae6cc71
Internals: DragBehavior: Added support for ImGuiDragFlags_Vertical to implement a vertical drag widget (no frontend function provided).
2018-11-09 14:41:40 +01:00
omar
6d7677534f
Internals: SliderBehavior: Using axis indexing.
2018-11-09 14:31:14 +01:00
omar
eb592bf7d3
ListBox(): Fixed frame sizing when items_count==1 unnecessarily showing a scrollbar. ( #2173 ). Tweaked frame sizing so list boxes will look more consistent when FramePadding is far from ItemSpacing.
2018-11-05 14:49:17 +01:00
omar
7fa3e71abb
Internals: Moved the FocusableItemUnregister() outside of InputScalarAsWidgetReplacement(), it should not be here and doesn't facilitate reusing InputScalarAsWidgetReplacement(). (cc #2155 )
2018-10-30 10:48:21 +01:00
Konstantin Podsvirov
faecf90383
SliderAngle: Added optional format
argument to allow users customize precision and make localization. ( #2150 )
2018-10-25 22:29:29 +02:00
omar
31fd6c585a
Removed unnecessary ImGui:: qualifiers in internal code.
2018-10-17 10:47:27 +02:00
omar
ca753829cb
Revert using wchar_t functions ( 9cf94d5
+ 2eaf5b0
). Big mistake, wchar_t is not guaranteed to be 16-bits.
2018-10-12 15:48:38 +02:00
omar
ede3a3b92d
Fixes crash introduced in previous commit 9cf94d5
.
2018-10-12 13:29:13 +02:00
omar
9cf94d5dd6
RenderText(), InputTextMultiline(): Optimization for large text by using memchr, wmemchr, wcschr when appropriate.
2018-10-12 12:34:47 +02:00
omar
0fe48cbb61
Renamed misc/stl/imgui_stl.h,.cpp to misc/cpp/imgui_stdlib.h in prevision for other files.( #2035 , #2096 )
...
Added misc/README file.
2018-10-12 11:16:51 +02:00
omar
cf0afb48ac
TextUnformatted: Using memchr(), fixed not properly testing for text_end bound + comments.
...
Internals: Added ImStreolRange() + used in LogRenderedText() + comments.
2018-10-11 12:53:10 +02:00
omar
3d318a6577
ArrowButton(): Fixed arrow shape being horizontally misaligned by (FramePadding.y-FramePadding.x) if they are different.
...
Demo: Added extra usage of AlignTextToFramePadding() in a more visible section.
2018-09-20 10:24:29 +02:00
omar
c12da2a607
BeginMenu(): Fixed menu popup horizontal offset being off the item in the menu bar when WindowPadding=0.0f.
2018-09-14 11:28:08 +02:00
omar
ca5dc0c019
ColorPicker: Replaced the Separator with a Spacing call. ( #2068 )
2018-09-14 10:05:53 +02:00
Elias Daler
ec04e8bb05
Fix MSVC's C4312 warning about casting user texture type to void* in ImageButton ( #2080 )
2018-09-12 22:58:45 +02:00