X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Fpage-turn-view%2Fpage-turn-landscape-view-impl.cpp;h=daa48524754cd5f3e57ed62cda814e3b33a52546;hp=df0db9313da6d39cc6cdbc508b5df6ae926d97ea;hb=HEAD;hpb=0dd2826b16facb7e8f21ffb86853bd1b0afb97b4 diff --git a/dali-toolkit/internal/controls/page-turn-view/page-turn-landscape-view-impl.cpp b/dali-toolkit/internal/controls/page-turn-view/page-turn-landscape-view-impl.cpp index df0db93..daa4852 100644 --- a/dali-toolkit/internal/controls/page-turn-view/page-turn-landscape-view-impl.cpp +++ b/dali-toolkit/internal/controls/page-turn-view/page-turn-landscape-view-impl.cpp @@ -19,43 +19,38 @@ #include // EXTERNAL INCLUDES +#include #include -#include -#include 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 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; } }