ocornut
550bfcfc59
Amend defce31
Add ImDrawList::AddQuadBezierCurve(), ImDrawList::PathQuadBezierCurveTo() ( #3127 , #3664 , #3665 )
4 years ago
Aiekick
defce31c2e
Add ImDrawList::AddQuadBezierCurve(), ImDrawList::PathQuadBezierCurveTo() ( #3127 , #3664 , #3665 )
4 years ago
ocornut
dd4ca70b0d
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_win32.cpp
# imgui.cpp
# imgui_demo.cpp
4 years ago
ocornut
6e38026627
Tables: changelog. removed TableGetHoveredColumn() from public API in favor of using TableGetColumnFlags(). renamed ImGuiTableSortSpecsColumn to ImGuiTableColumnSortSpecs.
4 years ago
omar
325b4c69ba
Tables: Moved border colors to the Style (maybe temporarily?) instead of hardcoding them.
4 years ago
omar
8da7d3c3e5
Tables: Initial commit. [Squashed 123+5 commits from tables_wip/]
4 years ago
ocornut
c1ffac2fee
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
4 years ago
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
4 years ago
ocornut
9801c8c1c5
Texture-based thick lines: comment out dead code (amend b5bae978
). ( #3245 )
4 years ago
ocornut
b2a91dc390
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
4 years ago
ocornut
71cc636696
Metrics: Rebranded as "Dear ImGui Metrics/Debugger". Fix Show Window Rectangle. Fix Clang OSX warnings. Amend #3592 for Mingw only.
4 years ago
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.
4 years ago
ocornut
ac08593b96
Merge branch 'master' into docking + tweak dock node padding + use CheckboxFlags with int
...
# Conflicts:
# imgui.cpp
# imgui_demo.cpp
# imgui_internal.h
4 years ago
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.
4 years ago
ocornut
2bf5ca7ef2
ImDrawListClipper: avoid over reserving memory.
4 years ago
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
4 years ago
ocornut
04de5ef819
Version 1.80 WIP
4 years ago
ocornut
682249396f
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
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
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
4 years ago
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.
4 years ago
omar
a8f409a848
Examples: DX12: Enable breaking on any warning/error when debug interface is enabled. ( #3462 , #3472 ) + misc comments & minor fixes.
4 years ago
omar
78f753ffff
Merge branch 'master' into docking + incl add wd->Pipeline in ImGui_ImplVulkan_RenderDrawData platform code ( #3455 , #3459 )
4 years ago
HALX99
8a9ee9cded
Add const qualifier for parameter ImFontConfig of ImFont::AddGlyph ( #3461 )
4 years ago
ocornut
34077c0140
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
4 years ago
ocornut
302896d488
Basic optimization for ShadeVertsLinearColorGradientKeepAlpha() - especially for debug overhead - since it's used massively by some of our experiments.
4 years ago
ocornut
ad8fdc917f
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
4 years ago
ocornut
9262609eaf
Version 1.79 WIP
4 years ago
ocornut
05bc204dbd
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.h
4 years ago
ocornut
95c99aaa4b
Version 1.78
4 years ago
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
4 years ago
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.
4 years ago
omar
963839373c
Demo tweaks + general removal of the word dummy were possible with no issues (kept the API call).
5 years ago
omar
de1588928b
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
5 years ago
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.
5 years ago
omar
70fa37527d
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_demo.cpp
# imgui_draw.cpp
# imgui_internal.h
5 years ago
omar
c7f5876f8a
Internals: backport window HitTestHole code from docking branch + RenderRectFilledWithHole() helper. ( #1512 , #3368 )
5 years ago
omar
b335225caa
Internals: Extract ImFontAtlasBuildRender1bppRectFromString() out of ImFontAtlasBuildRenderDefaultTexData() + minor renaming, comments
5 years ago
omar
f79f0e42f7
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/imgui_impl_opengl3.cpp
# imgui.h
5 years ago
omar
550f110354
InputText, ImDrawList: Fixed assert triggering when drawing single line of text with more than ~16 KB characters. ( #3349 )
5 years ago
omar
fb7f6cab8c
Backends: Amend, docs + extra comments. ( #3330 , #3245 )
5 years ago
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!
5 years ago
omar
3a6c9907cd
Texture-based thick lines: Minor tweaks and rename toward merging in master. Changes to allow changing AA_SIZE (disable texture path).
5 years ago
Ben Carter
b5bae9781d
Texture-based thick lines: Only use textured lines for integer line widths
5 years ago
omar
78d6bdf080
Texture-based thick lines: Remove unnecessary indirection in fetching UV data, removed lerp call, renames, tweaks.
5 years ago
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
5 years ago
Ben Carter
21d9e8e1f4
Texture-based thick lines: Simplified line width calculation code and removed hack for thickness 1.0 lines
5 years ago
Ben Carter
403bf45245
Texture-based thick lines: Allow interpolation between textures for non-integer line widths
5 years ago
omar
222b7ddbfa
Texture-based thick lines: Tweaks, fix for truetype builder.
5 years ago
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
5 years ago
Ben Carter
1d3c3070d8
Texture-based thick lines: Initial version of AA line drawing using textures (press SHIFT to enable)
5 years ago
Ben Carter
8e4046e13b
Atlas build use GetCustomRectByIndex() + comments, rename, and shallow merge from tex_antialiasing_lines branch.
5 years ago
omar
ab4ef822f0
Version 1.78 WIP
5 years ago
omar
90ea7e2f2f
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_demo.cpp
# imgui_internal.h
5 years ago
Rokas Kupstys
0738611559
Misc: Bunch of code formatting changes suggested by a pass running 'astyle'
5 years ago
omar
ddabfc3477
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
5 years ago
omar
9418dcb693
Version 1.77
...
+ fix minor clang-tidy warnings which seems reasonable
5 years ago
omar
20d61f5f62
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
5 years ago
omar
8ead38c100
Clang: Reduce uses of __has_warning for overall sanity, as compilers are hostile to software targetting multiple compiler version.
5 years ago
omar
704723744e
Disabled latest overzealous warnings from Clang
5 years ago
ocornut
c658cba22b
Comments, reworded some !(xxx && xxx) complex expression to be a little less confusing.
5 years ago
ocornut
2665288b30
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
5 years ago
ocornut
64d8d302fb
ImDrawList: Fixed VtxOffset change leading to unnecessary leading empty ImDrawCmd in certain cases.
5 years ago
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 )
5 years ago
ocornut
3bef743df4
ImDrawList: Clarifying and guarateeing that CmdBuffer.back()->UserCallback should be always be NULL.
5 years ago
ocornut
b1f2eacdf3
ImDrawList: Prefixed internal functions with underscore, renamed UpdateClipRect() to _OnChangedClipRect(), UpdateTextureID() -> _OnChangedTextureID()
5 years ago
ocornut
117d57df5b
ImDrawList: Additional comments and extracted bits into ImDrawList::PopUnusedDrawCmd()
5 years ago
ocornut
a6bb047bab
ImDrawList: Store header/current ImDrawCmd in instance to simplify merging code. Amend 0320e72
, toward #3163 , #3129
5 years ago
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
5 years ago
ocornut
41f47c853b
ImDrawList: Amend 0320e72
removed an unnecessary test.
5 years ago
ocornut
8baa4ccff5
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
5 years ago
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)
5 years ago
ocornut
003153b3ac
ImDrawList: Tweaks to make style consistent (using pointers, same local names). Added comments. Should be no-op.
5 years ago
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 )
5 years ago
ocornut
41e8837f59
Comments, adding some spacing in ImVec2() constructors.
5 years ago
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
5 years ago
ocornut
417ac68f82
Internals: AddPolyline: Add spaces for consistency, renaming.
5 years ago
omar
e4d8267188
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
5 years ago
Maru
6b80bd9cc3
Fix GetGlyphRangesKorean() end-range to end at 0xD7A3 (instead of 0xD79D). ( #348 , #3217 )
...
https://en.wikipedia.org/wiki/Hangul_Syllables
5 years ago
omar
5116eee108
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
5 years ago
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
5 years ago
Ryan Pavlik
8cbff5ccb2
Fix various typos. ( #3161 )
...
(found by Debian's lintian on a package that uses imgui.)
(found by codespell.)
5 years ago
omar
5ac5d3674f
Removed unncessary ID (first arg) of ImFontAtlas::AddCustomRectRegular() function.
5 years ago
ocornut
266dff9bed
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui_internal.h
5 years ago
omar
e8c986b34e
Version 1.77 WIP
5 years ago
omar
b8e2b2bd6b
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
5 years ago
omar
5503c0a12e
Version 1.76
...
+ fixed PVS warning, update demo binaries, update readme image
5 years ago
omar
3930472f34
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
5 years ago
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.
5 years ago
omar
16a9488c13
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_draw.cpp
5 years ago
omar
bdd31ec4db
Internal: Refactor: Moved RenderColorRectWithAlphaCheckerboard() to imgui_draw.cpp, tweaked signature.
5 years ago
omar
0bbbbe0f68
Internal: Refactor: Moved RenderArrow, RenderBullet, RenderCheckMark to imgui_draw.cpp, changed RenderCheckMark to avoid using ImGui context
5 years ago
ocornut
339ffd25a9
Internals: Renamed ImBoolVector to ImBitVector, added low-level loose function to replicate the behavior include a help SetBitRange() function.
5 years ago
ocornut
a7ace918fe
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_win32.cpp
# imgui.cpp
5 years ago
ocornut
0850b46c88
ImDrawList: Internals: Added IM_DRAWLIST_ARCFAST_TESSELLATION_MULTIPLIER setting.
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
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
5 years ago
Omar
09329ea4e6
Fix Clang 9.0 zealous warnings
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
d16c87a5b1
Internals: Minor renaming
5 years ago
omar
8432d1bfc7
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
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
5be649e082
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
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
bbe946fb6c
Minor fixes/tweaks (some to reduce drift wiih master branch)
5 years ago
omar
f5528001f6
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_glfw.cpp
# examples/imgui_impl_opengl2.cpp
# imgui.cpp
# imgui_internal.h
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
861f786d81
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
5 years ago
omar
d581939387
Removed trailing spaces.
5 years ago
omar
4c108d22f0
Minor bits, placeholder aimed at facilitating merging of Tables branch into Docking
...
# Conflicts:
# imgui.cpp
5 years ago
omar
f70204f2f4
Minor bits, placeholder aimed at facilitating merging of Tables branch into Docking
5 years ago
omar
c706ff6f3a
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_sdl.cpp
# imgui.cpp
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
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
5 years ago
Ben Carter
0e74103659
ImDrawList: Add AddNgon(), AddNgonFilled() API.
5 years ago
Ben Carter
697f15e339
Added PrimUnreserve() API. Obsoleted calling ImDrawList::PrimReserve() with a negative count.
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
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
5 years ago
omar
bdce833636
Version 1.74
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
b3e94f5de8
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_opengl3.cpp
# imgui_widgets.cpp
5 years ago
stfx
6bf5aed325
Declaration and assignment can be joined, Member function may be 'const'. ( #2875 )
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
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
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
e0c0e53edf
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
5 years ago
omar
c262276988
Version 1.74 WIP
5 years ago
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
5 years ago
omar
d5efe16157
Version 1.73
5 years ago
omar
52deb415e0
Internal: Refactored internal RenderMouseCursor so colors can be specified. ( #2614 )
5 years ago
omar
af93c21cf9
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
5 years ago
omar
098591fe4c
ImDrawListSplitter: fixed an issue merging channels if the last submitted draw command used a different texture. ( #2506 )
5 years ago
omar
575df6f192
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
# imgui_draw.cpp
# imgui_internal.h
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
e1fca8d982
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
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
aedcd2fb1a
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/imgui_impl_dx11.cpp
# imgui.cpp
5 years ago
omar
f624455d7b
Version 1.73 WIP
6 years ago
omar
b8d8355f10
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
6 years ago