comparison Applications/Samples/SampleApplicationBase.h @ 237:b4642964c355 am

SimpleViewer demo running both with SDL and Wasm
author am@osimis.io
date Wed, 20 Jun 2018 09:03:48 +0200
parents ce4405d98b92
children 092db46c6291
comparison
equal deleted inserted replaced
236:f73d722d98c8 237:b4642964c355
19 **/ 19 **/
20 20
21 21
22 #pragma once 22 #pragma once
23 23
24 #if ORTHANC_ENABLE_SDL==1
24 #include "../../Applications/Sdl/BasicSdlApplication.h" 25 #include "../../Applications/Sdl/BasicSdlApplication.h"
26 #else
27 #include "../../Applications/Wasm/BasicWasmApplication.h"
28 #endif
25 #include "../../Framework/Viewport/WidgetViewport.h" 29 #include "../../Framework/Viewport/WidgetViewport.h"
26 #include "SampleApplicationContext.h" 30 #include "SampleApplicationContext.h"
27 31
28 namespace OrthancStone 32 namespace OrthancStone
29 { 33 {
30 namespace Samples 34 namespace Samples
31 { 35 {
32 36
33 #ifdef ORTHANC_ENABLE_SDL 37 #if ORTHANC_ENABLE_SDL==1
34 class SampleSdlApplicationBase : public BasicSdlApplication { 38 class SampleSdlApplicationBase : public BasicSdlApplication {
35 protected: 39 protected:
36 std::unique_ptr<SampleApplicationContext> context_; 40 std::unique_ptr<SampleApplicationContext> context_;
37 public: 41 public:
38 BasicApplicationContext& CreateApplicationContext(Orthanc::WebServiceParameters& orthanc, WidgetViewport* centralViewport) { 42 virtual BasicApplicationContext& CreateApplicationContext(Orthanc::WebServiceParameters& orthanc, WidgetViewport* centralViewport) {
39 context_.reset(new SampleApplicationContext(orthanc, centralViewport)); 43 context_.reset(new SampleApplicationContext(orthanc, centralViewport));
40 44
41 return *context_; 45 return *context_;
42 } 46 }
43 }; 47 };
44 48
45 typedef SampleSdlApplicationBase SampleApplicationBase_; 49 typedef SampleSdlApplicationBase SampleApplicationBase_;
46 #else 50 #else
51 class SampleWasmApplicationBase : public BasicWasmApplication {
52 protected:
53 std::unique_ptr<SampleApplicationContext> context_;
54 public:
55 virtual BasicApplicationContext& CreateApplicationContext(IWebService& orthancWebService, std::shared_ptr<WidgetViewport> centralViewport) {
56 context_.reset(new SampleApplicationContext(orthancWebService));
57 return *context_;
58 }
59
60 };
61
62 typedef SampleWasmApplicationBase SampleApplicationBase_;
47 63
48 #endif 64 #endif
49 65
50 class SampleApplicationBase : public SampleApplicationBase_ 66 class SampleApplicationBase : public SampleApplicationBase_
51 { 67 {