diff Framework/Layers/FrameRenderer.cpp @ 378:814fa32e2fcc

refactoring
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 06 Nov 2018 14:21:02 +0100
parents 5412adf19980
children 17d54c028805
line wrap: on
line diff
--- a/Framework/Layers/FrameRenderer.cpp	Mon Nov 05 16:18:27 2018 +0100
+++ b/Framework/Layers/FrameRenderer.cpp	Tue Nov 06 14:21:02 2018 +0100
@@ -117,22 +117,20 @@
   }
 
 
-  ILayerRenderer* FrameRenderer::CreateRenderer(Orthanc::ImageAccessor* frame,
+  ILayerRenderer* FrameRenderer::CreateRenderer(const Orthanc::ImageAccessor& frame,
                                                 const Slice& frameSlice,
                                                 bool isFullQuality)
   {
-    std::auto_ptr<Orthanc::ImageAccessor> protect(frame);
-
-    if (frame->GetFormat() == Orthanc::PixelFormat_RGB24)
+    if (frame.GetFormat() == Orthanc::PixelFormat_RGB24)
     {
-      return new ColorFrameRenderer(protect.release(),
+      return new ColorFrameRenderer(frame,
                                     frameSlice.GetGeometry(), 
                                     frameSlice.GetPixelSpacingX(),
                                     frameSlice.GetPixelSpacingY(), isFullQuality);
     }
     else
     {
-      return new GrayscaleFrameRenderer(protect.release(),
+      return new GrayscaleFrameRenderer(frame,
                                         frameSlice.GetConverter(),
                                         frameSlice.GetGeometry(), 
                                         frameSlice.GetPixelSpacingX(),