#include "local_panel.hpp" #include "utils.hpp" namespace sandbox { void local_panel::on_attach() { VE_CONNECT(local_panel); } void local_panel::render() { if (ImGui::Button(VE_NAME("RUN thread"), ImVec2(128, 130))) { auto f = []() { VE::event e { test_event::TEST_EVEN , std::string("test event message from thread") }; VE_EMIT(e); }; std::thread th(f); th.detach(); } VE_PUSH_FONT(ICON, 18); if (ImGui::Button(VE::style::icon::ICON_STOP, ImVec2(28, 30))) { VE::event e { test_event::TEST_EVEN , std::string("test icon button") }; VE_EMIT(e); } ImGui::Text(VE::style::icon::ICON_PAINT_BRUSH, " Paint" ); ImGui::Text("\xef\x87\xbc"); VE_POP_FONT(); } void local_panel::on_event(VE::event e) { // для событий от перефирии // if (e.m_type.type() == typeid(VE::event_type)) // { // auto t = std::any_cast(e.m_type); // if (t != VE::event_type::MOUSE_CURSOR_POSITION) // hack::log()((int)t); // } if (e.m_type.type() == typeid(test_event)) { auto t = std::any_cast(e.m_type); if (t == test_event::TEST_EVEN) hack::log()(std::any_cast(e.m_data)); } } void local_panel::update() { } }