#include #include #include #include namespace scwx { namespace qt { namespace util { static const std::string logPrefix_ = "scwx::qt::util::imgui"; static const auto logger_ = scwx::util::Logger::Create(logPrefix_); class ImGui::Impl { public: explicit Impl() {} ~Impl() {} }; ImGui::ImGui() : p(std::make_unique()) {} ImGui::~ImGui() = default; ImGui::ImGui(ImGui&&) noexcept = default; ImGui& ImGui::operator=(ImGui&&) noexcept = default; void ImGui::DrawTooltip(const std::string& hoverText) { auto tooltipFont = manager::FontManager::Instance().GetImGuiFont( types::FontCategory::Tooltip); if (::ImGui::BeginTooltip()) { ::ImGui::PushFont(tooltipFont.first->font(), tooltipFont.second.value()); ::ImGui::TextUnformatted(hoverText.c_str()); ::ImGui::PopFont(); ::ImGui::EndTooltip(); } } ImGui& ImGui::Instance() { static ImGui instance_ {}; return instance_; } } // namespace util } // namespace qt } // namespace scwx