Mercurial > hg > orthanc-stone
diff Framework/Viewport/CairoSurface.cpp @ 318:3a4ca166fafa am-2
ImageAccessor refactoring + implemented Image Cache in SmartLoader
author | am@osimis.io |
---|---|
date | Mon, 08 Oct 2018 17:10:08 +0200 |
parents | 5412adf19980 |
children | 557c8ff1db5c |
line wrap: on
line diff
--- a/Framework/Viewport/CairoSurface.cpp Fri Oct 05 11:57:36 2018 +0200 +++ b/Framework/Viewport/CairoSurface.cpp Mon Oct 08 17:10:08 2018 +0200 @@ -105,24 +105,23 @@ void CairoSurface::Copy(const CairoSurface& other) { - Orthanc::ImageAccessor source = other.GetConstAccessor(); - Orthanc::ImageAccessor target = GetAccessor(); + Orthanc::ImageAccessor source, target; + + other.GetConstAccessor(source); + GetAccessor(target); + Orthanc::ImageProcessing::Copy(target, source); } - Orthanc::ImageAccessor CairoSurface::GetConstAccessor() const + void CairoSurface::GetConstAccessor(Orthanc::ImageAccessor& target) const { - Orthanc::ImageAccessor accessor; - accessor.AssignReadOnly(Orthanc::PixelFormat_BGRA32, width_, height_, pitch_, buffer_); - return accessor; + target.AssignReadOnly(Orthanc::PixelFormat_BGRA32, width_, height_, pitch_, buffer_); } - Orthanc::ImageAccessor CairoSurface::GetAccessor() + void CairoSurface::GetAccessor(Orthanc::ImageAccessor& target) { - Orthanc::ImageAccessor accessor; - accessor.AssignWritable(Orthanc::PixelFormat_BGRA32, width_, height_, pitch_, buffer_); - return accessor; + target.AssignWritable(Orthanc::PixelFormat_BGRA32, width_, height_, pitch_, buffer_); } }