comparison Framework/Scene2D/PanSceneTracker.cpp @ 728:8190213e2279 am-dev

Merged default into am-dev
author Alain Mazy <am@osimis.io>
date Tue, 21 May 2019 13:25:58 +0200
parents 059e1fd05fd6
children c0fcb2757b0a
comparison
equal deleted inserted replaced
690:f185cfcb72a0 728:8190213e2279
18 * along with this program. If not, see <http://www.gnu.org/licenses/>. 18 * along with this program. If not, see <http://www.gnu.org/licenses/>.
19 **/ 19 **/
20 20
21 21
22 #include "PanSceneTracker.h" 22 #include "PanSceneTracker.h"
23 #include <Framework/Scene2DViewport/ViewportController.h>
23 24
24 namespace OrthancStone 25 namespace OrthancStone
25 { 26 {
26 PanSceneTracker::PanSceneTracker(Scene2D& scene, 27 PanSceneTracker::PanSceneTracker(ViewportControllerWPtr controllerW,
27 const PointerEvent& event) : 28 const PointerEvent& event)
28 scene_(scene), 29 : OneGesturePointerTracker(controllerW)
29 originalSceneToCanvas_(scene_.GetSceneToCanvasTransform()), 30 , originalSceneToCanvas_(GetController()->GetSceneToCanvasTransform())
30 originalCanvasToScene_(scene_.GetCanvasToSceneTransform()) 31 , originalCanvasToScene_(GetController()->GetCanvasToSceneTransform())
31 { 32 {
32 pivot_ = event.GetMainPosition().Apply(originalCanvasToScene_); 33 pivot_ = event.GetMainPosition().Apply(originalCanvasToScene_);
33 } 34 }
34 35
35 36
36 void PanSceneTracker::Update(const PointerEvent& event) 37 void PanSceneTracker::PointerMove(const PointerEvent& event)
37 { 38 {
38 ScenePoint2D p = event.GetMainPosition().Apply(originalCanvasToScene_); 39 ScenePoint2D p = event.GetMainPosition().Apply(originalCanvasToScene_);
39 40
40 scene_.SetSceneToCanvasTransform( 41 GetController()->SetSceneToCanvasTransform(
41 AffineTransform2D::Combine( 42 AffineTransform2D::Combine(
42 originalSceneToCanvas_, 43 originalSceneToCanvas_,
43 AffineTransform2D::CreateOffset(p.GetX() - pivot_.GetX(), 44 AffineTransform2D::CreateOffset(p.GetX() - pivot_.GetX(),
44 p.GetY() - pivot_.GetY()))); 45 p.GetY() - pivot_.GetY())));
45 } 46 }
47
48 void PanSceneTracker::Cancel()
49 {
50 GetController()->SetSceneToCanvasTransform(originalSceneToCanvas_);
51 }
52
46 } 53 }