- Property::Index scrollSpeedProperty = itemView.GetPropertyIndex("item-view-scroll-speed");
- Property::Index scrollPositionProperty = scrollPositionObject.GetPropertyIndex("scroll-position");
-
- ItemLayout::Vector3Function positionConstraint;
- if (GetPositionConstraint(itemId, positionConstraint))
- {
- WrappedVector3Constraint wrapped(positionConstraint, itemId);
- Constraint constraint = Constraint::New<Vector3>( Actor::Property::Position,
- Source( scrollPositionObject, scrollPositionProperty ),
- ParentSource( scrollSpeedProperty ),
- ParentSource( Actor::Property::Size ),
- wrapped );
- constraint.SetApplyTime(durationSeconds);
- constraint.SetAlphaFunction(mAlphaFunction);
- actor.ApplyConstraint(constraint);
- }
-
- ItemLayout::QuaternionFunction rotationConstraint;
- if (GetRotationConstraint(itemId, rotationConstraint))
- {
- WrappedQuaternionConstraint wrapped(rotationConstraint, itemId);
-
- Constraint constraint = Constraint::New<Quaternion>( Actor::Property::Rotation,
- Source( scrollPositionObject, scrollPositionProperty ),
- ParentSource( scrollSpeedProperty ),
- ParentSource( Actor::Property::Size ),
- wrapped );
- constraint.SetApplyTime(durationSeconds);
- constraint.SetAlphaFunction(mAlphaFunction);
-
- actor.ApplyConstraint(constraint);
- }
-
- ItemLayout::Vector3Function scaleConstraint;
- if (GetScaleConstraint(itemId, scaleConstraint))
- {
- WrappedVector3Constraint wrapped(scaleConstraint, itemId);
-
- Constraint constraint = Constraint::New<Vector3>( Actor::Property::Scale,
- Source( scrollPositionObject, scrollPositionProperty ),
- ParentSource( scrollSpeedProperty ),
- ParentSource( Actor::Property::Size ),
- wrapped );
- constraint.SetApplyTime(durationSeconds);
- constraint.SetAlphaFunction(mAlphaFunction);
-
- actor.ApplyConstraint(constraint);
- }