omar
09b2310237
Internals: Added index of helpers and shuffled a few things.
5 years ago
stfx
6bf5aed325
Declaration and assignment can be joined, Member function may be 'const'. ( #2875 )
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
omar
048b73dfaa
Various comments + Doc: Examples readme. Moved main menu bar code below menu bar code.
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
8aad3482a4
ImVector: Fixed index_from_ptr() not asserting when passed end() element.
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
f47a0a85cc
ImVector: added find, find_erase, find_erase_unsorted helpers.
5 years ago
omar
eab03f4467
Selectable: Added ImGuiSelectableFlags_AllowItemOverlap flag in public api (was previously internal only).
5 years ago
omar
9d02ed51e3
TreeNode: Added ImGuiTreeNodeFlags_SpanAvailWidth and ImGuiTreeNodeFlags_SpanFullWidth flags ( #2451 , #2438 , #1897 )
...
Added demo bits.
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
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
omar
b59ec7b9b7
DragInt, DragFloat, DragScalar: Using (v_min > v_max) allows locking any edit to the value.
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
c8418015c2
SliderScalar: Improved assert when using U32 or U64 types with a large v_max value. ( #2765 )
...
+ misc minor stuff.
5 years ago
omar
c4ff1b3578
ImDrawList: clarified the name of many parameters so reading the code is a little easier. ( #2740 )
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
f624455d7b
Version 1.73 WIP
6 years ago
omar
6a0d0dab5a
Version 1.72b (patch for nav)
6 years ago
omar
9183e7c426
Version 1.73 WIP
6 years ago
omar
ecb9b1e2eb
Version 1.72
6 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
6 years ago
omar
51853292cc
ImDrawList: Using ImDrawCornerFlags instead of int in various apis.
...
Demo: Using ImGuiColorEditrFlags instead of int.
6 years ago
omar
363d33f64e
Increased IMGUI_VERSION_NUM to facilitate transition of OSX clipboard support for framework using/embedding any version of imgui. Amend 29d9394
. ( #2546 )
6 years ago
omar
f0348ddffc
Amend 0f86116
, renamed to ImGuiKey_KeyPadEnter Changelog.. ( #2677 , #2005 )
6 years ago
Aaron Cooper
0f86116a69
Adding an ImGuiKey 'ImGuiKey_EnterSecondary' to support platforms that differentiate the enter (return key) and the numpad enter key.
6 years ago
omar
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 )
6 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.
6 years ago
omar
a35f42f123
Removed TreeAdvanceToLabelPos() which is rarely used and only does SetCursorPosX(GetCursorPosX() + GetTreeNodeToLabelSpacing()). Kept redirection function (will obsolete). ( #581 , #324 )
6 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.
6 years ago
omar
e461e7bc7a
Moved ImGuiColumnsFlags erroneously forward declared in imgui.h + demo bit.
6 years ago
omar
d52c6316c8
Renamed ImFontAtlas::CustomRect to ImFontAtlasCustomRect. Keep redirection typedef (will obsolete).
6 years ago
omar
e66799f79a
Prefixed internal structs exposed in imgui.h with a fully qualified name to facilitate auto-generation with cimgui.
6 years ago
omar
d23f1b1409
fonts/binary_to_compress: display error message when failing to open file + misc comments.
6 years ago
kevreco
caf119a982
Added 'SetScrollHereX' and 'SetScrollFromPosX' ( #1580 )
6 years ago
omar
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).
6 years ago
omar
f563e1a504
Internals: Renamed GetFrontMostPopupModal() to GetTopMostPopupModal() to be consistent. Renamed other locals to follow that terminology.
6 years ago
omar
e9b92d1cef
Disable -Wpragmas warning in GCC to avoid relying on version checks, as unusual/forks/mods don't appear to always have same warning<>version. ( #2618 )
...
+ Fix version number in imgui.h
6 years ago
omar
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.
6 years ago
omar
5286ecb8a7
Version 1.72 WIP
6 years ago
omar
2da1c66d15
Version 1.71 + comments
6 years ago
omar
4597632662
Readme, comments, dear imgui prefixes
6 years ago
omar
a9b5c834b6
ImDrawListSplitter: Don't merge draw commands when crossing a VtxOffset boundary + Renamed fields ImDrawChannels to consistently suggest those are internal structures.
6 years ago
omar
d8435c7710
ImDrawListSplitter: Fix idx offset when merging ( cef88f6
) ( #2591 )
6 years ago
omar
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.
6 years ago
omar
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 )"
...
This reverts commit 597c024904
.
6 years ago
omar
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 )
6 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.
6 years ago
omar
b9874a2423
Comments about obsoleted features version. Todo. Clarify tab bar initial offset (useful if we decide to remove the half-windowpadding clip margin).
6 years ago
omar
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.)
6 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.
6 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 )
6 years ago
omar
40b9e5e0b4
ImDrawList: Store initial flags for the frame in ImDrawListSharedData, reducing code duplication in setting up the flags.
6 years ago
omar
c487bc52a2
Fonts: Added some details about using custom colorful icons.
6 years ago
omar
9c35344175
Comments, todo entries, moved ImGuiSelectableFlagsPrivate in higher ranges to match others.
6 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.
6 years ago
omar
b85e97137d
Version tag is 1.71 WIP oops
6 years ago
omar
34b881eb12
ImFontGlyphRangesBuilder: Fixed unnecessarily over-sized buffer, which incidentally was also not fully cleared. Fixed edge case overflow when adding character 0xFFFF. ( #2568 )
6 years ago
omar
d3a387cc18
Fixed InputFloatX, SliderFloatX, DragFloatX functions erroneously reporting IsItemEdited() multiple times when the text input doesn't match the formatted output value (e.g. input "1" shows "1.000"). It wasn't much of a problem because we typically use the return value instead of IsItemEdited() here. ( #1875 , #2034 )
6 years ago
omar
632469d2e5
Renamed SetNextTreeNodeOpen() to SetNextItemOpen(). Refactored SetNextItemXXX stuff to match SetNextWindowXXX code closely.
6 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 )
6 years ago
omar
e29176df53
Internals: Columns: Renamed fields. Comments and tweak. Moved a demo block.
6 years ago
omar
42fc563fed
Version 1.71 WIP + fixed minor typo
6 years ago
omar
d1d5075b66
Version 1.70
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
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
5c1cd5c8c7
ImDrawCallback_ResetRenderState, Examples: Added support for reset render state callback. ( #2037 , #1639 , #2452 )
6 years ago
omar
3fbc0b7a9e
Obsoleted GetContentRegionAvailWidth(), use GetContentRegionAvail().x instead. Kept inline redirection function.
6 years ago
omar
6db0766564
Misc comments, internal renaming, added disable indentation option to Columns demo section.
6 years ago
omar
16e9b8191b
Increased IMGUI_VERSION_NUM arbitrarily, help narrowing down reports that don't include a commit hash. Add comments.
6 years ago
omar
5078fa208b
Added SetNextItemWidth() helper to avoid using PushItemWidth/PopItemWidth() for single items.
6 years ago
omar
f355a40367
Added commentary about ContentRegion functions. Added internal GetContentRegionMaxScreen() to facilitate internal code at the moment.
6 years ago
omar
1aeee9d40f
Internals: Columns: Tweaks, renaming. Metrics: Show rectangles for child windows.
...
Renamed SameLine() first parameter.
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
512d39d031
Examples: OpenGL3: Minor tweaks, clarifications + not calling glBindBuffer more than necessary in the render loop.
6 years ago
omar
20188b19d6
Comments ( #2441 ) + Freeglut fixes ( #2430 )
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
a92c587c75
Added GetGlyphRangesVietnamese() helper. ( #2403 )
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
Haldean Brown
79bb4ce128
Added ImGuiColorEditFlagsFlags_InputHSV. ( #2383 , #2384 )
6 years ago
omar
66936880ba
Moved placeholder sections to match Docking branch. Comments.
6 years ago
Bruce Mitchener
3b11505481
Fix typos. ( #2411 )
6 years ago
omar
1c23981782
Made ImS8 and ImS16 explicitly signed in case some crazy SDK decide to flip the signedness over. ( #2408 )
6 years ago
Lucas Lazare
ab80ee6453
Added InputTextWithHint() ( #2400 )
...
Squashed commit of the following:
commit 1970d84051d3878f8c1354d9c33c795d9c66143f
Author: Lucas Lazare <lazarelucas@yahoo.fr>
Date: Tue Mar 5 12:20:39 2019 -0500
Removing sneaky tabulations #2 (why, editor T-T)
I should update my settings, I guess
commit 219bdfcb7fbd17edf3048cb0edfde2532e4d6ac3
Author: Lucas Lazare <lazarelucas@yahoo.fr>
Date: Tue Mar 5 12:17:27 2019 -0500
Removing useless check introduced in b0d172
commit 8afd7a2b459df0eb14eca88d832d2bebd1e684e6
Author: Lucas Lazare <lazarelucas@yahoo.fr>
Date: Tue Mar 5 11:49:24 2019 -0500
Removing sneaky tabulations
commit 8e0490863126d63cafc782a6aac8707e44f95653
Author: Lucas Lazare <lazarelucas@yahoo.fr>
Date: Tue Mar 5 11:45:13 2019 -0500
Moving InputTextHinted code to InputTextEx
commit b0d1723a2fb02d17ba15b9c1e679dedbbe3c17fd
Author: Lucas Lazare <lazarelucas@yahoo.fr>
Date: Tue Mar 5 00:23:02 2019 -0500
C++11 to C++98
commit 9afeae399826015357962607b4aeb0109fde698e
Author: Lucas Lazare <lazarelucas@yahoo.fr>
Date: Mon Mar 4 23:43:28 2019 -0500
Added InputTextHinted
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
622a27506a
Text: Fixed large Text/TextUnformatted call not declaring its size when starting below the lower point of the current clipping rectangle. Somehow this bug has been there since v1.0! It was hardly noticeable but would affect the scrolling range, which in turn would affect some scrolling request functions when called during the opening frame of a window.
6 years ago
omar
f4dd990e38
Comments and Issue Template
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
omar
96b13760d4
Added GetBackgroundDrawList() helper to quickly get access to a ImDrawList that will be rendered behind every other windows. ( #2391 )
6 years ago
omar
736d3e2654
DragScalar, InputScalar, SliderScalar: Added support for u8/s8/u16/s16 data types. We are reusing function instances for larger types to reduce code size. ( #643 , #320 , #708 , #1011 )
6 years ago