422902dbda 
								
							
								 
							
						 
						
							
							
								
								Correct typos ( #4954 ,  #4955 ), use IM_STATIC_ASSERT now that old pre-C++11 macro has been obsoleted.  
							
							
 
							
						 
						
							ago%!(EXTRA string=4 years)  
				
					
						
							
							
								 
						
							
							
								ebac375791 
								
							
								 
							
						 
						
							
							
								
								Docs: added info about Freetype, editing sponsors.  
							
							
 
							
						 
						
							ago%!(EXTRA string=4 years)  
				
					
						
							
							
								 
						
							
							
								68f428b449 
								
							
								 
							
						 
						
							
							
								
								imgui_freetype: Fixed crash when FT_Render_Glyph() returns NULL (which apparently happens  with Freetype 2.11). ( #4394 ,  #4145  ?)  
							
							
 
							
						 
						
							ago%!(EXTRA string=4 years)  
				
					
						
							
							
								 
						
							
							
								e534c56485 
								
							
								 
							
						 
						
							
							
								
								Fonts: Functions with a 'float size_pixels' parameter can accept zero if it is set in ImFontSize::SizePixels.  
							
							
 
							
						 
						
							ago%!(EXTRA string=4 years)  
				
					
						
							
							
								 
						
							
							
								20d415e939 
								
							
								 
							
						 
						
							
							
								
								FIx static analysers warnings and disable false positives.  
							
							
 
							
						 
						
							ago%!(EXTRA string=4 years)  
				
					
						
							
							
								 
						
							
							
								d0c6dd9baf 
								
							
								 
							
						 
						
							
							
								
								ImVector: added clear_delete(), clear_destruct() helpers.  
							
							
 
							
						 
						
							ago%!(EXTRA string=4 years)  
				
					
						
							
							
								 
						
							
							
								020d1ced1d 
								
							
								 
							
						 
						
							
							
								
								Examples: SDL2: Accomodate for vcpkg install having headers in SDL2/SDL.h vs SDL.h + vcpkg related comments.  
							
							
 
							
						 
						
							ago%!(EXTRA string=4 years)  
				
					
						
							
							
								 
						
							
							
								c708299ca9 
								
							
								 
							
						 
						
							
							
								
								Docs: Improvements to description of using colored glyphes/emojis. ( #4169 ,  #3369 ) + Add Fonts to Metrics. Removed IMGUI_HAS_TABLE markers.  
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								ebe6ac5fb5 
								
							
								 
							
						 
						
							
							
								
								Improvements to minor mistakes in documentation comments ( #3923 )  
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								f5bc5e8630 
								
							
								 
							
						 
						
							
							
								
								Freetype: Enable FreeType bitmap glyphs. ( #3879 )  
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								23ab4978e4 
								
							
								 
							
						 
						
							
							
								
								ImFontAtlas: Added 'bool TexPixelsUseColors' output to help backend decide of underlying texture format. ( #3369 ,  #3844 )  
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								4df57136e9 
								
							
								 
							
						 
						
							
							
								
								Version 1.81  
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								24be26e00e 
								
							
								 
							
						 
						
							
							
								
								imgui_freetype: Add support for colored glyphs. Font: add support for untinted glyphs ( #3369 )  
							
							... 
							
							
 
							
							Amend 9499afd 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								24aa6654df 
								
							
								 
							
						 
						
							
							
								
								imgui_freetype: add support for colored glyphs with ImGuiFreeTypeBuilderFlags_LoadColor ( #3369 )  
							
							... 
							
							
 
							
							(squashed 4 commits) 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								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 )  
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								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.  
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								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. 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								90b152f265 
								
							
								 
							
						 
						
							
							
								
								ImFontAtlas: Fixed multiple rebuild with same inputs erroneously increased ConfigDataCount. CI: Update Ubuntu 18.04 > 20.04 (motivated by  #3369 )  
							
							... 
							
							
 
							
							Fix Freetype warning. 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								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.  
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								0738611559 
								
							
								 
							
						 
						
							
							
								
								Misc: Bunch of code formatting changes suggested by a pass running 'astyle'  
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								53dfccbe4b 
								
							
								 
							
						 
						
							
							
								
								imgui_freetype: Fix for rare case where FT_Get_Char_Index() succeed but FT_Load_Glyph() fails. ( #618 )  
							
							
 
							
						 
						
							ago%!(EXTRA string=5 years)  
				
					
						
							
							
								 
						
							
							
								832fda8488 
								
							
								 
							
						 
						
							
							
								
								Fixed stray end of line blanks, added comments in .editorconfig, tweaked some headers.  
							
							
 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								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. 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								2fd411a83e 
								
							
								 
							
						 
						
							
							
								
								Support custom stb_rect_pack filename in Freetype ( #3062 )  
							
							... 
							
							
 
							
							Copies the #define magic from imgui_draw.cpp to the imgui_freetype implementation to allow the use of a custom stb rect_pack here as well.
References: fe5347ef94 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								339ffd25a9 
								
							
								 
							
						 
						
							
							
								
								Internals: Renamed ImBoolVector to ImBitVector, added low-level loose function to replicate the behavior include a help SetBitRange() function.  
							
							
 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								d16c87a5b1 
								
							
								 
							
						 
						
							
							
								
								Internals: Minor renaming  
							
							
 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								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) 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								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) 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								1820aaf444 
								
							
								 
							
						 
						
							
							
								
								imgui_freetype: Initialize FT_MemoryRec_ struct manually ( #2686 )  
							
							... 
							
							
 
							
							This fixes gcc warning: missing field 'alloc' initializer [-Wmissing-field-initializers] 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								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 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								4597632662 
								
							
								 
							
						 
						
							
							
								
								Readme, comments, dear imgui prefixes  
							
							
 
							
						 
						
							ago%!(EXTRA string=6 years)  
				
					
						
							
							
								 
						
							
							
								87c5356d97 
								
							
								 
							
						 
						
							
							
								
								FreeType: Added RasterizerFlags::Monochrome flag to disable font anti-aliasing. ( #2545 ) Combine with RasterizerFlags::MonoHinting for best results.  
							
							
 
							
						 
						
							ago%!(EXTRA string=7 years)  
				
					
						
							
							
								 
						
							
							
								c8fd4afd75 
								
							
								 
							
						 
						
							
							
								
								Misc: Added IM_MALLOC/IM_FREE macros mimicking IM_NEW/IM_DELETE so user doesn't need to revert  to using the ImGui::MemAlloc()/MemFree() calls directly.  
							
							
 
							
						 
						
							ago%!(EXTRA string=7 years)  
				
					
						
							
							
								 
						
							
							
								bd351e9ac5 
								
							
								 
							
						 
						
							
							
								
								Misc: Added IM_MALLOC/IM_FREE macros mimicking IM_NEW/IM_DELETE so user doesn't need to revert  to using the ImGui::MemAlloc()/MemFree() calls directly.  
							
							
 
							
						 
						
							ago%!(EXTRA string=7 years)  
				
					
						
							
							
								 
						
							
							
								e21bbee311 
								
							
								 
							
						 
						
							
							
								
								Examples: DirectX9: Fixed erroneous assert in ImGui_ImplDX9_InvalidateDeviceObjects(). FreeType: Fixed suggested code to not require an initial build call.. ( #2454 )  
							
							
 
							
						 
						
							ago%!(EXTRA string=7 years)  
				
					
						
							
							
								 
						
							
							
								f5bf6e38d2 
								
							
								 
							
						 
						
							
							
								
								Font: Fixed assert when specifying duplicate/overlapping ranges within a same font. ( #2353 ,  #2233 )  
							
							
 
							
						 
						
							ago%!(EXTRA string=7 years)  
				
					
						
							
							
								 
						
							
							
								db40699990 
								
							
								 
							
						 
						
							
							
								
								imgui_freeetype: Updated suggested test code.  
							
							
 
							
						 
						
							ago%!(EXTRA string=7 years)  
				
					
						
							
							
								 
						
							
							
								ee3b4f2bf1 
								
							
								 
							
						 
						
							
							
								
								Using IM_UNUSED() macro.  
							
							
 
							
						 
						
							ago%!(EXTRA string=7 years)  
				
					
						
							
							
								 
						
							
							
								ea7206fd4f 
								
							
								 
							
						 
						
							
							
								
								Fixed using imgui_freetype.cpp in unity builds. ( #2302 )  
							
							
 
							
						 
						
							ago%!(EXTRA string=7 years)  
				
					
						
							
							
								 
						
							
							
								2c38b32db1 
								
							
								 
							
						 
						
							
							
								
								Removed trailing spaces ( #2038 ,  #2299 )  
							
							
 
							
						 
						
							ago%!(EXTRA string=7 years)  
				
					
						
							
							
								 
						
							
							
								09f1cb642b 
								
							
								 
							
						 
						
							
							
								
								FreeType: Minor tweaks previous commit ( #2285 )  
							
							
 
							
						 
						
							ago%!(EXTRA string=7 years)  
				
					
						
							
							
								 
						
							
							
								daac9c7559 
								
							
								 
							
						 
						
							
							
								
								By default ImGuiFreeType will use ImGui::MemAlloc()/MemFree().  
							
							... 
							
							
 
							
							ImGuiFreeType::SetAllocatorFunctions() can be used to specify custom allocator. 
							
						 
						
							ago%!(EXTRA string=7 years)  
				
					
						
							
							
								 
						
							
							
								8df8482ef4 
								
							
								 
							
						 
						
							
							
								
								imgui_freetype: Fixed redundant FT_Load_Glyph() calls, unused parameters, and compilation warning/error. ( #2270 )  
							
							
 
							
						 
						
							ago%!(EXTRA string=7 years)  
				
					
						
							
							
								 
						
							
							
								651130002f 
								
							
								 
							
						 
						
							
							
								
								ImFontAtlas: Fixed allocating for last bit (would only affect is that last codepoint is a multiple of 32). ( #2270 )  
							
							
 
							
						 
						
							ago%!(EXTRA string=7 years)  
				
					
						
							
							
								 
						
							
							
								21828b08a0 
								
							
								 
							
						 
						
							
							
								
								ImFontAtlas: Rewrote FreeType based builder.  
							
							... 
							
							
 
							
							- Fixed abnormally high atlas height. (#618 )
- Fixed support for any values of TexGlyphPadding (not just only 1). (#618 )
- Atlas width is now properly based on total surface rather than glyph count (unless overridden with TexDesiredWidth). (#618 )
- Fixed atlas builder so missing glyphs won't influence the atlas texture width. (#2233 , #618 )
- Fixed atlas builder so duplicate glyphs (when merging fonts) won't be included in the rasterized atlas. (#618 ) 
							
						 
						
							ago%!(EXTRA string=7 years)  
				
					
						
							
							
								 
						
							
							
								56caf7da29 
								
							
								 
							
						 
						
							
							
								
								imgui_freetype: Minor tweaks and comments.  
							
							
 
							
						 
						
							ago%!(EXTRA string=7 years)  
				
					
						
							
							
								 
						
							
							
								9cc63ba279 
								
							
								 
							
						 
						
							
							
								
								Internals: Replace unsigned short with ImWchar when dealing with character storage (missing cases) + in imgui_impl_ file keep using neutral type everywhere, added missing explicit cast in three bindings. ( #2078 )  
							
							
 
							
						 
						
							ago%!(EXTRA string=7 years)  
				
					
						
							
							
								 
						
							
							
								5a679a45cc 
								
							
								 
							
						 
						
							
							
								
								Renamed stb_truetype.h to imstb_truetype.h, stb_textedit.h to imstb_textedit.h, and stb_rect_pack.h to imstb_rectpack.h. ( #1718 ,  #2036 )  
							
							... 
							
							
 
							
							If you were conveniently using the imgui copy of those STB headers in your project, you will have to update your include paths.
The reason for this change is to avoid conflicts for projects that may also be importing their own copy of the STB libraries. Note that imgui's copy of stb_textedit.h is modified. 
							
						 
						
							ago%!(EXTRA string=7 years)  
				
					
						
							
							
								 
						
							
							
								f5bf9f509c 
								
							
								 
							
						 
						
							
							
								
								ImFontConfig: Added GlyphMinAdvanceX/GlyphMaxAdvanceX settings useful to make a font appears monospaced, particularly useful for icon fonts. ( #1869 )  
							
							
 
							
						 
						
							ago%!(EXTRA string=8 years)  
				
					
						
							
							
								 
						
							
							
								0903a12c2a 
								
							
								 
							
						 
						
							
							
								
								Fixed documentation example ( #1847 )  
							
							
 
							
						 
						
							ago%!(EXTRA string=8 years)