3570 Commits (dca7c3c62975b893fde1c65f3d8f43bb476bc381)

Author SHA1 Message Date
Omar 8836975dcf Drag and Drop, Nav: Disabling navigation arrow keys when drag and drop is active. (#3025) 5 years ago
omar ccaec1a270 Version 1.76 WIP 5 years ago
omar 30bb15672d Remove trailing spaces 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 fc42528f13 When testing for the presence of the ImGuiWindowFlags_NoBringToFrontOnFocus flag we test both the focused/clicked window (which could be a child window) and the root window. 5 years ago
omar fc41839cab Focus: Reworking FocusWindow() so in Docking branch we can fix CTRL+Tab being out of order on Docked windows because WindowsFocusOreder is poorly maintained.
When merging this and d9bca0d8 in Docking we'll replace two ocurrences of RootWindow with RootWindowDockStop.
5 years ago
omar fb257eef3e Internals: Update ->RootWindow and other links before applying the SetNextWindowXXX stuff. This is so FocusWindow() can always assume that ->RootWindow != NULL. 5 years ago
omar d9bca0d853 Nav: Fixed a bug where the initial CTRL-Tab press while in a child window sometimes selected the current root window instead of always selecting the previous root window. (#787) 5 years ago
omar 47fab0e166 Misc renaming, comments. Docs: add missing spacing to Changelog. 5 years ago
omar 6e1f8be07b Window: Fix SetNextWindowBgAlpha(1.0f) failing to override alpha component. (#3007) 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 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 2478dbfdb7 Disable warning C5054 introduced in VS 2019 16.2 (#2983) 5 years ago
Loïc Molinari 6c00d1916e Disable format checks when using stb_sprintf.h
STB sprintf allows extra formats like %b or %$d. If ImGui is configured
to use STB sprintf, it generates warnings with GCC and clang when using
such formats because it keeps applying default printf-style warnings.
This commit disables printf-style warnings when using STB sprintf.

Since the printf-style warnings are defined in imgui.h based on the
compiler, IMGUI_USE_STB_SPRINTF can't just be defined in the cpp file
anymore and it's been moved as a proper config in imconfig.h.
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 ff5299e0e0 Docs: FAQ, Comments. 5 years ago
Rokas Kupstys 97a8dc6514 CI: Added PVS-Studio static analysis on the continuous-integration server. 5 years ago
Rokas Kupstys ae1e3619f6 Disable some PVS studio warnings.
V1048: While they are technically correct we want to emphasize assigned values must remain same.
5 years ago
omar f9630e60c5 Metrics: Fix not being able to expand "ParentWindow" when parent window is same as root window. 5 years ago
omar d581939387 Removed trailing spaces. 5 years ago
omar 22d7f26e06 Tweak wording
Remove Patreon
5 years ago
omar 854fc08194 Amend f70204f2 to facilitate merges. 5 years ago
omar f70204f2f4 Minor bits, placeholder aimed at facilitating merging of Tables branch into Docking 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 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.
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 6fdde67be2 Documentation, FAQ, todo tweaks 5 years ago
omar f9c26d23de Removed redirecting functions/enums that were marked obsolete in 1.53 (December 2017).
Comments
5 years ago
Ben Carter 697f15e339 Added PrimUnreserve() API. Obsoleted calling ImDrawList::PrimReserve() with a negative count. 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 6cbed03d4a Comments, clarified mouse button ordering. 5 years ago
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).
5 years ago
omar 8342e5b91a Amend previous commits (added ImGuiMouseCursor_NotAllowed enum + new cursors in GLFW 3.4)
Amend b5cad20d79, 945a509773
+ unrelated minor typos
5 years ago
omar abaf0256b8 Version 1.75 WIP
Added message to font file loading assert.
5 years ago
omar bdce833636 Version 1.74 5 years ago
omar 26d177bc03 Docs: Moved misc/fonts/README.txt to docs/FONTS.txt. + tweaks 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
Ben Carter aeb57952d6 Added area calculation for draw lists in metrics
Added ability to hover over a draw list's summary stats and see all the contents in wireframe

(cherry picked from commit fd808347bd68a07ad318af6c151028bc9f7b82e7)
5 years ago
omar 51e2e9b239 ImVector: Added shrink() helper. ImFont::RenderText minor optimisation for debug build. Misc: Metrics shows tab names because we now have them. 5 years ago
omar 51a02b319c Added IM_UNICODE_CODEPOINT_MAX. Changed specs of ImFontAtlas::AddCustomRectRegular() (breaking change). 5 years ago
omar ca63349eb4 Renamed XX-bits -> XX-bit in comments to match what the world appears to be using. 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 9efaf2828b Doc comments. Removed .ini parsing code from 1.53 that parsed entries without the [Window] tag (which enabled importing an old .ini file) 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
Tracy Ma 8f40020ca6 Disable Win32 clipboard and IME functions when build target UWP (#2892, #2895) 5 years ago
omar b23dcab6e1 Fix 25eee91 incorrect assert when ending a child-popup (rarely used but used by sub-nenus) 5 years ago
omar be436e2b0b Fix HelpMarker() symbol collision for unity builds (#2893) 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 7c441e37fa CI: Update jobs to MacOS latest (Catalina)
Metrics: Added description to Item Picker.
5 years ago
omar 6e8e2c0fa9 Scrollbar: Fixed an issue where scrollbars wouldn't display on the frame following a frame where all child window contents would be culled.
Demo: Fixed a small bug with scrolling demo.
Metrics: Tweaks.
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 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 4c13807b7d Misc: Optimized storage of window settings data (reducing allocation count). 5 years ago
omar 792a8631aa Metrics: Expose basic details of each window key/value state storage. 5 years ago
omar 8fee5a4349 Internals: Renaming for consistency. 5 years ago
omar d62a413476 Misc: Windows: Do not use _wfopen() if IMGUI_DISABLE_WIN32_FUNCTIONS is defined. (#2815) 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 4e56de757c Doc: Promote Discord over Discourse. Obsoleting Discourse server. 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
omar 23c1ff4907 Removed redirecting functions/enums names that were marked obsolete in 1.52 (October 2017).
- Begin() [old 5 args version]     -> use Begin() [3 args], use SetNextWindowSize() SetNextWindowBgAlpha() if needed
- IsRootWindowOrAnyChildHovered()  -> use IsWindowHovered(ImGuiHoveredFlags_RootAndChildWindows)
- AlignFirstTextHeightToWidgets()  -> use AlignTextToFramePadding();
- SetNextWindowPosCenter()         -> use SetNextWindowPos() with a pivot of (0.5f, 0.5f)
- ImFont::Glyph                    -> use ImFontGlyph
If you were still using the old names, read "API Breaking Changes" section of imgui.cpp to find out the new names or equivalent features, or see how they were implemented until 1.73.
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 53278be61f FAQ, Readme. Use = {} instead of = { 0 }, wasn't problematic because they were all static variables or one stack array not read. But hey. 5 years ago
omar 5fc427a49e Improved and moved FAQ to docs/FAQ.md so it can be readable on the web. (#2848) 5 years ago
Rokas Kupstys 6892b81578 Remove trailing spaces from bunch of files.
(cherry picked from commit 50e0f8d4ddf4c426f62f346c8260a927f6b7c779)
5 years ago
omar c21fdabb43 Doc: Readme: moving contents to FAQ. 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 67e4cd5cc6 Comments, some logging for NavInitRequest debugging Moved OpenPopupOnItemClick() next to BeginPopupContextItem() 5 years ago
omar 73fa6509a5 Internal: InputTextEx: tweaked a bit of code (should be a no-op) 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 0dad3f436b Fix harmless float calculation overflow. (#2813) 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 a45e3b5bb3 Readme, Wiki: Image loading examples. 5 years ago
omar 74e01e62ce Fixed unused static function warning for some compilers. (#2793) 5 years ago
omar b48dc067ae Style: Allow style.WindowMenuButtonPosition to be set to ImGuiDir_None to hide the collapse button. (#2634, #2639)
+ Fix #2775
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
omar 1c951dca97 Font: Narrow ellipsis: once we know an ellipsis is going to be drawn, we can claim the space between pos_max.x and ellipsis_max.x which gives us enough extra space to not requires the further (and otherwise valid) optimizations. Gets us vastly simplified code, yay. (#2775) 5 years ago
omar 57623c15dd Font: Narrow ellipsis: various minor stylistic tweaks (#2775) 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
Qix 561e7dd490 Fix signed types warning in pasteboard handler (#2786) 5 years ago
omar b05f6f6f50 Nav, Scrolling: Added support for Home/End key. (#787) 5 years ago
omar bfcdaeb610 Disable with ConfigWindowsMemoryCompactTimer < 0.0f (#2636) 5 years ago
omar 62f75c7fb1 Added a mechanism to compact/free the larger allocations of unused windows (buffers are compacted when a window is unused for 60 seconds, as per io.ConfigWindowsMemoryCompactTimer = 60.0f). Note that memory usage has never been reported as a problem, so this is merely a touch of overzealous luxury. (#2636) 5 years ago
omar cb538fadfe Internals: Storing settings using ImVec2ih to match what we are doing with dock node. + removed ImMax from reading Size value (done in Begin) + removed seemingly unnecessary FLT_MAX compare in SettingsHandlerWindow_WriteAll.
About: Added backquote to text copied into clipboard so it doesn't mess up with github formatting when pasted.
5 years ago
omar 3fb5cf3541 Using offsetof() when available in C++11. Avoids Clang sanitizer complaining about old-style macros. (#94) 5 years ago
omar c4b0bf718a More typos in comments (#2738) 5 years ago
omar a856c670c1 TabBar: fixed single-tab not shrinking their width down.
+ minor typo fixes (#2738)
5 years ago
omar a33cedda14 Internals: Renaming window size calc functions. 5 years ago
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).
5 years ago
omar f624455d7b Version 1.73 WIP 5 years ago
omar 9bd7846f07 Internal: Made ScrollToBringRectIntoView() handle recursing back to scroll parent window, so the function can be called elsewhere (instead of 1 deep recursion done in NavUpdateMoveResult(). 5 years ago
omar 6a0d0dab5a Version 1.72b (patch for nav) 5 years ago
omar 4cfaf7d89c Scrolling, Nav: Fixed programmatic scroll leading to a slightly incorrect scroll offset when the window has decorations or a menu-bar (broken in 1.71). This was mostly noticeable when a keyboard/gamepad movement led to scrolling the view, or using e.g. SetScrollHereY() function. Fix/amend a0994d74. 5 years ago
omar 3548fb8013 Internal refactor: moved all Scroll related functions in a same spot. 5 years ago
omar 1b1e539288 Internal: Moved NavScrollToBringItemIntoView() declaration to imgui_internal.h. Fixed spacing missing in 494d804. Fixed changelog wreck from 1.72. 5 years ago
omar 5ef7445d92 Internal: Avoid using GImGui multiple times in same function. 5 years ago
omar 85ad8e0e2e Nav: Fixed an issue with NavFlattened window flag where widgets not entirely fitting in child window (often selectable because of their extruded bits) would be not considered to navigate toward the child window. (#787)
This creates a little bit of tension because g.NavDisableHighlight tends to makes the reference point not always visible.
Amend c665c15a7d
5 years ago
omar 9183e7c426 Version 1.73 WIP 5 years ago
omar ecb9b1e2eb Version 1.72 5 years ago
omar 7a26a49f08 Internal: Added IsMouseDragPastThreshold(). Tweaks. Todo.
Demo: Showing how to use the format parameter of Slider/Drag functions to display the name of an enum value instead of the underlying integer value
5 years ago
omar d057550209 Fixed Clang 8.0 warning "empty expression statement has no effect; remove unnecessary ';' to silence this" warning [-Wextra-semi-stmt]
+ Comment
5 years ago
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. 5 years ago
omar baae057a03 Internals: Merge in minor noise from wip Tables branch to simplify further merging. 5 years ago
omar 26f14e056c Scrolling: Made mouse-wheel scrolling lock the underlying window until the mouse is moved again or until a short delay expires (2 seconds). This allow uninterrupted scroll even if child windows are passing under the mouse cursor. (#2604) 5 years ago
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.
5 years ago
omar 835b50b773 Internals: Nav: Tweak NavUpdatePageUpPageDown() to make it more readable. 5 years ago
omar 29d9394a41 OSX: Disabled default native Mac clipboard copy/paste implementation in core library (added in 1.71), because it needs application to be linked with '-framework ApplicationServices'. It can be explicitly enabled back by using '#define IMGUI_ENABLE_OSX_DEFAULT_CLIPBOARD_FUNCTIONS' in imconfig.h. Re-added equivalent using NSPasteboard api in the imgui_impl_osx.mm experimental back-end. (#2546) 5 years ago
omar 4b44f25c9a Fixed incorrect application of io.DisplaySafeAreaPadding which would be problematic with multi-viewports when a monitor uses negative coordinates (correct clamping is done right below). (#2674) 5 years ago
omar f1ba217a92 Internals: Extracted some code out of the NewFrame() function. 5 years ago
ocornut 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(). 5 years ago
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.
5 years ago
omar 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. 5 years ago
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. 5 years ago
omar a35f42f123 Removed TreeAdvanceToLabelPos() which is rarely used and only does SetCursorPosX(GetCursorPosX() + GetTreeNodeToLabelSpacing()). Kept redirection function (will obsolete). (#581, #324) 5 years ago
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.
5 years ago
omar 71d20abbc3 Settings: Minor optimization to reduce calls in SettingsHandlerWindow_WriteAll. 5 years ago
omar d52c6316c8 Renamed ImFontAtlas::CustomRect to ImFontAtlasCustomRect. Keep redirection typedef (will obsolete). 5 years ago
omar e66799f79a Prefixed internal structs exposed in imgui.h with a fully qualified name to facilitate auto-generation with cimgui. 5 years ago
omar 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).
5 years ago
omar 58c9f8a194 Misc: Added IMGUI_DISABLE_METRICS_WINDOW imconfig.h setting to explicitly compile out ShowMetricsWindow(). + Internals: Minor renaming. 5 years ago
omar da29d77253 Added SetScrollXHere, SetScrollFromPosX: Changelog, demo, comments (#1580). 5 years ago
kevreco caf119a982 Added 'SetScrollHereX' and 'SetScrollFromPosX' (#1580) 5 years ago
omar a89f05a10e Child windows inherit Hidden frames setting from parent more accurately, so HiddenFramesCannotSkipItems is honored by child windows. 5 years ago
omar 401e05147c Internals: Moved CalcListClipping close to ImGuiListClipper code (no-op) 5 years ago
omar 82711251b6 Internals: ImGuiListClipper using absolute coordinate (instead of relative one). Minor no-op tweaks + ImDrawListSplitter assert 5 years ago
omar 4b95e7c2f3 Doc: Tweak and extra mention of AddCustomRectFontGlyph + made the example register two rectangles. 5 years ago