diff --git a/src/Contexts/EglContext.cpp b/src/Contexts/EglContext.cpp index 368f1c2d0..8aea12c2b 100644 --- a/src/Contexts/EglContext.cpp +++ b/src/Contexts/EglContext.cpp @@ -18,7 +18,7 @@ #define None 0L // redef Xlib nonsense /* Mask for X events */ -#define INPUT_MASK KeyPressMask|KeyReleaseMask|ButtonPressMask|ButtonReleaseMask +#define INPUT_MASK KeyPressMask|KeyReleaseMask|ButtonPressMask|ButtonReleaseMask|StructureNotifyMask using namespace std; @@ -140,6 +140,16 @@ int EglContext::exec() { XEvent event; while(XCheckWindowEvent(xDisplay, xWindow, INPUT_MASK, &event)) { switch(event.type) { + /* Window resizing */ + case ConfigureNotify: { + Math::Vector2 size(event.xconfigure.width, event.xconfigure.height); + if(size != viewportSize) { + viewportSize = size; + viewportEvent(size); + } + } break; + + /* Key/mouse events */ case KeyPress: keyPressEvent(static_cast(XLookupKeysym(&event.xkey, 0)), {event.xkey.x, event.xkey.y}); break;