Mercurial > hg > orthanc-stone
comparison Framework/Viewport/SdlViewport.cpp @ 1211:d10d2acb8a02 broker
compositors do not keep a reference to the scene anymore
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 04 Dec 2019 16:47:21 +0100 |
parents | 6009c59d8676 |
children | 86a8266b8888 |
comparison
equal
deleted
inserted
replaced
1210:644baa70373d | 1211:d10d2acb8a02 |
---|---|
48 unsigned int width, | 48 unsigned int width, |
49 unsigned int height, | 49 unsigned int height, |
50 bool allowDpiScaling) : | 50 bool allowDpiScaling) : |
51 context_(title, width, height, allowDpiScaling) | 51 context_(title, width, height, allowDpiScaling) |
52 { | 52 { |
53 compositor_.reset(new OpenGLCompositor(context_, GetScene())); | 53 compositor_.reset(new OpenGLCompositor(context_)); |
54 } | 54 } |
55 | 55 |
56 void SdlOpenGLViewport::Invalidate() | 56 void SdlOpenGLViewport::Invalidate() |
57 { | 57 { |
58 SendRefreshEvent(); | 58 SendRefreshEvent(); |
59 } | 59 } |
60 | 60 |
61 void SdlOpenGLViewport::Paint() | 61 void SdlOpenGLViewport::Paint() |
62 { | 62 { |
63 boost::mutex::scoped_lock lock(mutex_); | 63 boost::mutex::scoped_lock lock(mutex_); |
64 compositor_->Refresh(); | 64 compositor_->Refresh(GetScene()); |
65 } | 65 } |
66 | 66 |
67 | 67 |
68 SdlCairoViewport::SdlCairoViewport(const char* title, | 68 SdlCairoViewport::SdlCairoViewport(const char* title, |
69 unsigned int width, | 69 unsigned int width, |
70 unsigned int height, | 70 unsigned int height, |
71 bool allowDpiScaling) : | 71 bool allowDpiScaling) : |
72 window_(title, width, height, false /* enable OpenGL */, allowDpiScaling), | 72 window_(title, width, height, false /* enable OpenGL */, allowDpiScaling), |
73 compositor_(GetScene(), width, height), | 73 compositor_(width, height), |
74 sdlSurface_(NULL) | 74 sdlSurface_(NULL) |
75 { | 75 { |
76 } | 76 } |
77 | 77 |
78 SdlCairoViewport::~SdlCairoViewport() | 78 SdlCairoViewport::~SdlCairoViewport() |
83 } | 83 } |
84 } | 84 } |
85 | 85 |
86 void SdlCairoViewport::InvalidateInternal() // Assumes that the mutex is locked | 86 void SdlCairoViewport::InvalidateInternal() // Assumes that the mutex is locked |
87 { | 87 { |
88 compositor_.Refresh(); | 88 compositor_.Refresh(GetScene()); |
89 CreateSdlSurfaceFromCompositor(); | 89 CreateSdlSurfaceFromCompositor(); |
90 } | 90 } |
91 | 91 |
92 void SdlCairoViewport::Paint() | 92 void SdlCairoViewport::Paint() |
93 { | 93 { |