Animation documentation now mentions TimePeriod effect on overall duration 83/96083/3
authorAdeel Kazmi <adeel.kazmi@samsung.com>
Mon, 7 Nov 2016 17:53:40 +0000 (17:53 +0000)
committerAdeel Kazmi <adeel.kazmi@samsung.com>
Tue, 8 Nov 2016 14:41:45 +0000 (14:41 +0000)
Change-Id: I761ccdfe86d721742ba1fc4f52f2cce8ba47b23d

automated-tests/src/dali/utc-Dali-Animation.cpp
dali/public-api/animation/animation.h

index b221968..ea44054 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2016 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.
@@ -10029,3 +10029,24 @@ int UtcDaliAnimationCustomIntProperty(void)
   DALI_TEST_EQUALS( actor.GetProperty<int>(index), 20, TEST_LOCATION );
   END_TEST;
 }
+
+int UtcDaliAnimationDuration(void)
+{
+  TestApplication application;
+
+  Actor actor = Actor::New();
+  Stage::GetCurrent().Add(actor);
+
+  Animation animation = Animation::New( 0.0f );
+  DALI_TEST_EQUALS( 0.0f, animation.GetDuration(), TEST_LOCATION );
+
+  // The animation duration should automatically increase depending on the animator time period
+
+  animation.AnimateTo( Property( actor, Actor::Property::POSITION_X ), 100.0f, TimePeriod( 0.0f, 1.0f ) );
+  DALI_TEST_EQUALS( 1.0f, animation.GetDuration(), TEST_LOCATION );
+
+  animation.AnimateTo( Property( actor, Actor::Property::POSITION_Y ), 200.0f, TimePeriod( 10.0f, 1.0f ) );
+  DALI_TEST_EQUALS( 11.0f, animation.GetDuration(), TEST_LOCATION );
+
+  END_TEST;
+}
index 2d18da9..fc77725 100644 (file)
@@ -2,7 +2,7 @@
 #define __DALI_ANIMATION_H__
 
 /*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2016 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.
@@ -97,6 +97,9 @@ class Animation;
  * If the "Finish" signal is connected to a member function of an object, it must be disconnected before the object is destroyed.
  * This is typically done in the object destructor, and requires either the Dali::Connection object or Dali::Animation handle to be stored.
  *
+ * The overall animation time is superseded by the values given in the TimePeriod structure used when calling the AnimateTo(), AnimateBy(), AnimateBetween() and Animate() methods.
+ * If any of the individual calls to those functions exceeds the overall animation time, then the overall animation time is automatically extended.
+ *
  * Signals
  * | %Signal Name | Method                   |
  * |--------------|--------------------------|
@@ -170,7 +173,7 @@ public:
    * @SINCE_1_0.0
    * @param [in] durationSeconds The duration in seconds.
    * @return A handle to a newly allocated Dali resource.
-   * @pre DurationSeconds must be greater than zero.
+   * @note durationSeconds can not be negative.
    */
   static Animation New(float durationSeconds);