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: