Commit Graph

683 Commits

Author SHA1 Message Date
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