X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ftransition-effects%2Fcube-transition-effect-impl.cpp;h=bd52a8bccd9c16a011f3b57a44d5454f1220f709;hb=e4d638dd0b325673bbd504aef409676fc5593a9d;hp=ed71b14586719254ec6f67d9f4264509939d33a8;hpb=7011817795c4ae23533c8e920929c02718d04d79;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git 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 ed71b14..bd52a8b 100644 --- a/dali-toolkit/internal/transition-effects/cube-transition-effect-impl.cpp +++ b/dali-toolkit/internal/transition-effects/cube-transition-effect-impl.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014 Samsung Electronics Co., Ltd. + * Copyright (c) 2017 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. @@ -22,11 +22,12 @@ #include // for strcmp #include #include -#include #include // INTERNAL INCLUDES -#include +#include +#include +#include namespace Dali { @@ -47,42 +48,10 @@ DALI_SIGNAL_REGISTRATION( Toolkit, CubeTransitionEffect, "transitionCompleted", DALI_TYPE_REGISTRATION_END() -const char* VERTEX_SHADER = DALI_COMPOSE_SHADER( - attribute mediump vec2 aPosition;\n - varying mediump vec2 vTexCoord;\n - uniform mediump mat4 uMvpMatrix;\n - uniform mediump vec3 uSize;\n - uniform mediump vec4 uTextureRect;\n - \n - void main()\n - {\n - mediump vec4 vertexPosition = vec4(aPosition, 0.0, 1.0);\n - vertexPosition.xyz *= uSize;\n - vertexPosition = uMvpMatrix * vertexPosition;\n - \n - vTexCoord = aPosition + vec2(0.5);\n - vTexCoord = mix(uTextureRect.xy, uTextureRect.zw, vTexCoord);\n - - gl_Position = vertexPosition;\n - }\n -); - -const char* FRAGMENT_SHADER = DALI_COMPOSE_SHADER( - varying mediump vec2 vTexCoord;\n - uniform sampler2D sTexture;\n - uniform lowp vec4 uColor;\n - uniform lowp vec4 uSamplerRect; - \n - void main()\n - {\n - gl_FragColor = texture2D( sTexture, vTexCoord ) * uColor;\n - }\n -); - Actor CreateTile( const Vector4& samplerRect ) { Actor tile = Actor::New(); - tile.SetAnchorPoint( AnchorPoint::CENTER ); + tile.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::CENTER ); tile.RegisterProperty( "uTextureRect", samplerRect ); return tile; } @@ -93,7 +62,7 @@ const Vector4 CubeTransitionEffect::FULL_BRIGHTNESS( 1.0f, 1.0f, 1.0f, 1.0f ); const Vector4 CubeTransitionEffect::HALF_BRIGHTNESS( 0.5f, 0.5f, 0.5f, 1.0f ); CubeTransitionEffect::CubeTransitionEffect( unsigned int rows, unsigned int columns ) -: Control( ControlBehaviour( 0 ) ), +: Control( ControlBehaviour( DISABLE_STYLE_CHANGE_SIGNALS ) ), mRows( rows ), mColumns( columns ), mIsAnimating( false ), @@ -113,8 +82,8 @@ void CubeTransitionEffect::SetTargetRight( unsigned int idx ) mBoxes[ idx ].SetProperty(Actor::Property::PARENT_ORIGIN_Z, 1.0f - mTileSize.x * 0.5f ); - mTargetTiles[ idx ].SetParentOrigin( Vector3( 1.f, 0.5f, 0.5f) ); - mTargetTiles[ idx ].SetOrientation( Degree( 90.f ), Vector3::YAXIS ); + mTargetTiles[ idx ].SetProperty( Actor::Property::PARENT_ORIGIN, Vector3( 1.f, 0.5f, 0.5f) ); + mTargetTiles[ idx ].SetProperty( Actor::Property::ORIENTATION, Quaternion( Degree( 90.f ), Vector3::YAXIS ) ); } void CubeTransitionEffect::SetTargetLeft( unsigned int idx ) @@ -123,8 +92,8 @@ void CubeTransitionEffect::SetTargetLeft( unsigned int idx ) mBoxes[ idx ].SetProperty(Actor::Property::PARENT_ORIGIN_Z, 1.0f - mTileSize.x * 0.5f ); - mTargetTiles[ idx ].SetParentOrigin( Vector3( 0.f, 0.5f, 0.5f) ); - mTargetTiles[ idx ].SetOrientation( Degree( -90.f ), Vector3::YAXIS ); + mTargetTiles[ idx ].SetProperty( Actor::Property::PARENT_ORIGIN, Vector3( 0.f, 0.5f, 0.5f) ); + mTargetTiles[ idx ].SetProperty( Actor::Property::ORIENTATION, Quaternion( Degree( -90.f ), Vector3::YAXIS ) ); } void CubeTransitionEffect::SetTargetBottom( unsigned int idx ) @@ -133,8 +102,8 @@ void CubeTransitionEffect::SetTargetBottom( unsigned int idx ) mBoxes[ idx ].SetProperty(Actor::Property::PARENT_ORIGIN_Z, 1.0f - mTileSize.y * 0.5f ); - mTargetTiles[ idx ].SetParentOrigin( Vector3( 0.5f, 0.f, 0.5f) ); - mTargetTiles[ idx ].SetOrientation( Degree( 90.f ), Vector3::XAXIS ); + mTargetTiles[ idx ].SetProperty( Actor::Property::PARENT_ORIGIN, Vector3( 0.5f, 0.f, 0.5f) ); + mTargetTiles[ idx ].SetProperty( Actor::Property::ORIENTATION, Quaternion( Degree( 90.f ), Vector3::XAXIS ) ); } void CubeTransitionEffect::SetTargetTop( unsigned int idx ) @@ -143,8 +112,8 @@ void CubeTransitionEffect::SetTargetTop( unsigned int idx ) mBoxes[ idx ].SetProperty(Actor::Property::PARENT_ORIGIN_Z, 1.0f - mTileSize.y * 0.5f ); - mTargetTiles[ idx ].SetParentOrigin( Vector3( 0.5f, 1.f, 0.5f) ); - mTargetTiles[ idx ].SetOrientation( Degree( -90.f ), Vector3::XAXIS ); + mTargetTiles[ idx ].SetProperty( Actor::Property::PARENT_ORIGIN, Vector3( 0.5f, 1.f, 0.5f) ); + mTargetTiles[ idx ].SetProperty( Actor::Property::ORIENTATION, Quaternion( Degree( -90.f ), Vector3::XAXIS ) ); } void CubeTransitionEffect::OnRelayout( const Vector2& size, RelayoutContainer& container ) @@ -199,8 +168,8 @@ void CubeTransitionEffect::Initialize() //create the box parents mBoxRoot = Actor::New(); - mBoxRoot.SetParentOrigin( ParentOrigin::CENTER ); - mBoxRoot.SetAnchorPoint( AnchorPoint::CENTER ); + mBoxRoot.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER ); + mBoxRoot.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::CENTER ); mCurrentTiles.clear(); mTargetTiles.clear(); @@ -221,7 +190,7 @@ void CubeTransitionEffect::Initialize() Actor currentTile = CreateTile( textureRect ); currentTile.SetProperty( Actor::Property::COLOR, FULL_BRIGHTNESS ); - currentTile.SetParentOrigin( ParentOrigin::CENTER ); + currentTile.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER ); mCurrentTiles.push_back( currentTile ); Actor targetTile = CreateTile( textureRect ); @@ -229,8 +198,8 @@ void CubeTransitionEffect::Initialize() mTargetTiles.push_back( targetTile ); Actor box = Actor::New(); - box.SetParentOrigin( anchor + offset ); - box.SetAnchorPoint( AnchorPoint::CENTER ); + box.SetProperty( Actor::Property::PARENT_ORIGIN, anchor + offset ); + box.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::CENTER ); box.Add( currentTile ); box.Add( targetTile ); @@ -244,12 +213,10 @@ void CubeTransitionEffect::Initialize() OnInitialize(); } -void CubeTransitionEffect::OnStageConnection( int depth ) +void CubeTransitionEffect::OnSceneConnection( int depth ) { - Control::OnStageConnection( depth ); - - Geometry geometry = RendererFactoryCache::CreateQuadGeometry(); - Shader shader = Shader::New( VERTEX_SHADER, FRAGMENT_SHADER ); + Geometry geometry = VisualFactoryCache::CreateQuadGeometry(); + Shader shader = Shader::New( SHADER_CUBE_TRANSITION_EFFECT_VERT, SHADER_CUBE_TRANSITION_EFFECT_FRAG ); TextureSet textureSet = TextureSet::New(); @@ -262,9 +229,11 @@ void CubeTransitionEffect::OnStageConnection( int depth ) mCurrentRenderer.SetProperty( Renderer::Property::DEPTH_INDEX, depth ); Self().AddRenderer( mCurrentRenderer ); + + Control::OnSceneConnection( depth ); } -void CubeTransitionEffect::OnStageDisconnection() +void CubeTransitionEffect::OnSceneDisconnection() { if( mCurrentRenderer ) { @@ -286,7 +255,7 @@ void CubeTransitionEffect::OnStageDisconnection() mTargetRenderer.Reset(); } - Control::OnStageDisconnection(); + Control::OnSceneDisconnection(); } void CubeTransitionEffect::SetTransitionDuration( float duration ) @@ -338,7 +307,7 @@ void CubeTransitionEffect::SetTargetTexture( Texture texture ) void CubeTransitionEffect::StartTransition( bool toNextImage ) { - Vector3 size = Self().GetCurrentSize(); + Vector3 size = Self().GetCurrentProperty< Vector3 >( Actor::Property::SIZE ); if( toNextImage ) { StartTransition( Vector2(size.x* 0.5f, size.y*0.5f), Vector2( -10.f, 0.f ) ); @@ -353,7 +322,7 @@ void CubeTransitionEffect::StartTransition( Vector2 panPosition, Vector2 panDisp { if( !mCurrentRenderer ) { - DALI_LOG_ERROR( "Trying to transition a cube transition without an image set" ); + DALI_LOG_ERROR( "Trying to transition a cube transition without an image set\n" ); return; } @@ -378,7 +347,7 @@ void CubeTransitionEffect::StartTransition( Vector2 panPosition, Vector2 panDisp for( ActorArray::iterator it = mCurrentTiles.begin(); it != mCurrentTiles.end(); ++it ) { - it->SetParentOrigin( Vector3( 0.5f, 0.5f, 1.0f) ); + it->SetProperty( Actor::Property::PARENT_ORIGIN, Vector3( 0.5f, 0.5f, 1.0f) ); it->SetProperty( Actor::Property::ORIENTATION, Quaternion( Radian( 0.0f ), Vector3::XAXIS ) ); it->AddRenderer( mCurrentRenderer ); } @@ -440,7 +409,7 @@ void CubeTransitionEffect::ResetToInitialState() for( ActorArray::iterator it = mCurrentTiles.begin(); it != mCurrentTiles.end(); ++it ) { - it->SetParentOrigin( Vector3( 0.5f, 0.5f, 1.0f) ); + it->SetProperty( Actor::Property::PARENT_ORIGIN, Vector3( 0.5f, 0.5f, 1.0f) ); it->SetProperty( Actor::Property::ORIENTATION, Quaternion( Radian( 0.0f ), Vector3::XAXIS ) ); it->SetProperty( Actor::Property::COLOR, FULL_BRIGHTNESS ); }