diff Framework/Layers/OrthancFrameLayerSource.h @ 66:298f375dcb68 wasm

LayerWidget
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 17 May 2017 22:03:09 +0200
parents 885932a893de
children f5f54ed8d307
line wrap: on
line diff
--- a/Framework/Layers/OrthancFrameLayerSource.h	Tue May 16 22:12:41 2017 +0200
+++ b/Framework/Layers/OrthancFrameLayerSource.h	Wed May 17 22:03:09 2017 +0200
@@ -23,13 +23,14 @@
 
 #include "LayerSourceBase.h"
 #include "../Toolbox/IWebService.h"
+#include "../Toolbox/IVolumeSlicesObserver.h"
 #include "../../Resources/Orthanc/Plugins/Samples/Common/FullOrthancDataset.h"
 
 namespace OrthancStone
-{
+{  
   class OrthancFrameLayerSource :
     public LayerSourceBase,
-    public IWebService::ICallback
+    public IWebService::ICallback   // TODO move this into a PImpl
   {
   private:
     enum Content
@@ -44,7 +45,15 @@
     std::string                                       instanceId_;
     unsigned int                                      frame_;
     std::auto_ptr<OrthancPlugins::FullOrthancDataset> dataset_;
+    unsigned int                                      frameWidth_;
+    unsigned int                                      frameHeight_;
     Orthanc::PixelFormat                              format_;
+    double                                            pixelSpacingX_;
+    double                                            pixelSpacingY_;
+    IVolumeSlicesObserver*                            observer2_;
+
+  protected:
+    virtual void StartInternal();
 
   public:
     OrthancFrameLayerSource(IWebService& orthanc,
@@ -53,6 +62,8 @@
 
     virtual void SetObserver(IObserver& observer);
 
+    void SetObserver(IVolumeSlicesObserver& observer);
+
     virtual void NotifyError(const std::string& uri,
                              Orthanc::IDynamicObject* payload);