aboutsummaryrefslogtreecommitdiffstats
path: root/3rdparty/imgui/misc/freetype/imgui_freetype.h
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/imgui/misc/freetype/imgui_freetype.h')
-rw-r--r--3rdparty/imgui/misc/freetype/imgui_freetype.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/3rdparty/imgui/misc/freetype/imgui_freetype.h b/3rdparty/imgui/misc/freetype/imgui_freetype.h
new file mode 100644
index 00000000..b8062bf7
--- /dev/null
+++ b/3rdparty/imgui/misc/freetype/imgui_freetype.h
@@ -0,0 +1,31 @@
+// Wrapper to use Freetype (instead of stb_truetype) for Dear ImGui
+// Get latest version at https://github.com/ocornut/imgui/tree/master/misc/freetype
+// Original code by @Vuhdo (Aleksei Skriabin), maintained by @ocornut
+
+#pragma once
+
+#include "imgui.h" // IMGUI_API, ImFontAtlas
+
+namespace ImGuiFreeType
+{
+ // Hinting greatly impacts visuals (and glyph sizes).
+ // When disabled, FreeType generates blurrier glyphs, more or less matches the stb's output.
+ // The Default hinting mode usually looks good, but may distort glyphs in an unusual way.
+ // The Light hinting mode generates fuzzier glyphs but better matches Microsoft's rasterizer.
+
+ // You can set those flags on a per font basis in ImFontConfig::RasterizerFlags.
+ // Use the 'extra_flags' parameter of BuildFontAtlas() to force a flag on all your fonts.
+ enum RasterizerFlags
+ {
+ // By default, hinting is enabled and the font's native hinter is preferred over the auto-hinter.
+ NoHinting = 1 << 0, // Disable hinting. This generally generates 'blurrier' bitmap glyphs when the glyph are rendered in any of the anti-aliased modes.
+ NoAutoHint = 1 << 1, // Disable auto-hinter.
+ ForceAutoHint = 1 << 2, // Indicates that the auto-hinter is preferred over the font's native hinter.
+ LightHinting = 1 << 3, // A lighter hinting algorithm for gray-level modes. Many generated glyphs are fuzzier but better resemble their original shape. This is achieved by snapping glyphs to the pixel grid only vertically (Y-axis), as is done by Microsoft's ClearType and Adobe's proprietary font renderer. This preserves inter-glyph spacing in horizontal text.
+ MonoHinting = 1 << 4, // Strong hinting algorithm that should only be used for monochrome output.
+ Bold = 1 << 5, // Styling: Should we artificially embolden the font?
+ Oblique = 1 << 6 // Styling: Should we slant the font, emulating italic style?
+ };
+
+ IMGUI_API bool BuildFontAtlas(ImFontAtlas* atlas, unsigned int extra_flags = 0);
+}