Browse Source

EglContext: Handle window resizing.

pull/279/head
Vladimír Vondruš 14 years ago
parent
commit
6c964d703c
  1. 12
      src/Contexts/EglContext.cpp

12
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<int> size(event.xconfigure.width, event.xconfigure.height);
if(size != viewportSize) {
viewportSize = size;
viewportEvent(size);
}
} break;
/* Key/mouse events */
case KeyPress:
keyPressEvent(static_cast<Key>(XLookupKeysym(&event.xkey, 0)), {event.xkey.x, event.xkey.y});
break;

Loading…
Cancel
Save