Mercurial > hg > orthanc-stone
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 { |