X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Fscrollable%2Fscroll-view%2Fscroll-view-wobble-effect-impl.cpp;h=6a2a9e6cad21b126e428b6a067300f7df6686311;hp=faa2275bbba51cfc245873c81045703ffff09dde;hb=df92f45e89c92ca9b2286d51116ff7b69e75c569;hpb=306d2f61a1b64179e801fa8a0bb2bd7b4e9dd682 diff --git a/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-wobble-effect-impl.cpp b/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-wobble-effect-impl.cpp index faa2275..6a2a9e6 100644 --- a/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-wobble-effect-impl.cpp +++ b/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-wobble-effect-impl.cpp @@ -15,6 +15,7 @@ * */ +// INTERNAL INCLUDES #include #include #include @@ -88,19 +89,14 @@ struct ScrollViewWobbleEffectConstraint } /** - * @param[out] current The new wobble value - * @param[in] propertyTime The current time since the wobble effect started - * @param[in] propertyPosition The scroll-position - * @param[in] propertyOffset The scroll-overshoot + * @param[in,out] direction The new wobble value + * @param[in] inputs Contains: + * The current time since the wobble effect started + * The scroll-position + * The scroll-overshoot x & y */ - Vector3 operator()(const Vector3& current, - const PropertyInput& propertyTime, - const PropertyInput& propertyPosition, - const PropertyInput& propertyOffsetX, - const PropertyInput& propertyOffsetY) + void operator()( Vector3& direction, const PropertyInputContainer& inputs ) { - Vector3 dir; - if(mStabilized) { // check if animation cycle id has changed (if so then this spells @@ -113,9 +109,9 @@ struct ScrollViewWobbleEffectConstraint else { // not stable (i.e. wobbling) - Vector3 offset(propertyOffsetX.GetFloat(), propertyOffsetY.GetFloat(), 0.0f); - const Vector3& position = propertyPosition.GetVector3() - offset; - const float time = propertyTime.GetFloat(); + Vector3 offset(inputs[2]->GetFloat(), inputs[3]->GetFloat(), 0.0f); + const Vector3& position = inputs[1]->GetVector3() - offset; + const float time = inputs[0]->GetFloat(); const float timePassed = time - mTime; mTime = time; @@ -158,11 +154,9 @@ struct ScrollViewWobbleEffectConstraint } } - dir.x = propertyPosition.GetVector3().x - mChase.x; - dir.y = propertyPosition.GetVector3().y - mChase.y; + direction.x = position.x - mChase.x; + direction.y = position.y - mChase.y; } // end else - - return dir; } Vector3 mChase; ///< Chaser position @@ -230,10 +224,6 @@ void ScrollViewWobbleEffect::OnDetach(Toolkit::ScrollView& scrollView) void ScrollViewWobbleEffect::AttachActor(Actor actor) { - Property::Index propertyPosition = actor.GetPropertyIndex(Toolkit::ScrollView::SCROLL_POSITION_PROPERTY_NAME); - Property::Index propertyOvershootX = actor.GetPropertyIndex(Toolkit::ScrollView::SCROLL_OVERSHOOT_X_PROPERTY_NAME); - Property::Index propertyOvershootY = actor.GetPropertyIndex(Toolkit::ScrollView::SCROLL_OVERSHOOT_Y_PROPERTY_NAME); - // Create effect-overshoot property if not already created. Property::Index propertyEffectOvershoot = actor.GetPropertyIndex(Toolkit::ScrollViewWobbleEffect::EFFECT_OVERSHOOT); if(propertyEffectOvershoot == Property::INVALID_INDEX) @@ -243,13 +233,12 @@ void ScrollViewWobbleEffect::AttachActor(Actor actor) Actor scrollView = GetScrollView(); - Constraint constraint = Constraint::New( propertyEffectOvershoot, - Source(scrollView, mPropertyTime), - Source(actor, propertyPosition), - Source(actor, propertyOvershootX), - Source(actor, propertyOvershootY), - ScrollViewWobbleEffectConstraint(*this) ); - actor.ApplyConstraint(constraint); + Constraint constraint = Constraint::New( actor, propertyEffectOvershoot, ScrollViewWobbleEffectConstraint(*this) ); + constraint.AddSource( Source( scrollView, mPropertyTime ) ); + constraint.AddSource( Source( actor, Toolkit::ScrollView::Property::SCROLL_POSITION ) ); + constraint.AddSource( Source( actor, Toolkit::ScrollView::Property::OVERSHOOT_X ) ); + constraint.AddSource( Source( actor, Toolkit::ScrollView::Property::OVERSHOOT_Y ) ); + constraint.Apply(); } void ScrollViewWobbleEffect::DetachActor(Actor actor) @@ -271,7 +260,7 @@ void ScrollViewWobbleEffect::ContinueAnimation(float endTime) Actor scrollView = GetScrollView(); mAnimation = Animation::New(WOBBLEEFFECT_ANIMATION_MAX_TIME); - mAnimation.AnimateTo( Property(scrollView, mPropertyTime), endTime, AlphaFunctions::Linear ); + mAnimation.AnimateTo( Property(scrollView, mPropertyTime), endTime, AlphaFunction::LINEAR ); mAnimation.FinishedSignal().Connect(this, &ScrollViewWobbleEffect::OnAnimationFinished); mAnimation.Play();