Mercurial > hg > orthanc-stone
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(),