+
+int UtcDaliLayerHoverConsumed(void)
+{
+ TestApplication application;
+ Layer layer = Layer::New();
+
+ DALI_TEST_EQUALS( layer.IsHoverConsumed(), false, TEST_LOCATION );
+ layer.SetHoverConsumed( true );
+ DALI_TEST_EQUALS( layer.IsHoverConsumed(), true, TEST_LOCATION );
+ END_TEST;
+}
+
+int UtcDaliLayerClippingGLCalls(void)
+{
+ TestApplication application;
+ const TestGlAbstraction::ScissorParams& glScissorParams( application.GetGlAbstraction().GetScissorParams() );
+ Stage stage( Stage::GetCurrent() );
+
+ ClippingBox testBox( 5, 6, 77, 83 );
+ Layer layer = Stage::GetCurrent().GetRootLayer();
+ layer.SetClipping( true );
+ layer.SetClippingBox( testBox );
+
+ // Add at least one renderable actor so the GL calls are actually made
+ BufferImage img = BufferImage::New( 1,1 );
+ Actor actor = CreateRenderableActor( img );
+ stage.Add( actor );
+
+ // flush the queue and render once
+ application.SendNotification();
+ application.Render();
+
+ DALI_TEST_EQUALS( testBox.x, glScissorParams.x, TEST_LOCATION );
+ DALI_TEST_EQUALS( testBox.y, (int)(stage.GetSize().height - glScissorParams.y - testBox.height), TEST_LOCATION ); // GL Coordinates are from bottom left
+ DALI_TEST_EQUALS( testBox.width, glScissorParams.width, TEST_LOCATION );
+ DALI_TEST_EQUALS( testBox.height, glScissorParams.height, TEST_LOCATION );
+ END_TEST;
+}
+
+int UtcDaliLayerBehaviour(void)
+{
+ TestApplication application;
+ Layer layer = Layer::New();
+
+ DALI_TEST_EQUALS( layer.GetBehavior(), Dali::Layer::LAYER_2D, TEST_LOCATION );
+ layer.SetBehavior( Dali::Layer::LAYER_3D );
+ DALI_TEST_EQUALS( layer.GetBehavior(), Dali::Layer::LAYER_3D, TEST_LOCATION );
+ END_TEST;
+}
+
+Actor CreateActor( bool withAlpha )
+{
+ Dali::BufferImage bufferImage;
+
+ if( withAlpha )
+ {
+ bufferImage = Dali::BufferImage::WHITE();
+ }
+ else
+ {
+ bufferImage = BufferImage::New( 1u, 1u, Pixel::RGB888, Dali::Image::NEVER );
+ PixelBuffer* pBuffer = bufferImage.GetBuffer();
+ if( pBuffer )
+ {
+ pBuffer[0] = pBuffer[1] = pBuffer[2] = 0xFF;
+ }
+ }
+
+ Actor actor = CreateRenderableActor( bufferImage );
+ actor.SetParentOrigin( ParentOrigin::CENTER );
+ actor.SetAnchorPoint( AnchorPoint::CENTER );
+
+ return actor;
+}
+
+int UtcDaliLayer3DSort(void)
+{
+ tet_infoline( "Testing LAYER_3D sort coverage test" );
+ TestApplication application;
+ TestGlAbstraction& glAbstraction = application.GetGlAbstraction();
+ TraceCallStack& enabledDisableTrace = glAbstraction.GetEnableDisableTrace();
+
+ Stage::GetCurrent().GetRootLayer().SetBehavior( Layer::LAYER_3D );
+
+ // Create an actor.
+ Actor actor = CreateActor( false );
+ Stage::GetCurrent().Add( actor );
+
+ // Create child actors.
+ Actor child1 = CreateActor( true );
+ actor.Add( child1 );
+ Actor child2 = CreateActor( false );
+ child1.Add( child2 );
+
+ enabledDisableTrace.Reset();
+ enabledDisableTrace.Enable( true );
+ application.SendNotification();
+ application.Render();
+ enabledDisableTrace.Enable( false );
+
+ DALI_TEST_CHECK( enabledDisableTrace.FindMethodAndParams( "Enable", "2929" ) ); // 2929 is GL_DEPTH_TEST
+
+ END_TEST;
+}