diff --git a/src/example_apps/TerminalEmbed/TerminalEmbed.cpp b/src/example_apps/TerminalEmbed/TerminalEmbed.cpp index d6246b9..419774d 100644 --- a/src/example_apps/TerminalEmbed/TerminalEmbed.cpp +++ b/src/example_apps/TerminalEmbed/TerminalEmbed.cpp @@ -12,6 +12,8 @@ void TerminalEmbed::run() { modules[m]->run(); } + handleEvents(); + for(auto m : toClose) { unload(m); } @@ -29,3 +31,36 @@ void TerminalEmbed::run() { } + +bool TerminalEmbed::onEvent(const Archimedes::Event& event) { + + unsigned int type = getEventType(event); + + if(type == getEventType(Archimedes::DoLoadModuleEvent())) { + + Archimedes::DoLoadModuleEvent& e = (Archimedes::DoLoadModuleEvent&) event; + + startModule(e.module); + + return true; + + } else if(type == getEventType(Archimedes::DoUnloadModuleEvent())) { + + Archimedes::DoUnloadModuleEvent& e = (Archimedes::DoUnloadModuleEvent&) event; + + stopModule(e.module); + + return true; + + } else if(type == getEventType(Archimedes::LoadModuleEvent())) { + + return true; + } else if(type == getEventType(Archimedes::UnloadModuleEvent())) { + + return true; + } else if(type == getEventType(Archimedes::AnonymousEvent())) { + return true; + } + + return false; +} diff --git a/src/example_apps/TerminalEmbed/default.nix b/src/example_apps/TerminalEmbed/default.nix index 8502c5e..890556b 100644 --- a/src/example_apps/TerminalEmbed/default.nix +++ b/src/example_apps/TerminalEmbed/default.nix @@ -17,6 +17,10 @@ buildInputs = with pkgs; [ glfw glew + + curl + glm + nlohmann_json ]; buildPhase = '' @@ -29,10 +33,12 @@ $imgui/backends/imgui_impl_opengl3.cpp \ $imgui/misc/cpp/*.cpp \ $imgui/*.cpp \ - -DRENDERER=1 \ - -DWINDOW=1 \ + -DRENDERER_OPENGL=1 \ + -DWINDOW_GLFW=1 \ -I include -I $imgui -I . \ -lGL -lglfw -lGLEW \ + $(curl-config --cflags) \ + $(curl-config --libs) \ -Wall \ -o $name -DIMGUI_IMPL_GLFW_DISABLE_X11 ''; diff --git a/src/modules/Archimedes-Modules/Terminal/default.nix b/src/modules/Archimedes-Modules/Terminal/default.nix index da4f042..6941808 100644 --- a/src/modules/Archimedes-Modules/Terminal/default.nix +++ b/src/modules/Archimedes-Modules/Terminal/default.nix @@ -16,7 +16,11 @@ buildInputs = with pkgs; [ glfw - glew + glew + + curl + glm + nlohmann_json ]; buildPhase = '' @@ -28,12 +32,14 @@ $imgui/backends/imgui_impl_opengl3.cpp \ $imgui/misc/cpp/*.cpp \ $imgui/*.cpp \ - -DRENDERER=1 \ - -DWINDOW=1 \ + -DRENDERER_OPENGL=1 \ + -DWINDOW_GLFW=1 \ -DTERMINAL_DYNAMIC \ -fpic -shared \ -I include -I $imgui -I . \ -lEGL -lglfw -lGLEW \ + $(curl-config --cflags) \ + $(curl-config --libs) \ -Wall \ -o $name -DIMGUI_IMPL_GLFW_DISABLE_X11 '';