Merge remote-tracking branch 'origin/tizen' into new_text
[platform/core/uifw/dali-demo.git] / examples / blocks / blocks-example.cpp
index 8c8f533..cf1ceae 100644 (file)
 
 #include <sstream>
 #include <iostream>
-#include <vector>
 #include <string>
+#include <map>
 #include <algorithm>
 
-#include <boost/any.hpp>
-#include <boost/function.hpp>
 #include <dali/dali.h>
 #include <dali-toolkit/dali-toolkit.h>
-#include "../shared/view.h"
+#include "shared/view.h"
 
-using namespace std;
 using namespace Dali;
 using namespace Dali::Toolkit;
 using namespace DemoHelper;
@@ -349,7 +346,7 @@ private:
     mPaddleImage.SetSize( mPaddleFullSize );
 
     mWobbleProperty = mPaddle.RegisterProperty(WOBBLE_PROPERTY_NAME, 0.0f);
-    Constraint wobbleConstraint = Constraint::New<Quaternion>( Actor::ROTATION,
+    Constraint wobbleConstraint = Constraint::New<Quaternion>( Actor::Property::ORIENTATION,
                                                     LocalSource(mWobbleProperty),
                                                     WobbleConstraint(10.0f));
     mPaddle.ApplyConstraint(wobbleConstraint);
@@ -362,16 +359,16 @@ private:
     const float margin(BALL_SIZE.width * stageSize.width * 0.5f);
 
     // Set up notifications for ball's collisions against walls.
-    PropertyNotification leftNotification = mBall.AddPropertyNotification( Actor::POSITION_X, LessThanCondition(margin) );
+    PropertyNotification leftNotification = mBall.AddPropertyNotification( Actor::Property::POSITION_X, LessThanCondition(margin) );
     leftNotification.NotifySignal().Connect( this, &ExampleController::OnHitLeftWall );
 
-    PropertyNotification rightNotification = mBall.AddPropertyNotification( Actor::POSITION_X, GreaterThanCondition(stageSize.width - margin) );
+    PropertyNotification rightNotification = mBall.AddPropertyNotification( Actor::Property::POSITION_X, GreaterThanCondition(stageSize.width - margin) );
     rightNotification.NotifySignal().Connect( this, &ExampleController::OnHitRightWall );
 
-    PropertyNotification topNotification = mBall.AddPropertyNotification( Actor::POSITION_Y, LessThanCondition(margin) );
+    PropertyNotification topNotification = mBall.AddPropertyNotification( Actor::Property::POSITION_Y, LessThanCondition(margin) );
     topNotification.NotifySignal().Connect( this, &ExampleController::OnHitTopWall );
 
-    PropertyNotification bottomNotification = mBall.AddPropertyNotification( Actor::POSITION_Y, GreaterThanCondition(stageSize.height + margin) );
+    PropertyNotification bottomNotification = mBall.AddPropertyNotification( Actor::Property::POSITION_Y, GreaterThanCondition(stageSize.height + margin) );
     bottomNotification.NotifySignal().Connect( this, &ExampleController::OnHitBottomWall );
 
     // Set up notification for ball colliding against paddle.
@@ -379,10 +376,10 @@ private:
     stage.Add(delegate);
     Property::Index property = delegate.RegisterProperty(COLLISION_PROPERTY_NAME, Vector3::ZERO);
     Constraint constraint = Constraint::New<Vector3>( property,
-                                                    Source(mBall, Actor::POSITION),
-                                                    Source(mPaddle, Actor::POSITION),
-                                                    Source(mBall, Actor::SIZE),
-                                                    Source(mPaddle, Actor::SIZE),
+                                                    Source(mBall, Actor::Property::POSITION),
+                                                    Source(mPaddle, Actor::Property::POSITION),
+                                                    Source(mBall, Actor::Property::SIZE),
+                                                    Source(mPaddle, Actor::Property::SIZE),
                                                     CollisionCircleRectangleConstraint( -Vector3(0.0f, mPaddleHitMargin.height * 0.575f, 0.0f),-Vector3(mPaddleHitMargin) ));
     delegate.ApplyConstraint(constraint);
 
@@ -424,7 +421,7 @@ private:
     mLevelContainer = Actor::New();
     mLevelContainer.SetAnchorPoint( AnchorPoint::CENTER );
     mLevelContainer.SetParentOrigin( ParentOrigin::CENTER );
-    mLevelContainer.ApplyConstraint( Constraint::New<Vector3>( Actor::SIZE, ParentSource( Actor::SIZE ), EqualToConstraint() ) );
+    mLevelContainer.SetSizeMode( SIZE_EQUAL_TO_PARENT );
     mContentLayer.Add( mLevelContainer );
 
     mBrickCount = 0;
@@ -564,7 +561,7 @@ private:
       if(turn)
       {
         // turn 90 degrees clockwise.
-        swap(di, dj);
+        std::swap(di, dj);
         di = -di;
         if (length<=1)
         {
@@ -592,7 +589,7 @@ private:
     ImageAttributes attr;
     attr.SetSize( 128, 64 );
     attr.SetScalingMode( ImageAttributes::ScaleToFill );
-    Image img = Image::New(BRICK_IMAGE_PATH[type], attr);
+    Image img = ResourceImage::New(BRICK_IMAGE_PATH[type], attr);
     ImageActor brick = ImageActor::New(img);
     brick.SetParentOrigin(ParentOrigin::TOP_LEFT);
     brick.SetAnchorPoint(AnchorPoint::CENTER);
@@ -602,10 +599,10 @@ private:
     // Add a constraint on the brick between it and the ball generating a collision-property
     Property::Index property = brick.RegisterProperty(COLLISION_PROPERTY_NAME, Vector3::ZERO);
     Constraint constraint = Constraint::New<Vector3>( property,
-                                                    Source(mBall, Actor::POSITION),
-                                                    Source(brick, Actor::POSITION),
-                                                    Source(mBall, Actor::SIZE),
-                                                    Source(brick, Actor::SIZE),
+                                                    Source(mBall, Actor::Property::POSITION),
+                                                    Source(brick, Actor::Property::POSITION),
+                                                    Source(mBall, Actor::Property::SIZE),
+                                                    Source(brick, Actor::Property::SIZE),
                                                     CollisionCircleRectangleConstraint(BRICK_COLLISION_MARGIN));
     brick.ApplyConstraint(constraint);
 
@@ -624,7 +621,7 @@ private:
    */
   ImageActor CreateImage(const std::string& filename)
   {
-    Image img = Image::New(filename);
+    Image img = ResourceImage::New(filename);
     ImageActor actor = ImageActor::New(img);
     actor.SetParentOrigin(ParentOrigin::TOP_LEFT);
     actor.SetAnchorPoint(AnchorPoint::CENTER);
@@ -642,7 +639,7 @@ private:
     }
 
     mBallAnimation = Animation::New(MAX_ANIMATION_DURATION);
-    mBallAnimation.AnimateBy( Property( mBall, Actor::POSITION ), mBallVelocity * MAX_ANIMATION_DURATION);
+    mBallAnimation.AnimateBy( Property( mBall, Actor::Property::POSITION ), mBallVelocity * MAX_ANIMATION_DURATION);
     mBallAnimation.Play();
   }
 
@@ -664,8 +661,8 @@ private:
 
         mDragActor = actor;
         mDragAnimation = Animation::New(0.25f);
-        mDragAnimation.AnimateTo( Property(mDragActor, Actor::SCALE), Vector3(1.1f, 1.1f, 1.0f), AlphaFunctions::EaseOut);
-        mDragAnimation.AnimateTo( Property(mPaddleHandle, Actor::COLOR), Vector4(1.0f, 1.0f, 1.0f, 0.0f), AlphaFunctions::EaseOut);
+        mDragAnimation.AnimateTo( Property(mDragActor, Actor::Property::SCALE), Vector3(1.1f, 1.1f, 1.0f), AlphaFunctions::EaseOut);
+        mDragAnimation.AnimateTo( Property(mPaddleHandle, Actor::Property::COLOR), Vector4(1.0f, 1.0f, 1.0f, 0.0f), AlphaFunctions::EaseOut);
         mDragAnimation.Play();
       }
     }
@@ -690,8 +687,8 @@ private:
         if(point.state==TouchPoint::Up) // Stop dragging
         {
           mDragAnimation = Animation::New(0.25f);
-          mDragAnimation.AnimateTo( Property(mDragActor, Actor::SCALE), Vector3(1.0f, 1.0f, 1.0f), AlphaFunctions::EaseIn);
-          mDragAnimation.AnimateTo( Property(mPaddleHandle, Actor::COLOR), Vector4(1.0f, 1.0f, 1.0f, 1.0f), AlphaFunctions::EaseOut);
+          mDragAnimation.AnimateTo( Property(mDragActor, Actor::Property::SCALE), Vector3(1.0f, 1.0f, 1.0f), AlphaFunctions::EaseIn);
+          mDragAnimation.AnimateTo( Property(mPaddleHandle, Actor::Property::COLOR), Vector4(1.0f, 1.0f, 1.0f, 1.0f), AlphaFunctions::EaseOut);
           mDragAnimation.Play();
           mDragActor.Reset();
         }
@@ -748,8 +745,8 @@ private:
       mBallVelocity = Vector3::ZERO;
 
       Animation shrink = Animation::New(0.5f);
-      shrink.AnimateTo( Property(mPaddle, Actor::SIZE_WIDTH), mPaddleFullSize.x * f + mPaddleHitMargin.x);
-      shrink.AnimateTo( Property(mPaddleImage, Actor::SIZE_WIDTH), mPaddleFullSize.x * f );
+      shrink.AnimateTo( Property(mPaddle, Actor::Property::SIZE_WIDTH), mPaddleFullSize.x * f + mPaddleHitMargin.x);
+      shrink.AnimateTo( Property(mPaddleImage, Actor::Property::SIZE_WIDTH), mPaddleFullSize.x * f );
 
       shrink.FinishedSignal().Connect( this, &ExampleController::OnPaddleShrunk );
       shrink.Play();
@@ -766,7 +763,7 @@ private:
     mBall.SetPosition( mBallStartPosition );
     mBall.SetColor( Vector4(1.0f, 1.0f, 1.0f, 0.1f) );
     Animation appear = Animation::New(0.5f);
-    appear.AnimateTo( Property(mBall, Actor::COLOR), Vector4(1.0f, 1.0f, 1.0f, 1.0f) );
+    appear.AnimateTo( Property(mBall, Actor::Property::COLOR), Vector4(1.0f, 1.0f, 1.0f, 1.0f) );
     appear.Play();
 
     if(!mLives)
@@ -833,7 +830,7 @@ private:
 
     // fade brick (destroy)
     Animation destroyAnimation = Animation::New(0.5f);
-    destroyAnimation.AnimateTo( Property( brick, Actor::COLOR_ALPHA ), 0.0f, AlphaFunctions::EaseIn );
+    destroyAnimation.AnimateTo( Property( brick, Actor::Property::COLOR_ALPHA ), 0.0f, AlphaFunctions::EaseIn );
     destroyAnimation.Play();
     destroyAnimation.FinishedSignal().Connect( this, &ExampleController::OnBrickDestroyed );
     mDestroyAnimationMap[destroyAnimation] = brick;