fix TerminalEmbed

This commit is contained in:
2026-02-15 16:07:21 -06:00
parent 0ab0f4af47
commit 2899932f7f
3 changed files with 52 additions and 5 deletions

View File

@@ -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;
}

View File

@@ -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
'';

View File

@@ -17,6 +17,10 @@
buildInputs = with pkgs; [
glfw
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
'';