Przeglądaj źródła

Core lose and gain focus events in SDL/Linux

Ivan Safrin 13 lat temu
rodzic
commit
4d7ef4e4cd
1 zmienionych plików z 9 dodań i 0 usunięć
  1. 9 0
      Core/Contents/Source/PolySDLCore.cpp

+ 9 - 0
Core/Contents/Source/PolySDLCore.cpp

@@ -272,6 +272,15 @@ bool SDLCore::Update() {
 					renderer->Resize(xRes, yRes);	
 					renderer->Resize(xRes, yRes);	
 					dispatchEvent(new Event(), EVENT_CORE_RESIZE);	
 					dispatchEvent(new Event(), EVENT_CORE_RESIZE);	
 				break;
 				break;
+				case SDL_ACTIVEEVENT:
+					if(event.active.state == SDL_APPINPUTFOCUS) {
+						if(event.active.gain == 1) {
+							gainFocus();
+						} else {
+							loseFocus();
+						}
+					}
+				break;
 				case SDL_JOYBUTTONDOWN:
 				case SDL_JOYBUTTONDOWN:
 //					input->setKeyState((PolyKEY)(event.key.keysym.sym), true);
 //					input->setKeyState((PolyKEY)(event.key.keysym.sym), true);
 				break;
 				break;