anim.Play();
application.SendNotification();
- application.Render(0);
application.Render(500); // Start animation
application.Render(500); // Halfway thru anim
application.SendNotification();
END_TEST;
}
-
int UtcDaliTransitionDataMap3P(void)
{
TestApplication application;
- tet_printf("Testing animation of a visual's placement actor property\n");
+ tet_printf("Testing animation of an actor's position property using bezier curve\n");
Property::Map map;
- map["target"] = "visual1";
- map["property"] = "color";
- map["initialValue"] = Color::MAGENTA;
- map["targetValue"] = Color::RED;
+ map["target"] = "Actor1";
+ map["property"] = "position";
+ map["initialValue"] = Vector3(0, 0, 0);
+ map["targetValue"] = Vector3(100, 100, 0);
map["animator"] = Property::Map()
- .Add("alphaFunction", "EASE_IN_OUT")
+ .Add("alphaFunction", Vector4(0.71, -0.57, 0.42, 1.38) )
.Add("timePeriod", Property::Map()
- .Add("delay", 0.5f)
+ .Add("delay", 0.0f)
.Add("duration", 1.0f));
Dali::Toolkit::TransitionData transition = TransitionData::New( map );
DummyControl actor = DummyControl::New();
actor.SetResizePolicy(ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS);
actor.SetName("Actor1");
- actor.SetColor(Color::CYAN);
Stage::GetCurrent().Add(actor);
DummyControlImpl& dummyImpl = static_cast<DummyControlImpl&>(actor.GetImplementation());
-
- Property::Map visualMap;
- visualMap[Visual::Property::TYPE] = Visual::COLOR;
- visualMap[ColorVisual::Property::MIX_COLOR] = Color::MAGENTA;
- Visual::Base visual = VisualFactory::Get().CreateVisual( visualMap );
- visual.SetName( "visual1" );
-
- Property::Index visualIndex = Control::CONTROL_PROPERTY_END_INDEX + 1;
- dummyImpl.RegisterVisual( visualIndex, visual );
-
Animation anim = dummyImpl.CreateTransition( transition );
DALI_TEST_CHECK( anim );
application.SendNotification();
application.Render(0);
- DALI_TEST_EQUALS( actor.GetCurrentColor(), Color::MAGENTA, TEST_LOCATION);
+ DALI_TEST_EQUALS( actor.GetCurrentPosition(), Vector3(0,0,0), 0.001f, TEST_LOCATION);
anim.Play();
application.SendNotification();
application.Render(0);
- application.Render(500);
- application.Render(500); // Halfway thru map1 anim
+
+ application.Render(250); // 25%
application.SendNotification();
- DALI_TEST_EQUALS( actor.GetCurrentColor(), (Color::MAGENTA+Color::RED)*0.5f, TEST_LOCATION);
+ DALI_TEST_EQUALS( actor.GetCurrentPosition(), Vector3(-10,-10,0), 1.0, TEST_LOCATION); // High epsilon as we don't have exact figure for bezier curve at 50%
- application.Render(500); // End of map1 anim
+ application.Render(250); // Halfway thru map1 anim
application.SendNotification();
- DALI_TEST_EQUALS( actor.GetCurrentColor(), Color::RED, TEST_LOCATION );
+ DALI_TEST_EQUALS( actor.GetCurrentPosition(), Vector3(24,24,0), 1.0, TEST_LOCATION); // High epsilon as we don't have exact figure for bezier curve at 50%
+
+ application.Render(250); // End of map1 anim
+ application.SendNotification();
+ DALI_TEST_EQUALS( actor.GetCurrentPosition(), Vector3(100,100,0), 1.0, TEST_LOCATION); // High epsilon as we don't have exact figure for bezier curve
+
+ application.Render(250); // End of map1 anim
+ application.SendNotification();
+ DALI_TEST_EQUALS( actor.GetCurrentPosition(), Vector3(100,100,0), TEST_LOCATION );
END_TEST;
}
{
TestApplication application;
- tet_printf("Testing animation of a visual's placement actor property using bezier curve\n");
+ tet_printf("Testing animation of a visual's transform property using programmatic maps\n");
- Property::Map map;
- map["target"] = "Actor1";
- map["property"] = "position";
- map["initialValue"] = Vector3(0, 0, 0);
- map["targetValue"] = Vector3(100, 100, 0);
- map["animator"] = Property::Map()
- .Add("alphaFunction", Vector4(0.71, -0.57, 0.42, 1.38) )
+ Property::Map map1;
+ map1["target"] = "testVisual";
+ map1["property"] = "offset";
+ map1["initialValue"] = Vector2(0.0f, 0.0f);
+ map1["targetValue"] = Vector2(100.0f, 100.0f);
+ map1["animator"] = Property::Map()
+ .Add("alphaFunction", "LINEAR")
.Add("timePeriod", Property::Map()
- .Add("delay", 0.0f)
+ .Add("delay", 0.5f)
.Add("duration", 1.0f));
- Dali::Toolkit::TransitionData transition = TransitionData::New( map );
+ Property::Map map2;
+ map2["target"] = "testVisual";
+ map2["property"] = "size";
+ map2["initialValue"] = Vector2(10.0f, 10.0f);
+ map2["targetValue"] = Vector2(110.0f, 110.0f);
+ map2["animator"] = Property::Map()
+ .Add("alphaFunction", "LINEAR")
+ .Add("timePeriod", Property::Map()
+ .Add("delay", 0.5f)
+ .Add("duration", 1.0f));
+
+ Dali::Toolkit::TransitionData transition = TransitionData::New( Property::Array().Add(map1).Add(map2) );
DummyControl actor = DummyControl::New();
actor.SetResizePolicy(ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS);
Stage::GetCurrent().Add(actor);
DummyControlImpl& dummyImpl = static_cast<DummyControlImpl&>(actor.GetImplementation());
+
+ Property::Map visualMap;
+ visualMap[Visual::Property::TYPE] = Visual::COLOR;
+ visualMap[ColorVisual::Property::MIX_COLOR] = Color::MAGENTA;
+ Visual::Base visual = VisualFactory::Get().CreateVisual( visualMap );
+
+ visual.SetName( "testVisual" );
+ dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, visual );
+
Animation anim = dummyImpl.CreateTransition( transition );
DALI_TEST_CHECK( anim );
+ Renderer renderer = actor.GetRendererAt(0);
+ Property::Index sizeIndex = renderer.GetPropertyIndex( "size" );
application.SendNotification();
application.Render(0);
- DALI_TEST_EQUALS( actor.GetCurrentPosition(), Vector3(0,0,0), 0.001f, TEST_LOCATION);
+
+ DALI_TEST_EQUALS( renderer.GetProperty<Vector2>(sizeIndex), Vector2(10.0f, 10.0f), TEST_LOCATION);
anim.Play();
application.SendNotification();
application.Render(0);
-
- application.Render(250); // 25%
- application.SendNotification();
- DALI_TEST_EQUALS( actor.GetCurrentPosition(), Vector3(-10,-10,0), 1.0, TEST_LOCATION); // High epsilon as we don't have exact figure for bezier curve at 50%
-
- application.Render(250); // Halfway thru map1 anim
+ application.Render(500); // Start animation
+ application.Render(500); // Halfway thru anim
application.SendNotification();
- DALI_TEST_EQUALS( actor.GetCurrentPosition(), Vector3(24,24,0), 1.0, TEST_LOCATION); // High epsilon as we don't have exact figure for bezier curve at 50%
+ DALI_TEST_EQUALS( renderer.GetProperty<Vector2>(sizeIndex), Vector2(60.0f, 60.0f), TEST_LOCATION);
- application.Render(250); // End of map1 anim
+ application.Render(500); // End of anim
application.SendNotification();
- DALI_TEST_EQUALS( actor.GetCurrentPosition(), Vector3(100,100,0), 1.0, TEST_LOCATION); // High epsilon as we don't have exact figure for bezier curve
+ DALI_TEST_EQUALS( renderer.GetProperty<Vector2>(sizeIndex), Vector2(110.0f, 110.0f), TEST_LOCATION );
- application.Render(250); // End of map1 anim
- application.SendNotification();
- DALI_TEST_EQUALS( actor.GetCurrentPosition(), Vector3(100,100,0), TEST_LOCATION );
END_TEST;
}
+
int UtcDaliTransitionDataMap1N(void)
{
TestApplication application;