satdump/src-core/common/widgets/markdown_helper.cpp

42 lines
1 KiB
C++
Raw Normal View History

2022-06-20 18:54:33 +02:00
#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)
{
2022-09-13 20:35:26 +02:00
#if defined(_WIN32)
system(std::string("explorer \"" + url + "\"").c_str());
#elif defined(__APPLE__)
system(std::string("open " + url).c_str());
#else
2022-06-20 18:54:33 +02:00
system(std::string("xdg-open " + url).c_str());
2022-09-13 20:35:26 +02:00
#endif
2022-06-20 18:54:33 +02:00
}
}
MarkdownHelper::MarkdownHelper()
{
}
void MarkdownHelper::init()
{
mdConfig.linkCallback = link_callback;
};
void MarkdownHelper::render()
{
2023-08-16 21:35:34 -04:00
mdConfig.headingFormats[0] = { style::bigFont, true };
mdConfig.headingFormats[1] = { style::bigFont, true };
mdConfig.headingFormats[2] = { style::baseFont, true };
2022-06-20 18:54:33 +02:00
ImGui::Markdown(markdown_.c_str(), markdown_.length(), mdConfig);
}
void MarkdownHelper::set_md(std::string md)
{
markdown_ = md;
}
}