Mercurial > hg > orthanc-stone
comparison 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 |
comparison
equal
deleted
inserted
replaced
377:8eb4fe74000f | 378:814fa32e2fcc |
---|---|
115 style_ = style; | 115 style_ = style; |
116 display_.reset(NULL); | 116 display_.reset(NULL); |
117 } | 117 } |
118 | 118 |
119 | 119 |
120 ILayerRenderer* FrameRenderer::CreateRenderer(Orthanc::ImageAccessor* frame, | 120 ILayerRenderer* FrameRenderer::CreateRenderer(const Orthanc::ImageAccessor& frame, |
121 const Slice& frameSlice, | 121 const Slice& frameSlice, |
122 bool isFullQuality) | 122 bool isFullQuality) |
123 { | 123 { |
124 std::auto_ptr<Orthanc::ImageAccessor> protect(frame); | 124 if (frame.GetFormat() == Orthanc::PixelFormat_RGB24) |
125 | |
126 if (frame->GetFormat() == Orthanc::PixelFormat_RGB24) | |
127 { | 125 { |
128 return new ColorFrameRenderer(protect.release(), | 126 return new ColorFrameRenderer(frame, |
129 frameSlice.GetGeometry(), | 127 frameSlice.GetGeometry(), |
130 frameSlice.GetPixelSpacingX(), | 128 frameSlice.GetPixelSpacingX(), |
131 frameSlice.GetPixelSpacingY(), isFullQuality); | 129 frameSlice.GetPixelSpacingY(), isFullQuality); |
132 } | 130 } |
133 else | 131 else |
134 { | 132 { |
135 return new GrayscaleFrameRenderer(protect.release(), | 133 return new GrayscaleFrameRenderer(frame, |
136 frameSlice.GetConverter(), | 134 frameSlice.GetConverter(), |
137 frameSlice.GetGeometry(), | 135 frameSlice.GetGeometry(), |
138 frameSlice.GetPixelSpacingX(), | 136 frameSlice.GetPixelSpacingX(), |
139 frameSlice.GetPixelSpacingY(), isFullQuality); | 137 frameSlice.GetPixelSpacingY(), isFullQuality); |
140 } | 138 } |