# include # include # include namespace ed = ax::NodeEditor; struct Example: public Application { using Application::Application; void OnStart() override { ed::Config config; config.SettingsFile = "Simple.json"; m_Context = ed::CreateEditor(&config); } void OnStop() override { ed::DestroyEditor(m_Context); } void OnFrame(float deltaTime) override { auto& io = ImGui::GetIO(); ImGui::Text("FPS: %.2f (%.2gms)", io.Framerate, io.Framerate ? 1000.0f / io.Framerate : 0.0f); ImGui::Separator(); ed::SetCurrentEditor(m_Context); ed::Begin("My Editor", ImVec2(0.0, 0.0f)); int uniqueId = 1; // Start drawing nodes. ed::BeginNode(uniqueId++); ImGui::Text("Node A"); ed::BeginPin(uniqueId++, ed::PinKind::Input); ImGui::Text("-> In"); ed::EndPin(); ImGui::SameLine(); ed::BeginPin(uniqueId++, ed::PinKind::Output); ImGui::Text("Out ->"); ed::EndPin(); ed::EndNode(); ed::End(); ed::SetCurrentEditor(nullptr); //ImGui::ShowMetricsWindow(); } ed::EditorContext* m_Context = nullptr; }; int Main(int argc, char** argv) { Example exampe("Simple", argc, argv); if (exampe.Create()) return exampe.Run(); return 0; }