comparison Framework/Viewport/ViewportBase.cpp @ 1203:f3bb9a6dd949 broker

locking abstraction in IViewport
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 29 Nov 2019 21:22:21 +0100
parents 6dd90b8d1589
children 6009c59d8676
comparison
equal deleted inserted replaced
1200:54cbffabdc45 1203:f3bb9a6dd949
24 24
25 #include <boost/make_shared.hpp> 25 #include <boost/make_shared.hpp>
26 26
27 namespace OrthancStone 27 namespace OrthancStone
28 { 28 {
29 ViewportBase::ViewportBase() : 29 ScenePoint2D ViewportBase::LockBase::GetPixelCenterCoordinates(int x, int y)
30 scene_(boost::make_shared<Scene2D>())
31 {
32 }
33
34
35 ViewportBase::ViewportBase(boost::shared_ptr<Scene2D>& scene) :
36 scene_(scene)
37 {
38 if (scene.get() == NULL)
39 {
40 throw Orthanc::OrthancException(Orthanc::ErrorCode_NullPointer);
41 }
42 }
43
44
45 ScenePoint2D ViewportBase::GetPixelCenterCoordinates(int x, int y) const
46 { 30 {
47 if (HasCompositor()) 31 if (HasCompositor())
48 { 32 {
49 const ICompositor& compositor = GetCompositor(); 33 ICompositor& compositor = GetCompositor();
50 return ScenePoint2D( 34 return ScenePoint2D(
51 static_cast<double>(x) + 0.5 - static_cast<double>(compositor.GetCanvasWidth()) / 2.0, 35 static_cast<double>(x) + 0.5 - static_cast<double>(compositor.GetCanvasWidth()) / 2.0,
52 static_cast<double>(y) + 0.5 - static_cast<double>(compositor.GetCanvasHeight()) / 2.0); 36 static_cast<double>(y) + 0.5 - static_cast<double>(compositor.GetCanvasHeight()) / 2.0);
53 } 37 }
54 else 38 else