X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ftransition-effects%2Fcube-transition-effect-impl.cpp;h=3a31a490a807f99c83dcdf893c5a450297c10fac;hp=f63360724f272cfafbdcd3e82d86138d915c8ed1;hb=31f5a9b81937d528ffe10c521ea6188e2a828b09;hpb=3f3cb4f8020f60d4d5dc672ddc426cb73126f80d diff --git a/dali-toolkit/internal/transition-effects/cube-transition-effect-impl.cpp b/dali-toolkit/internal/transition-effects/cube-transition-effect-impl.cpp index f633607..3a31a49 100644 --- a/dali-toolkit/internal/transition-effects/cube-transition-effect-impl.cpp +++ b/dali-toolkit/internal/transition-effects/cube-transition-effect-impl.cpp @@ -40,7 +40,7 @@ namespace // Setup properties, signals and actions using the type-registry. DALI_TYPE_REGISTRATION_BEGIN( Toolkit::CubeTransitionEffect, Dali::BaseHandle, NULL ); -DALI_SIGNAL_REGISTRATION( Toolkit, CubeTransitionEffect, "transition-completed", SIGNAL_TRANSITION_COMPLETED ) +DALI_SIGNAL_REGISTRATION( Toolkit, CubeTransitionEffect, "transitionCompleted", SIGNAL_TRANSITION_COMPLETED ) DALI_TYPE_REGISTRATION_END() @@ -84,33 +84,6 @@ Actor CreateTile( const Vector4& samplerRect ) return tile; } - -Geometry CreateQuadGeometry() -{ - const float halfWidth = 0.5f; - const float halfHeight = 0.5f; - struct QuadVertex { Vector2 position;}; - QuadVertex quadVertexData[4] = - { - { Vector2(-halfWidth, -halfHeight) }, - { Vector2( halfWidth, -halfHeight) }, - { Vector2(-halfWidth, halfHeight) }, - { Vector2( halfWidth, halfHeight) } - }; - - Property::Map quadVertexFormat; - quadVertexFormat["aPosition"] = Property::VECTOR2; - PropertyBuffer quadVertices = PropertyBuffer::New( quadVertexFormat, 4 ); - quadVertices.SetData(quadVertexData); - - // Create the geometry object - Geometry geometry = Geometry::New(); - geometry.AddVertexBuffer( quadVertices ); - geometry.SetGeometryType( Geometry::TRIANGLE_STRIP ); - - return geometry; -} - } const Vector4 CubeTransitionEffect::FULL_BRIGHTNESS( 1.0f, 1.0f, 1.0f, 1.0f ); @@ -270,18 +243,21 @@ void CubeTransitionEffect::Initialize() void CubeTransitionEffect::OnStageConnection( int depth ) { - Geometry geometry = CreateQuadGeometry(); + Control::OnStageConnection( depth ); + + Geometry geometry = Geometry::QUAD(); Shader shader = Shader::New( VERTEX_SHADER, FRAGMENT_SHADER ); - Material material = Material::New( shader ); + TextureSet textureSet = TextureSet::New(); if( mCurrentImage ) { - material.AddTexture( mCurrentImage, "sTexture" ); + textureSet.SetImage( 0u, mCurrentImage ); } - mCurrentRenderer = Renderer::New( geometry, material ); + mCurrentRenderer = Renderer::New( geometry, shader ); + mCurrentRenderer.SetTextures( textureSet ); - mCurrentRenderer.SetDepthIndex( depth ); + mCurrentRenderer.SetProperty( Renderer::Property::DEPTH_INDEX, depth ); Self().AddRenderer( mCurrentRenderer ); } @@ -306,6 +282,8 @@ void CubeTransitionEffect::OnStageDisconnection() } mTargetRenderer.Reset(); } + + Control::OnStageDisconnection(); } void CubeTransitionEffect::SetTransitionDuration( float duration ) @@ -336,20 +314,10 @@ bool CubeTransitionEffect::IsTransitioning() void CubeTransitionEffect::SetCurrentImage( Image image ) { mCurrentImage = image; - if( mCurrentRenderer ) { - Material material = mCurrentRenderer.GetMaterial(); - - int index = material.GetTextureIndex("sTexture" ); - if( index != -1 ) - { - material.SetTextureImage( index, mCurrentImage ); - } - else - { - material.AddTexture( mCurrentImage, "sTexture" ); - } + TextureSet textureSet = mCurrentRenderer.GetTextures(); + textureSet.SetImage( 0u, mCurrentImage ); } } @@ -359,8 +327,8 @@ void CubeTransitionEffect::SetTargetImage( Image image ) if( mTargetRenderer ) { - Material material = mTargetRenderer.GetMaterial(); - material.AddTexture( mTargetImage, "sTexture" ); + TextureSet textureSet = mTargetRenderer.GetTextures(); + textureSet.SetImage( 0u, mTargetImage ); } } @@ -386,15 +354,18 @@ void CubeTransitionEffect::StartTransition( Vector2 panPosition, Vector2 panDisp } //create the target renderer - Material material = Material::New( mCurrentRenderer.GetMaterial().GetShader() ); + TextureSet textureSet = TextureSet::New(); if( mTargetImage ) { - material.AddTexture( mTargetImage, "sTexture" ); + textureSet.SetImage( 0u, mTargetImage ); } Geometry geometry = mCurrentRenderer.GetGeometry(); - mTargetRenderer = Renderer::New( geometry, material ); + Shader shader( mCurrentRenderer.GetShader() ); + mTargetRenderer = Renderer::New( geometry, shader ); + mTargetRenderer.SetTextures( textureSet ); - mTargetRenderer.SetDepthIndex( mCurrentRenderer.GetDepthIndex() ); + int depthIndex = mCurrentRenderer.GetProperty(Renderer::Property::DEPTH_INDEX); + mTargetRenderer.SetProperty( Dali::Renderer::Property::DEPTH_INDEX, depthIndex ); for( size_t i = 0; i < mBoxes.size(); ++i ) {