3348 Commits (ecb9b1e2eba5becc38019b5c9f75fba711cd881b)

Author SHA1 Message Date
omar d6df777ff2 TextWrapped, PushTextWrapPos(0.0f) within a window with horizontal scrolling from not covering the full horizontal area (previously only worked with an explicit contents size). 5 years ago
omar fe32fde376 Internals: Renamed SizeContents to ContentSize, SizeContentsExplicit to ContentSizeExplicit. Tweaked Metrics->Show Rectangles functionality. 5 years ago
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
5 years ago
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. 5 years ago
omar 09bcf9fbc5 Window rectangles: Made InnerRect not affected by window border sizes. its few users shouldn't be meaningfully affected. 5 years ago
omar 57d8ab62f4 Nav: Fixed rare crash when e.g. releasing Alt-key while focusing a window with a menu at the same frame as clearing the focus. This was in most noticeable in some back-ends with emits key release events when focusing another viewport. (#2609) 5 years ago
omar eb7849b477 Nav: Fixed gamepad/keyboard moving of window affecting contents size incorrectly, sometimes leading to scrollbars appearing during the movement. + minor fix with the mostly dead Ctrl+wheel scaling. 5 years ago
omar 546b728199 Internals: Window rectangles: Fixed ContentsRegion lag by moving back after Scrollbar, fixes b50c61c9. Shuffling setup order and added comments. 5 years ago
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. 5 years ago
omar 7755cbbef2 Renamed ImGuiBackendFlags_HasVtxOffset to ImGuiBackendFlags_RendererHasVtxOffset to match naming convention already used in viewport/docking branch. (#2591) + Fix OpenGL3 code missing flag. 5 years ago
omar d1e8b698d0 ImDrawList: Added ImDrawCmd::VtxOffset value to support large meshes (64k+ vertices) using 16-bits indices. To enable the feature, the renderer back-end needs to set 'io.BackendFlags |= ImGuiBackendFlags_HasVtxOffset' and honor the ImDrawCmd::VtxOffset field. Otherwise the value will always be zero. This has the advantage of preserving smaller index buffers and allowing to execute on hardware that do not support 32-bits indices.
ImDrawList: Added ImDrawCmd::IdxOffset value, equivalent to summing element count for each draw command. This is provided for convenience and consistency with VtxOffset. (#2591)
5 years ago
omar 40b9e5e0b4 ImDrawList: Store initial flags for the frame in ImDrawListSharedData, reducing code duplication in setting up the flags. 5 years ago
omar 70d9f79312 Internal: Renamed InnerMainRect to InnerVisibleRect. Printing coordinates in Metrics window. 5 years ago
omar 2d68e892a8 Added full "Dear ImGui" prefix to the title of "Dear ImGui Demo" and "Dear ImGui Metrics" windows. Shortened amount of nodes in columns>tree demo. 5 years ago
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. 5 years ago
omar 6c3697f6f1 Internal: CloseButton takes an upper-left corner + a size to be consistent with similar widgets. 5 years ago
omar 7bc03f7155 Internals: Added InnerWorkRect equal to old InnerClipRect, added InnerWorkRectClipped actually clipped. 5 years ago
omar a2eec8f5b5 Fix OuterRectClipped not being clipped correctly, which resulted in child window outside visible bound to not be marked with SkipItems. Broken in b50c61c961.
+ Comments on InnerClipRect being misleading. Demo: Tweak to sizing of child window in the Layout->Scrolling section.
5 years ago
omar 882d2c3aea Fixed crash when appending with BeginMainMenuBar() more than once and no other window are showing. (#2567) + comments 5 years ago
omar 392ab08580 BeginPopupContextItem(): Skip processing when SkipItems is set as LastItemId is unreliable and we assert when it is zero. + Minor comments on columns. 5 years ago
omar f242cd4d8a Fixed GCC mem-access warnings (#2565)
+ using "if defined" more consistently for Clang.
5 years ago
omar 31e3e861ef Update changelog, comments, made empty/no-text clipboard return NULL as with other implementation. Minor style tweaks. (#2546)
Fixed IMGUI_DISABLE_WIN32_FUNCTIONS not disabling IME code.
5 years ago
Andrew Willmott 02de498a41 Add native mac copy/paste support to match win32 (#2546) 5 years ago
omar fc3c3de551 Fixed uses of IsItemDeactivated(), IsItemDeactivatedAfterEdit() on multi-components widgets and after EndGroup(). (#2550, #1875) 5 years ago
omar 99a845053a Internal: Renamed fields + minor tweaks (probably shallow break stack-layout pr, sorry!) 5 years ago
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 5 years ago
omar 632469d2e5 Renamed SetNextTreeNodeOpen() to SetNextItemOpen(). Refactored SetNextItemXXX stuff to match SetNextWindowXXX code closely. 5 years ago
omar 36e714a459 Internal: Storing flags for NextWindowData so that we can clear everything with a single write and remove dummy condition fields. 5 years ago
omar 0b485f12d7 Internal: Minor tidying/reordering of sections within ImGuiContext / window DC. 5 years ago
omar 7355c84701 Tweak EndGroup() to facilitate fixing #2550 later (currently should have no side-effect0. Demo: Add extra widget to status query test. 5 years ago
omar aca6ee1a91 Cast ImTextureId to void* before printing in Metrics window. (#2548) 5 years ago
omar ef13d95466 IO: changed AddInputCharacter(unsigned short c) signature to AddInputCharacter(unsigned int c).
Examples/Backends: Don't filter characters under 0x10000 before calling io.AddInputCharacter(), the filtering is done in io.AddInputCharacter() itself. This is in prevision for fuller Unicode support. (#2538, #2541)
5 years ago
omar 7c256fbd40 Internal: Extracted some of the Begin code into RenderWindowDecorations(). 5 years ago
omar 72951a1a85 Internal: Extracted some of the Begin code into RenderWindowTitleBarContents(). 5 years ago
omar b50c61c961 Internal: Begin: Update rectangles before Scrollbar() which now uses them. Fixes 39eeda0. 5 years ago
omar e29176df53 Internals: Columns: Renamed fields. Comments and tweak. Moved a demo block. 5 years ago
omar a4d0b0efa4 Internal: Refactored Separator into SeparatorEx(), exposed ImGuiSeparatorFlags_SpanAllColumns in imgui_internal.h and support without. (#759) + misc comments 5 years ago
omar b7c2759f95 Columns: Fixed Separator from creating an extraneous draw command. Fixed Selectable with SpanAllColumns flag from creating an extraneous draw command. (#125) 5 years ago
omar 42fc563fed Version 1.71 WIP + fixed minor typo 6 years ago
omar d1d5075b66 Version 1.70 6 years ago
omar 6c196cf432 Examples Readme and Changelog tweaks, added #2527, re-ordered examples/README alphabetically. 6 years ago
omar 526e2303bc Window: Fixed SetNextWindowSizeConstraints() with non-rounded positions making windows drift. (#2067, #2530) 6 years ago
omar 9c1f02a42c Misc: Made IMGUI_CHECKVERSION() macro also check for matching size of ImDrawIdx. 6 years ago
omar e2166db282 Internals: Fixed incorrect repeat delay/rate calculation in IsMouseClicked() with repeat flag leading to involontary but thankfully doubling the rate. Using our standard function, making the multiplicator explicit. 6 years ago
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) 6 years ago
omar ce19cb465f Internals: Rename GetContentRegionMaxScreen() -> GetWorkRectMax(). At this point this is mostly useful to facilitate merge of other branches. 6 years ago
omar a1c432d1ad Internals: SettingsHandlerWindow_ReadLine uses context parameter. 6 years ago
omar 3fbc0b7a9e Obsoleted GetContentRegionAvailWidth(), use GetContentRegionAvail().x instead. Kept inline redirection function. 6 years ago
omar db2d58a68b Drag and Drop: Fixed drag source with ImGuiDragDropFlags_SourceAllowNullID and null ID from receiving click regardless of being covered by another window (it didn't honor correct hovering rules). (#2521) 6 years ago
omar 0f2852806c Amend 48a09a7 with changelog, breaking changes, tweak demo code for spacing. (#2518) 6 years ago
omar 4dec744795 Tidying up BeginMenu() code + comments. 6 years ago
omar 842a720e72 Popups: Closes popup at the time of FocusWindow(). Fixes right-click from closing all popups instead of aiming at the hovered popup level (regression in 1.67's ae76a1fd). 6 years ago
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.
6 years ago
omar 09db2f6dec Fix 61d9258 when there is not scrollbar "Window: Fixed contents region being off by WindowBorderSize amount on the right when scrollbar is active." 6 years ago
omar 4e81b2d093 Internals: Renaming. Renamed ImGuiPopupRef to ImGuiPopupData for consistency and added constructor. 6 years ago
omar 00b3c830db Internals: Begin: Moved OuterRectClipped/InnerMainRect/InnerClipRect computation higher up in the function, next to ContentsRect/WorkRect code. Removed commented out debug drawing code which is now available in Metrics window. 6 years ago
omar 61d92580aa Window: Fixed contents region being off by WindowBorderSize amount on the right when scrollbar is active. 6 years ago
omar 5d799d76ea Internals: Nav scrolling uses InnerMainRect instead of InnerClipRect. 6 years ago
omar 0ca1675ff9 Internals: TempInputText: Rename InputScalarAsWidgetReplacement() -> TempInputTextScalar(), ScalarAsInputTextId -> TempInputTextId, small tidying up in affected functions. 6 years ago
omar 59a3f0476d Internals: Using more explicit PushOverrideID() helper + renamed equivalent internal tree helper. 6 years ago
omar 4dc4ace864 Window: Fixed window with the AlwaysAutoResize flag unnecessarily extending their hovering boundaries by a few pixels (this is used to facilitate resizing from borders when available for a given window). One of the noticeable minor side effect was that navigating menus would have had a tendency to disable highlight from parent menu items earlier than necessary while approaching the child menu.
+ Changelog fixed unfinished sentence and tweaks,
6 years ago
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.
6 years ago
omar 6db0766564 Misc comments, internal renaming, added disable indentation option to Columns demo section. 6 years ago
omar 59f012d656 Internals: ImHashStr() default parameter. 6 years ago
omar 5078fa208b Added SetNextItemWidth() helper to avoid using PushItemWidth/PopItemWidth() for single items. 6 years ago
omar 0e46d65b03 Misc: Fixed PushItemWidth(-width) (for right-side alignment) laying out certain items (button, listbox, etc.) with negative sizes if the 'width' argument was smaller than the available width at the time of item submission, 6 years ago
omar a1cf7d636d Internals: Rework CalcItemWidth / CalcItemSize but make their similarities and their differences more obvious. (#2449) 6 years ago
omar f355a40367 Added commentary about ContentRegion functions. Added internal GetContentRegionMaxScreen() to facilitate internal code at the moment. 6 years ago
omar 9d4a893a77 Internals: Moved CalcItemSize next to CalcItemWidth, added comments to clarify their respective intent. Should have no side effect. 6 years ago
omar 1aeee9d40f Internals: Columns: Tweaks, renaming. Metrics: Show rectangles for child windows.
Renamed SameLine() first parameter.
6 years ago
omar 1d3ebef364 Columns: Fixed boundary of clipping being off by 1 pixel within the left column. 6 years ago
omar 1f25cdd6b4 Clarified asserts comments + todo entries. (#2500) 6 years ago
omar 7baf45cffa Metrics: Added "Show windows rectangles" tool to visualize the different rectangles. 6 years ago
omar 742b5f4c68 Merged a bunch of small changes from Docking branch to reduce the difference between branches.
Noticeable: horizontal alignment of CloseButton. Menu fill take account of border. Various stylistic tweaks to accomodate other changes in Docking.
6 years ago
omar 311469e9d6 Internals: Columns: Some renaming, extracted code into GetColumnsID(). 6 years ago
omar e805ca29d8 Internals: Moved resize grips and borders to nav layer 1 so that testing system doesn't attempt to scroll to get them inside the InnerRect. 6 years ago
omar fb2626c21b Tests: Added hook/tweaks for imgui-test engine. + Fixed warnings. 6 years ago
omar 07a70dc972 Internals: Merge minor things from range_select branch. Added ImGuiButtonFlags_NoHoveredOnNav. Added IsItemToggledSelected() - unused here. Renaming. 6 years ago
omar 302af7b2c9 FAQ tweaks. Add missing entries in imgui.cpp (which until now where only in the README). 6 years ago
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. 6 years ago
omar fc52364652 Tabs to Spaces, comments. 6 years ago
omar 4a57507f75 InputText: Work-around for buggy standard libraries where isprint('\t') returns true. (#2467, #1336)
Not using isprint. + todo items.
6 years ago
omar 9a0e71a6ec Internals: Renamed the ImGuiWindow HiddenFrameXXX fields to decorrelate them from resizing behavior, as those values are set by other logic. 6 years ago
omar cf1b02e54e Rearrange code in UpdateMouseWheel(). (#2424, #1463) + Fix old io.FontAllowUserScaling feature (probably should be made obsolete, but until then best fixed) 6 years ago
Luca Rood 1963cc59be Implement horizontal scrolling with Shift+Scroll
This is standard scrolling behaviour in most applications.
6 years ago
omar d9f6ba3035 IsWindowHovered() made change which should have no effect in master but fix result of IsWindowHovered(ImGuiHoveredFlags_ChildWindows) over multiple viewport in docking branch. (#2432) 6 years ago
omar 221bf93a55 Comments, todo list, remove trailing spaces. 6 years ago
omar 857381b9ca GetMouseDragDelta(): also returns the delta on the mouse button released frame. Verify that mouse positions are valid otherwise returns zero. Removed obsolete comment. Tweaked demo. (#2419) 6 years ago
omar cf2c52282d Version 1.70 WIP 6 years ago
omar 55c02099c5 Version 1.69, comments, typos 6 years ago
omar a26085ed53 Internals: Fixed Navigation from reaching ImGuiItemFlags_Disabled items (#211) + Examples comments 6 years ago
Bruce Mitchener b5d57a6615 Fix typos. (#2413) 6 years ago
Bruce Mitchener 17c567c3a9 Don't use const qualified parameters in declarations.
This fixes warnings from clang-tidy like this:

    parameter 'v_max' is const-qualified in the function declaration;
    const-qualification of parameters only has an effect in function definitions

Since values (rather than references or pointers) don't need to be
const, they don't need to be marked that way in the function declaration.
6 years ago
omar 66936880ba Moved placeholder sections to match Docking branch. Comments. 6 years ago
omar f717df4eb6 Internal: Columns: Allow to use BeginColumns(1) so code designed for variable number of columns can still call NextColumn etc. (#125) 6 years ago
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.
6 years ago
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). 6 years ago
omar ce4e62649a Internal: Tabbing: Tweaks to FocusableItemRegister and using the standard mechanism to allow/block Tab being interpreting by tabbing instead of InputText() widget. 6 years ago
omar ac4842fa17 Nav: Fixed Ctrl+Tab keeping active InputText() of a previous window active after the switch. (#2380) 6 years ago
omar 94e794f81b Renamed GetOverlayDrawList() to GetForegroundDrawList() for consistency. Kept redirection function (will obsolete). (#2391)
Demo: Using GetBackgroundDrawList() and GetForegroundDrawList() in "Custom Rendering" demo.
6 years ago