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:
2021-02-10 12:23:07 +02:00
parent db59e29ec1
commit 7565fb6528

View File

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