Further Setter/Getter public API removal from Dali::Actor
[platform/core/uifw/dali-demo.git] / examples / magnifier / magnifier-example.cpp
index d20cd6b..0f0f08f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2017 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -26,8 +26,8 @@ using namespace Dali;
 
 namespace
 {
-const char* BACKGROUND_IMAGE( DALI_IMAGE_DIR "background-magnifier.jpg" );
-const char* TOOLBAR_IMAGE( DALI_IMAGE_DIR "top-bar.png" );
+const char* BACKGROUND_IMAGE( DEMO_IMAGE_DIR "background-magnifier.jpg" );
+const char* TOOLBAR_IMAGE( DEMO_IMAGE_DIR "top-bar.png" );
 const char* APPLICATION_TITLE( "Magnifier Example" );
 const Vector3 MAGNIFIER_SIZE(0.25f, 0.25f, 0.0f);       ///< Magnifier sides should be 25% of the width of the stage
 const float ANIMATION_DURATION(60.0f);                  ///< Run animation for a minute before repeating.
@@ -173,6 +173,7 @@ public:
   : mApplication( application ),
     mView(),
     mAnimationTime(0.0f),
+    mAnimationTimeProperty( Property::INVALID_INDEX ),
     mMagnifierShown(false)
   {
     // Connect to the Application's Init signal
@@ -193,8 +194,6 @@ public:
    */
   void Create( Application& application )
   {
-    DemoHelper::RequestThemeChange();
-
     Stage::GetCurrent().KeyEventSignal().Connect(this, &ExampleController::OnKeyEvent);
 
     mStageSize = Stage::GetCurrent().GetSize();
@@ -214,21 +213,21 @@ public:
                                        TOOLBAR_IMAGE,
                                        APPLICATION_TITLE );
 
-    mContent.SetLeaveRequired(true);
-    mContent.TouchedSignal().Connect( this, &ExampleController::OnTouched );
+    mContent.SetProperty( Actor::Property::LEAVE_REQUIRED,true);
+    mContent.TouchSignal().Connect( this, &ExampleController::OnTouched );
 
     // Create magnifier (controlled by human touch)
     Layer overlay = Layer::New();
-    overlay.SetSensitive(false);
-    overlay.SetParentOrigin( ParentOrigin::CENTER );
-    overlay.SetSize(mStageSize);
+    overlay.SetProperty( Actor::Property::SENSITIVE,false);
+    overlay.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER );
+    overlay.SetProperty( Actor::Property::SIZE, mStageSize);
     Stage::GetCurrent().Add(overlay);
 
     mMagnifier = Toolkit::Magnifier::New();
-    mMagnifier.SetSourceActor( mView.GetChildAt( 0 ) );
-    mMagnifier.SetSize( MAGNIFIER_SIZE * mStageSize.width );  // Size of magnifier is in relation to stage width
-    mMagnifier.SetMagnificationFactor( MAGNIFICATION_FACTOR );
-    mMagnifier.SetScale(Vector3::ZERO);
+    mMagnifier.SetSourceActor( mView );
+    mMagnifier.SetProperty( Actor::Property::SIZE, MAGNIFIER_SIZE * mStageSize.width );  // Size of magnifier is in relation to stage width
+    mMagnifier.SetProperty( Toolkit::Magnifier::Property::MAGNIFICATION_FACTOR, MAGNIFICATION_FACTOR );
+    mMagnifier.SetProperty( Actor::Property::SCALE,Vector3::ZERO);
     overlay.Add( mMagnifier );
 
     // Apply constraint to animate the position of the magnifier.
@@ -242,12 +241,12 @@ public:
 
     // Create bouncing magnifier automatically bounces around screen.
     mBouncingMagnifier = Toolkit::Magnifier::New();
-    mBouncingMagnifier.SetSourceActor( mView.GetChildAt( 0 ) );
-    mBouncingMagnifier.SetSize( MAGNIFIER_SIZE * mStageSize.width ); // Size of magnifier is in relation to stage width
-    mBouncingMagnifier.SetMagnificationFactor( MAGNIFICATION_FACTOR );
+    mBouncingMagnifier.SetSourceActor( mView );
+    mBouncingMagnifier.SetProperty( Actor::Property::SIZE, MAGNIFIER_SIZE * mStageSize.width ); // Size of magnifier is in relation to stage width
+    mBouncingMagnifier.SetProperty( Toolkit::Magnifier::Property::MAGNIFICATION_FACTOR, MAGNIFICATION_FACTOR );
     overlay.Add( mBouncingMagnifier );
 
-    mAnimationTimeProperty = mBouncingMagnifier.RegisterProperty("animation-time", 0.0f);
+    mAnimationTimeProperty = mBouncingMagnifier.RegisterProperty("animationTime",  0.0f);
     ContinueAnimation();
 
     // Apply constraint to animate the position of the magnifier.
@@ -257,7 +256,7 @@ public:
     constraint.Apply();
 
     // Apply constraint to animate the source of the magnifier.
-    constraint = Constraint::New<Vector3>( mBouncingMagnifier, mBouncingMagnifier.GetPropertyIndex( Toolkit::Magnifier::SOURCE_POSITION_PROPERTY_NAME ), MagnifierPathConstraint(mStageSize) );
+    constraint = Constraint::New<Vector3>( mBouncingMagnifier, Toolkit::Magnifier::Property::SOURCE_POSITION, MagnifierPathConstraint(mStageSize) );
     constraint.AddSource( LocalSource(Actor::Property::SIZE) );
     constraint.AddSource( LocalSource(mAnimationTimeProperty) );
     constraint.Apply();
@@ -302,33 +301,32 @@ public:
    * @param[in] actor The actor that received the touch
    * @param[in] event The touch-event information
    */
-  bool OnTouched( Actor actor, const TouchEvent& event )
+  bool OnTouched( Actor actor, const TouchData& event )
   {
     if(event.GetPointCount() > 0)
     {
-      const TouchPoint& point = event.GetPoint(0);
-      switch(point.state)
+      switch( event.GetState( 0 ) )
       {
-        case TouchPoint::Down:
-        case TouchPoint::Motion:
+        case PointState::DOWN:
+        case PointState::MOTION:
         {
           ShowMagnifier();
           break;
         }
-        case TouchPoint::Up:
-        case TouchPoint::Leave:
-        case TouchPoint::Interrupted:
+        case PointState::UP:
+        case PointState::LEAVE:
+        case PointState::INTERRUPTED:
         {
           HideMagnifier();
           break;
         }
-        default:
+        case PointState::STATIONARY:
         {
           break;
         }
       } // end switch
 
-      Vector3 touchPoint(point.screen);
+      Vector3 touchPoint( event.GetScreenPosition( 0 ) );
 
       SetMagnifierPosition(touchPoint - mStageSize * 0.5f);
     }
@@ -370,13 +368,13 @@ public:
    */
   void SetMagnifierPosition(const Vector3 position)
   {
-    mMagnifier.SetSourcePosition( position );
+    mMagnifier.SetProperty( Toolkit::Magnifier::Property::SOURCE_POSITION, position );
 
     // position magnifier glass such that bottom edge is touching/near top of finger.
     Vector3 glassPosition(position);
     glassPosition.y -= mStageSize.width * MAGNIFIER_SIZE.height * 0.5f + Stage::GetCurrent().GetDpi().height * FINGER_RADIUS_INCHES;
 
-    mMagnifier.SetPosition( glassPosition );
+    mMagnifier.SetProperty( Actor::Property::POSITION, glassPosition );
   }
 
   void OnKeyEvent(const KeyEvent& event)
@@ -404,20 +402,10 @@ private:
 
 };
 
-void RunTest( Application& application )
+int DALI_EXPORT_API main( int argc, char **argv )
 {
+  Application application = Application::New( &argc, &argv, DEMO_THEME_PATH );
   ExampleController test( application );
-
   application.MainLoop();
-}
-
-// Entry point for Linux & Tizen applications
-//
-int main( int argc, char **argv )
-{
-  Application application = Application::New( &argc, &argv );
-
-  RunTest( application );
-
   return 0;
 }