diff Framework/Layers/ILayerSource.h @ 318:3a4ca166fafa am-2

ImageAccessor refactoring + implemented Image Cache in SmartLoader
author am@osimis.io
date Mon, 08 Oct 2018 17:10:08 +0200
parents b4abaeb783b1
children 814fa32e2fcc
line wrap: on
line diff
--- a/Framework/Layers/ILayerSource.h	Fri Oct 05 11:57:36 2018 +0200
+++ b/Framework/Layers/ILayerSource.h	Mon Oct 08 17:10:08 2018 +0200
@@ -25,6 +25,8 @@
 #include "../Toolbox/Slice.h"
 #include "../../Framework/Messages/IObservable.h"
 #include "../../Framework/Messages/IMessage.h"
+#include "Core/Images/Image.h"
+#include <boost/shared_ptr.hpp>
 
 namespace OrthancStone
 {
@@ -46,7 +48,7 @@
       }
     };
 
-    struct LayerReadyMessage : public OriginMessage<MessageType_LayerSource_LayerReady,ILayerSource>
+    struct LayerReadyMessage : public OriginMessage<MessageType_LayerSource_LayerReady, ILayerSource>
     {
       std::auto_ptr<ILayerRenderer>& renderer_;
       const CoordinateSystem3D& slice_;
@@ -64,6 +66,25 @@
       {
       }
     };
+
+    struct ImageReadyMessage : public OriginMessage<MessageType_LayerSource_ImageReady, ILayerSource>
+    {
+      boost::shared_ptr<Orthanc::ImageAccessor> image_;
+      SliceImageQuality                         imageQuality_;
+      const Slice&                              slice_;
+
+      ImageReadyMessage(ILayerSource& origin,
+                        boost::shared_ptr<Orthanc::ImageAccessor> image,
+                        SliceImageQuality imageQuality,
+                        const Slice& slice
+                        )
+        : OriginMessage(origin),
+          image_(image),
+          imageQuality_(imageQuality),
+          slice_(slice)
+      {
+      }
+    };
     
     ILayerSource(MessageBroker& broker)
       : IObservable(broker)