[dali_2.3.19] Merge branch 'devel/master'
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / controls / page-turn-view / page-turn-landscape-view-impl.cpp
index df0db93..daa4852 100644 (file)
 #include <dali-toolkit/internal/controls/page-turn-view/page-turn-landscape-view-impl.h>
 
 // EXTERNAL INCLUDES
+#include <dali/public-api/object/type-registry-helper.h>
 #include <dali/public-api/object/type-registry.h>
-#include <dali/devel-api/object/type-registry-helper.h>
-#include <dali/devel-api/rendering/cull-face.h>
 
 namespace Dali
 {
-
 namespace Toolkit
 {
-
 namespace Internal
 {
-
 namespace
 {
-using namespace Dali;
-
-DALI_TYPE_REGISTRATION_BEGIN( Toolkit::PageTurnLandscapeView, Toolkit::PageTurnView, NULL )
+DALI_TYPE_REGISTRATION_BEGIN(Toolkit::PageTurnLandscapeView, Toolkit::PageTurnView, NULL)
 DALI_TYPE_REGISTRATION_END()
 
-}
+} // namespace
 
-PageTurnLandscapeView::PageTurnLandscapeView( PageFactory& pageFactory, const Vector2& pageSize )
-: PageTurnView( pageFactory, pageSize )
+PageTurnLandscapeView::PageTurnLandscapeView(PageFactory& pageFactory, const Vector2& viewPageSize)
+: PageTurnView(pageFactory, viewPageSize)
 {
 }
 
 PageTurnLandscapeView::~PageTurnLandscapeView()
-{}
+{
+}
 
-Toolkit::PageTurnLandscapeView PageTurnLandscapeView::New( PageFactory& pageFactory, const Vector2& pageSize )
+Toolkit::PageTurnLandscapeView PageTurnLandscapeView::New(PageFactory& pageFactory, const Vector2& viewPageSize)
 {
   // Create the implementation, temporarily owned on stack
-  IntrusivePtr< PageTurnLandscapeView > internalPageTurnView = new PageTurnLandscapeView( pageFactory, pageSize );
+  IntrusivePtr<PageTurnLandscapeView> internalPageTurnView = new PageTurnLandscapeView(pageFactory, viewPageSize);
 
   // Pass ownership to CustomActor
-  Dali::Toolkit::PageTurnLandscapeView pageTurnView( *internalPageTurnView );
+  Dali::Toolkit::PageTurnLandscapeView pageTurnView(*internalPageTurnView);
 
   // Second-phase init of the implementation
   // This can only be done after the CustomActor connection has been made...
@@ -66,69 +61,44 @@ Toolkit::PageTurnLandscapeView PageTurnLandscapeView::New( PageFactory& pageFact
 
 void PageTurnLandscapeView::OnPageTurnViewInitialize()
 {
-  mControlSize = Vector2( mPageSize.width * 2.f,  mPageSize.height  );
-  Self().SetSize( mControlSize );
-  mTurningPageLayer.SetParentOrigin( ParentOrigin::CENTER );
+  mTurnEffectShader.RegisterProperty(PROPERTY_TEXTURE_WIDTH, 2.f);
+  mSpineEffectShader.RegisterProperty(PROPERTY_TEXTURE_WIDTH, 2.f);
+
+  mControlSize = Vector2(mPageSize.width * 2.f, mPageSize.height);
+  Self().SetProperty(Actor::Property::SIZE, mControlSize);
+  mTurningPageLayer.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER);
 }
 
-void PageTurnLandscapeView::OnAddPage( ImageActor newPage, bool isLeftSide )
+void PageTurnLandscapeView::OnAddPage(Actor newPage, bool isLeftSide)
 {
-  newPage.SetParentOrigin( ParentOrigin::CENTER );
-  SetCullFace( newPage, CullBack );
-
-  if( 0 < newPage.GetChildCount() )
-  {
-     ImageActor backImage = ImageActor::DownCast( newPage.GetChildAt( 0 ) );
-     backImage.SetParentOrigin( ParentOrigin::CENTER );
-     backImage.SetSize( mPageSize );
-     SetCullFace( backImage, CullFront );
-     backImage.SetZ( 0.25f * STATIC_PAGE_INTERVAL_DISTANCE );
-  }
-  if( isLeftSide )
-  {
-    SetShaderEffect( newPage, mSpineEffectBack );
-  }
+  newPage.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER);
 }
 
-Vector2 PageTurnLandscapeView::SetPanPosition( const Vector2& gesturePosition )
+Vector2 PageTurnLandscapeView::SetPanPosition(const Vector2& gesturePosition)
 {
-  if( mIsTurnBack[mPanActor] )
+  if(mPages[mIndex].isTurnBack)
   {
-    return Vector2( mPageSize.width - gesturePosition.x, gesturePosition.y );
+    return Vector2(mPageSize.width - gesturePosition.x, gesturePosition.y);
   }
   else
   {
-    return Vector2( gesturePosition.x - mPageSize.width, gesturePosition.y );
+    return Vector2(gesturePosition.x - mPageSize.width, gesturePosition.y);
   }
 }
 
-void PageTurnLandscapeView::SetPanActor( const Vector2& panPosition )
+void PageTurnLandscapeView::SetPanActor(const Vector2& panPosition)
 {
-  if( panPosition.x > mPageSize.width  && mCurrentPageIndex < mTotalPageCount-1 )
+  if(panPosition.x > mPageSize.width && mCurrentPageIndex < mTotalPageCount)
   {
-    mPanActor = mPageActors[mCurrentPageIndex%NUMBER_OF_CACHED_PAGES]; // right side page
     mTurningPageIndex = mCurrentPageIndex;
   }
-  else if( panPosition.x <= mPageSize.width && mCurrentPageIndex > 0 )
+  else if(panPosition.x <= mPageSize.width && mCurrentPageIndex > 0)
   {
-    mPanActor = mPageActors[ (mCurrentPageIndex-1)%NUMBER_OF_CACHED_PAGES ]; // left side page
     mTurningPageIndex = mCurrentPageIndex - 1;
   }
   else
   {
-    mPanActor.Reset();
-  }
-}
-
-void PageTurnLandscapeView::SetSpineEffect(ImageActor actor, bool isLeftSide)
-{
-  if(isLeftSide)
-  {
-    SetShaderEffect( actor, mSpineEffectBack );
-  }
-  else
-  {
-    SetShaderEffect( actor, mSpineEffectFront );
+    mTurningPageIndex = -1;
   }
 }