satdump/src-core/common/widgets/markdown_helper.cpp
2022-09-13 20:35:26 +02:00

43 lines
No EOL
1 KiB
C++

#include "markdown_helper.h"
#include "core/style.h"
namespace widgets
{
void MarkdownHelper::link_callback(ImGui::MarkdownLinkCallbackData data_)
{
std::string url(data_.link, data_.linkLength);
if (!data_.isImage)
{
#if defined(_WIN32)
system(std::string("explorer \"" + url + "\"").c_str());
#elif defined(__APPLE__)
system(std::string("open " + url).c_str());
#else
system(std::string("xdg-open " + url).c_str());
#endif
}
}
MarkdownHelper::MarkdownHelper()
{
}
void MarkdownHelper::init()
{
mdConfig.linkCallback = link_callback;
mdConfig.headingFormats[0] = {style::bigFont, true};
mdConfig.headingFormats[1] = {style::bigFont, true};
mdConfig.headingFormats[2] = {style::baseFont, true};
};
void MarkdownHelper::render()
{
ImGui::Markdown(markdown_.c_str(), markdown_.length(), mdConfig);
}
void MarkdownHelper::set_md(std::string md)
{
markdown_ = md;
}
}