introduce active and passive events
This commit is contained in:
@@ -7,8 +7,10 @@ class ImguiEmbed : public Archimedes::App {
|
||||
|
||||
private:
|
||||
|
||||
void printHelp() {};
|
||||
void printHelp() override {};
|
||||
|
||||
bool onEvent(const Archimedes::Event&) override;
|
||||
|
||||
public:
|
||||
ImguiEmbed() {
|
||||
Archimedes::Module* m = (Archimedes::Module*) new TestImgui(Get(), nullptr);
|
||||
@@ -17,9 +19,9 @@ class ImguiEmbed : public Archimedes::App {
|
||||
};
|
||||
~ImguiEmbed() {};
|
||||
|
||||
void handleArgs(const int& argc, char* argv[]) {};
|
||||
void handleArgs(const int& argc, char* argv[]) override {};
|
||||
|
||||
void run();
|
||||
void run() override;
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -36,3 +36,34 @@ void MinimalApp::run() {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
bool MinimalApp::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;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -5,13 +5,15 @@ class MinimalApp : public Archimedes::App {
|
||||
|
||||
private:
|
||||
|
||||
void printHelp() {};
|
||||
void printHelp() override {};
|
||||
|
||||
bool onEvent(const Archimedes::Event&) override;
|
||||
|
||||
public:
|
||||
MinimalApp() {};
|
||||
~MinimalApp() {};
|
||||
|
||||
void handleArgs(const int& argc, char* argv[]) {
|
||||
void handleArgs(const int& argc, char* argv[]) override {
|
||||
if(argc > 1) {
|
||||
for(int i = 1; i < argc; i++) {
|
||||
load(dynamicLoad(argv[i]));
|
||||
@@ -22,7 +24,7 @@ class MinimalApp : public Archimedes::App {
|
||||
}
|
||||
};
|
||||
|
||||
void run();
|
||||
void run() override;
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -7,7 +7,9 @@ class TerminalEmbed : public Archimedes::App {
|
||||
|
||||
private:
|
||||
|
||||
void printHelp() {};
|
||||
void printHelp() override {};
|
||||
|
||||
bool onEvent(const Archimedes::Event&) override;
|
||||
|
||||
public:
|
||||
TerminalEmbed() {
|
||||
@@ -17,9 +19,9 @@ class TerminalEmbed : public Archimedes::App {
|
||||
};
|
||||
~TerminalEmbed() {};
|
||||
|
||||
void handleArgs(const int& argc, char* argv[]) {};
|
||||
void handleArgs(const int& argc, char* argv[]) override {};
|
||||
|
||||
void run();
|
||||
void run() override;
|
||||
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user