Commit Graph

  • 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(). omar 2019-07-19 13:28:40 -07:00
  • 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. omar 2019-07-19 12:11:00 -07:00
  • 047dc16af5 Debug Tools: Added DebugStartItemPicker() in imgui_internal.h to facilitate binding this anywhere in user's tool. Adedd highlight. Added IMGUI_DEBUG_TOOL_ITEM_PICKER_EX to break in ItemAdd(). ocornut 2019-07-19 10:48:22 -07:00
  • 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)" omar 2019-07-19 11:22:39 -07:00
  • 7fd34d4f30 Merge branch 'master' into docking omar 2019-07-17 18:48:16 -07:00
  • 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) omar 2019-07-17 18:40:48 -07:00
  • 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) omar 2019-07-17 17:09:47 -07:00
  • 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. omar 2019-07-17 15:11:52 -07:00
  • 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. omar 2019-07-17 14:02:45 -07:00
  • bb2aa5e770 Docking: Making it possible to undock a node by clicking on the tab bar / title bar for the node. (#2645, #2109) omar 2019-07-17 13:55:00 -07:00
  • ea79992d9a Fixed old SetWindowFontScale() api value from not being inherited by child window. Added comments about the right way to scale your UI (load a font at the right side, rebuild atlas, scale style). + Added missing IMGUI_API marker to the EmptyString storage used by ImGuiTextBuffer. (#2672) omar 2019-07-17 09:59:10 -07:00
  • 56e10f1c35 Merge branch 'master' into docking omar 2019-07-16 18:29:31 -07:00
  • 130b44994e Debug, Metrics: Added "Tools->Item Picker" tool which allow clicking on a widget to break in the debugger within the item code. The tool calls IM_DEBUG_BREAK() which can be redefined in imconfig.h if needed. omar 2019-07-16 18:25:49 -07:00
  • 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. omar 2019-07-16 16:43:21 -07:00
  • 718e15c7de Docking: Fix so that an appearing window making a dock node reappear won't have a zero-size on its first frame (because dock node ->Size was 0.0 unlike ->SizeRef) (#2109) Docking: Added ImGuiDockNode to .natvis file. omar 2019-07-16 11:45:52 -07:00
  • a35f42f123 Removed TreeAdvanceToLabelPos() which is rarely used and only does SetCursorPosX(GetCursorPosX() + GetTreeNodeToLabelSpacing()). Kept redirection function (will obsolete). (#581, #324) omar 2019-07-15 18:14:14 -07:00
  • 3d07c7cbe4 TabBar: Fixed unfocused tab bar separator color (was using ImGuiCol_Tab, should use ImGuiCol_TabUnfocusedActive). omar 2019-07-15 17:56:20 -07:00
  • 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. omar 2019-07-14 18:01:06 -07:00
  • 8bc6d976cb Docking: Fixed using ImGuiDockNodeFlags_AutoHideTabBar with ConfigDockingTabBarOnSingleWindows. (#2109) omar 2019-07-15 14:17:01 -07:00
  • dd80db87a6 Viewport: Added ImGuiViewportFlags_NoAutoMerge to prevent merging into host viewport in a per-window basis via the ImGuiWindowClass override mechanism. (#1542) omar 2019-07-15 13:35:21 -07:00
  • e461e7bc7a Moved ImGuiColumnsFlags erroneously forward declared in imgui.h + demo bit. omar 2019-07-14 12:28:42 -07:00
  • 71d20abbc3 Settings: Minor optimization to reduce calls in SettingsHandlerWindow_WriteAll. omar 2019-07-12 13:33:24 +02:00
  • d52c6316c8 Renamed ImFontAtlas::CustomRect to ImFontAtlasCustomRect. Keep redirection typedef (will obsolete). omar 2019-07-12 11:58:46 +02:00
  • e66799f79a Prefixed internal structs exposed in imgui.h with a fully qualified name to facilitate auto-generation with cimgui. omar 2019-07-12 11:54:22 +02:00
  • 3436132d4b Combo: Hide arrow when there's not enough space even for the square button. + Various todo items. omar 2019-07-11 17:20:39 +02:00
  • d23f1b1409 fonts/binary_to_compress: display error message when failing to open file + misc comments. omar 2019-07-10 11:36:43 +02:00
  • 1f54c16f52 Merge branch 'master' into docking omar 2019-07-02 18:47:10 +02:00
  • 54c49b5fb1 Window: Mouse wheel scrolling while hovering a child window is automatically forwarded to parent window if ScrollMax is zero on the scrolling axis. Also still case if ImGuiWindowFlags_NoScrollWithMouse is set (not new), but previously the forwarding would be disabled if ImGuiWindowFlags_NoScrollbar was set on the child window, which is not the case any more (amend #1502, #1380). omar 2019-07-02 18:28:53 +02:00
  • e16564e67a Scrollbar: Avoid overlapping the opposite side when window (often a child window) is forcibly too small. omar 2019-07-01 20:57:15 +02:00
  • 58c9f8a194 Misc: Added IMGUI_DISABLE_METRICS_WINDOW imconfig.h setting to explicitly compile out ShowMetricsWindow(). + Internals: Minor renaming. omar 2019-07-01 18:48:21 +02:00
  • da29d77253 Added SetScrollXHere, SetScrollFromPosX: Changelog, demo, comments (#1580). omar 2019-07-01 12:15:36 +02:00
  • caf119a982 Added 'SetScrollHereX' and 'SetScrollFromPosX' (#1580) kevreco 2018-01-30 21:51:28 +01:00
  • 2a3517a399 Internals: Checkbox: Added undocumented mixed/indeterminate/tristate support via ImGuiItemFlags_MixedValue. (#2644) omar 2019-06-30 12:03:09 +02:00
  • a89f05a10e Child windows inherit Hidden frames setting from parent more accurately, so HiddenFramesCannotSkipItems is honored by child windows. omar 2019-06-27 16:35:56 +02:00
  • 401e05147c Internals: Moved CalcListClipping close to ImGuiListClipper code (no-op) omar 2019-06-29 18:55:06 +02:00
  • 82711251b6 Internals: ImGuiListClipper using absolute coordinate (instead of relative one). Minor no-op tweaks + ImDrawListSplitter assert omar 2019-06-27 18:03:19 +02:00
  • 1dd322c6fb Style: Attenuated default opacity of ImGuiCol_Separator in Classic and Light styles. omar 2019-06-27 12:20:18 +02:00
  • 4b95e7c2f3 Doc: Tweak and extra mention of AddCustomRectFontGlyph + made the example register two rectangles. omar 2019-06-26 12:15:32 +02:00
  • 50d421fa19 Docking: Fixed GetBackgroundDrawList(), GetForegroundDrawList() overwriting ImDrawList flags after clear, leading to the AllowVtxOffset flag not being cleared. (#2638) omar 2019-06-26 09:52:25 +02:00
  • eb3e271c24 Demo: Using ImVec2(-FLT_MIN,0.0f) instead of ImVec2(-1.0f,0.0f) where it makes sense. (#2449) omar 2019-06-21 19:38:33 +02:00
  • 41e2d4b5ae ImDrawListSplitter: Fixed memory leak when using low-level split api (was not affecting ImDrawList api, also this type was added in 1.71 and not advertised as a public-facing feature). omar 2019-06-20 16:09:31 +02:00
  • f563e1a504 Internals: Renamed GetFrontMostPopupModal() to GetTopMostPopupModal() to be consistent. Renamed other locals to follow that terminology. omar 2019-06-19 18:14:24 +02:00
  • adbbd17cb6 Addendum to #2635. Add support for multi-viewports in SDL+DX!! example. making all Win32-centric back-ends handle PlatformHandleRaw. Using the field to use/store the HWND for internal purpose in SDL/GLFW back-ends. (#1542) omar 2019-06-18 23:35:48 +02:00
  • 3e8eebfbec Viewport: Added PlatformHandleRaw. Update SDL+DX11 example. (#1542, #2635) Vincent Hamm 2019-06-17 21:03:00 -07:00
  • 2cbc0f1287 Restore SLN which in Docking branch includes more projects. omar 2019-06-18 23:13:12 +02:00
  • e2c1f0a7cd Merge branch 'master' into docking omar 2019-06-18 23:08:03 +02:00
  • dd41df3e98 Word-wrapping: Fixed overzealous word-wrapping when glyph edge lands exactly on the limit. Because of this, auto-fitting exactly unwrapped text would make it wrap. (fixes initial 1.15 commit, 78645a7d). omar 2019-06-18 12:50:34 +02:00
  • 516c3dee80 Examples: SDL+DX11: Changelog, readme, batch files, fixed vcxproj, minor stylistic fixes + minor sync of other main.cpp files. (#2632) omar 2019-06-18 11:28:26 +02:00
  • cc4d76cc23 Implement SDL/dx11 sample Vincent Hamm 2019-06-16 16:11:32 -07:00
  • 70fe409338 Window: Fixed InnerClipRect right-most coordinates using wrong padding setting (introduced in 1.71). omar 2019-06-17 17:03:54 +02:00
  • 342751c89e Fiedx OpenGL ES 3.0 include for iOS and tvOS (#2631) Vincent Hamm 2019-06-18 01:55:33 -07:00
  • 0e37eaff8a Updated Ogre bindings (#2619) Pavel Rojtberg 2019-06-17 15:17:24 +02:00
  • ae2c9f7101 Internals: Columns: Poke into WorkRect and use them in the GetContentRegionMax() functions. This should be a no-op, but preparing us to transition toward using WorkRect instead of ContentRegionRect. Removed one use of ContentsRegionRect. omar 2019-06-10 21:43:05 +02:00
  • 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 omar 2019-06-17 11:32:00 +02:00
  • ca43436cd3 Fix monitor dpi info not being copied to main viewport when multi-viewports are not enabled. (#2621, #1676) + Tweaks, short path in FindPlatformMonitorForRect(). omar 2019-06-17 11:19:34 +02:00
  • b27fd87177 Merge branch 'master' into docking omar 2019-06-17 11:10:14 +02:00
  • b82e99c032 ImDrawList: Fixed CloneOutput() helper crashing. Also removed unnecessary risk from ImDrawList::Clear(), draw lists are being clear before use each frame anyway. (#1860) omar 2019-06-17 11:06:36 +02:00
  • 2645a2516f ImDrawList::ChannelsSplit(), ImDrawListSlitter: Fixed an issue with merging draw commands between channels 0 and 1. (#2624) Introduced by cef88f6aae. omar 2019-06-14 12:06:15 +02:00
  • af3080b81b Removed redirecting functions/enums that were obsoleted in version 1.51 (June 2017): ImGuiCol_Column*, ImGuiSetCond_*, IsItemHoveredRect(), IsPosHoveringAnyWindow(), IsMouseHoveringAnyWindow(), IsMouseHoveringWindow(), IMGUI_ONCE_UPON_A_FRAME. omar 2019-06-14 11:57:33 +02:00
  • 5286ecb8a7 Version 1.72 WIP omar 2019-06-14 11:58:45 +02:00
  • 07d3083279 Docking: Fixed rendering of outer decoration happening on non-visible docked window (#2623, #2109). Revealed by 0770449. We are actually better than before now, as previously those would get unnecessarily get rendered into a hidden draw list. omar 2019-06-13 10:19:14 +02:00
  • d3d998a885 Merge branch 'master' into docking omar 2019-06-12 18:40:50 +02:00
  • 2da1c66d15 Version 1.71 + comments v1.71 omar 2019-06-12 16:15:08 +02:00
  • 5ae268c0a3 Internals: Reworked RenderTextEllipsis() to satisfy what we need for table headers. omar 2019-06-11 16:12:00 +02:00
  • 4597632662 Readme, comments, dear imgui prefixes omar 2019-06-11 16:11:19 +02:00
  • c3a348aa25 CollapsingHeader: Minor fix to align right side of frames (which is extruded past the Work/Contents rect) with clipping rectangle. omar 2019-06-11 15:52:36 +02:00
  • a8eb64fc54 Log/Capture: Fixed BeginTabItem() label not being included in a text log/capture. Extracted tab rendering code into a RenderTextEllipsis() function. omar 2019-06-11 14:02:46 +02:00
  • a9b5c834b6 ImDrawListSplitter: Don't merge draw commands when crossing a VtxOffset boundary + Renamed fields ImDrawChannels to consistently suggest those are internal structures. omar 2019-06-10 15:41:04 +02:00
  • d8435c7710 ImDrawListSplitter: Fix idx offset when merging (cef88f6) (#2591) omar 2019-06-10 15:02:16 +02:00
  • 0770449630 Window: child windows outer decorations (e.g. scrollbar) are rendered as part of their parent window, avoiding the creation of an extraneous draw command. + Metrics: inverted color of clip rect vs vertices bounding box when hovering a draw command, so the color matches the per-vertex preview. omar 2019-05-10 17:24:22 +02:00
  • afa3978ff6 Internals: Added drawlist and color arg to RenderArrow(), RenderBullet(). Reordered args for RenderPixelEllipsis. omar 2019-05-20 11:45:32 +02:00
  • 32ab0a82d6 imgui-test: Added IMGUI_TEST_ENGINE_LOG macro to emit into test log from core or user land. omar 2019-06-06 17:54:25 +02:00
  • 2b997141cf Made PushID() behave the same in 32-bit and 64-bit, by not padding the integer into a void*. (Also technically faster.) omar 2019-06-06 16:36:26 +02:00
  • 5f409c6fcc Merge branch 'master' into docking omar 2019-06-06 16:20:12 +02:00
  • 63310acd58 Synced/merged minor cruft from master branch to minimize drift. Only meaningful change AFAIK is removing ImGuiComboFlags_PopupAlignLeft flag from the tab list combo emitted by TabBar. omar 2019-06-06 16:16:18 +02:00
  • 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. omar 2019-06-06 16:13:30 +02:00
  • fea5f70611 ImDrawCallback: Allow to override the signature of ImDrawCallback by #define-ing it. This is meant to facilitate custom rendering back-ends passing local render-specific data to the draw callback. omar 2019-06-06 00:20:29 +02:00
  • 480d57e6a2 Revert "Changed syntax for (very rarely used) IMGUI_OVERRIDE_DRAWVERT_STRUCT_LAYOUT mechanism, instead you only need to '#define ImDrawVert MyDrawVert' to use this feature, avoiding the need to declare the entire structure within an awkward macro. Using the old macro will now error with a message pointing you to the new method. (#38, #103, #1172, #1231, #2489)" omar 2019-06-06 00:59:07 +02:00
  • 597c024904 Changed syntax for (very rarely used) IMGUI_OVERRIDE_DRAWVERT_STRUCT_LAYOUT mechanism, instead you only need to '#define ImDrawVert MyDrawVert' to use this feature, avoiding the need to declare the entire structure within an awkward macro. Using the old macro will now error with a message pointing you to the new method. (#38, #103, #1172, #1231, #2489) omar 2019-06-06 00:42:27 +02:00
  • e6850891cc Merge branch 'master' into docking omar 2019-06-05 16:09:06 +02:00
  • c96f2c4057 Window: Fixed one case where auto-resize by double-clicking the resize grip would make either scrollbar appear for a single frame after the resize. Moved Scrollbar visibility block. omar 2019-06-05 15:33:41 +02:00
  • 300d8dd656 Internals: Moved scrollbar visibility calculation block below the call to UpdateManualResize(). This commit is _intended_ to have no side-effect (next commit will). Also moved ItemWidthDefault calculation below rectangles. omar 2019-06-05 15:32:37 +02:00
  • 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. omar 2019-06-05 15:23:01 +02:00
  • 15282261dd Internals: Minor no-op tidying up toward solving the WindowPadding / WindowBorderSize / ScrollbarSize overlapping mess. + Demo: Use SetScrollY(). omar 2019-06-04 16:22:47 +02:00
  • 4149d22e85 Fixed newly created window (e.g. appearing child window) from having scrollbar active on the first frame. (fix 6e03b27) + reworded code a little. (+1 squashed commits) Fixed auto-resize with AlwaysVerticalScrollbar or AlwaysHorizontalScrollbar flags not taking account of the expect scrollbar sizes. omar 2019-06-03 19:25:03 +02:00
  • 06f1d2c101 Internals: Storing ScrollMax into a member. Mostly to facilitate debugging. Also locking down window->Scroll slightly lower in the Begin function. omar 2019-06-03 18:51:12 +02:00
  • 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). omar 2019-06-03 17:07:43 +02:00
  • fe32fde376 Internals: Renamed SizeContents to ContentSize, SizeContentsExplicit to ContentSizeExplicit. Tweaked Metrics->Show Rectangles functionality. omar 2019-06-03 16:55:48 +02:00
  • 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 omar 2019-05-28 21:49:22 +02:00
  • 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. omar 2019-06-03 15:35:55 +02:00
  • 09bcf9fbc5 Window rectangles: Made InnerRect not affected by window border sizes. its few users shouldn't be meaningfully affected. omar 2019-05-28 16:18:30 +02:00
  • b9874a2423 Comments about obsoleted features version. Todo. Clarify tab bar initial offset (useful if we decide to remove the half-windowpadding clip margin). omar 2019-06-05 12:05:53 +02:00
  • 440ad0b440 Merge branch 'master' into docking omar 2019-06-05 00:37:20 +02:00
  • 5cdd788f30 Comments (#2599). Moved branch Changelog above 1.71 wip one. Added some missing changelog bits. omar 2019-05-31 23:54:15 +02:00
  • 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) omar 2019-06-05 00:25:21 +02:00
  • 6614bab883 Combo: Fixed rounding not applying with the ImGuiComboFlags_NoArrowButton flag. (#2606, #2607) DucaRii 2019-06-04 16:37:45 +02:00
  • 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. omar 2019-05-31 20:48:52 +02:00
  • 596d81a973 Merge branch 'master' into docking omar 2019-05-31 12:09:40 +02:00
  • cef88f6aae ImDrawListSplitter: Support merging consecutive draw commands straddling two channels. Support zero-init. omar 2019-05-10 18:50:59 +02:00
  • f1f4b42d91 ImDrawListSplitter: extracted out of ImDrawList. Down the line we may obsolete the ImDrawList functions and encourage users to store the splitter aside, in the meanwhile ImDrawList holds a splitter. (This will allow columns/table to recurse.) omar 2019-05-31 12:00:00 +02:00