ocornut
9b59455184
Merge branch 'master' into docking
...
# Conflicts:
# imgui.h
2021-10-15 11:49:30 +02:00
ocornut
e3bd9434b1
1.86 WIP + internals: tweaks table temp data code.
2021-10-14 16:58:14 +02:00
ocornut
1b215ecb01
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
2021-10-11 19:25:50 +02:00
ocornut
55d35d8387
Version 1.85
2021-10-11 19:24:25 +02:00
ocornut
dedb381c51
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_opengl3.cpp
# examples/imgui_examples.sln
# imgui.cpp
# imgui.h
2021-08-30 20:01:16 +02:00
ocornut
4a7c21d330
Fonts: Fixed ImFontAtlas::ClearInputData() marking atlas as not built. ( #4455 , #3487 )
2021-08-24 15:28:39 +02:00
ocornut
0649f750b4
Version 1.85 WIP
2021-08-23 15:31:06 +02:00
ocornut
5a7d18a441
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2021-08-20 18:15:25 +02:00
ocornut
d2ffbd9b86
Version 1.84
...
Fix PVS Studio false positive //-V1020
Fix missing #ifndef for IMGUI_IMPL_OPENGL_LOADER_CUSTOM path
2021-08-20 18:03:55 +02:00
ocornut
0b06c4b2b0
Merge branch 'master' into docking (will need further for io.AddFocusEvent)
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_opengl3.cpp
# backends/imgui_impl_sdl.cpp
# backends/imgui_impl_win32.cpp
# imgui.cpp
2021-08-19 17:25:12 +02:00
thedmd
cb00972b87
ImDrawList: Fix AddCircle{Filled} with 12 segment case ( #4419 , #4421 )
2021-08-19 17:06:40 +02:00
ocornut
a11f36811f
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_dx10.cpp
# backends/imgui_impl_dx11.cpp
# backends/imgui_impl_dx12.cpp
# backends/imgui_impl_dx9.cpp
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_opengl3.cpp
# backends/imgui_impl_sdl.cpp
# backends/imgui_impl_vulkan.cpp
# backends/imgui_impl_win32.cpp
# imgui.cpp
# imgui_internal.h
2021-07-09 20:16:19 +02:00
ocornut
327a5d8253
Fix warning + apply trailing whitespaces in stb_ libs (as applied on nothings/stb on 2020/02/02, facilitating further diffs)
2021-07-05 17:52:44 +02:00
ocornut
23a15834fa
Fonts: Fix calling ClearTexData() (clearing CPU side font data) triggering an assert in NewFrame(). ( #3487 ) + Backends: added additional assert to facilitate detecting user understand they haven't initialized a backend.
2021-06-29 18:16:47 +02:00
ocornut
b5a2bd1a5b
Backends: amends to 1db1066 + merge minor bits from docking incl SetActiveIdUsingNavAndKeys().
...
No need to clear fields before deletion. DX12: renamed to match docking branch.
2021-06-29 15:25:19 +02:00
ocornut
682447306d
Merge branch 'features/backends_context' into docking
...
# Conflicts:
# backends/imgui_impl_dx10.cpp
# backends/imgui_impl_dx11.cpp
# backends/imgui_impl_dx12.cpp
# backends/imgui_impl_dx9.cpp
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_opengl2.cpp
# backends/imgui_impl_opengl3.cpp
# backends/imgui_impl_sdl.cpp
# backends/imgui_impl_vulkan.cpp
# backends/imgui_impl_win32.cpp
# examples/example_apple_opengl2/main.mm
2021-06-29 14:53:25 +02:00
ocornut
95db098477
ImFontAtlas: move implicit AddFontDefault call to Build() function + remove unnecessary asserts in backend.
2021-06-25 17:27:17 +02:00
ocornut
9440974f66
Fonts: Add U+FFFD ("replacement character") to default asian glyphs ranges. Remove SetFallbackChar() (amend 0ffd99d31
). ( #4269 )
2021-06-25 15:47:42 +02:00
ocornut
38165f420f
Fonts: Prefer using U+FFFD character for fallback instead of '?'. Use U+FF0E dot character to construct an ellipsis if U+002E '.' is not available. ( #4269 )
2021-06-25 15:44:14 +02:00
ocornut
ac35b4bba2
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_opengl3.cpp
# imgui.cpp
# imgui.h
# imgui_demo.cpp
2021-06-24 18:21:19 +02:00
ocornut
e534c56485
Fonts: Functions with a 'float size_pixels' parameter can accept zero if it is set in ImFontSize::SizePixels.
2021-06-24 17:15:14 +02:00
ocornut
dc676236f0
Minor optimization, removing do/while(0) patterns in some cases as they translate to runtime
...
(e.g. translate to xor + test + jne in VS x84, unnecessary)
2021-06-15 17:05:25 +02:00
ocornut
0cca0d1617
Internals/experimental: BeginComboPreview(), EndComboPreview(). ( #4168 , #1658 )
...
(amended)
2021-06-15 15:27:28 +02:00
ocornut
4161a67b38
ImVector: added clear_delete(), clear_destruct() helpers.
...
# Conflicts:
# imgui.cpp
2021-06-09 18:44:02 +02:00
ocornut
d0c6dd9baf
ImVector: added clear_delete(), clear_destruct() helpers.
2021-06-09 16:57:47 +02:00
ocornut
1ad1429c6d
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_opengl3.cpp
# docs/CHANGELOG.txt
2021-05-25 18:45:54 +02:00
ocornut
e31d13fa76
Version 1.84 WIP
2021-05-25 13:36:53 +02:00
ocornut
1b435ae3e0
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2021-05-24 17:49:20 +02:00
ocornut
ad5d1a8429
Version 1.83
2021-05-24 17:39:25 +02:00
ocornut
105d82d134
Docking: Docking node tab bar honors ItemInnerSpacing.x before first tab. Tweak rendering and alignment of dock node menu marker. ( #4130 )
...
+ Fix ~0 in EndFrameDrawDimmedBackgrounds() which is obsolete way of signifying "all round corners".
2021-05-20 18:14:16 +02:00
ocornut
86c2b609ef
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_dx10.cpp
# backends/imgui_impl_dx11.cpp
# backends/imgui_impl_dx12.cpp
# backends/imgui_impl_dx9.cpp
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_opengl2.cpp
# backends/imgui_impl_opengl3.cpp
# imgui.cpp
2021-05-19 19:05:01 +02:00
Bartosz Taudul
4c9f0cec27
Add and use SSE-enabled ImRsqrt() in place of 1.0f / ImSqrt(). ( #4091 )
...
Squashed 3 commits.
2021-05-06 17:27:19 +02:00
ocornut
31290807dc
Merge branch 'master' into docking
...
+ fix warning fix for mingw+dx9
# Conflicts:
# backends/imgui_impl_dx9.cpp
# imgui.cpp
2021-04-30 22:52:46 +02:00
ocornut
89162a04f4
Fixes for PVS Studio and MSVC static analyzers. Using a macro to suppress single-use MSVC false positives. ( #3938 , #4073 )
2021-04-29 21:20:32 +02:00
ocornut
d28535f351
Fixes for Visual Studio 2019 static analyzers. ( #3938 , #4073 ) + two minor edge case were invalid scalar input (e.g. a sign only) would return buffer as modified.
2021-04-29 17:10:27 +02:00
Nick Lange
04e98fbe6b
Remove const qualifier on ImTextureID local ( #4060 )
...
When defining ImTextureID to a type such as Texture*, the const-qualifier here stops us from using the texture ID. const Texture* is not valid to be pushed as a texture ID anymore.
2021-04-26 10:15:55 +02:00
ocornut
33cdbe97b8
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2021-04-19 20:05:59 +02:00
ocornut
25fbff2156
ImDrawList: Revert alteration of normal scaling threshold, for now prioritize preserving property of limiting extents. ( #4053 , #3366 , #2964 , #2868 , #2518 , #2183 )
...
Amend fdda8b8
2021-04-19 14:58:54 +02:00
ocornut
fdda8b8c12
ImDrawList: Fixed/improved thickness of thick strokes with sharp angles. ( #4053 , #3366 , #2964 , #2868 , #2518 , #2183 )
2021-04-19 14:03:21 +02:00
ocornut
34d4bc620d
Merge remote-tracking branch 'origin/master' into docking
...
# Conflicts:
# backends/imgui_impl_opengl3.cpp
2021-04-15 19:57:52 +02:00
thedmd
690a90bd35
Make PathArcTo accept counter-clockwise angles ( #4030 , #3491 )
2021-04-15 16:09:38 +02:00
ocornut
7c9c5dbe9a
Internals: Added ImFloorSigned() + use our own ImFloorSigned() for stb_truetype, compared as matching output for variety of font data. ( #2884 )
2021-04-15 14:27:45 +02:00
ocornut
b957300260
Documentation tweaks ( #4042 )
2021-04-14 15:46:55 +02:00
ocornut
81e0b18e38
Merge branch 'master' into docking
2021-03-16 16:10:29 +01:00
ocornut
a1a39c632a
Version 1.83 WIP
2021-03-16 14:45:30 +01:00
ocornut
256594575d
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
2021-03-15 20:38:34 +01:00
ocornut
35b1148efb
Version 1.82
2021-03-15 20:26:48 +01:00
ocornut
0157502eab
ImDrawFlags: rework/revert c2d6d26
+ 39432bf
in a way that is closer to old version and back to opt-in but with default 0 = all corners.
2021-03-12 16:33:29 +01:00
ocornut
033dfd9d35
ImDrawFlags: rework/revert c2d6d26
+ 39432bf
in a way that is closer to old version and back to opt-in but with default 0 = all corners.
2021-03-12 16:31:46 +01:00
ocornut
f1bf642e8f
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
# misc/debuggers/imgui.natvis
2021-03-11 16:32:14 +01:00
ocornut
39432bfd9c
Amend 0c93238a ImDrawList: upgraded AddRect(), AddRectFilled(), PathRect() to use general ImDrawFlags instead of ImDrawCornersFlags
2021-03-11 16:03:45 +01:00
Rokas Kupstys
c2d6d26139
ImDrawList: upgraded AddRect(), AddRectFilled(), PathRect() to use general ImDrawFlags instead of ImDrawCornersFlags
2021-03-11 16:03:32 +01:00
thedmd
e45847d99a
Add version of PathArcTo() and PathArcToFast() with adaptive rendering quality. ( #3491 )
2021-03-11 11:23:55 +01:00
ocornut
8ed34af6f8
ImDrawList: clarified that PathArcTo()/PathArcToFast() cannot take radius < 0.0f. ( #3491 ) + changed poor-man ceiling in _CalcCircleAutoSegmentCount() to use 0.999999f to reduce gaps
...
Previously it sorts of accidentally worked but would lead to counter-clockwise paths which and have an effect on anti-aliasing.
2021-03-11 10:51:20 +01:00
Rokas Kupstys
01a2bac7d5
DrawList: Replace "bool close" in drawing functions with flags.
2021-03-10 12:57:01 +01:00
ocornut
80533ea5e1
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_widgets.cpp
2021-03-05 16:04:15 +01:00
ocornut
3e6dfd3c1a
ImDrawList: AddImageRounded() compare texid from cmdheader as with other functions. + Made the ImGuiMemAllocFunc / ImGuiMemFreeFunc consistent with our other typedefs ( #3836 )
2021-03-04 14:29:01 +01:00
ocornut
6aee4bcdc5
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_dx9.cpp
# backends/imgui_impl_win32.cpp
# docs/CHANGELOG.txt
# imgui.cpp
2021-03-02 18:27:07 +01:00
ocornut
23ab4978e4
ImFontAtlas: Added 'bool TexPixelsUseColors' output to help backend decide of underlying texture format. ( #3369 , #3844 )
2021-03-02 15:04:34 +01:00
ocornut
ffa863a3ba
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_dx10.cpp
# backends/imgui_impl_dx11.cpp
# backends/imgui_impl_dx12.cpp
# backends/imgui_impl_dx9.cpp
# backends/imgui_impl_opengl3.cpp
# backends/imgui_impl_win32.cpp
# docs/CHANGELOG.txt
# examples/example_glfw_vulkan/main.cpp
# examples/example_sdl_vulkan/main.cpp
# imgui.cpp
2021-02-18 11:41:27 +01:00
ocornut
fb15d8c858
Improve on automatic circle segment count calculation. ( #3808 ) Amends
2021-02-17 14:22:31 +01:00
thedmd
f107693d9b
Improve on automatic circle segment count calculation. ( #3808 )
2021-02-17 12:55:39 +01:00
ocornut
30b7545841
Version 1.82 WIP
2021-02-15 18:10:14 +01:00
ocornut
239d09804d
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2021-02-10 21:28:16 +01:00
ocornut
4df57136e9
Version 1.81
2021-02-10 21:16:58 +01:00
ocornut
7a516a266d
Merge remote-tracking branch 'origin/master' into docking
...
# Conflicts:
# backends/imgui_impl_dx12.cpp
# backends/imgui_impl_dx9.cpp
# imgui.cpp
# imgui.h
2021-02-09 13:17:24 +01:00
ocornut
56f7bdae99
ImDrawList: Clarified PathArcTo() need for a_min <= a_max with an assert. Fixed PathArcToFast() handling of a_min > a_max.
2021-02-08 16:37:51 +01:00
ocornut
03038df1cc
ImDrawList: fix divide by zero (for which result was unused but triggering on some archs/setup) added by f144c67676
( #3738 )
2021-02-08 14:03:24 +01:00
ocornut
24be26e00e
imgui_freetype: Add support for colored glyphs. Font: add support for untinted glyphs ( #3369 )
...
Amend 9499afd
with missing static inline.
2021-02-01 16:32:26 +01:00
Petr Shurgalin
24aa6654df
imgui_freetype: add support for colored glyphs with ImGuiFreeTypeBuilderFlags_LoadColor ( #3369 )
...
(squashed 4 commits)
2021-02-01 16:32:23 +01:00
ocornut
577e7cb493
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_win32.cpp
# docs/CHANGELOG.txt
# imgui.cpp
2021-01-28 21:02:13 +01:00
ocornut
9499afdf5e
imgui_freetype: clarify breaking changes, and add BuildFontAtlas() to be consistent with planned obsolescence. Rename mislabelled internal helper. Demo: clarify labels in nested table demo. ( #3765 )
2021-01-28 20:53:53 +01:00
ocornut
3867c6c5f0
Fonts: (Breaking) Rename ImGuiFreeType:: flags to ImGuiFreeTypeBuilderFlags_XXX. Remove ImGuiFreeType::BuildFontAtlas() flags. Rename ImFontConfig::RasterizerFlags to FontBuilderFlags. Add ImFontBuilderIO (opaque). Amend 53d59f3 with a dozen of small fixes.
2021-01-26 17:25:09 +01:00
Louis Schnellbach
9417acc20f
Fonts: if IMGUI_ENABLE_FREETYPE, use library by default for font rasterization
...
Also renamed IMGUI_DISABLE_STB_TRUETYPE to IMGUI_ENABLE_STB_TRUETYPE
2021-01-26 17:23:11 +01:00
ocornut
2ed47e5822
Version 1.81 WIP
2021-01-25 16:30:44 +01:00
ocornut
f144c67676
ImDrawList: fixed AddCircle, AddCircleFilled buffer read overflow with (rad > 0.0f && rad < 1.0f && num_segments == 0). ( #3738 )
...
Amend 051ce076
. Maximum cached count becomes 63 instead of 64.
2021-01-25 14:59:09 +01:00
ocornut
bb26751b94
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
2021-01-21 20:38:42 +01:00
ocornut
58075c4414
Version 1.80
2021-01-21 20:36:18 +01:00
ocornut
b11518d7d7
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_opengl2.cpp
# backends/imgui_impl_opengl3.cpp
# imgui.cpp
2021-01-05 16:46:38 +01:00
thedmd
94a432275b
ImDrawList: Internals: Add ability to scale anti-alias fringe. This enable users to keep geometry sharp while scaling vertex buffer content.
2021-01-05 16:34:11 +01:00
ocornut
9bcf77eb81
Fixed using IsItemEdited() after Combo() not matching the return value from Combo(). ( #2034 ) + fix some PVS warnings, fix typo, blanks.
...
Amend e28b1078
2021-01-04 19:15:20 +01:00
ocornut
b015ea93fd
Style tweaks, disabled default window rounding by default, reduced size of resize grip, made less prominent, increased WindowBg alpha in classic style.
...
TestEngine: Fixed Checkbox() not reporting its checkable state when clipped.
2020-12-24 18:31:51 +01:00
ocornut
7b53551032
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
2020-12-22 17:17:49 +01:00
ocornut
4d8e839ddf
Renamed ImDrawList::AddBezierCurve() to ImDrawList::AddBezierCubic(), ImDrawList::PathBezierCurveTo() to ImDrawList::PathBezierCubicCurveTo(). ( #3127 , #3664 , #3665 )
...
Renamed corresponding internal functions as well.
2020-12-21 17:13:36 +01:00
ocornut
550bfcfc59
Amend defce31
Add ImDrawList::AddQuadBezierCurve(), ImDrawList::PathQuadBezierCurveTo() ( #3127 , #3664 , #3665 )
2020-12-21 16:30:10 +01:00
Aiekick
defce31c2e
Add ImDrawList::AddQuadBezierCurve(), ImDrawList::PathQuadBezierCurveTo() ( #3127 , #3664 , #3665 )
2020-12-21 16:25:14 +01:00
ocornut
dd4ca70b0d
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_win32.cpp
# imgui.cpp
# imgui_demo.cpp
2020-12-04 19:22:15 +01:00
ocornut
6e38026627
Tables: changelog. removed TableGetHoveredColumn() from public API in favor of using TableGetColumnFlags(). renamed ImGuiTableSortSpecsColumn to ImGuiTableColumnSortSpecs.
2020-12-04 19:15:27 +01:00
omar
325b4c69ba
Tables: Moved border colors to the Style (maybe temporarily?) instead of hardcoding them.
2020-12-04 19:15:19 +01:00
omar
8da7d3c3e5
Tables: Initial commit. [Squashed 123+5 commits from tables_wip/]
2020-12-04 19:15:19 +01:00
ocornut
c1ffac2fee
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2020-12-03 20:05:49 +01:00
vaiorabbit
2afdfa602f
Rebuild ImFontAtlas::GetGlyphRangesJapanese offset table ( #3627 )
...
- GetGlyphRangesJapanese now supports
- 2136 'Joyo (meaning "for regular use" or "for common use")' Kanji
- 863 'Jinmeiyo" (meaning "for personal name")' Kanji
2020-12-02 12:02:29 +01:00
ocornut
9801c8c1c5
Texture-based thick lines: comment out dead code (amend b5bae978
). ( #3245 )
2020-11-26 19:35:56 +01:00
ocornut
b2a91dc390
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2020-11-13 22:04:28 +01:00
ocornut
71cc636696
Metrics: Rebranded as "Dear ImGui Metrics/Debugger". Fix Show Window Rectangle. Fix Clang OSX warnings. Amend #3592 for Mingw only.
2020-11-13 21:30:19 +01:00
ocornut
78f1d2d319
ImDrawListSplitter: create first draw cmd on demand + Internals: fix incorrect ImBitArraySetBitRange() (only used by tables)
...
Make it cheaper to allocate unused draw cmd, can't measure perf difference other our stress tests.
2020-11-12 18:17:17 +01:00
ocornut
ac08593b96
Merge branch 'master' into docking + tweak dock node padding + use CheckboxFlags with int
...
# Conflicts:
# imgui.cpp
# imgui_demo.cpp
# imgui_internal.h
2020-11-05 21:36:22 +01:00
ocornut
5f97809cab
Misc tidying up (zero-clear structures, more unused default in ClipRetFullscreen, NavApplyItemToResult() coding style fix)
...
Zero-clearing more structures
Remove arbitrary default ClipRetFullscreen value in ImDrawListSharedData.
Nav extracted NavApplyItemToResult() function.
Coding style fixes in OSX Backends.
2020-11-05 13:24:27 +01:00
ocornut
2bf5ca7ef2
ImDrawListClipper: avoid over reserving memory.
2020-11-04 18:05:51 +01:00
ocornut
042a3b01d2
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_dx10.cpp
# backends/imgui_impl_dx10.h
# backends/imgui_impl_vulkan.h
# backends/imgui_impl_win32.cpp
# docs/CHANGELOG.txt
# examples/README.txt
# examples/example_glfw_opengl2/main.cpp
# examples/example_glfw_opengl3/main.cpp
# examples/example_glfw_vulkan/main.cpp
# examples/example_sdl_directx11/main.cpp
# examples/example_sdl_opengl2/main.cpp
# examples/example_sdl_opengl3/main.cpp
# examples/example_sdl_vulkan/main.cpp
# examples/example_win32_directx10/main.cpp
# examples/example_win32_directx11/main.cpp
# examples/example_win32_directx12/main.cpp
# examples/example_win32_directx9/main.cpp
# imgui.cpp
# imgui.h
# imgui_demo.cpp
# imgui_internal.h
2020-10-14 14:44:03 +02:00
ocornut
04de5ef819
Version 1.80 WIP
2020-10-12 13:04:34 +02:00
ocornut
682249396f
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
2020-10-08 16:05:55 +02:00
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)
2020-10-08 16:01:59 +02:00
ocornut
fa004ae79a
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_examples.sln
# examples/imgui_impl_dx12.cpp
# examples/imgui_impl_dx12.h
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
# imgui_demo.cpp
# imgui_internal.h
# imgui_widgets.cpp
2020-09-22 17:00:57 +02:00
ocornut
c206a19373
Removed ImFont::DisplayOffset in favor of ImFontConfig::GlyphOffset. ( #1619 )
...
+ Fonts: AddFontDefault() adjust its vertical offset based on floor(size/13) instead of always +1.
2020-09-17 16:45:21 +02:00
omar
a8f409a848
Examples: DX12: Enable breaking on any warning/error when debug interface is enabled. ( #3462 , #3472 ) + misc comments & minor fixes.
2020-09-16 10:40:06 +02:00
omar
78f753ffff
Merge branch 'master' into docking + incl add wd->Pipeline in ImGui_ImplVulkan_RenderDrawData platform code ( #3455 , #3459 )
2020-09-08 17:02:58 +02:00
HALX99
8a9ee9cded
Add const qualifier for parameter ImFontConfig of ImFont::AddGlyph ( #3461 )
2020-09-08 12:18:28 +02:00
ocornut
34077c0140
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2020-09-01 12:07:35 +02:00
ocornut
302896d488
Basic optimization for ShadeVertsLinearColorGradientKeepAlpha() - especially for debug overhead - since it's used massively by some of our experiments.
2020-08-27 12:19:13 +02:00
ocornut
ad8fdc917f
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
2020-08-20 22:42:14 +02:00
ocornut
9262609eaf
Version 1.79 WIP
2020-08-20 16:46:44 +02:00
ocornut
05bc204dbd
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.h
2020-08-18 17:51:43 +02:00
ocornut
95c99aaa4b
Version 1.78
2020-08-18 17:50:45 +02:00
omar
2c13a74a9d
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/example_glfw_vulkan/main.cpp
# examples/example_sdl_vulkan/main.cpp
# imgui.cpp
2020-08-10 11:35:51 +02:00
ocornut
90b152f265
ImFontAtlas: Fixed multiple rebuild with same inputs erroneously increased ConfigDataCount. CI: Update Ubuntu 18.04 > 20.04 (motivated by #3369 )
...
Fix Freetype warning.
2020-08-07 16:27:55 +02:00
omar
963839373c
Demo tweaks + general removal of the word dummy were possible with no issues (kept the API call).
2020-08-03 21:31:42 +02:00
omar
de1588928b
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2020-08-03 19:54:31 +02:00
omar
5d87941451
Fixed ImFontConfig::GlyphExtraSpacing and ImFontConfig::PixelSnapH settings being pulled from the merged/target font settings when merging fonts, instead of being pulled from the source font settings.
2020-08-02 12:20:13 +02:00
omar
70fa37527d
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_demo.cpp
# imgui_draw.cpp
# imgui_internal.h
2020-07-29 15:15:14 +02:00
omar
c7f5876f8a
Internals: backport window HitTestHole code from docking branch + RenderRectFilledWithHole() helper. ( #1512 , #3368 )
2020-07-29 15:03:52 +02:00
omar
b335225caa
Internals: Extract ImFontAtlasBuildRender1bppRectFromString() out of ImFontAtlasBuildRenderDefaultTexData() + minor renaming, comments
2020-07-22 17:31:59 +02:00
omar
f79f0e42f7
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/imgui_impl_opengl3.cpp
# imgui.h
2020-07-14 18:38:47 +02:00
omar
550f110354
InputText, ImDrawList: Fixed assert triggering when drawing single line of text with more than ~16 KB characters. ( #3349 )
2020-07-12 23:51:13 +02:00
omar
fb7f6cab8c
Backends: Amend, docs + extra comments. ( #3330 , #3245 )
2020-07-10 14:36:00 +02:00
omar
89685b346c
ImDrawList: Fixed minor bug introduced in 1.75 where AddCircle() with 12 segments would generate an extra unrequired vertex.
...
Actual missing code for d3b37180a3
, thanks @domgho!
2020-07-09 11:21:31 +02:00
omar
3a6c9907cd
Texture-based thick lines: Minor tweaks and rename toward merging in master. Changes to allow changing AA_SIZE (disable texture path).
2020-07-08 20:18:41 +02:00
Ben Carter
b5bae9781d
Texture-based thick lines: Only use textured lines for integer line widths
2020-07-08 17:38:02 +02:00
omar
78d6bdf080
Texture-based thick lines: Remove unnecessary indirection in fetching UV data, removed lerp call, renames, tweaks.
2020-07-08 17:38:02 +02:00
Omar
a07c8b6999
Texture-based thick lines: Fixes for AddCustomRect api, add IMGUI_HAS_TEXLINES define (temporarily) to facilitate working with test cases, Demo allows growing FrameBorderSize for testing
2020-07-08 17:38:02 +02:00
Ben Carter
21d9e8e1f4
Texture-based thick lines: Simplified line width calculation code and removed hack for thickness 1.0 lines
2020-07-08 17:38:02 +02:00
Ben Carter
403bf45245
Texture-based thick lines: Allow interpolation between textures for non-integer line widths
2020-07-08 17:38:01 +02:00
omar
222b7ddbfa
Texture-based thick lines: Tweaks, fix for truetype builder.
2020-07-08 17:38:01 +02:00
Ben Carter
741ab74b55
Texture-based thick lines: Improvements to code for drawing anti-aliased lines using textures
...
Moved line width into a constant
Removed test code (now in imgui-tests)
Improved matching between geometry and texture rendering at non-integer sizes
2020-07-08 17:38:01 +02:00
Ben Carter
1d3c3070d8
Texture-based thick lines: Initial version of AA line drawing using textures (press SHIFT to enable)
2020-07-08 17:38:01 +02:00
Ben Carter
8e4046e13b
Atlas build use GetCustomRectByIndex() + comments, rename, and shallow merge from tex_antialiasing_lines branch.
2020-07-08 17:25:40 +02:00
omar
ab4ef822f0
Version 1.78 WIP
2020-06-30 16:56:09 +02:00
omar
90ea7e2f2f
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_demo.cpp
# imgui_internal.h
2020-06-30 16:43:16 +02:00
Rokas Kupstys
0738611559
Misc: Bunch of code formatting changes suggested by a pass running 'astyle'
2020-06-30 16:37:21 +02:00
omar
ddabfc3477
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
2020-06-29 17:15:40 +02:00
omar
9418dcb693
Version 1.77
...
+ fix minor clang-tidy warnings which seems reasonable
2020-06-29 15:54:28 +02:00
omar
20d61f5f62
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2020-06-20 22:06:01 +02:00
omar
8ead38c100
Clang: Reduce uses of __has_warning for overall sanity, as compilers are hostile to software targetting multiple compiler version.
2020-06-18 17:02:24 +02:00
omar
704723744e
Disabled latest overzealous warnings from Clang
2020-06-18 16:19:51 +02:00
ocornut
c658cba22b
Comments, reworded some !(xxx && xxx) complex expression to be a little less confusing.
2020-06-15 18:06:48 +02:00
ocornut
2665288b30
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2020-06-11 11:36:38 +02:00
ocornut
64d8d302fb
ImDrawList: Fixed VtxOffset change leading to unnecessary leading empty ImDrawCmd in certain cases.
2020-06-10 19:16:14 +02:00
ocornut
84862ec78e
ImDrawList, ImDrawListSplitter, Columns: Fixed an issue where changing channels with different TextureId, VtxOffset would incorrectly apply new settings to draw channels. ( #3129 , #3163 )
2020-06-08 20:58:30 +02:00
ocornut
3bef743df4
ImDrawList: Clarifying and guarateeing that CmdBuffer.back()->UserCallback should be always be NULL.
2020-06-08 20:58:30 +02:00
ocornut
b1f2eacdf3
ImDrawList: Prefixed internal functions with underscore, renamed UpdateClipRect() to _OnChangedClipRect(), UpdateTextureID() -> _OnChangedTextureID()
2020-06-08 20:58:30 +02:00
ocornut
117d57df5b
ImDrawList: Additional comments and extracted bits into ImDrawList::PopUnusedDrawCmd()
2020-06-08 20:58:29 +02:00
ocornut
a6bb047bab
ImDrawList: Store header/current ImDrawCmd in instance to simplify merging code. Amend 0320e72
, toward #3163 , #3129
2020-06-08 19:36:02 +02:00
ocornut
f6120f8e16
ImDrawList, ImDrawListSplitter, Columns: Fixed an issue where starting a split when current VtxOffset was not zero would lead to draw commands with wrong VtxOffset. ( #259
2020-06-06 21:31:31 +02:00
ocornut
41f47c853b
ImDrawList: Amend 0320e72
removed an unnecessary test.
2020-06-06 20:35:29 +02:00
ocornut
8baa4ccff5
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2020-06-06 20:31:24 +02:00
ocornut
0320e7257b
ImDrawList: Small refactor to create empty command when beginning the frame, allowing to simplify some functions.
...
+ Missing clearing two fields in ClearFreeMemory() (was hamrless)
2020-06-06 20:27:24 +02:00
ocornut
003153b3ac
ImDrawList: Tweaks to make style consistent (using pointers, same local names). Added comments. Should be no-op.
2020-06-06 20:26:04 +02:00
thedmd
e22e3f300a
ImDrawList: Fixed an issue when draw command merging or cancelling while crossing the VtxOffset boundary would lead to draw command being emitted with wrong VtxOffset value. ( #3129 , #3163 , #3232 )
2020-06-06 18:54:53 +02:00
ocornut
41e8837f59
Comments, adding some spacing in ImVec2() constructors.
2020-06-02 18:13:54 +02:00
ocornut
5d472c4895
Merge branch 'master' into docking + fixes for #3259
...
# Conflicts:
# examples/example_glfw_vulkan/main.cpp
# examples/example_sdl_vulkan/main.cpp
# examples/imgui_impl_sdl.cpp
# imgui.cpp
2020-05-25 18:32:15 +02:00
ocornut
417ac68f82
Internals: AddPolyline: Add spaces for consistency, renaming.
2020-05-18 12:07:53 +02:00
omar
e4d8267188
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
2020-05-16 14:14:51 +02:00
Maru
6b80bd9cc3
Fix GetGlyphRangesKorean() end-range to end at 0xD7A3 (instead of 0xD79D). ( #348 , #3217 )
...
https://en.wikipedia.org/wiki/Hangul_Syllables
2020-05-11 18:01:42 +02:00
omar
5116eee108
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
2020-05-04 15:05:07 +02:00
Clownacy
a2454f2a45
Use __NEWLIB__ instead of __SWITCH__ and __CYGWIN__ for alloca.h-detection ( #3070 )
...
Cygwin uses newlib, so it's covered by the __NEWLIB__ check.
You can see how it defines __NEWLIB__ here: https://cygwin.com/git/?p=newlib-cygwin.git;a=blob;f=newlib/configure.in#l453
2020-04-28 16:15:00 +02:00
Ryan Pavlik
8cbff5ccb2
Fix various typos. ( #3161 )
...
(found by Debian's lintian on a package that uses imgui.)
(found by codespell.)
2020-04-28 16:10:15 +02:00
omar
5ac5d3674f
Removed unncessary ID (first arg) of ImFontAtlas::AddCustomRectRegular() function.
2020-04-23 19:27:04 +02:00
ocornut
266dff9bed
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui_internal.h
2020-04-20 11:33:56 +02:00
omar
e8c986b34e
Version 1.77 WIP
2020-04-14 14:55:50 +02:00
omar
b8e2b2bd6b
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
2020-04-12 20:24:18 +02:00
omar
5503c0a12e
Version 1.76
...
+ fixed PVS warning, update demo binaries, update readme image
2020-04-12 20:18:47 +02:00
omar
3930472f34
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2020-04-06 18:16:13 +02:00
omar
cc0d4e346a
Misc: Added an explicit compile-time test for non-scoped IM_ASSERT() macros to redirect users to a solution + fixed our stb wrappers.
...
+ Nav: Use nav layer enum, comments.
2020-04-03 12:41:33 +02:00
omar
16a9488c13
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_draw.cpp
2020-03-19 12:44:53 +01:00
omar
bdd31ec4db
Internal: Refactor: Moved RenderColorRectWithAlphaCheckerboard() to imgui_draw.cpp, tweaked signature.
2020-03-18 22:48:23 +01:00
omar
0bbbbe0f68
Internal: Refactor: Moved RenderArrow, RenderBullet, RenderCheckMark to imgui_draw.cpp, changed RenderCheckMark to avoid using ImGui context
2020-03-18 22:48:22 +01:00
ocornut
339ffd25a9
Internals: Renamed ImBoolVector to ImBitVector, added low-level loose function to replicate the behavior include a help SetBitRange() function.
2020-03-13 18:50:02 +01:00
ocornut
a7ace918fe
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_win32.cpp
# imgui.cpp
2020-03-05 11:48:57 +01:00
ocornut
0850b46c88
ImDrawList: Internals: Added IM_DRAWLIST_ARCFAST_TESSELLATION_MULTIPLIER setting.
2020-03-03 19:26:27 +01:00
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()
2020-03-03 18:53:29 +01:00
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
2020-03-03 18:53:29 +01:00
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
2020-03-03 18:53:29 +01:00
Omar
bb1e6f8af6
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/example_win32_directx11/main.cpp
# examples/example_win32_directx9/main.cpp
# examples/imgui_impl_win32.cpp
# examples/imgui_impl_win32.h
# imgui.cpp
2020-02-17 18:33:59 +01:00
Omar
09329ea4e6
Fix Clang 9.0 zealous warnings
2020-02-17 15:29:59 +01:00
omar
d284a6cffc
InputText: Fixed password fields displaying ASCII spaces as blanks. Fixed non-ASCII space occasionally creating unnecessary empty polygons. ( #2149 , #515 )
2020-02-11 19:28:11 +01:00
omar
ccaec1a270
Version 1.76 WIP
2020-02-11 16:56:56 +01:00
omar
d16c87a5b1
Internals: Minor renaming
2020-02-10 16:46:51 +01:00
omar
8432d1bfc7
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2020-02-10 14:03:12 +01:00
omar
58b3e02b95
Version 1.75
...
Comments
2020-02-10 14:02:41 +01:00
omar
d37d25470a
Added IMGUI_DISABLE compile-time definition to make all headers and sources empty.
2020-02-09 17:08:33 +01:00
omar
5be649e082
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2020-02-02 21:21:54 +01:00
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.
2020-01-31 12:02:56 +01:00
omar
bbe946fb6c
Minor fixes/tweaks (some to reduce drift wiih master branch)
2020-01-28 20:08:04 +01:00
omar
f5528001f6
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_glfw.cpp
# examples/imgui_impl_opengl2.cpp
# imgui.cpp
# imgui_internal.h
2020-01-27 14:57:00 +01:00
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
2020-01-23 14:55:05 +01:00
Ben Carter
051ce0765e
AddCircle, AddCircleFilled: Add auto-calculation of circle segment counts
2020-01-23 14:52:48 +01:00
omar
861f786d81
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
2020-01-10 14:38:09 +01:00
omar
d581939387
Removed trailing spaces.
2020-01-06 15:24:16 +01:00
omar
4c108d22f0
Minor bits, placeholder aimed at facilitating merging of Tables branch into Docking
...
# Conflicts:
# imgui.cpp
2019-12-19 17:01:22 +01:00
omar
f70204f2f4
Minor bits, placeholder aimed at facilitating merging of Tables branch into Docking
2019-12-19 16:53:44 +01:00
omar
c706ff6f3a
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_sdl.cpp
# imgui.cpp
2019-12-18 20:49:41 +01:00
omar
a610f1da52
Bezier Tweaks, fixed parameter order of 3831d50
2019-12-17 16:43:05 +01:00
Rokas Kupstys
3831d50ab9
Add ImBezierClosestPoint() function which returns a point on bezier curve which is closed to a specified point.
2019-12-17 16:22:02 +01:00
omar
992736dc5d
Merge branch 'refs/heads/master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/imgui_impl_glfw.cpp
# examples/imgui_impl_sdl.cpp
# examples/imgui_impl_win32.cpp
# imgui.cpp
# imgui_internal.h
# imgui_widgets.cpp
2019-12-13 17:06:27 +01:00
Ben Carter
0e74103659
ImDrawList: Add AddNgon(), AddNgonFilled() API.
2019-12-09 11:23:06 +01:00
Ben Carter
697f15e339
Added PrimUnreserve() API. Obsoleted calling ImDrawList::PrimReserve() with a negative count.
2019-12-08 16:06:32 +01:00
omar
8342e5b91a
Amend previous commits (added ImGuiMouseCursor_NotAllowed enum + new cursors in GLFW 3.4)
...
Amend b5cad20d79
, 945a509773
+ unrelated minor typos
2019-12-05 15:45:30 +01:00
omar
abaf0256b8
Version 1.75 WIP
...
Added message to font file loading assert.
2019-11-28 20:58:16 +01:00
omar
813e0c18e6
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/imgui_impl_dx10.cpp
# examples/imgui_impl_dx10.h
# examples/imgui_impl_dx11.cpp
# examples/imgui_impl_dx11.h
# examples/imgui_impl_dx12.cpp
# examples/imgui_impl_dx12.h
# examples/imgui_impl_dx9.cpp
# examples/imgui_impl_dx9.h
# examples/imgui_impl_metal.h
# examples/imgui_impl_metal.mm
# examples/imgui_impl_opengl3.cpp
# examples/imgui_impl_opengl3.h
# examples/imgui_impl_vulkan.cpp
# imgui.cpp
# imgui.h
# imgui_internal.h
2019-11-26 12:23:43 +01:00
omar
bdce833636
Version 1.74
2019-11-25 18:38:53 +01:00
omar
51e2e9b239
ImVector: Added shrink() helper. ImFont::RenderText minor optimisation for debug build. Misc: Metrics shows tab names because we now have them.
2019-11-22 14:06:51 +01:00
omar
51a02b319c
Added IM_UNICODE_CODEPOINT_MAX. Changed specs of ImFontAtlas::AddCustomRectRegular() (breaking change).
2019-11-21 14:13:17 +01:00
omar
b3e94f5de8
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_opengl3.cpp
# imgui_widgets.cpp
2019-10-29 17:21:19 +01:00
stfx
6bf5aed325
Declaration and assignment can be joined, Member function may be 'const'. ( #2875 )
2019-10-29 17:11:49 +01:00
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)
2019-10-29 17:05:25 +01:00
omar
7feccf9ab2
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_dx10.cpp
# examples/imgui_impl_dx10.h
# examples/imgui_impl_dx11.cpp
# examples/imgui_impl_dx11.h
# examples/imgui_impl_dx9.cpp
# examples/imgui_impl_dx9.h
# examples/imgui_impl_glfw.cpp
# examples/imgui_impl_opengl2.cpp
# examples/imgui_impl_opengl2.h
# examples/imgui_impl_opengl3.cpp
# examples/imgui_impl_opengl3.h
# imgui.cpp
2019-10-18 16:50:30 +02:00
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 bc165df6fd
)
2019-10-18 16:18:38 +02:00
omar
e0c0e53edf
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2019-10-04 19:22:42 +02:00
omar
c262276988
Version 1.74 WIP
2019-09-30 14:27:56 +02:00
omar
6994bf10bc
Merge branch 'master' into docking + fix for RenderMouseCursor()
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
# imgui_draw.cpp
# imgui_internal.h
2019-09-24 17:14:51 +02:00
omar
d5efe16157
Version 1.73
2019-09-24 17:02:26 +02:00
omar
52deb415e0
Internal: Refactored internal RenderMouseCursor so colors can be specified. ( #2614 )
2019-09-23 14:53:49 +02:00
omar
af93c21cf9
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2019-09-18 17:27:14 +02:00
omar
098591fe4c
ImDrawListSplitter: fixed an issue merging channels if the last submitted draw command used a different texture. ( #2506 )
2019-09-17 20:27:15 +02:00
omar
575df6f192
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
# imgui_draw.cpp
# imgui_internal.h
2019-09-17 16:35:50 +02:00
omar
3b014d0c31
Merge branch 'features/ellipsis_rendering'
...
# Conflicts:
# imgui.cpp
2019-09-17 12:07:30 +02:00
omar
7d5a17e5e4
Remove trailing spaces (grep for ' \r?$' in visual studio)
2019-09-17 11:33:18 +02:00
omar
57623c15dd
Font: Narrow ellipsis: various minor stylistic tweaks ( #2775 )
2019-09-17 11:13:34 +02:00
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.
2019-09-17 11:13:07 +02:00
omar
e1fca8d982
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2019-08-23 12:21:49 +02:00
omar
c4ff1b3578
ImDrawList: clarified the name of many parameters so reading the code is a little easier. ( #2740 )
2019-08-22 17:43:57 +02:00
omar
aedcd2fb1a
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/imgui_impl_dx11.cpp
# imgui.cpp
2019-08-19 21:49:53 +02:00
omar
f624455d7b
Version 1.73 WIP
2019-08-01 10:57:13 -07:00
omar
b8d8355f10
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
2019-07-31 14:34:58 -07:00
omar
6a0d0dab5a
Version 1.72b (patch for nav)
2019-07-31 14:31:06 -07:00
omar
9183e7c426
Version 1.73 WIP
2019-07-29 15:54:32 -07:00
omar
a1164399b0
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2019-07-27 18:21:41 -07:00
omar
ecb9b1e2eb
Version 1.72
2019-07-27 18:15:07 -07:00
omar
db2581bee9
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2019-07-23 13:35:01 -07:00
omar
51853292cc
ImDrawList: Using ImDrawCornerFlags instead of int in various apis.
...
Demo: Using ImGuiColorEditrFlags instead of int.
2019-07-23 10:41:48 -07:00
omar
56e10f1c35
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
2019-07-16 18:29:31 -07:00
omar
d52c6316c8
Renamed ImFontAtlas::CustomRect to ImFontAtlasCustomRect. Keep redirection typedef (will obsolete).
2019-07-12 11:58:46 +02:00
omar
1f54c16f52
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
2019-07-02 18:47:10 +02:00
omar
82711251b6
Internals: ImGuiListClipper using absolute coordinate (instead of relative one). Minor no-op tweaks + ImDrawListSplitter assert
2019-06-29 20:10:55 +02:00
omar
1dd322c6fb
Style: Attenuated default opacity of ImGuiCol_Separator in Classic and Light styles.
2019-06-27 12:20:29 +02:00
omar
e2c1f0a7cd
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2019-06-18 23:12:50 +02:00
omar
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
).
2019-06-18 12:50:34 +02:00
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
2019-06-17 11:32:00 +02:00
omar
b27fd87177
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
# imgui.h
2019-06-17 11:10:14 +02:00
omar
b82e99c032
ImDrawList: Fixed CloneOutput() helper crashing. Also removed unnecessary risk from ImDrawList::Clear(), draw lists are being clear before use each frame anyway. ( #1860 )
2019-06-17 11:06:36 +02:00