52 Commits (90deb0959ab3a15f639c92ddc61505a8915de75f)

Author SHA1 Message Date
ocornut 4161a67b38 ImVector: added clear_delete(), clear_destruct() helpers.
# Conflicts:
#	imgui.cpp
3 years ago
ocornut 020d1ced1d Examples: SDL2: Accomodate for vcpkg install having headers in SDL2/SDL.h vs SDL.h + vcpkg related comments. 3 years ago
ocornut c708299ca9 Docs: Improvements to description of using colored glyphes/emojis. (#4169, #3369) + Add Fonts to Metrics. Removed IMGUI_HAS_TABLE markers. 3 years ago
ANF-Studios ebe6ac5fb5 Improvements to minor mistakes in documentation comments (#3923) 4 years ago
TAiGA f5bc5e8630 Freetype: Enable FreeType bitmap glyphs. (#3879) 4 years ago
ocornut 23ab4978e4 ImFontAtlas: Added 'bool TexPixelsUseColors' output to help backend decide of underlying texture format. (#3369, #3844) 4 years ago
ocornut 4df57136e9 Version 1.81 4 years ago
ocornut 24be26e00e imgui_freetype: Add support for colored glyphs. Font: add support for untinted glyphs (#3369)
Amend 9499afd with missing static inline.
4 years ago
Petr Shurgalin 24aa6654df imgui_freetype: add support for colored glyphs with ImGuiFreeTypeBuilderFlags_LoadColor (#3369)
(squashed 4 commits)
4 years ago
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) 4 years ago
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. 4 years ago
Bartosz Taudul 6469b94304
Silence memset warning. (#3505)
Compiling the code as-is results in the following warning:

-->8--
imgui_freetype.cpp:341:72: warning: ‘void* memset(void*, int, size_t)’
        clearing an object of type ‘struct ImFontBuildSrcDataFT’ with no
        trivial copy-assignment; use assignment or value-initialization
        instead [-Wclass-memaccess]
  341 |     memset(src_tmp_array.Data, 0, (size_t)src_tmp_array.size_in_bytes());
      |                                                                        ^
imgui_freetype.cpp:302:8: note: ‘struct ImFontBuildSrcDataFT’ declared here
  302 | struct ImFontBuildSrcDataFT
      |        ^~~~~~~~~~~~~~~~~~~~
--8<--

This is caused by presence of ImVector<> directly in ImFontBuildSrcDataFT data
structure, as well as in the child ImBitVector. Since ImVector<> has a
constructor, the compiler infers that initialization by memset is not valid.
Such initialization is not a bug, however, as the default ImVector<> ctor just
sets the structure data members to 0, which is exactly what the memset does.

Casting the data structure address to void* pointer silences this warning.
4 years ago
ocornut 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 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. 4 years ago
Rokas Kupstys 0738611559 Misc: Bunch of code formatting changes suggested by a pass running 'astyle' 4 years ago
ocornut 53dfccbe4b imgui_freetype: Fix for rare case where FT_Get_Char_Index() succeed but FT_Load_Glyph() fails. (#618) 4 years ago
omar 832fda8488 Fixed stray end of line blanks, added comments in .editorconfig, tweaked some headers. 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
David Kalnischkies 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
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
omar d16c87a5b1 Internals: Minor renaming 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
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
luk1337 1820aaf444 imgui_freetype: Initialize FT_MemoryRec_ struct manually (#2686)
This fixes gcc warning: missing field 'alloc' initializer [-Wmissing-field-initializers]
5 years ago
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
5 years ago
omar 4597632662 Readme, comments, dear imgui prefixes 5 years ago
HolyBlackCat 87c5356d97 FreeType: Added RasterizerFlags::Monochrome flag to disable font anti-aliasing. (#2545) Combine with RasterizerFlags::MonoHinting for best results. 5 years ago
omar 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. 6 years ago
omar e21bbee311 Examples: DirectX9: Fixed erroneous assert in ImGui_ImplDX9_InvalidateDeviceObjects(). FreeType: Fixed suggested code to not require an initial build call.. (#2454) 6 years ago
omar f5bf6e38d2 Font: Fixed assert when specifying duplicate/overlapping ranges within a same font. (#2353, #2233) 6 years ago
omar db40699990 imgui_freeetype: Updated suggested test code. 6 years ago
omar ee3b4f2bf1 Using IM_UNUSED() macro. 6 years ago
omar ea7206fd4f Fixed using imgui_freetype.cpp in unity builds. (#2302) 6 years ago
omar 2c38b32db1 Removed trailing spaces (#2038, #2299) 6 years ago
omar 09f1cb642b FreeType: Minor tweaks previous commit (#2285) 6 years ago
alexey_skryabin daac9c7559 By default ImGuiFreeType will use ImGui::MemAlloc()/MemFree().
ImGuiFreeType::SetAllocatorFunctions() can be used to specify custom allocator.
6 years ago
omar 8df8482ef4 imgui_freetype: Fixed redundant FT_Load_Glyph() calls, unused parameters, and compilation warning/error. (#2270) 6 years ago
omar 651130002f ImFontAtlas: Fixed allocating for last bit (would only affect is that last codepoint is a multiple of 32). (#2270) 6 years ago
omar 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)
6 years ago
omar 56caf7da29 imgui_freetype: Minor tweaks and comments. 6 years ago
omar 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) 6 years ago
omar 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.
6 years ago
omar f5bf9f509c ImFontConfig: Added GlyphMinAdvanceX/GlyphMaxAdvanceX settings useful to make a font appears monospaced, particularly useful for icon fonts. (#1869) 6 years ago
Marc J. Schmidt 0903a12c2a Fixed documentation example (#1847) 6 years ago
omar 35e74c72ab imgui_freetype: skip missing glyphs as well to match our stb loader (#1671, #1703) 7 years ago
omar 111ea7af77 Misc comments, todos + reintroduced removed ImGuiCol defines under !IMGUI_DISABLE_OBSOLETE_FUNCTIONS wrap. 7 years ago
omar 1f6ad7a894 ImFont: Added FindGlyphNoFallback. Fixed MergeMode broken by 1ef1acbd8d 7 years ago
omar 1ef1acbd8d Font: Fixed MergeMode adding duplicate glyphs data instead of reusing existing (broken by 072d6d8cb5) 7 years ago
omar fed0a884f7 ImFontAtlas: Added ImFontAtlasFlags_NoPowerOfTwoHeight, ImFontAtlasFlags_NoMouseCursors flags. (#1613) 7 years ago
omar cf6b39600b imgui_freetype: comments about correct blending and sRGB (#618, #578) 7 years ago