(Magnifier) Synchronize the frame position with the viewport position 67/35067/1
authorXiangyin Ma <x1.ma@samsung.com>
Fri, 6 Feb 2015 15:27:25 +0000 (15:27 +0000)
committerXiangyin Ma <x1.ma@samsung.com>
Fri, 6 Feb 2015 15:27:25 +0000 (15:27 +0000)
Change-Id: I1094572097356d19f32e9bbfce7088482f3aaa38

optional/dali-toolkit/internal/controls/magnifier/magnifier-impl.cpp

index 5f9139c..2bfd96a 100644 (file)
@@ -222,8 +222,8 @@ void Magnifier::Initialize()
   //Property::Index propertySourcePositionDelayed = mCameraActor.RegisterProperty("delayed-source-position", Vector3::ZERO);
 
   constraint = Constraint::New<Vector3>( Actor::POSITION,
-                                                    Source( mSourceActor, Actor::WORLD_POSITION ),
-                                                    CameraActorPositionConstraint(stageSize, mDefaultCameraDistance) );
+                                         Source( mSourceActor, Actor::WORLD_POSITION ),
+                                         CameraActorPositionConstraint(stageSize, mDefaultCameraDistance) );
   mCameraActor.ApplyConstraint(constraint);
 
   // Apply constraint to render-task viewport position
@@ -283,9 +283,14 @@ void Magnifier::SetFrameVisibility(bool visible)
     mFrame = ImageActor::New( image );
     mFrame.SetDrawMode(DrawMode::OVERLAY);
     mFrame.SetStyle( ImageActor::STYLE_NINE_PATCH );
-    mFrame.SetPositionInheritanceMode(USE_PARENT_POSITION);
+    mFrame.SetPositionInheritanceMode(DONT_INHERIT_POSITION);
     mFrame.SetInheritScale(true);
 
+    Constraint constraint = Constraint::New<Vector3>( Actor::POSITION,
+                                                      ParentSource(Actor::WORLD_POSITION),
+                                                      EqualToConstraint());
+    mFrame.ApplyConstraint( constraint );
+
     mFrame.SetNinePatchBorder( Vector4::ONE * IMAGE_BORDER_INDENT );
     self.Add(mFrame);