omar
ec2a24a5f1
Selectable: Allow using ImGuiSelectableFlags_SpanAllColumns in other columns than first. Comments. ( #125 )
5 years ago
omar
1d4b5def51
Alter definition of IM_UNICODE_ defines to faclitate C-binding. ( #2538 , #2541 , #2815 )
5 years ago
omar
670367e51d
Added IMGUI_USE_WCHAR32 instead of "#define ImWchar ImWchar32" to faclitate C-binding. ( #2538 , #2541 , #2815 )
5 years ago
omar
f2b01c3436
Changelog, tweak OpenGL3 backends. ( #3061 ), update Gallery thread links.
5 years ago
omar
110f506ec0
Comments in imgui.h
5 years ago
omar
ccf0cc8584
Added ImGuiKeyModFlags. Added additional checks in EndFrame() to verify that io.KeyXXX values have not been tampered with between NewFrame() and EndFrame().
5 years ago
ocornut
a41332453e
Unicode: Changelog, comments, minimum CI integration. ( #2541 , #2538 , #2815 )
5 years ago
omar
0283a6e566
ImFont: Demo, Store Used4kPagesMap[] map in ImFont to facilitate iteration on all codepoints with a large value of IM_UNICODE_CODEPOINT_MAX. ( #2815 )
...
Demo uses IsGlyphRangeUnused()
5 years ago
Sam Hocevar
c8ea0a017d
Unicode: UTF32 support improvements ( #2541 , #2538 , #2815 )
...
- Make ImWchar32 unsigned.
- Fix Win32 version of ImFileOpen by including windows.h sooner.
- Make ImGuiIO::AddInputCharacterUTF16() more robust by disallowing illegal
surrogate pairs.
- Allow pushing higher plane codepoints through ImGuiIO::AddInputCharacter().
- Minor cleaning up in the high-plane Unicode support.
- Fix Clang -Wunreachable-code warning
5 years ago
Cloud Wu
6d59653e82
Unicode: full Unicode Support (6 squashed commits) ( #2541 , #2538 )
...
fix build for WideCharToMultiByte
[3181ff1e] Full Unicode Support
[6c9e73ac] Fix ImTextCountUtf8BytesFromChar and ImTextCharToUtf8, these APIs assume the input is an unicode code point, not UTF-16
[ba85665b] Add AddInputCharacterUTF16 for windows backend to handle WM_CHAR
[fafdcaf0] Use Windows API to convert UTF-16 for ImFileOpen
[dc7d5925] Use windows API to convert UTF-16 for clipboard
5 years ago
ocornut
24bd33ace8
Menus: Some renaming, comments, add to demo. Amend 0342a3c
. ( #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
d284a6cffc
InputText: Fixed password fields displaying ASCII spaces as blanks. Fixed non-ASCII space occasionally creating unnecessary empty polygons. ( #2149 , #515 )
5 years ago
omar
ccaec1a270
Version 1.76 WIP
5 years ago
omar
30bb15672d
Remove trailing spaces
5 years ago
omar
d8948b5343
ColorButton: Added ImGuiColorEditFlags_NoBorder flag to remove the border normally enforced by default.
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
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
omar
6e1f8be07b
Window: Fix SetNextWindowBgAlpha(1.0f) failing to override alpha component. ( #3007 )
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
3fe6ae9732
Internals: Move some Nav functions and members around (no functional change) + Misc comments
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
ff5299e0e0
Docs: FAQ, Comments.
5 years ago
omar
d581939387
Removed trailing spaces.
5 years ago
omar
0dd02dd90d
Happy new year!
...
Comments, Replaced pictures, Removed Patreon
5 years ago
omar
dc66f83db8
Additional duplicated comments about usage of std::string and input text resize callback ( #2006 , #1443 , #1008 )
5 years ago
omar
a610f1da52
Bezier Tweaks, fixed parameter order of 3831d50
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
3a800f2dc9
DragFloat: Mention usage of FLT_MAX, INT_MAX etc. explicitly. ( #2931 )
5 years ago
Ben Carter
0e74103659
ImDrawList: Add AddNgon(), AddNgonFilled() API.
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
Rokas Kupstys
945a509773
Implement ImGuiMouseCursor_NotAllowed mouse cursor.
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
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
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
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