PocketPutr/Desktop_Test/system_manager.cpp
2025-12-21 20:11:16 +01:00

26 lines
706 B
C++

#include "program.h"
#include "system_manager.h"
std::vector<Program*> SystemManager::init(DISPLAY_STATE* display_state) {
_display_state = display_state;
return _programs;
}
void SystemManager::spawn_program(Window* window) {
Program* program = new Program(_display_state);
window->id = _programs.size() + 1;
program->init(_programs.size() + 1, "lol", window);
_programs.push_back(program);
}
void SystemManager::close_program(int id) {
for (size_t i = 0; i < _programs.size(); ++i) {
if (_programs[i]->_id == id) {
_programs[i]->close();
delete _programs[i]; // Free the memory
_programs.erase(_programs.begin() + i);
break; // Exit after erase
}
}
}