comparison Samples/Shared/SharedBasicScene.cpp @ 895:6073c980323a am-dev

wip: adapting basic scene webassembly sample
author Alain Mazy <alain@mazy.be>
date Fri, 12 Jul 2019 14:57:06 +0200
parents 56e4e9281076
children 875bd6aca5e6
comparison
equal deleted inserted replaced
886:5cfb479fdbde 895:6073c980323a
40 using namespace OrthancStone; 40 using namespace OrthancStone;
41 41
42 const unsigned int BASIC_SCENE_FONT_SIZE = 32; 42 const unsigned int BASIC_SCENE_FONT_SIZE = 32;
43 const int BASIC_SCENE_LAYER_POSITION = 150; 43 const int BASIC_SCENE_LAYER_POSITION = 150;
44 44
45 void PrepareScene(boost::shared_ptr<OrthancStone::ViewportController> controller) 45 void PrepareScene(Scene2D& scene)
46 { 46 {
47 Scene2D& scene(*controller->GetScene()); 47 //Scene2D& scene(*controller->GetScene());
48 // Texture of 2x2 size 48 // Texture of 2x2 size
49 { 49 {
50 Orthanc::Image i(Orthanc::PixelFormat_RGB24, 2, 2, false); 50 Orthanc::Image i(Orthanc::PixelFormat_RGB24, 2, 2, false);
51 51
52 uint8_t *p = reinterpret_cast<uint8_t*>(i.GetRow(0)); 52 uint8_t *p = reinterpret_cast<uint8_t*>(i.GetRow(0));
129 layer->SetText("Hello"); 129 layer->SetText("Hello");
130 scene.SetLayer(100, layer.release()); 130 scene.SetLayer(100, layer.release());
131 } 131 }
132 } 132 }
133 133
134 #if ORTHANC_SANDBOXED == 0
134 void TakeScreenshot(const std::string& target, 135 void TakeScreenshot(const std::string& target,
135 const OrthancStone::Scene2D& scene, 136 const OrthancStone::Scene2D& scene,
136 unsigned int canvasWidth, 137 unsigned int canvasWidth,
137 unsigned int canvasHeight) 138 unsigned int canvasHeight)
138 { 139 {
149 Orthanc::ImageProcessing::Convert(png, canvas); 150 Orthanc::ImageProcessing::Convert(png, canvas);
150 151
151 Orthanc::PngWriter writer; 152 Orthanc::PngWriter writer;
152 writer.WriteToFile(target, png); 153 writer.WriteToFile(target, png);
153 } 154 }
155 #endif
154 156
155 void ShowCursorInfo(Scene2D& scene, const PointerEvent& pointerEvent) 157 void ShowCursorInfo(Scene2D& scene, const PointerEvent& pointerEvent)
156 { 158 {
157 ScenePoint2D p = pointerEvent.GetMainPosition().Apply(scene.GetCanvasToSceneTransform()); 159 ScenePoint2D p = pointerEvent.GetMainPosition().Apply(scene.GetCanvasToSceneTransform());
158 160
197 };break; 199 };break;
198 case GUIADAPTER_EVENT_MOUSEMOVE: 200 case GUIADAPTER_EVENT_MOUSEMOVE:
199 { 201 {
200 currentTracker_->PointerMove(pointerEvent); 202 currentTracker_->PointerMove(pointerEvent);
201 };break; 203 };break;
204 default:
205 return false;
202 } 206 }
203 return true; 207 return true;
204 } 208 }
205 else if (event.type == GUIADAPTER_EVENT_MOUSEDOWN) 209 else if (event.type == GUIADAPTER_EVENT_MOUSEDOWN)
206 { 210 {
238 case 's': 242 case 's':
239 { 243 {
240 viewportController_->FitContent(compositor_->GetWidth(), compositor_->GetHeight()); 244 viewportController_->FitContent(compositor_->GetWidth(), compositor_->GetHeight());
241 return true; 245 return true;
242 }; 246 };
247 #if ORTHANC_SANDBOXED == 0
243 case 'c': 248 case 'c':
244 { 249 {
245 Scene2D& scene(*(viewportController_->GetScene())); 250 Scene2D& scene(*(viewportController_->GetScene()));
246 TakeScreenshot("screenshot.png", scene, compositor_->GetWidth(), compositor_->GetHeight()); 251 TakeScreenshot("screenshot.png", scene, compositor_->GetWidth(), compositor_->GetHeight());
247 return true; 252 return true;
248 } 253 }
254 #endif
249 case 'd': 255 case 'd':
250 { 256 {
251 showCursorInfo_ = !showCursorInfo_; 257 showCursorInfo_ = !showCursorInfo_;
252 if (!showCursorInfo_) 258 if (!showCursorInfo_)
253 { 259 {