Mercurial > hg > orthanc-stone
comparison Applications/Sdl/SdlEngine.h @ 56:9e3c2e75b870 wasm
extremely simplified SDL engine
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 28 Apr 2017 21:46:41 +0200 |
parents | c2dc924f1a63 |
children | 81f73efd81a1 |
comparison
equal
deleted
inserted
replaced
55:f0f354a97581 | 56:9e3c2e75b870 |
---|---|
21 | 21 |
22 #pragma once | 22 #pragma once |
23 | 23 |
24 #if ORTHANC_ENABLE_SDL == 1 | 24 #if ORTHANC_ENABLE_SDL == 1 |
25 | 25 |
26 #include "SdlBuffering.h" | 26 #include "SdlSurface.h" |
27 #include "../BinarySemaphore.h" | |
28 #include "../BasicApplicationContext.h" | 27 #include "../BasicApplicationContext.h" |
29 | |
30 #include <boost/thread.hpp> | |
31 | 28 |
32 namespace OrthancStone | 29 namespace OrthancStone |
33 { | 30 { |
34 class SdlEngine : public IViewport::IChangeObserver | 31 class SdlEngine : public IViewport::IChangeObserver |
35 { | 32 { |
36 private: | 33 private: |
37 SdlWindow& window_; | 34 SdlWindow& window_; |
38 BasicApplicationContext& context_; | 35 BasicApplicationContext& context_; |
39 SdlBuffering buffering_; | 36 SdlSurface surface_; |
40 boost::thread renderThread_; | |
41 bool continue_; | |
42 BinarySemaphore renderFrame_; | |
43 uint32_t refreshEvent_; | |
44 bool viewportChanged_; | 37 bool viewportChanged_; |
45 | |
46 void RenderFrame(); | |
47 | |
48 static void RenderThread(SdlEngine* that); | |
49 | |
50 static KeyboardModifiers GetKeyboardModifiers(const uint8_t* keyboardState, | |
51 const int scancodeCount); | |
52 | 38 |
53 void SetSize(BasicApplicationContext::ViewportLocker& locker, | 39 void SetSize(BasicApplicationContext::ViewportLocker& locker, |
54 unsigned int width, | 40 unsigned int width, |
55 unsigned int height); | 41 unsigned int height); |
42 | |
43 void RenderFrame(); | |
56 | 44 |
57 void Stop(); | 45 static KeyboardModifiers GetKeyboardModifiers(const uint8_t* keyboardState, |
58 | 46 const int scancodeCount); |
59 void Refresh(); | |
60 | 47 |
61 public: | 48 public: |
62 SdlEngine(SdlWindow& window, | 49 SdlEngine(SdlWindow& window, |
63 BasicApplicationContext& context); | 50 BasicApplicationContext& context); |
64 | 51 |