Mercurial > hg > orthanc-stone
diff Applications/Sdl/SdlEngine.cpp @ 271:46c5296d867e am-2
OracleWebService and BasicSdlApplicationContext using the same global mutex
author | am@osimis.io |
---|---|
date | Thu, 23 Aug 2018 17:12:54 +0200 |
parents | 84844649a8fd |
children | dc1beee33134 |
line wrap: on
line diff
--- a/Applications/Sdl/SdlEngine.cpp Thu Aug 23 14:45:04 2018 +0200 +++ b/Applications/Sdl/SdlEngine.cpp Thu Aug 23 17:12:54 2018 +0200 @@ -29,11 +29,10 @@ namespace OrthancStone { - void SdlEngine::SetSize(BasicSdlApplicationContext::ViewportLocker& locker, - unsigned int width, + void SdlEngine::SetSize(unsigned int width, unsigned int height) { - locker.GetViewport().SetSize(width, height); + context_.GetCentralViewport().SetSize(width, height); surface_.SetSize(width, height); } @@ -42,8 +41,8 @@ { if (viewportChanged_) { - BasicSdlApplicationContext::ViewportLocker locker(context_); - surface_.Render(locker.GetViewport()); + BasicSdlApplicationContext::GlobalMutexLocker locker(context_); + surface_.Render(context_.GetCentralViewport()); viewportChanged_ = false; } @@ -119,9 +118,9 @@ const uint8_t* keyboardState = SDL_GetKeyboardState(&scancodeCount); { - BasicSdlApplicationContext::ViewportLocker locker(context_); - SetSize(locker, window_.GetWidth(), window_.GetHeight()); - locker.GetViewport().SetDefaultView(); + BasicSdlApplicationContext::GlobalMutexLocker locker(context_); + SetSize(window_.GetWidth(), window_.GetHeight()); + context_.GetCentralViewport().SetDefaultView(); } bool stop = false; @@ -134,7 +133,7 @@ while (!stop && SDL_PollEvent(&event)) { - BasicSdlApplicationContext::ViewportLocker locker(context_); + BasicSdlApplicationContext::GlobalMutexLocker locker(context_); if (event.type == SDL_QUIT) { @@ -148,15 +147,15 @@ switch (event.button.button) { case SDL_BUTTON_LEFT: - locker.GetViewport().MouseDown(MouseButton_Left, event.button.x, event.button.y, modifiers); + context_.GetCentralViewport().MouseDown(MouseButton_Left, event.button.x, event.button.y, modifiers); break; case SDL_BUTTON_RIGHT: - locker.GetViewport().MouseDown(MouseButton_Right, event.button.x, event.button.y, modifiers); + context_.GetCentralViewport().MouseDown(MouseButton_Right, event.button.x, event.button.y, modifiers); break; case SDL_BUTTON_MIDDLE: - locker.GetViewport().MouseDown(MouseButton_Middle, event.button.x, event.button.y, modifiers); + context_.GetCentralViewport().MouseDown(MouseButton_Middle, event.button.x, event.button.y, modifiers); break; default: @@ -165,26 +164,26 @@ } else if (event.type == SDL_MOUSEMOTION) { - locker.GetViewport().MouseMove(event.button.x, event.button.y); + context_.GetCentralViewport().MouseMove(event.button.x, event.button.y); } else if (event.type == SDL_MOUSEBUTTONUP) { - locker.GetViewport().MouseUp(); + context_.GetCentralViewport().MouseUp(); } else if (event.type == SDL_WINDOWEVENT) { switch (event.window.event) { case SDL_WINDOWEVENT_LEAVE: - locker.GetViewport().MouseLeave(); + context_.GetCentralViewport().MouseLeave(); break; case SDL_WINDOWEVENT_ENTER: - locker.GetViewport().MouseEnter(); + context_.GetCentralViewport().MouseEnter(); break; case SDL_WINDOWEVENT_SIZE_CHANGED: - SetSize(locker, event.window.data1, event.window.data2); + SetSize(event.window.data1, event.window.data2); break; default: @@ -200,11 +199,11 @@ if (event.wheel.y > 0) { - locker.GetViewport().MouseWheel(MouseWheelDirection_Up, x, y, modifiers); + context_.GetCentralViewport().MouseWheel(MouseWheelDirection_Up, x, y, modifiers); } else if (event.wheel.y < 0) { - locker.GetViewport().MouseWheel(MouseWheelDirection_Down, x, y, modifiers); + context_.GetCentralViewport().MouseWheel(MouseWheelDirection_Down, x, y, modifiers); } } else if (event.type == SDL_KEYDOWN && @@ -214,50 +213,50 @@ switch (event.key.keysym.sym) { - case SDLK_a: locker.GetViewport().KeyPressed('a', modifiers); break; - case SDLK_b: locker.GetViewport().KeyPressed('b', modifiers); break; - case SDLK_c: locker.GetViewport().KeyPressed('c', modifiers); break; - case SDLK_d: locker.GetViewport().KeyPressed('d', modifiers); break; - case SDLK_e: locker.GetViewport().KeyPressed('e', modifiers); break; + case SDLK_a: context_.GetCentralViewport().KeyPressed('a', modifiers); break; + case SDLK_b: context_.GetCentralViewport().KeyPressed('b', modifiers); break; + case SDLK_c: context_.GetCentralViewport().KeyPressed('c', modifiers); break; + case SDLK_d: context_.GetCentralViewport().KeyPressed('d', modifiers); break; + case SDLK_e: context_.GetCentralViewport().KeyPressed('e', modifiers); break; case SDLK_f: window_.ToggleMaximize(); break; - case SDLK_g: locker.GetViewport().KeyPressed('g', modifiers); break; - case SDLK_h: locker.GetViewport().KeyPressed('h', modifiers); break; - case SDLK_i: locker.GetViewport().KeyPressed('i', modifiers); break; - case SDLK_j: locker.GetViewport().KeyPressed('j', modifiers); break; - case SDLK_k: locker.GetViewport().KeyPressed('k', modifiers); break; - case SDLK_l: locker.GetViewport().KeyPressed('l', modifiers); break; - case SDLK_m: locker.GetViewport().KeyPressed('m', modifiers); break; - case SDLK_n: locker.GetViewport().KeyPressed('n', modifiers); break; - case SDLK_o: locker.GetViewport().KeyPressed('o', modifiers); break; - case SDLK_p: locker.GetViewport().KeyPressed('p', modifiers); break; + case SDLK_g: context_.GetCentralViewport().KeyPressed('g', modifiers); break; + case SDLK_h: context_.GetCentralViewport().KeyPressed('h', modifiers); break; + case SDLK_i: context_.GetCentralViewport().KeyPressed('i', modifiers); break; + case SDLK_j: context_.GetCentralViewport().KeyPressed('j', modifiers); break; + case SDLK_k: context_.GetCentralViewport().KeyPressed('k', modifiers); break; + case SDLK_l: context_.GetCentralViewport().KeyPressed('l', modifiers); break; + case SDLK_m: context_.GetCentralViewport().KeyPressed('m', modifiers); break; + case SDLK_n: context_.GetCentralViewport().KeyPressed('n', modifiers); break; + case SDLK_o: context_.GetCentralViewport().KeyPressed('o', modifiers); break; + case SDLK_p: context_.GetCentralViewport().KeyPressed('p', modifiers); break; case SDLK_q: stop = true; break; - case SDLK_r: locker.GetViewport().KeyPressed('r', modifiers); break; - case SDLK_s: locker.GetViewport().KeyPressed('s', modifiers); break; - case SDLK_t: locker.GetViewport().KeyPressed('t', modifiers); break; - case SDLK_u: locker.GetViewport().KeyPressed('u', modifiers); break; - case SDLK_v: locker.GetViewport().KeyPressed('v', modifiers); break; - case SDLK_w: locker.GetViewport().KeyPressed('w', modifiers); break; - case SDLK_x: locker.GetViewport().KeyPressed('x', modifiers); break; - case SDLK_y: locker.GetViewport().KeyPressed('y', modifiers); break; - case SDLK_z: locker.GetViewport().KeyPressed('z', modifiers); break; - case SDLK_KP_0: locker.GetViewport().KeyPressed('0', modifiers); break; - case SDLK_KP_1: locker.GetViewport().KeyPressed('1', modifiers); break; - case SDLK_KP_2: locker.GetViewport().KeyPressed('2', modifiers); break; - case SDLK_KP_3: locker.GetViewport().KeyPressed('3', modifiers); break; - case SDLK_KP_4: locker.GetViewport().KeyPressed('4', modifiers); break; - case SDLK_KP_5: locker.GetViewport().KeyPressed('5', modifiers); break; - case SDLK_KP_6: locker.GetViewport().KeyPressed('6', modifiers); break; - case SDLK_KP_7: locker.GetViewport().KeyPressed('7', modifiers); break; - case SDLK_KP_8: locker.GetViewport().KeyPressed('8', modifiers); break; - case SDLK_KP_9: locker.GetViewport().KeyPressed('9', modifiers); break; + case SDLK_r: context_.GetCentralViewport().KeyPressed('r', modifiers); break; + case SDLK_s: context_.GetCentralViewport().KeyPressed('s', modifiers); break; + case SDLK_t: context_.GetCentralViewport().KeyPressed('t', modifiers); break; + case SDLK_u: context_.GetCentralViewport().KeyPressed('u', modifiers); break; + case SDLK_v: context_.GetCentralViewport().KeyPressed('v', modifiers); break; + case SDLK_w: context_.GetCentralViewport().KeyPressed('w', modifiers); break; + case SDLK_x: context_.GetCentralViewport().KeyPressed('x', modifiers); break; + case SDLK_y: context_.GetCentralViewport().KeyPressed('y', modifiers); break; + case SDLK_z: context_.GetCentralViewport().KeyPressed('z', modifiers); break; + case SDLK_KP_0: context_.GetCentralViewport().KeyPressed('0', modifiers); break; + case SDLK_KP_1: context_.GetCentralViewport().KeyPressed('1', modifiers); break; + case SDLK_KP_2: context_.GetCentralViewport().KeyPressed('2', modifiers); break; + case SDLK_KP_3: context_.GetCentralViewport().KeyPressed('3', modifiers); break; + case SDLK_KP_4: context_.GetCentralViewport().KeyPressed('4', modifiers); break; + case SDLK_KP_5: context_.GetCentralViewport().KeyPressed('5', modifiers); break; + case SDLK_KP_6: context_.GetCentralViewport().KeyPressed('6', modifiers); break; + case SDLK_KP_7: context_.GetCentralViewport().KeyPressed('7', modifiers); break; + case SDLK_KP_8: context_.GetCentralViewport().KeyPressed('8', modifiers); break; + case SDLK_KP_9: context_.GetCentralViewport().KeyPressed('9', modifiers); break; case SDLK_PLUS: case SDLK_KP_PLUS: - locker.GetViewport().KeyPressed('+', modifiers); break; + context_.GetCentralViewport().KeyPressed('+', modifiers); break; case SDLK_MINUS: case SDLK_KP_MINUS: - locker.GetViewport().KeyPressed('-', modifiers); break; + context_.GetCentralViewport().KeyPressed('-', modifiers); break; default: break;