Updated to evol v0.2 head and evmod-glfw master head
Signed-off-by: Robear Selwans <robear.selwans@outlook.com>
This commit is contained in:
33
src/main.c
33
src/main.c
@@ -1,3 +1,4 @@
|
||||
#include "evol/core/eventlistener.h"
|
||||
#include <evol/evol.h>
|
||||
#include <evol/evolmod.h>
|
||||
#include <evol/common/ev_log.h>
|
||||
@@ -10,6 +11,20 @@ DECLARE_EVENT_LISTENER(windowResizedListener, (WindowResizedEvent *event) {
|
||||
ev_log_info("Window resized: (%d, %d)", event->width, event->height);
|
||||
})
|
||||
|
||||
DECLARE_EVENT_LISTENER(keyListener, (KeyEvent *event) {
|
||||
if(event->type == EVENT_TYPE(KeyPressedEvent)) {
|
||||
ev_log_info("Key pressed: %d", ((KeyPressedEvent*)event)->keyCode);
|
||||
} else if(event->type == EVENT_TYPE(KeyReleasedEvent)) {
|
||||
ev_log_info("Key released: %d", ((KeyReleasedEvent*)event)->keyCode);
|
||||
} else {
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
DECLARE_EVENT_LISTENER(mouseMovedListener, (MouseMovedEvent *event) {
|
||||
ev_log_info("Mouse Moved: (%f, %f)", event->position.x, event->position.y);
|
||||
})
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
evolengine_t *engine = evol_create();
|
||||
evol_parse_args(engine, argc, argv);
|
||||
@@ -20,10 +35,22 @@ int main(int argc, char **argv) {
|
||||
IMPORT_EVENTS_evmod_glfw(window_module);
|
||||
|
||||
ACTIVATE_EVENT_LISTENER(windowResizedListener, WindowResizedEvent);
|
||||
ACTIVATE_EVENT_LISTENER(keyListener, KeyEvent);
|
||||
ACTIVATE_EVENT_LISTENER(mouseMovedListener, MouseMovedEvent);
|
||||
|
||||
FN_PTR window_update = evol_getmodfunc(window_module, EV_STRINGIZE(EV_UPDATE_FN_NAME));
|
||||
assert(window_update);
|
||||
|
||||
#define CALL_UPDATE(fn, dt) ((I32(*)(REAL))(fn))(dt)
|
||||
|
||||
while(true) {
|
||||
|
||||
if(CALL_UPDATE(window_update, 0.0) == 1) {
|
||||
break;
|
||||
}
|
||||
|
||||
EventSystem.progress();
|
||||
|
||||
FN_PTR window_start_fn = evol_getmodfunc(window_module, EV_STRINGIZE(EV_START_FN_NAME));
|
||||
if(window_start_fn) {
|
||||
window_start_fn();
|
||||
}
|
||||
|
||||
evol_unloadmodule(window_module);
|
||||
|
||||
Reference in New Issue
Block a user