comparison Samples/Sdl/FusionMprSdl.cpp @ 858:e3c56d4f863f

GuiAdapter : mouse event routing in SDL + split the undo stack from the ViewportController for multi-canvas apps + adapted the samples to this change
author Benjamin Golinvaux <bgo@osimis.io>
date Mon, 24 Jun 2019 10:31:04 +0200
parents 266e2b0b9abc
children 31319fe867b9 77c96ba899f9
comparison
equal deleted inserted replaced
855:41d22389a7d2 858:e3c56d4f863f
29 #include "../../Framework/Scene2D/OpenGLCompositor.h" 29 #include "../../Framework/Scene2D/OpenGLCompositor.h"
30 #include "../../Framework/Scene2D/PanSceneTracker.h" 30 #include "../../Framework/Scene2D/PanSceneTracker.h"
31 #include "../../Framework/Scene2D/ZoomSceneTracker.h" 31 #include "../../Framework/Scene2D/ZoomSceneTracker.h"
32 #include "../../Framework/Scene2D/RotateSceneTracker.h" 32 #include "../../Framework/Scene2D/RotateSceneTracker.h"
33 33
34 #include "../../Framework/Scene2DViewport/UndoStack.h"
34 #include "../../Framework/Scene2DViewport/CreateLineMeasureTracker.h" 35 #include "../../Framework/Scene2DViewport/CreateLineMeasureTracker.h"
35 #include "../../Framework/Scene2DViewport/CreateAngleMeasureTracker.h" 36 #include "../../Framework/Scene2DViewport/CreateAngleMeasureTracker.h"
36 #include "../../Framework/Scene2DViewport/IFlexiblePointerTracker.h" 37 #include "../../Framework/Scene2DViewport/IFlexiblePointerTracker.h"
37 #include "../../Framework/Scene2DViewport/MeasureTool.h" 38 #include "../../Framework/Scene2DViewport/MeasureTool.h"
38 #include "../../Framework/Scene2DViewport/PredeclaredTypes.h" 39 #include "../../Framework/Scene2DViewport/PredeclaredTypes.h"
405 : IObserver(broker) 406 : IObserver(broker)
406 , broker_(broker) 407 , broker_(broker)
407 , oracleObservable_(broker) 408 , oracleObservable_(broker)
408 , oracle_(*this) 409 , oracle_(*this)
409 , currentTool_(FusionMprGuiTool_Rotate) 410 , currentTool_(FusionMprGuiTool_Rotate)
411 , undoStack_(new UndoStack)
410 { 412 {
411 //oracleObservable.RegisterObserverCallback 413 //oracleObservable.RegisterObserverCallback
412 //(new Callable 414 //(new Callable
413 // <FusionMprSdlApp, SleepOracleCommand::TimeoutMessage>(*this, &FusionMprSdlApp::Handle)); 415 // <FusionMprSdlApp, SleepOracleCommand::TimeoutMessage>(*this, &FusionMprSdlApp::Handle));
414 416
423 oracleObservable_.RegisterObserverCallback 425 oracleObservable_.RegisterObserverCallback
424 (new Callable 426 (new Callable
425 <FusionMprSdlApp, OracleCommandExceptionMessage>(*this, &FusionMprSdlApp::Handle)); 427 <FusionMprSdlApp, OracleCommandExceptionMessage>(*this, &FusionMprSdlApp::Handle));
426 428
427 controller_ = boost::shared_ptr<ViewportController>( 429 controller_ = boost::shared_ptr<ViewportController>(
428 new ViewportController(broker_)); 430 new ViewportController(undoStack_, broker_));
429 431
430 controller_->RegisterObserverCallback( 432 controller_->RegisterObserverCallback(
431 new Callable<FusionMprSdlApp, ViewportController::SceneTransformChanged> 433 new Callable<FusionMprSdlApp, ViewportController::SceneTransformChanged>
432 (*this, &FusionMprSdlApp::OnSceneTransformChanged)); 434 (*this, &FusionMprSdlApp::OnSceneTransformChanged));
433 435