Rokas Kupstys
b3576dd354
Replace UTF-8 decoder with branchless version by Christopher Wellons.
Decoding performance increase ranges from 30-40%.
Changes:
* Errors handling near the end of string changed. If input does not contain enough bytes, decoder returns `IM_UNICODE_CODEPOINT_INVALID`, consuming all remaining bytes while old decoder consumed only one byte.
Guarantees:
* At least one byte is consumed, if input had at least one byte available.
* Number of consumed bytes will never seek past end of string.
Requirements:
* `in_text` is a valid pointer.
* String pointed by `in_text` must be zero-terminated, or `in_text_end` is not NULL.
4 years ago
Warren Moore
bca4749346
Examples: Apple: Consolidated example_apple_metal to reduce class and file count ( #1873 , #3543 )
4 years ago
ocornut
5292320110
Amend ffe8f0177f
( #3544 ) + readme fixes
4 years ago
Louis Schnellbach
ffe8f0177f
Backends: OpenGL3: Backup/restore GL_PRIMITIVE_RESTART state ( #3544 )
4 years ago
Bill Six
acb8ef2006
Examples: Vulkan: Fixed CMake include path. ( #3550 )
The backends directory was not included, so the build was failing.
4 years ago
ocornut
e6b99a420b
Tab Bar: Do not display a tooltip if the name already fits over a given tab. ( #3521 )
4 years ago
ocornut
fbe74ed50c
Tab Bar: zero clear more structures.
4 years ago
ocornut
8c9b3c9013
Tab Bar: Fixed using more than 128 tabs in a tab bar.
Using ImS16 consistently + some better packing to avoid struct growing size.
4 years ago
ocornut
748bd1ba9c
Tab Bar: Restore cursor position in EndTabBar() when amending (amend f2f32602
) + made LastTabItemIdx consistent ImS8 as other tab storage relies on same type
4 years ago
Black Cat!
c9fafd5ea4
Drag and Drop: Fix drag and drop to tie same-size drop targets by choosen the later one. Fixes dragging into a full-window-sized dockspace inside a zero-padded window. ( #3519 , #2717 )
4 years ago
ocornut
d015004f45
Rename colored>color in comments where possible ( #3528 )
4 years ago
xndcn
127f132447
Backends: OpenGL3: Add compatibility of GL_VERSION for GL 2.x ( #3530 )
GL_MAJOR_VERSION and GL_MINOR_VERSION are available on GL 3.0 and above.
So we have to parse GL_VERSION under GL 2.x
4 years ago
ocornut
31a144b60c
Fix comments ( #3534 )
4 years ago
ocornut
f2f326024c
Tab Bar: Made it possible to append to an existing tab bar by calling BeginTabBar()/EndTabBar() again.
4 years ago
ocornut
b1a18d82e3
Moving backends code from examples/ to backends/ (step 6: update markdown documentation)
4 years ago
ocornut
a2a3d80f04
Moving backends code from examples/ to backends/ (step 5: move documentation to MD files)
4 years ago
ocornut
a2d845f9dd
Moving backends code from examples/ to backends/ (step 4: update documentation, much improvement)
4 years ago
ocornut
a7e21fb05f
Moving backends code from examples/ to backends/ (step 3: fixing project files)
4 years ago
ocornut
428f4fce70
Moving backends code from examples/ to backends/ (step 2: moving vulkan cruft)
4 years ago
ocornut
d9b2fb7338
Moving backends code from examples/ to backends/ (step 1: moving source files)
4 years ago
ocornut
124c2608f1
Docs: Renamed all occurences of "binding" and "back-end" to "backend" in comments and documentations, for consistency.
4 years ago
ocornut
041ef01b33
Removed redirecting functions/enums names that were marked obsolete in 1.61: InputFloat, InputFloat2, InputFloat3, InputFloat4 with int decimal_precision parameter. ( #648 , #712 )
4 years ago
ocornut
0f13fdd177
Removed redirecting functions/enums names that were marked obsolete in 1.60: io.RenderDrawListsFn, IsAnyWindowFocused(), IsAnyWindowHovered(), etc.
4 years ago
ocornut
04de5ef819
Version 1.80 WIP
4 years ago
ocornut
a38c6dfcc8
Internals: Added support for context hooks (for test engine or other extensions)
4 years ago
ocornut
e5cb04b132
Version 1.79
+ Update readme and mission statement.
Removed "Minimize screen reel-estate usage", removed details on memory consumption (still very valid, just too much noise in a mission statement)
4 years ago
Rokas Kupstys
c6f9c558ec
CI: Use our own discord notifier.
4 years ago
Christian
ae5b4991be
Docs: update gallery links. ( #3514 )
4 years ago
ocornut
03b1e643b4
Docs: Funding link, Tweaks, Gallery links.
4 years ago
ocornut
12d9505534
CheckboxFlags: Display mixed-value/tristate marker when passed flags that have multiple bits set and stored value matches neither zero neither the full set.
4 years ago
ocornut
4fd43a8b64
Internals: removed NavLayerCurrentMask (redundant, add extra shift in ItemAdd().
4 years ago
ocornut
014e5078a8
Demo: add a small easter egg when the 4x4 board of Selectable is filled + tweaked the demo.
4 years ago
ocornut
01cc666039
ImGuiListClipper: Renamed constructor parameters which created an ambiguous alternative to using the ImGuiListClipper::Begin() function, with misleading edge cases.
4 years ago
Bartosz Taudul
6469b94304
Silence memset warning. ( #3505 )
Compiling the code as-is results in the following warning:
-->8--
imgui_freetype.cpp:341:72: warning: ‘void* memset(void*, int, size_t)’
clearing an object of type ‘struct ImFontBuildSrcDataFT’ with no
trivial copy-assignment; use assignment or value-initialization
instead [-Wclass-memaccess]
341 | memset(src_tmp_array.Data, 0, (size_t)src_tmp_array.size_in_bytes());
| ^
imgui_freetype.cpp:302:8: note: ‘struct ImFontBuildSrcDataFT’ declared here
302 | struct ImFontBuildSrcDataFT
| ^~~~~~~~~~~~~~~~~~~~
--8<--
This is caused by presence of ImVector<> directly in ImFontBuildSrcDataFT data
structure, as well as in the child ImBitVector. Since ImVector<> has a
constructor, the compiler infers that initialization by memset is not valid.
Such initialization is not a bug, however, as the default ImVector<> ctor just
sets the structure data members to 0, which is exactly what the memset does.
Casting the data structure address to void* pointer silences this warning.
4 years ago
ocornut
7b1ab5b275
ImVector: Stricter bound-checking asserts. Fix warnings: trailing comma (old compilers), zealous preprocessor warnings.
4 years ago
ocornut
5f336ce8f8
Tab Bar: Fixed buffer underflow in TabBarLayout, introduced by 4a57a982b
( #3501 , #3291 )
+ Link to CI actions added in 3be352f
4 years ago
Rokas Kupstys
3be352fc80
CI: Add discord notifications.
4 years ago
ocornut
179dc04d8a
Examples: Added missing comments in example_apple_metal. ( #3400 )
4 years ago
ocornut
52c0b1a340
ImGuiListClipper: internal rework and tidying up to facilitate supporting frozen rows in tables + stop promoting using constructors parameters.
4 years ago
ocornut
324e0310ad
Renamed ImGuiSliderFlags_ClampOnInput to ImGuiSliderFlags_AlwaysClamp. ( #1829 , #3209 , #946 , #413 )
4 years ago
ocornut
fbabf651f4
Style: Renamed style.TabMinWidthForUnselectedCloseButton to style.TabMinWidthForCloseButton. Fixed README links.
4 years ago
ocornut
1ec464eb9a
Tab Bar: Further simplification of section/clip rect handling. ( #3291 )
4 years ago
ocornut
6b76781c66
Tab Bar: Tidying up. Rework ShrinkWidths to allow marking tabs as not shrinkable (unused yet) + don't unnecessarily move data within ShrinkWidthBuffer. ( #3291 )
4 years ago
Louis Schnellbach
99f69eb185
Tab Bar: Moved up TabBarScrollingButtons function call. ( #3291 )
4 years ago
ocornut
205874f5b1
Tab Bar: Fix reorderable tab bars. Fix misleading use of tab_max_width in TabBarLayout(). Misc amends, shortening. ( #3291 )
4 years ago
Louis Schnellbach
3422cb1308
Tab Bar: Various fixes. Tried to reduce code complexity. ( #3291 )
4 years ago
ocornut
5e5f25e2dd
Tab Bar: Rename named sections members into array. Various tidying up. ( #3291 )
4 years ago
Louis Schnellbach
7ac16c02cc
Tab Bar: Fix multiple width and position computation issue. ( #3291 )
4 years ago
ocornut
f23c39c395
Tab Bar: Fixed handling of scrolling policy with leading/trailing tabs. + warning fixes + bunch of renaming. ( #3291 )
Demo tweaks.
4 years ago
Louis Schnellbach
4a57a982be
Tab Bar: Added TabItemButton(), ImGuiTabItemFlags_Leading, ImGuiTabItemFlags_Trailing + demo. ( #3291 )
(squashed various commits by 2 authors)
4 years ago