Mercurial > hg > orthanc-stone
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 { |