Mercurial > hg > orthanc-stone
diff Framework/Viewport/SdlViewport.cpp @ 1213:86a8266b8888 broker
moving the scene from IViewport to ViewportController
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 04 Dec 2019 17:54:10 +0100 |
parents | d10d2acb8a02 |
children | 5147277850cf |
line wrap: on
line diff
--- a/Framework/Viewport/SdlViewport.cpp Wed Dec 04 16:54:24 2019 +0100 +++ b/Framework/Viewport/SdlViewport.cpp Wed Dec 04 17:54:10 2019 +0100 @@ -58,10 +58,10 @@ SendRefreshEvent(); } - void SdlOpenGLViewport::Paint() + void SdlOpenGLViewport::Paint(const Scene2D& scene) { boost::mutex::scoped_lock lock(mutex_); - compositor_->Refresh(GetScene()); + compositor_->Refresh(scene); } @@ -83,15 +83,12 @@ } } - void SdlCairoViewport::InvalidateInternal() // Assumes that the mutex is locked - { - compositor_.Refresh(GetScene()); - CreateSdlSurfaceFromCompositor(); - } - - void SdlCairoViewport::Paint() + void SdlCairoViewport::Paint(const Scene2D& scene) { boost::mutex::scoped_lock lock(mutex_); + + compositor_.Refresh(scene); + CreateSdlSurfaceFromCompositor(); if (sdlSurface_ != NULL) { @@ -101,20 +98,18 @@ void SdlCairoViewport::Invalidate() { - { - boost::mutex::scoped_lock lock(mutex_); - InvalidateInternal(); - } - SendRefreshEvent(); } void SdlCairoViewport::UpdateSize(unsigned int width, unsigned int height) { - boost::mutex::scoped_lock lock(mutex_); - compositor_.UpdateSize(width, height); - InvalidateInternal(); + { + boost::mutex::scoped_lock lock(mutex_); + compositor_.UpdateSize(width, height); + } + + Invalidate(); } void SdlCairoViewport::CreateSdlSurfaceFromCompositor() // Assumes that the mutex is locked