diff Applications/StoneWebViewer/WebAssembly/StoneWebViewer.cpp @ 1677:51bab5188a13

start multiple preset windowings
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 23 Nov 2020 19:24:18 +0100
parents 5e76d5e8167a
children 5b8b88e5bfd6
line wrap: on
line diff
--- a/Applications/StoneWebViewer/WebAssembly/StoneWebViewer.cpp	Mon Nov 23 18:49:42 2020 +0100
+++ b/Applications/StoneWebViewer/WebAssembly/StoneWebViewer.cpp	Mon Nov 23 19:24:18 2020 +0100
@@ -1102,20 +1102,21 @@
       {
         OrthancStone::DicomInstanceParameters params(dicom);
 
-        if (params.HasDefaultWindowing())
+        // TODO - WINDOWING
+        if (params.GetPresetWindowingsCount() > 0)
         {
-          GetViewport().defaultWindowingCenter_ = params.GetDefaultWindowingCenter();
-          GetViewport().defaultWindowingWidth_ = params.GetDefaultWindowingWidth();
-          LOG(INFO) << "Default windowing: " << params.GetDefaultWindowingCenter()
-                    << "," << params.GetDefaultWindowingWidth();
-
-          GetViewport().windowingCenter_ = params.GetDefaultWindowingCenter();
-          GetViewport().windowingWidth_ = params.GetDefaultWindowingWidth();
+          GetViewport().presetWindowingCenter_ = params.GetPresetWindowingCenter(0);
+          GetViewport().presetWindowingWidth_ = params.GetPresetWindowingWidth(0);
+          LOG(INFO) << "Preset windowing: " << params.GetPresetWindowingCenter(0)
+                    << "," << params.GetPresetWindowingWidth(0);
+
+          GetViewport().windowingCenter_ = params.GetPresetWindowingCenter(0);
+          GetViewport().windowingWidth_ = params.GetPresetWindowingWidth(0);
         }
         else
         {
-          LOG(INFO) << "No default windowing";
-          GetViewport().ResetDefaultWindowing();
+          LOG(INFO) << "No preset windowing";
+          GetViewport().ResetPresetWindowing();
         }
       }
 
@@ -1361,8 +1362,8 @@
   std::unique_ptr<SeriesCursor>                cursor_;
   float                                        windowingCenter_;
   float                                        windowingWidth_;
-  float                                        defaultWindowingCenter_;
-  float                                        defaultWindowingWidth_;
+  float                                        presetWindowingCenter_;
+  float                                        presetWindowingWidth_;
   unsigned int                                 cineRate_;
   bool                                         inverted_;
   bool                                         flipX_;
@@ -1410,13 +1411,13 @@
   }
   
   
-  void ResetDefaultWindowing()
+  void ResetPresetWindowing()
   {
-    defaultWindowingCenter_ = 128;
-    defaultWindowingWidth_ = 256;
-
-    windowingCenter_ = defaultWindowingCenter_;
-    windowingWidth_ = defaultWindowingWidth_;
+    presetWindowingCenter_ = 128;
+    presetWindowingWidth_ = 256;
+
+    windowingCenter_ = presetWindowingCenter_;
+    windowingWidth_ = presetWindowingWidth_;
 
     inverted_ = false;
   }
@@ -1789,7 +1790,7 @@
     emscripten_set_keydown_callback(EMSCRIPTEN_EVENT_TARGET_WINDOW, this, false, OnKey);
     emscripten_set_keyup_callback(EMSCRIPTEN_EVENT_TARGET_WINDOW, this, false, OnKey);
 
-    ResetDefaultWindowing();
+    ResetPresetWindowing();
   }
 
   static EM_BOOL OnKey(int eventType,
@@ -1897,7 +1898,7 @@
 
     LOG(INFO) << "Number of frames in series: " << frames_->GetFramesCount();
 
-    ResetDefaultWindowing();
+    ResetPresetWindowing();
     ClearViewport();
     prefetchQueue_.clear();
 
@@ -2126,9 +2127,9 @@
   }
 
 
-  void SetDefaultWindowing()
+  void SetPresetWindowing()
   {
-    SetWindowing(defaultWindowingCenter_, defaultWindowingWidth_);
+    SetWindowing(presetWindowingCenter_, presetWindowingWidth_);
   }
 
   void SetWindowing(float windowingCenter,
@@ -2817,11 +2818,11 @@
 
 
   EMSCRIPTEN_KEEPALIVE
-  void SetDefaultWindowing(const char* canvas)
+  void SetPresetWindowing(const char* canvas)
   {
     try
     {
-      GetViewport(canvas)->SetDefaultWindowing();
+      GetViewport(canvas)->SetPresetWindowing();
     }
     EXTERN_CATCH_EXCEPTIONS;
   }