Mercurial > hg > orthanc-stone
diff 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 |
line wrap: on
line diff
--- a/Applications/Samples/SampleApplicationBase.h Tue Jun 19 16:06:32 2018 +0200 +++ b/Applications/Samples/SampleApplicationBase.h Wed Jun 20 09:03:48 2018 +0200 @@ -21,7 +21,11 @@ #pragma once +#if ORTHANC_ENABLE_SDL==1 #include "../../Applications/Sdl/BasicSdlApplication.h" +#else +#include "../../Applications/Wasm/BasicWasmApplication.h" +#endif #include "../../Framework/Viewport/WidgetViewport.h" #include "SampleApplicationContext.h" @@ -30,12 +34,12 @@ namespace Samples { -#ifdef ORTHANC_ENABLE_SDL +#if ORTHANC_ENABLE_SDL==1 class SampleSdlApplicationBase : public BasicSdlApplication { protected: std::unique_ptr<SampleApplicationContext> context_; public: - BasicApplicationContext& CreateApplicationContext(Orthanc::WebServiceParameters& orthanc, WidgetViewport* centralViewport) { + virtual BasicApplicationContext& CreateApplicationContext(Orthanc::WebServiceParameters& orthanc, WidgetViewport* centralViewport) { context_.reset(new SampleApplicationContext(orthanc, centralViewport)); return *context_; @@ -44,6 +48,18 @@ typedef SampleSdlApplicationBase SampleApplicationBase_; #else + class SampleWasmApplicationBase : public BasicWasmApplication { + protected: + std::unique_ptr<SampleApplicationContext> context_; + public: + virtual BasicApplicationContext& CreateApplicationContext(IWebService& orthancWebService, std::shared_ptr<WidgetViewport> centralViewport) { + context_.reset(new SampleApplicationContext(orthancWebService)); + return *context_; + } + + }; + + typedef SampleWasmApplicationBase SampleApplicationBase_; #endif