ocornut
fbe74ed50c
Tab Bar: zero clear more structures.
4 years ago
ocornut
8c9b3c9013
Tab Bar: Fixed using more than 128 tabs in a tab bar.
...
Using ImS16 consistently + some better packing to avoid struct growing size.
4 years ago
ocornut
748bd1ba9c
Tab Bar: Restore cursor position in EndTabBar() when amending (amend f2f32602
) + made LastTabItemIdx consistent ImS8 as other tab storage relies on same type
4 years ago
ocornut
f2f326024c
Tab Bar: Made it possible to append to an existing tab bar by calling BeginTabBar()/EndTabBar() again.
4 years ago
ocornut
04de5ef819
Version 1.80 WIP
4 years ago
ocornut
a38c6dfcc8
Internals: Added support for context hooks (for test engine or other extensions)
4 years ago
ocornut
e5cb04b132
Version 1.79
...
+ Update readme and mission statement.
Removed "Minimize screen reel-estate usage", removed details on memory consumption (still very valid, just too much noise in a mission statement)
4 years ago
ocornut
4fd43a8b64
Internals: removed NavLayerCurrentMask (redundant, add extra shift in ItemAdd().
4 years ago
ocornut
1ec464eb9a
Tab Bar: Further simplification of section/clip rect handling. ( #3291 )
4 years ago
ocornut
6b76781c66
Tab Bar: Tidying up. Rework ShrinkWidths to allow marking tabs as not shrinkable (unused yet) + don't unnecessarily move data within ShrinkWidthBuffer. ( #3291 )
4 years ago
ocornut
205874f5b1
Tab Bar: Fix reorderable tab bars. Fix misleading use of tab_max_width in TabBarLayout(). Misc amends, shortening. ( #3291 )
4 years ago
Louis Schnellbach
3422cb1308
Tab Bar: Various fixes. Tried to reduce code complexity. ( #3291 )
4 years ago
ocornut
5e5f25e2dd
Tab Bar: Rename named sections members into array. Various tidying up. ( #3291 )
4 years ago
Louis Schnellbach
7ac16c02cc
Tab Bar: Fix multiple width and position computation issue. ( #3291 )
4 years ago
ocornut
f23c39c395
Tab Bar: Fixed handling of scrolling policy with leading/trailing tabs. + warning fixes + bunch of renaming. ( #3291 )
...
Demo tweaks.
4 years ago
Louis Schnellbach
4a57a982be
Tab Bar: Added TabItemButton(), ImGuiTabItemFlags_Leading, ImGuiTabItemFlags_Trailing + demo. ( #3291 )
...
(squashed various commits by 2 authors)
4 years ago
ocornut
29836412e1
Internals, CollapsingHeader, TabItem: Standardized using a #CLOSE id prefix for TabItem and ColllapsingHeader (same as window)
4 years ago
ocornut
c47bcb25ed
Fix popup and tooltip positioning when not fitting in the screen. Amend fa42ccea8.
...
# Conflicts:
# docs/CHANGELOG.txt
4 years ago
Rokas Kupstys
b2039aac67
Slider: Fixed to reach maximum value with inverted integer min/max ranges, both with signed and unsigned types. Added reverse Sliders to Demo. ( #3432 , #3449 )
4 years ago
ocornut
70289ab42c
Scrolling: Fixed edge snapping being applied prior to knowing ContentSize. ( #3452 )
...
Fix 473a01adb
.
4 years ago
ocornut
8db94cd992
Internals: Scroll related, comments & shallow tweaks.
4 years ago
ocornut
f4d062fa11
Nav: Added debug logging, extract bits of code into NavUpdateInitResult().
4 years ago
ocornut
ce230fc370
Internals: TabBar renaming and shuffling stuff around.
...
+ sneaking a readme change
4 years ago
ocornut
13f718337a
Internals: Added support for overriding locale decimal point, undocumented. ( #2278 ) + Misc doc update.
...
Doc: Mention IMGUI_VERSION_NUM in recent api breaking changes + textwrap some demo code.
4 years ago
ocornut
093afd4f7f
Internals: Added Name to ImGuiDataTypeInfo + minor misc comments in BeginGroup().
4 years ago
Louis Schnellbach
8c80d533d9
Tab Bar: Fixed a small bug where toggling a tab bar from Reorderable to not Reorderable would leave tabs reordered in the tab list popup.
4 years ago
ocornut
1e8b9f84da
Nav: Removed stateful NavMoveFromClampedRefRect and made it more explicit that nav move request from gamepad start from a clipped location.
4 years ago
Rokas Kupstys
021c28ae39
Nav: Fix ScrollToBringRectIntoView() not bringing entire item into view when nav moves to the left. Correct some comments.
4 years ago
omar
2e50d0706b
Selectable: Tweaks. Added internal ImGuiSelectableFlags_NoPadWithHalfSpacing.
4 years ago
ocornut
7b0570d6ba
Revert "Drags, Sliders: internal ReadOnly flag gets forwarded properly to temp InputText()."
...
This reverts commit 640d1f60ce140e4c2bf858ac2f2e8a96d432e6a4.
4 years ago
ocornut
fdf952108d
Drags, Sliders: internal ReadOnly flag gets forwarded properly to temp InputText().
4 years ago
ocornut
9262609eaf
Version 1.79 WIP
4 years ago
ocornut
fc9ccad6b9
InputText: Add ImGuiInputTextFlags_CallbackEdit, selection helpers in ImGuiInputTextCallbackData(). Add simple InputText() callbacks demo.
4 years ago
ocornut
4c201994d4
DragFloat, DragScalar: Fixed ImGuiSliderFlags_ClampOnInput not being honored in the special case where v_min == v_max. ( #3361 )
4 years ago
ocornut
95c99aaa4b
Version 1.78
4 years ago
ocornut
c6b01e8e1d
Drag, Sliders: Merged ImGuiDragFlags back into ImGuiSliderFlags. ( #3361 , #1823 , #1316 , #642 , #1829 , #3209 )
...
Technically API breaking (but ImGuiDragFlags were pushed on master 16 hours ago)
4 years ago
omar
f32663b33c
Drags, Sliders: Removed locking behavior with min > max (added in 1.73)
4 years ago
omar
7f8f0096d8
Internals: Renamed SliderCalcRatioFromValueT() -> ScaleRatioFromValueT(), SliderCalcValueFromRatioT() -> ScaleValueFromRatioT().
...
Replaced drag/slider flags with a single bool is_logarithmic in those functions.
4 years ago
Ben Carter
fa279a6aa0
Drags, Sliders: Added deadzone to make selecting 0.0 on linear sliders easier, slider navigation delta accumulation. ( #3361 , #1823 , #1316 , #642 )
4 years ago
omar
7607aea018
Drags, Sliders: Removed power features. Old entry points will pass-through if power=1.0f, otherwise assert + safe fallback. Remove 3 redirection functions ( #3361 , #1823 , #1316 , #642 )
4 years ago
omar
43c099f31e
Drags, Sliders: Logarithmic: Moved flags to internals, allowing 1.0f to pass by. ( #3361 , #1823 , #1316 , #642 )
4 years ago
omar
152dae9e2a
Drags, Sliders: Logarithmic: Split back flags into drag/slider flags. Moved to an obsolete section. ( #3361 , #1823 , #1316 , #642 )
4 years ago
Ben Carter
9f98b4e7f2
Drags, Sliders: Logarithmic: Added logarithmic mode support to drag widgets, extended API to add flags to drag/sliders ( #3361 , #1823 , #1316 , #642 )
4 years ago
Ben Carter
a252a287bf
Drags, Sliders: Logarithmic: WIP experiments with trying to make logarithmic sliders sensible ( #3361 , #1823 , #1316 , #642 )
4 years ago
ocornut
46d75202b8
Tab Bar: Allow calling SetTabItemClosed() after a tab has been submitted (will process next frame).
...
+ larger combo height on TabBarTabListPopupButton()
4 years ago
omar
214dd68ec1
Comments, clarifying ClosePopupsOverWindow().
4 years ago
omar
a4dd4d60b4
CI: moved static analysis to a separate project + fix (uninitialized variable, was harmless in this case).
4 years ago
omar
8241cd6284
Make moving window prevent its active id from being stolen ( #3392 , #3243 , #1738 )
...
Amend 7b3d379
, 615e9ae3
# Conflicts:
# imgui.cpp
# imgui_widgets.cpp
4 years ago
omar
89ac87cd91
Internals: Added SetLastItemData, rename ImGuiItemHoveredDataBackup to ImGuiLastItemDataBackup.
4 years ago
omar
8074b49148
Selectable: Fixed highlight/hit extent when used with horizontal scrolling (in or outside columns). ( #3187 , #3386 )
...
# Conflicts:
# imgui_widgets.cpp
4 years ago
omar
4929a8e4a5
InvisibleButton: Made public a small selection of ImGuiButtonFlags (previously in imgui_internal.h) and allowed to pass them to InvisibleButton().
5 years ago
omar
a876ad877d
Window: Fixed clicking over an item which hovering has been disabled (e.g inhibited by a popup) from marking the window as moved.
...
+ comments
5 years ago
omar
76ddacd2a1
Internals: Backport HoveredWindowUnderMovingWindow code from Docking branch.
...
(effectively allowing a window to be a drag payload without have to make it _NoInputs)
5 years ago
omar
218ff3a2a5
Internals: Backport one ->WasActive test in NavRestoreLastChildNavWindow() from 9bf6509c6
+ minor/shallow bits from docking branch.
5 years ago
omar
c7f5876f8a
Internals: backport window HitTestHole code from docking branch + RenderRectFilledWithHole() helper. ( #1512 , #3368 )
5 years ago
omar
fdc526e8f8
Stop advertisting for Drag v_min>v_max which was introduced in 1.73 likely for 0537ac00
then made unnecessary with 32c33c66
, added undocumented ImGuiItemFlags_ReadOnly as possible replacement (unused), ( #211 )
5 years ago
omar
b335225caa
Internals: Extract ImFontAtlasBuildRender1bppRectFromString() out of ImFontAtlasBuildRenderDefaultTexData() + minor renaming, comments
5 years ago
omar
3a6c9907cd
Texture-based thick lines: Minor tweaks and rename toward merging in master. Changes to allow changing AA_SIZE (disable texture path).
5 years ago
omar
78d6bdf080
Texture-based thick lines: Remove unnecessary indirection in fetching UV data, removed lerp call, renames, tweaks.
5 years ago
Ben Carter
403bf45245
Texture-based thick lines: Allow interpolation between textures for non-integer line widths
5 years ago
omar
222b7ddbfa
Texture-based thick lines: Tweaks, fix for truetype builder.
5 years ago
Ben Carter
741ab74b55
Texture-based thick lines: Improvements to code for drawing anti-aliased lines using textures
...
Moved line width into a constant
Removed test code (now in imgui-tests)
Improved matching between geometry and texture rendering at non-integer sizes
5 years ago
Ben Carter
1d3c3070d8
Texture-based thick lines: Initial version of AA line drawing using textures (press SHIFT to enable)
5 years ago
omar
ab4ef822f0
Version 1.78 WIP
5 years ago
Rokas Kupstys
0738611559
Misc: Bunch of code formatting changes suggested by a pass running 'astyle'
5 years ago
omar
dca7c3c629
TestEngine: Added hook to notify test engine of a removed imgui context.
5 years ago
omar
9418dcb693
Version 1.77
...
+ fix minor clang-tidy warnings which seems reasonable
5 years ago
omar
fed80b9537
Popups: Changed 'int mouse_buttons' to ImGuiPopupFlags. Added ImGuiPopupFlags_NoOpenOverExistingPopup, ImGuiPopupFlags_NoOpenOverItems. Refactored signature of BeginPopupContextWindow().
5 years ago
omar
5acf6d861a
Popups: Added ImGuiPopupFlags type, ImGuiPopupFlags_AnyPopupId and ImGuiPopupFlags_AnyPopupLevel flags for IsPopupOpen().
...
# Conflicts:
# docs/CHANGELOG.txt
5 years ago
omar
e0ec69d84b
Internals: Added ImageButtonEx() helper to temporarily bypass ID issues ( #2464 , #1390 )
5 years ago
omar
8ead38c100
Clang: Reduce uses of __has_warning for overall sanity, as compilers are hostile to software targetting multiple compiler version.
5 years ago
omar
704723744e
Disabled latest overzealous warnings from Clang
5 years ago
ocornut
37eb89371b
Popups: Internals: Added IsAnyPopupOpen().
5 years ago
ocornut
d31fe97f74
Popups: Fix an edge case where programatically closing a popup while clicking on its empty space would attempt to focus it and close other popups. ( #2880 )
5 years ago
omar
90c0c0c163
Columns: Lower overhead on column switches and switching to background channel. (second attempt for 9b3ce49
)
...
Internals: Bits, comments, added ImRect::ToVec4()
5 years ago
ocornut
16da8e6da6
Revert "Columns: Lower overhead on column switches and switching to background channel (some stress tests in debug builds went 3->2 ms). ( #125 )"
...
This reverts commit 9b3ce494fd
.
5 years ago
ocornut
9b3ce494fd
Columns: Lower overhead on column switches and switching to background channel (some stress tests in debug builds went 3->2 ms). ( #125 )
...
This change benefits Columns but was primarily made with Tables in mind.
5 years ago
ocornut
57191fe3d0
Comments about limiting WindowRounding to a reasonable size.
5 years ago
ocornut
41e8837f59
Comments, adding some spacing in ImVec2() constructors.
5 years ago
omar
476daf9aac
Settings: Added ReadInitFn pre-load handler.
...
(docking branch already has it, so it'll probably conflict with same contents)
5 years ago
Rokas Kupstys
a6f4b0fd70
Nav, Menus: Fix vertical wrap-around in menus or popups created with multiple appending calls to BeginMenu()/EndMenu() or BeginPopup/EndPopup(). ( #3223 , #1207 )
...
First call to EndPopup() called NavRequestTryWrapWindow() which performed wrap-around operation while we were not done composing menu. This resulted in navigation wrapping around to first item.
Since wrap-around operation is only valid in last call to EndPopup() and there is no way to know which call is last - this operation is delayed to the end of the frame.
5 years ago
omar
4f33dd15c4
Internals: stand-in for large branches to facilitate merging.
5 years ago
omar
5f752a5ba9
Internals: shuffling some sections (2)
5 years ago
omar
f466cfc2ca
Internals: shuffling some sections, added index.
5 years ago
omar
3aa1684129
Comments
5 years ago
omar
d33021d828
Settings: Made it possible to load window .ini data mid-frame. Added clear and post-read handlers. ( #2573 )
5 years ago
omar
b6a04d7750
Settings: Added Clear Settings in Metrics. ( #2188 ) + Preserve last loaded copy in internal buffer used for save (so it can be browsed easily).
5 years ago
omar
0679e05677
Internals: Added code in TempInputScalar() to clamp values, NOT used by stock Drag/Float ( #3209 , #1829 , #946 , #413 )
5 years ago
omar
b4dd28ffbb
Style: Added style.TabMinWidthForUnselectedCloseButton settings.
...
Set to 0.0f (default) to always make a close button appear on hover (same as Chrome, VS).
Set to FLT_MAX to only display a close button when selected (merely hovering is not enough).
Set to an intermediary value to toggle behavior based on width (same as Firefox).
5 years ago
ocornut
c0283c1289
TestEngine: Changed PushID hooks into GetID(), makes more sense and catches more information.
5 years ago
omar
9f9ff84ba1
TestEngine: Added PushID() hooks.
5 years ago
omar
b0e9092d6f
TestEngine: Added extra storage and global enable flag. Added missing ItemInfo hooks.
5 years ago
omar
3233fbff0e
Internals: Added SetNextWindowScroll() ( #1526 )
5 years ago
omar
1fd9e131e4
TreeNode: Fixed bug where dragging a payload over a TreeNode() with either _OpenOnDoubleClick or _OpenOnArrow would open the node. ( #143 )
5 years ago
omar
e8c986b34e
Version 1.77 WIP
5 years ago
omar
5503c0a12e
Version 1.76
...
+ fixed PVS warning, update demo binaries, update readme image
5 years ago
omar
f7852fa8e8
Internals: Extracted GetWindowScrollbarRect() out of Scrollbar() and tidying up code to make it more obvious how to draw over scrollbars. ( #3114 )
5 years ago
omar
fb70d90fef
Made default clipboard handlers for Win32 and OSX use a buffer inside the main context instead of a static buffer, so it can be freed properly on Shutdown. ( #3110 )
5 years ago
omar
4e7ceb5f90
Plot: Internals: Added hovered index to PlotEx() function. ( #2670 )
5 years ago
omar
b7e1b13ca7
Update docs, FAQ, comments (mainly related to io.WantCaptureMouse / WantCaptureKeyboard flags).
5 years ago
omar
fd56de1144
Nav: Store key mods associated to a nav request (for range_select) + use io.KeyMods.
...
+ renamed NavScoringRectScreen > NavScoringRect
5 years ago
omar
5be5add1ad
Selectable: Removed extraneous WindowPadding.x worth of width when auto-sized selectable label goes off available width (would not be noticeable) + Renamed ImGuiSelectableFlags_DrawFillAvailWidth to ImGuiSelectableFlags_SpanAvailWidth.
5 years ago
omar
b4d1287011
Selectable: Clarifying the code around use of ImGuiSelectableFlags_DrawFillAvailWidth (with intent of trying to remove it).
...
Amend old 6251d379
, 2bcafc86
5 years ago
omar
bdd31ec4db
Internal: Refactor: Moved RenderColorRectWithAlphaCheckerboard() to imgui_draw.cpp, tweaked signature.
5 years ago
omar
0bbbbe0f68
Internal: Refactor: Moved RenderArrow, RenderBullet, RenderCheckMark to imgui_draw.cpp, changed RenderCheckMark to avoid using ImGui context
5 years ago
ocornut
339ffd25a9
Internals: Renamed ImBoolVector to ImBitVector, added low-level loose function to replicate the behavior include a help SetBitRange() function.
5 years ago
ocornut
1d5612a05e
Internal: Added two missing ImVec2 operators for consistency. Split up DragDropWithinSourceOrTarget
...
ImVec2 *= ImVec2 to match ImVec2 * ImVec2, likewise with /
5 years ago
ocornut
9a46a19e99
Internals: Rename ImGuiSelectableFlags_PressedOnXXX to ImGuiSelectableFlags_SelectOnXXX, ImGuiButtonFlags_NoHoveredOnNav to ImGuiButtonFlags_NoHoveredOnFocus.
5 years ago
ocornut
aef057e975
Internals: Added GetInputTextState() + comments.
5 years ago
ocornut
0850b46c88
ImDrawList: Internals: Added IM_DRAWLIST_ARCFAST_TESSELLATION_MULTIPLIER setting.
5 years ago
ocornut
24bd33ace8
Menus: Some renaming, comments, add to demo. Amend 0342a3c
. ( #1207 )
5 years ago
Rokas Kupstys
0342a3c548
Menus: Implement BeginMenu() appending to existing menu when executed with same ID multiple times. ( #1207 )
5 years ago
ocornut
898e91f20d
Internals: Added TempInputText() to facilitate creation of custom widgets, renamed TempInputTextScalar() to TempInputScalar() etc. ( #2718 )
...
+ Minor imgui.h/todo comments
5 years ago
Omar
b62f1ea8e9
Fix zealous PVS studio warnings. Minor tweaks.
5 years ago
omar
ccaec1a270
Version 1.76 WIP
5 years ago
omar
30bb15672d
Remove trailing spaces
5 years ago
omar
d16c87a5b1
Internals: Minor renaming
5 years ago
omar
58b3e02b95
Version 1.75
...
Comments
5 years ago
omar
d37d25470a
Added IMGUI_DISABLE compile-time definition to make all headers and sources empty.
5 years ago
omar
5a437f198c
Internals: GetItemStatusFlags(). Added Comments.
5 years ago
omar
47fab0e166
Misc renaming, comments. Docs: add missing spacing to Changelog.
5 years ago
Rokas Kupstys
9cff4d6e5e
Columns: ImDrawList::Channels* functions now work inside columns.
...
Use a private splitter in columns, paving way for removal of obsolete ImDrawList::Channels* functions.
5 years ago
Konstantin Podsvirov
8cbb693f47
Emscripten: Allow filesystem support. ( #3005 )
...
Filesystem functions perfectly work for Emscripten platform. This changes remove extra changes added by #2734 .
You can still disable filesystem functions by defining IMGUI_DISABLE_FILE_FUNCTIONS.
5 years ago
omar
6e1f8be07b
Window: Fix SetNextWindowBgAlpha(1.0f) failing to override alpha component. ( #3007 )
5 years ago
omar
0e89041997
Internals: ButtonEx, ButtonBehavior can support multiple mouse buttons.
5 years ago
omar
5f4dfad5b7
Merge misc/shallow changes from Docking to reduce drift.
...
Most are comments. Fix menu bar clipping: 07ff47bf1b
5 years ago
omar
6c1a73774d
Tooltip: Testing DragDropWithinSourceOrTarget in BeginTooltipEx() instead of just BeginTooltip() - feel this was an overlook. Added tooltip flags instead of using bool.
5 years ago
omar
4d4e3b97f4
TODO, Readme
...
(dropped TreeNode_NoIndent flag from todo, as it feels unnecessary)
5 years ago
omar
5363af7f47
AddCircle, AddCircleFilled: Add auto-calculation of circle segment counts (amends)
...
Tweak default max error value, Changelog, comments, path-fast for 12 segments circles, made LUT store ImU8
5 years ago
Ben Carter
051ce0765e
AddCircle, AddCircleFilled: Add auto-calculation of circle segment counts
5 years ago
omar
2eda3585e7
Fixed hoverable/focus bug introduced in 3fe6ae97
( #2997 )
...
+ ArrowButtonEx() internal bits.
5 years ago
omar
3fe6ae9732
Internals: Move some Nav functions and members around (no functional change) + Misc comments
5 years ago
omar
15c6abe4be
Internals: Standard math functions default redirection uses a define instead of an extraneous inline function call
5 years ago
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)
5 years ago
omar
f6d6880a61
Internals: Nav: PushFocusScope, PopFocusScope, GetFocusScopeID() helpers
5 years ago
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.
5 years ago
omar
e2eb0b4bc4
Internals: Begin tries to setup WindowTemp/DC members in same order as their declaration. Readme: remove Coverity banner (PVS is better)
5 years ago
omar
02c2d18aa3
Internals: Renaming and marking of legacy focus/tabbing system
5 years ago
omar
52334ad8df
Internals: Minor ordering/comments of ImGuiWindowTempData.
5 years ago
omar
4b3c5ff5f1
Comments + minor moving
5 years ago
omar
1eb71fc72b
ButtonBehavior: Added ImGuiButtonFlags_PressedOnClickReleaseAnywhere behavior ( #2971 )
...
Rearranged flags. Added tests in 'widgets_button_press'
5 years ago
omar
1db78b8ca7
Renaming + missing initialization + missing Changelog update.
5 years ago
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.
5 years ago
omar
d581939387
Removed trailing spaces.
5 years ago
omar
854fc08194
Amend f70204f2
to facilitate merges.
5 years ago
omar
a610f1da52
Bezier Tweaks, fixed parameter order of 3831d50
5 years ago
Rokas Kupstys
3831d50ab9
Add ImBezierClosestPoint() function which returns a point on bezier curve which is closed to a specified point.
5 years ago
omar
10fdc03a46
Clarification about Im helpers + moving GetColorXXX functions outside of that block.
5 years ago
omar
43bd80a40d
Internals: Breaking: ImRect() default constructor initializes all fields with 0.0f
...
Instead of (FLT_MAX,FLT_MAX,-FLT_MAX,-FLT_MAX). Previous behavior was designed for adding into a bounding box but rarely relied on and not worth it.
5 years ago
omar
e42c1e1668
Exposed IMGUI_DEBUG_PARANOID in imconfig.h + using a #define with no value to match other uses in imconfig.h
5 years ago
Ben Carter
697f15e339
Added PrimUnreserve() API. Obsoleted calling ImDrawList::PrimReserve() with a negative count.
5 years ago
omar
e4a59d0025
TabItem: honor ImGuiTabItemFlags_NoCloseButton passed as parameter (although undocumented and part of private api) ( #2923 )
5 years ago
omar
f656e7775e
Inputs: Added ImGuiMouseButton enum for convenience (e.g. ImGuiMouseButton_Right=1).
...
We forever guarantee that the existing value will not changes so existing code is free to use 0/1/2.
5 years ago
omar
abaf0256b8
Version 1.75 WIP
...
Added message to font file loading assert.
5 years ago
omar
a8092085b1
Internal: Added unused parameter named to facilitate cimgui parsing of imgui_internal.h
...
https://github.com/cimgui/cimgui/issues/108
5 years ago
omar
bdce833636
Version 1.74
5 years ago
omar
bbe0409942
Metrics: Show wire-frame mesh and approximate surface area when hovering ImDrawCmd. Amend aeb5795
.
...
Internals: Added ImTriangleArea()
5 years ago
omar
b205ab01f2
Internals: Added IM_ASSERT_PARANOID, IMGUI_DEBUG_PARANOID define. Shuffled a bit of the macros section in imgui_internal.h
5 years ago
omar
a899c1e570
Internals: Using ImU64 for internal ImFile api so we can later wrap them to fseeko/ftello//_fseeki64/_ftelli64 ( #2734 )
5 years ago
omar
ecbedc8c26
Tweaks, ammend 93efa54
, rename to IMGUI_DISABLE_DEFAULT_FORMAT_FUNCTIONS ( #1038 )
5 years ago
omar
4e90906b04
Added IMGUI_DISABLE_DEFAULT_FILE_FUNCTIONS / IMGUI_DISABLE_FILE_FUNCTIONS #2734 )
...
Using in Emscripten example.
5 years ago
omar
93efa5415f
Renamed IMGUI_DISABLE_FORMAT_STRING_FUNCTIONS to IMGUI_DISABLE_DEFAULT_FORMAT_STRING_FUNCTIONS. ( #1038 )
...
Renamed IMGUI_DISABLE_MATH_FUNCTIONS to IMGUI_DISABLE_DEFAULT_MATH_FUNCTIONS.
5 years ago
omar
ca30ef4269
Drag and drop: Increase local payload buffer from 8 to 16 bytes.
5 years ago
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().
5 years ago
omar
be05e12e21
Misc: Using static_assert() when using C++11, instead of our own construct (avoid zealous Clang warnings).
5 years ago
omar
03852470de
Internals: Routing recoverable user errors via IMGUI_USER_ERROR() macro. ( #1651 )
5 years ago
omar
25eee91542
Error handling: Assert if user mistakenly calls End() instead of EndChild() on a child window. ( #1651 )
...
Internals: Moved some error handling code.
5 years ago
omar
b138f8cbcd
Internal: Nav rename preparing for nav inputs ownership changes. IsNavInputPressed() -> IsNavInputTest()
5 years ago
omar
57dc34f4e8
TreeNode: Added IsItemToggledOpen() to explicitly query if item was just open/closed, facilitating interactions with custom multi-selections patterns. ( #1896 , #1861 )
5 years ago
omar
011d475532
TreeNode: The collapsing arrow accepts click even if modifier keys are being held, facilitating interactions with multi-select patterns. ( #2886 , #1896 , #1861 )
5 years ago
omar
d003674f2c
Internals: Added ImChunkStream, used by window settings. (more generic followup to 4c13807
, the class will be used more extensively by Tables)
5 years ago
omar
a337e219b6
Internals: ImPool: Renaming.
5 years ago
omar
28f1d60de1
Internals: Renaming + added ImStrSkipBlank() from docking branch.
...
(cherry picked from commit a573943fa0ce323ffb4080e57f5e8fe1bc777c36)
5 years ago
omar
09b2310237
Internals: Added index of helpers and shuffled a few things.
5 years ago
omar
4c13807b7d
Misc: Optimized storage of window settings data (reducing allocation count).
5 years ago
omar
8fee5a4349
Internals: Renaming for consistency.
5 years ago
stfx
6bf5aed325
Declaration and assignment can be joined, Member function may be 'const'. ( #2875 )
5 years ago
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)
5 years ago
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)
5 years ago
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 bc165df6fd7969605bbc07b8a6d3d28f9109e8f3)
5 years ago
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.
5 years ago
omar
c7bdec7e18
InputText, Nav: Fixed Left!Right keys broken when activating Keyboard Navigation. ( #787 ) Amend 892dfb1
5 years ago
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 )
5 years ago
omar
a6c3be4bda
Internals: Tweaks to ItemSize() should be harmless. Added DebugDrawItemRect() helper.
5 years ago
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 )
5 years ago
omar
c262276988
Version 1.74 WIP
5 years ago
omar
d5efe16157
Version 1.73
5 years ago
omar
ca858c084b
Demo tweaks. Comments. Compacting the rarely used AutoFitXXX fields in ImGuiWindowTempData.
5 years ago
omar
52deb415e0
Internal: Refactored internal RenderMouseCursor so colors can be specified. ( #2614 )
5 years ago
omar
25849234f6
Internal: Tree: tweaks (initially tried to implement auto-scrolling, stashed)
5 years ago
omar
eab03f4467
Selectable: Added ImGuiSelectableFlags_AllowItemOverlap flag in public api (was previously internal only).
5 years ago
omar
38d22bc47d
ColorPicker / ColorEdit: restore Hue when zeroing Saturation. ( #2722 , #2770 ) - changelog, fixed uninitialized variables, tweaks, renaming.
5 years ago
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.
5 years ago
omar
74e01e62ce
Fixed unused static function warning for some compilers. ( #2793 )
5 years ago
omar
3b014d0c31
Merge branch 'features/ellipsis_rendering'
...
# Conflicts:
# imgui.cpp
5 years ago
omar
7d5a17e5e4
Remove trailing spaces (grep for ' \r?$' in visual studio)
5 years ago
Rokas Kupstys
45405f0dc9
Font: implement a way to draw narrow ellipsis without relying on hardcoded 1 pixel dots. ( #2775 )
...
This changeset implements several pieces of the puzzle that add up to a narrow ellipsis rendering.
## EllipsisCodePoint
`ImFontConfig` and `ImFont` received `ImWchar EllipsisCodePoint = -1;` field. User may configure `ImFontConfig::EllipsisCodePoint` a unicode codepoint that will be used for rendering narrow ellipsis. Not setting this field will automatically detect a suitable character or fall back to rendering 3 dots with minimal spacing between them. Autodetection prefers codepoint 0x2026 (narrow ellipsis) and falls back to 0x0085 (NEXT LINE) when missing. Wikipedia indicates that codepoint 0x0085 was used as ellipsis in some older windows fonts. So does default Dear ImGui font. When user is merging fonts - first configured and present ellipsis codepoint will be used, ellipsis characters from subsequently merged fonts will be ignored.
## Narrow ellipsis
Rendering a narrow ellipsis is surprisingly not straightforward task. There are cases when ellipsis is bigger than the last visible character therefore `RenderTextEllipsis()` has to hide last two characters. In a subset of those cases ellipsis is as big as last visible character + space before it. `RenderTextEllipsis()` tries to work around this case by taking free space between glyph edges into account. Code responsible for this functionality is within `if (text_end_ellipsis != text_end_full) { ... }`.
## Fallback (manually rendered dots)
There are cases when font does not have ellipsis character defined. In this case RenderTextEllipsis() falls back to rendering ellipsis as 3 dots, but with reduced spacing between them. 1 pixel space is used in all cases. This results in a somewhat wider ellipsis, but avoids issues where spaces between dots are uneven (visible in larger/monospace fonts) or squish dots way too much (visible in default font where dot is essentially a pixel). This fallback method obsoleted `RenderPixelEllipsis()` and this function was removed. Note that fallback ellipsis will always be somewhat wider than it could be, however it will fit in visually into every font used unlike what `RenderPixelEllipsis()` produced.
5 years ago
omar
b05f6f6f50
Nav, Scrolling: Added support for Home/End key. ( #787 )
5 years ago
omar
c077dd4872
Fixed missing IMGUI_API for IsMouseDragPastThreshold().
5 years ago
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
.
5 years ago