class DisplayConnection;
class ThreadSynchronizationInterface;
+namespace Internal
+{
+
+namespace Adaptor
+{
+
+class GraphicsInterface;
+
+} // namespace Adaptor
+
+} // namespace Internal
+
namespace Integration
{
virtual void GetDpi( unsigned int& dpiHorizontal, unsigned int& dpiVertical ) { dpiHorizontal = dpiVertical = 96; }
- virtual void InitializeEgl( EglInterface& egl ) {}
+ virtual void InitializeGraphics( Dali::Internal::Adaptor::GraphicsInterface& graphics, Dali::DisplayConnection& displayConnection ) {};
- virtual void CreateEglSurface( EglInterface& egl ) {}
+ virtual void CreateSurface() {}
- virtual void DestroyEglSurface( EglInterface& egl ) {}
+ virtual void DestroySurface() {}
- virtual bool ReplaceEGLSurface( EglInterface& egl ) { return false; }
+ virtual bool ReplaceGraphicsSurface() { return false; }
virtual void MoveResize( Dali::PositionSize positionSize ) {}
virtual void StartRender() {}
- virtual bool PreRender( EglInterface& egl, Integration::GlAbstraction& glAbstraction, bool resizingSurface ) { return false; }
+ virtual bool PreRender( bool resizingSurface ) { return false; }
- virtual void PostRender( EglInterface& egl, Integration::GlAbstraction& glAbstraction, DisplayConnection* displayConnection, bool replacingSurface, bool resizingSurface ) {}
+ virtual void PostRender( bool renderToFbo, bool replacingSurface, bool resizingSurface ) {}
virtual void StopRender() {}
END_TEST;
}
+
+int UtcDaliLayouting_StageAdd(void)
+{
+ ToolkitTestApplication application;
+ tet_infoline(" UtcDaliLayouting_StageAdd");
+
+ Stage stage = Stage::GetCurrent();
+
+ AbsoluteLayout absoluteLayout = AbsoluteLayout::New();
+ Control container = Control::New();
+ container.SetName( "Container" );
+ DevelControl::SetLayout( container, absoluteLayout );
+ container.SetAnchorPoint( Dali::AnchorPoint::CENTER );
+ container.SetParentOrigin( Dali::ParentOrigin::CENTER );
+
+ Control child = Control::New();
+ child.SetAnchorPoint( Dali::AnchorPoint::TOP_LEFT );
+ child.SetPosition( 0.0f, 0.0f );
+ child.SetSize( 480.0f, 180.0f );
+ child.SetName( "Child Control" );
+ container.Add( child );
+
+ // Ensure layouting happens
+ application.SendNotification();
+ application.Render();
+
+ DALI_TEST_EQUALS( container.GetProperty<Vector3>( Actor::Property::POSITION ), Vector3( 0.0f, 0.0f, 0.0f ), 0.0001f, TEST_LOCATION );
+ DALI_TEST_EQUALS( child.GetProperty<Vector3>( Actor::Property::POSITION ), Vector3( 0.0f, 0.0f, 0.0f ), 0.0001f, TEST_LOCATION );
+
+ DALI_TEST_EQUALS( container.GetProperty<Vector3>( Actor::Property::SIZE ), Vector3( 0.0f, 0.0f, 0.0f ), 0.0001f, TEST_LOCATION ); // Not re-laid out
+ DALI_TEST_EQUALS( child.GetProperty<Vector3>( Actor::Property::SIZE ), Vector3( 480.0f, 180.0f, 0.0f ), 0.0001f, TEST_LOCATION );
+
+ application.SendNotification();
+ application.Render();
+
+ // Add container to stage here
+ // Should call RequestLayout() to measure and layout
+ stage.Add( container );
+
+ application.SendNotification();
+ application.Render();
+
+ DALI_TEST_EQUALS( container.GetProperty<Vector3>( Actor::Property::POSITION ), Vector3( 0.0f, 0.0f, 0.0f ), 0.0001f, TEST_LOCATION );
+ DALI_TEST_EQUALS( child.GetProperty<Vector3>( Actor::Property::POSITION ), Vector3( 0.0f, 0.0f, 0.0f ), 0.0001f, TEST_LOCATION );
+
+ DALI_TEST_EQUALS( container.GetProperty<Vector3>( Actor::Property::SIZE ), Vector3( 480.0f, 800.0f, 0.0f ), 0.0001f, TEST_LOCATION ); // Stage Size
+ DALI_TEST_EQUALS( child.GetProperty<Vector3>( Actor::Property::SIZE ), Vector3( 480.0f, 180.0f, 0.0f ), 0.0001f, TEST_LOCATION );
+
+ END_TEST;
+}