diff --git a/src/start_screen.cpp b/src/start_screen.cpp index ca5af0311..0dc54ffcd 100644 --- a/src/start_screen.cpp +++ b/src/start_screen.cpp @@ -82,36 +82,17 @@ StartScreen::StartScreen(const std::vector& args, SDL_Renderer display_scale = 1.f; } + ImGui::GetIO().FontGlobalScale = display_scale; + ImGui::GetStyle().FontSizeBase = _conf.get_int("ImGuiFonts", "size").value_or(13); { auto* font_atlas = ImGui::GetIO().Fonts; font_atlas->ClearFonts(); // for now we also always merge - //bool has_font {false}; - - ImFontGlyphRangesBuilder glyphbld; - ImVector glyph_ranges; - { // build ranges - glyphbld.AddRanges(font_atlas->GetGlyphRangesDefault()); - glyphbld.AddRanges(font_atlas->GetGlyphRangesGreek()); - glyphbld.AddRanges(font_atlas->GetGlyphRangesCyrillic()); - glyphbld.AddRanges(font_atlas->GetGlyphRangesChineseSimplifiedCommon()); // contains CJK - glyphbld.AddText("โ„ข"); // somehow missing - // popular emojies - glyphbld.AddText(u8"๐Ÿ˜‚โค๏ธ๐Ÿคฃ๐Ÿ‘๐Ÿ˜ญ๐Ÿ™๐Ÿ˜˜๐Ÿฅฐ๐Ÿ˜๐Ÿ˜Š๐ŸŽ‰๐Ÿ˜๐Ÿ’•๐Ÿฅบ๐Ÿ˜…๐Ÿ”ฅโ˜บ๏ธ๐Ÿคฆโ™ฅ๏ธ๐Ÿคท๐Ÿ™„๐Ÿ˜†๐Ÿค—๐Ÿ˜‰๐ŸŽ‚๐Ÿค”๐Ÿ‘๐Ÿ™‚๐Ÿ˜ณ๐Ÿฅณ๐Ÿ˜Ž๐Ÿ‘Œ๐Ÿ’œ๐Ÿ˜”๐Ÿ’ชโœจ๐Ÿ’–๐Ÿ‘€๐Ÿ˜‹๐Ÿ˜๐Ÿ˜ข๐Ÿ‘‰๐Ÿ’—๐Ÿ˜ฉ๐Ÿ’ฏ๐ŸŒน๐Ÿ’ž๐ŸŽˆ๐Ÿ’™๐Ÿ˜ƒ๐Ÿ˜ก๐Ÿ’๐Ÿ˜œ๐Ÿ™ˆ๐Ÿคž๐Ÿ˜„๐Ÿคค๐Ÿ™Œ๐Ÿคชโฃ๏ธ๐Ÿ˜€๐Ÿ’‹๐Ÿ’€๐Ÿ‘‡๐Ÿ’”๐Ÿ˜Œ๐Ÿ’“๐Ÿคฉ๐Ÿ™ƒ๐Ÿ˜ฌ๐Ÿ˜ฑ๐Ÿ˜ด๐Ÿคญ๐Ÿ˜๐ŸŒž๐Ÿ˜’๐Ÿ˜‡๐ŸŒธ๐Ÿ˜ˆ๐ŸŽถโœŒ๏ธ๐ŸŽŠ๐Ÿฅต๐Ÿ˜ž๐Ÿ’šโ˜€๏ธ๐Ÿ–ค๐Ÿ’ฐ๐Ÿ˜š๐Ÿ‘‘๐ŸŽ๐Ÿ’ฅ๐Ÿ™‹โ˜น๏ธ๐Ÿ˜‘๐Ÿฅด๐Ÿ‘ˆ๐Ÿ’ฉโœ…๐Ÿ‘‹๐Ÿคฎ๐Ÿ˜ค๐Ÿคข๐ŸŒŸโ—๐Ÿ˜ฅ๐ŸŒˆ๐Ÿ’›๐Ÿ˜๐Ÿ˜ซ๐Ÿ˜ฒ๐Ÿ–•โ€ผ๏ธ๐Ÿ”ด๐ŸŒป๐Ÿคฏ๐Ÿ’ƒ๐Ÿ‘Š๐Ÿคฌ๐Ÿƒ๐Ÿ˜•๐Ÿ‘๏ธโšกโ˜•๐Ÿ€๐Ÿ’ฆโญ๐Ÿฆ‹๐Ÿคจ๐ŸŒบ๐Ÿ˜น๐Ÿค˜๐ŸŒท๐Ÿ’๐Ÿ’ค๐Ÿค๐Ÿฐ๐Ÿ˜“๐Ÿ’˜๐Ÿป๐Ÿ˜Ÿ๐Ÿ˜ฃ๐Ÿง๐Ÿ˜ ๐Ÿค ๐Ÿ˜ป๐ŸŒ™๐Ÿ˜›๐Ÿค™๐Ÿ™Š"); - - if (const auto sv_opt = _conf.get_string("ImGuiFonts", "atlas_extra_text"); sv_opt.has_value) { - glyphbld.AddText(sv_opt.s.start, sv_opt.s.start+sv_opt.s.extend); - } - glyphbld.BuildRanges(&glyph_ranges); - } ImFontConfig fontcfg; - //fontcfg.SizePixels = 16.f*display_scale; - fontcfg.SizePixels = _conf.get_int("ImGuiFonts", "size").value_or(13) * display_scale; - fontcfg.RasterizerDensity = 1.f; - fontcfg.OversampleH = 0; - fontcfg.OversampleV = 0; - fontcfg.MergeMode = false; + // defaults + fontcfg.OversampleH = fontcfg.OversampleV = 1; + fontcfg.PixelSnapH = true; #if defined(IMGUI_ENABLE_FREETYPE) && defined(IMGUI_ENABLE_FREETYPE_PLUTOSVG) std::cout << "Font: enabling freetype color loading\n"; fontcfg.FontLoaderFlags |= ImGuiFreeTypeBuilderFlags_LoadColor; @@ -125,16 +106,14 @@ StartScreen::StartScreen(const std::vector& args, SDL_Renderer std::cout << "Font: loading '" << font_path << "'\n"; const auto* resulting_font = font_atlas->AddFontFromFileTTF( font_path.c_str(), - _conf.get_int("ImGuiFonts", "size", font_path).value_or(0) * display_scale, - &fontcfg, - &(glyph_ranges[0]) + 0.f, + &fontcfg ); if (resulting_font != nullptr) { - //has_font = true; fontcfg.MergeMode = true; } else { - std::cerr << "Font: failed to load '" << "path" << "' !\n"; + std::cerr << "Font: failed to load '" << font_path << "' !\n"; } } diff --git a/src/tox_avatar_manager.cpp b/src/tox_avatar_manager.cpp index 264d0f01c..7039a2bc1 100644 --- a/src/tox_avatar_manager.cpp +++ b/src/tox_avatar_manager.cpp @@ -297,6 +297,11 @@ void ToxAvatarManager::checkObj(ObjectHandle o) { // like set "accepted" tag comp or something std::cout << "TAM: accepted avatar ft\n"; + } else { + // in progress, or canceled/aborted + + // TODO: canceled tag with reason?? + //if (o.all_of