Mercurial > hg > orthanc-stone
comparison Applications/Samples/Sdl/RtViewer/RtViewerSdl.cpp @ 1640:52b8b96cb55f
cleaning namespaces
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 10 Nov 2020 16:55:22 +0100 |
parents | 7fc8a3ff09ee |
children | 9ac2a65d4172 |
comparison
equal
deleted
inserted
replaced
1639:5cdc5b98f14d | 1640:52b8b96cb55f |
---|---|
230 | 230 |
231 Orthanc::PngWriter writer; | 231 Orthanc::PngWriter writer; |
232 Orthanc::IImageWriter::WriteToFile(writer, target, png); | 232 Orthanc::IImageWriter::WriteToFile(writer, target, png); |
233 } | 233 } |
234 | 234 |
235 static boost::shared_ptr<OrthancStone::RtViewerView> GetViewFromWindowId( | 235 static boost::shared_ptr<RtViewerView> GetViewFromWindowId( |
236 const std::vector<boost::shared_ptr<OrthancStone::RtViewerView> >& views, | 236 const std::vector<boost::shared_ptr<RtViewerView> >& views, |
237 Uint32 windowID) | 237 Uint32 windowID) |
238 { | 238 { |
239 using namespace OrthancStone; | 239 using namespace OrthancStone; |
240 for (size_t i = 0; i < views.size(); ++i) | 240 for (size_t i = 0; i < views.size(); ++i) |
241 { | 241 { |
242 boost::shared_ptr<OrthancStone::RtViewerView> view = views[i]; | 242 boost::shared_ptr<RtViewerView> view = views[i]; |
243 boost::shared_ptr<IViewport> viewport = view->GetViewport(); | 243 boost::shared_ptr<IViewport> viewport = view->GetViewport(); |
244 boost::shared_ptr<SdlViewport> sdlViewport = boost::dynamic_pointer_cast<SdlViewport>(viewport); | 244 boost::shared_ptr<SdlViewport> sdlViewport = boost::dynamic_pointer_cast<SdlViewport>(viewport); |
245 Uint32 curWindowID = sdlViewport->GetSdlWindowId(); | 245 Uint32 curWindowID = sdlViewport->GetSdlWindowId(); |
246 if (windowID == curWindowID) | 246 if (windowID == curWindowID) |
247 return view; | 247 return view; |
248 } | 248 } |
249 return boost::shared_ptr<OrthancStone::RtViewerView>(); | 249 return boost::shared_ptr<RtViewerView>(); |
250 } | 250 } |
251 | 251 |
252 void RtViewerApp::SdlRunLoop(const std::vector<boost::shared_ptr<OrthancStone::RtViewerView> >& views, | 252 void RtViewerApp::SdlRunLoop(const std::vector<boost::shared_ptr<RtViewerView> >& views, |
253 OrthancStone::DefaultViewportInteractor& interactor) | 253 DefaultViewportInteractor& interactor) |
254 { | 254 { |
255 using namespace OrthancStone; | 255 using namespace OrthancStone; |
256 | 256 |
257 // const std::vector<boost::shared_ptr<OrthancStone::RtViewerView> >& views | 257 // const std::vector<boost::shared_ptr<RtViewerView> >& views |
258 std::vector<boost::shared_ptr<OrthancStone::SdlViewport> > viewports; | 258 std::vector<boost::shared_ptr<SdlViewport> > viewports; |
259 for (size_t i = 0; i < views.size(); ++i) | 259 for (size_t i = 0; i < views.size(); ++i) |
260 { | 260 { |
261 boost::shared_ptr<RtViewerView> view = views[i]; | 261 boost::shared_ptr<RtViewerView> view = views[i]; |
262 boost::shared_ptr<IViewport> viewport = view->GetViewport(); | 262 boost::shared_ptr<IViewport> viewport = view->GetViewport(); |
263 boost::shared_ptr<SdlViewport> sdlViewport = | 263 boost::shared_ptr<SdlViewport> sdlViewport = |
332 views, sdlEvent.window.windowID); | 332 views, sdlEvent.window.windowID); |
333 boost::shared_ptr<SdlViewport> sdlViewport = | 333 boost::shared_ptr<SdlViewport> sdlViewport = |
334 boost::dynamic_pointer_cast<SdlViewport>(view->GetViewport()); | 334 boost::dynamic_pointer_cast<SdlViewport>(view->GetViewport()); |
335 | 335 |
336 { | 336 { |
337 std::unique_ptr<OrthancStone::IViewport::ILock> lock(sdlViewport->Lock()); | 337 std::unique_ptr<IViewport::ILock> lock(sdlViewport->Lock()); |
338 lock->RefreshCanvasSize(); | 338 lock->RefreshCanvasSize(); |
339 } | 339 } |
340 } | 340 } |
341 else if (sdlEvent.type == SDL_KEYDOWN && | 341 else if (sdlEvent.type == SDL_KEYDOWN && |
342 sdlEvent.key.repeat == 0 /* Ignore key bounce */) | 342 sdlEvent.key.repeat == 0 /* Ignore key bounce */) |
354 } | 354 } |
355 break; | 355 break; |
356 | 356 |
357 case SDLK_s: | 357 case SDLK_s: |
358 { | 358 { |
359 std::unique_ptr<OrthancStone::IViewport::ILock> lock(view->GetViewport()->Lock()); | 359 std::unique_ptr<IViewport::ILock> lock(view->GetViewport()->Lock()); |
360 lock->GetCompositor().FitContent(lock->GetController().GetScene()); | 360 lock->GetCompositor().FitContent(lock->GetController().GetScene()); |
361 lock->Invalidate(); | 361 lock->Invalidate(); |
362 } | 362 } |
363 break; | 363 break; |
364 | 364 |
375 sdlEvent.type == SDL_MOUSEBUTTONUP) | 375 sdlEvent.type == SDL_MOUSEBUTTONUP) |
376 { | 376 { |
377 boost::shared_ptr<RtViewerView> view = GetViewFromWindowId( | 377 boost::shared_ptr<RtViewerView> view = GetViewFromWindowId( |
378 views, sdlEvent.window.windowID); | 378 views, sdlEvent.window.windowID); |
379 | 379 |
380 std::unique_ptr<OrthancStone::IViewport::ILock> lock(view->GetViewport()->Lock()); | 380 std::unique_ptr<IViewport::ILock> lock(view->GetViewport()->Lock()); |
381 if (lock->HasCompositor()) | 381 if (lock->HasCompositor()) |
382 { | 382 { |
383 OrthancStone::PointerEvent p; | 383 PointerEvent p; |
384 OrthancStoneHelpers::GetPointerEvent(p, lock->GetCompositor(), | 384 OrthancStoneHelpers::GetPointerEvent(p, lock->GetCompositor(), |
385 sdlEvent, keyboardState, scancodeCount); | 385 sdlEvent, keyboardState, scancodeCount); |
386 | 386 |
387 switch (sdlEvent.type) | 387 switch (sdlEvent.type) |
388 { | 388 { |