satdump/src-core/common/widgets/markdown_helper.cpp
2023-08-16 21:35:34 -04:00

42 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;
};
void MarkdownHelper::render()
{
mdConfig.headingFormats[0] = { style::bigFont, true };
mdConfig.headingFormats[1] = { style::bigFont, true };
mdConfig.headingFormats[2] = { style::baseFont, true };
ImGui::Markdown(markdown_.c_str(), markdown_.length(), mdConfig);
}
void MarkdownHelper::set_md(std::string md)
{
markdown_ = md;
}
}