diff Framework/Scene2D/GrayscaleStyleConfigurator.h @ 835:0965b665c653

windowing and linear interpolation in GrayscaleStyleConfigurator
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 31 May 2019 16:30:32 +0200
parents aead999345e0
children e62e7361fd60
line wrap: on
line diff
--- a/Framework/Scene2D/GrayscaleStyleConfigurator.h	Fri May 31 15:21:50 2019 +0200
+++ b/Framework/Scene2D/GrayscaleStyleConfigurator.h	Fri May 31 16:30:32 2019 +0200
@@ -32,14 +32,32 @@
   class GrayscaleStyleConfigurator : public ILayerStyleConfigurator
   {
   private:
-    uint64_t revision_;
+    uint64_t        revision_;
+    bool            linearInterpolation_;
+    bool            hasWindowing_;
+    ImageWindowing  windowing_;
 
-    // TODO - Add windowing
+    // TODO - Add custom windowing
     
   public:
     GrayscaleStyleConfigurator() :
-      revision_(0)
+      revision_(0),
+      linearInterpolation_(false),
+      hasWindowing_(false)
+    {
+    }
+
+    void SetWindowing(ImageWindowing windowing)
     {
+      hasWindowing_ = true;
+      windowing_ = windowing;
+    }
+
+    void SetLinearInterpolation(bool enabled);
+
+    bool IsLinearInterpolation() const
+    {
+      return linearInterpolation_;
     }
 
     virtual uint64_t GetRevision() const
@@ -47,16 +65,13 @@
       return revision_;
     }
     
-    virtual TextureBaseSceneLayer* CreateTextureFromImage(const Orthanc::ImageAccessor& image) const;
+    virtual TextureBaseSceneLayer* CreateTextureFromImage(
+      const Orthanc::ImageAccessor& image) const;
 
-    virtual TextureBaseSceneLayer* CreateTextureFromDicom(const Orthanc::ImageAccessor& frame,
-                                                          const DicomInstanceParameters& parameters) const
-    {
-      return parameters.CreateTexture(frame);
-    }
+    virtual TextureBaseSceneLayer* CreateTextureFromDicom(
+      const Orthanc::ImageAccessor& frame,
+      const DicomInstanceParameters& parameters) const;
 
-    virtual void ApplyStyle(ISceneLayer& layer) const
-    {
-    }
+    virtual void ApplyStyle(ISceneLayer& layer) const;
   };
 }