Mercurial > hg > orthanc-stone
comparison Samples/Sdl/TrackerSampleApp.cpp @ 848:80829436ce0c am-mainline
starting to re-implement radiography editor with latest framework
author | Alain Mazy <alain@mazy.be> |
---|---|
date | Thu, 13 Jun 2019 16:47:02 +0200 |
parents | e42b491f1fb2 |
children | 31319fe867b9 |
comparison
equal
deleted
inserted
replaced
842:2b245953b44b | 848:80829436ce0c |
---|---|
118 //layer->SetPosition(0,0); | 118 //layer->SetPosition(0,0); |
119 GetScene()->SetLayer(FIXED_INFOTEXT_LAYER_ZINDEX, layer.release()); | 119 GetScene()->SetLayer(FIXED_INFOTEXT_LAYER_ZINDEX, layer.release()); |
120 } | 120 } |
121 // position the fixed info text in the upper right corner | 121 // position the fixed info text in the upper right corner |
122 layerP->SetText(msgS.c_str()); | 122 layerP->SetText(msgS.c_str()); |
123 double cX = compositor_->GetCanvasWidth() * (-0.5); | 123 double cX = compositor_->GetWidth() * (-0.5); |
124 double cY = compositor_->GetCanvasHeight() * (-0.5); | 124 double cY = compositor_->GetHeight() * (-0.5); |
125 GetScene()->GetCanvasToSceneTransform().Apply(cX,cY); | 125 GetScene()->GetCanvasToSceneTransform().Apply(cX,cY); |
126 layerP->SetPosition(cX, cY); | 126 layerP->SetPosition(cX, cY); |
127 } | 127 } |
128 | 128 |
129 void TrackerSampleApp::DisplayFloatingCtrlInfoText(const PointerEvent& e) | 129 void TrackerSampleApp::DisplayFloatingCtrlInfoText(const PointerEvent& e) |
159 GetScene()->DeleteLayer(FLOATING_INFOTEXT_LAYER_ZINDEX); | 159 GetScene()->DeleteLayer(FLOATING_INFOTEXT_LAYER_ZINDEX); |
160 } | 160 } |
161 | 161 |
162 ScenePoint2D TrackerSampleApp::GetRandomPointInScene() const | 162 ScenePoint2D TrackerSampleApp::GetRandomPointInScene() const |
163 { | 163 { |
164 unsigned int w = compositor_->GetCanvasWidth(); | 164 unsigned int w = compositor_->GetWidth(); |
165 LOG(TRACE) << "compositor_->GetCanvasWidth() = " << | 165 LOG(TRACE) << "compositor_->GetWidth() = " << |
166 compositor_->GetCanvasWidth(); | 166 compositor_->GetWidth(); |
167 unsigned int h = compositor_->GetCanvasHeight(); | 167 unsigned int h = compositor_->GetHeight(); |
168 LOG(TRACE) << "compositor_->GetCanvasHeight() = " << | 168 LOG(TRACE) << "compositor_->GetHeight() = " << |
169 compositor_->GetCanvasHeight(); | 169 compositor_->GetHeight(); |
170 | 170 |
171 if ((w >= RAND_MAX) || (h >= RAND_MAX)) | 171 if ((w >= RAND_MAX) || (h >= RAND_MAX)) |
172 LOG(WARNING) << "Canvas is too big : tools will not be randomly placed"; | 172 LOG(WARNING) << "Canvas is too big : tools will not be randomly placed"; |
173 | 173 |
174 int x = rand() % w; | 174 int x = rand() % w; |
322 | 322 |
323 case SDLK_m: | 323 case SDLK_m: |
324 CreateRandomMeasureTool(); | 324 CreateRandomMeasureTool(); |
325 break; | 325 break; |
326 case SDLK_s: | 326 case SDLK_s: |
327 controller_->FitContent(compositor_->GetCanvasWidth(), | 327 controller_->FitContent(compositor_->GetWidth(), |
328 compositor_->GetCanvasHeight()); | 328 compositor_->GetHeight()); |
329 break; | 329 break; |
330 | 330 |
331 case SDLK_z: | 331 case SDLK_z: |
332 LOG(TRACE) << "SDLK_z has been pressed. event.key.keysym.mod == " << event.key.keysym.mod; | 332 LOG(TRACE) << "SDLK_z has been pressed. event.key.keysym.mod == " << event.key.keysym.mod; |
333 if (event.key.keysym.mod & KMOD_CTRL) | 333 if (event.key.keysym.mod & KMOD_CTRL) |
361 break; | 361 break; |
362 | 362 |
363 case SDLK_c: | 363 case SDLK_c: |
364 TakeScreenshot( | 364 TakeScreenshot( |
365 "screenshot.png", | 365 "screenshot.png", |
366 compositor_->GetCanvasWidth(), | 366 compositor_->GetWidth(), |
367 compositor_->GetCanvasHeight()); | 367 compositor_->GetHeight()); |
368 break; | 368 break; |
369 | 369 |
370 default: | 370 default: |
371 break; | 371 break; |
372 } | 372 } |
392 return boost::shared_ptr<IFlexiblePointerTracker>(new PanSceneTracker | 392 return boost::shared_ptr<IFlexiblePointerTracker>(new PanSceneTracker |
393 (controller_, e)); | 393 (controller_, e)); |
394 | 394 |
395 case SDL_BUTTON_RIGHT: | 395 case SDL_BUTTON_RIGHT: |
396 return boost::shared_ptr<IFlexiblePointerTracker>(new ZoomSceneTracker | 396 return boost::shared_ptr<IFlexiblePointerTracker>(new ZoomSceneTracker |
397 (controller_, e, compositor_->GetCanvasHeight())); | 397 (controller_, e, compositor_->GetHeight())); |
398 | 398 |
399 case SDL_BUTTON_LEFT: | 399 case SDL_BUTTON_LEFT: |
400 { | 400 { |
401 //LOG(TRACE) << "CreateSuitableTracker: case SDL_BUTTON_LEFT:"; | 401 //LOG(TRACE) << "CreateSuitableTracker: case SDL_BUTTON_LEFT:"; |
402 // TODO: we need to iterate on the set of measuring tool and perform | 402 // TODO: we need to iterate on the set of measuring tool and perform |
424 case GuiTool_Pan: | 424 case GuiTool_Pan: |
425 return boost::shared_ptr<IFlexiblePointerTracker>(new PanSceneTracker( | 425 return boost::shared_ptr<IFlexiblePointerTracker>(new PanSceneTracker( |
426 controller_, e)); | 426 controller_, e)); |
427 case GuiTool_Zoom: | 427 case GuiTool_Zoom: |
428 return boost::shared_ptr<IFlexiblePointerTracker>(new ZoomSceneTracker( | 428 return boost::shared_ptr<IFlexiblePointerTracker>(new ZoomSceneTracker( |
429 controller_, e, compositor_->GetCanvasHeight())); | 429 controller_, e, compositor_->GetHeight())); |
430 //case GuiTool_AngleMeasure: | 430 //case GuiTool_AngleMeasure: |
431 // return new AngleMeasureTracker(GetScene(), e); | 431 // return new AngleMeasureTracker(GetScene(), e); |
432 //case GuiTool_CircleMeasure: | 432 //case GuiTool_CircleMeasure: |
433 // return new CircleMeasureTracker(GetScene(), e); | 433 // return new CircleMeasureTracker(GetScene(), e); |
434 //case GuiTool_EllipseMeasure: | 434 //case GuiTool_EllipseMeasure: |