Browse Source

Platform: moved Sdl2Application event loop into separate function.

Allowing it to be called perodically from some callback.
pull/278/head
Vladimír Vondruš 13 years ago
parent
commit
6fd8dc86ad
  1. 11
      src/Platform/Sdl2Application.cpp
  2. 1
      src/Platform/Sdl2Application.h

11
src/Platform/Sdl2Application.cpp

@ -127,7 +127,11 @@ Sdl2Application::~Sdl2Application() {
}
int Sdl2Application::exec() {
while(!(flags & Flag::Exit)) {
while(!(flags & Flag::Exit)) mainLoop();
return 0;
}
void Sdl2Application::mainLoop() {
SDL_Event event;
while(SDL_PollEvent(&event)) {
@ -167,7 +171,7 @@ int Sdl2Application::exec() {
break;
}
case SDL_QUIT: return 0;
case SDL_QUIT: return;
}
}
@ -175,9 +179,6 @@ int Sdl2Application::exec() {
flags &= ~Flag::Redraw;
drawEvent();
} else Corrade::Utility::sleep(5);
}
return 0;
}
void Sdl2Application::setMouseLocked(bool enabled) {

1
src/Platform/Sdl2Application.h

@ -174,6 +174,7 @@ class Sdl2Application {
CORRADE_ENUMSET_FRIEND_OPERATORS(Flags)
void initialize();
void mainLoop();
SDL_Window* window;
SDL_GLContext context;

Loading…
Cancel
Save