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=fbbc650ec3de5a756723e56880253a953962b57d;hp=24d5934ac5dd43e268f0acdacc24a7d4b7d0b4dc;hb=b1e8521ad77e7b4e62b59613b2edef64429130e9;hpb=b19288c9459456fb4f812add4dd1c372da79e5d8 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 24d5934..fbbc650 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 @@ -20,8 +20,7 @@ // EXTERNAL INCLUDES #include -#include -#include +#include namespace Dali { @@ -34,25 +33,24 @@ namespace Internal namespace { -using namespace Dali; DALI_TYPE_REGISTRATION_BEGIN( Toolkit::PageTurnLandscapeView, Toolkit::PageTurnView, NULL ) DALI_TYPE_REGISTRATION_END() } -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 ); @@ -66,46 +64,22 @@ Toolkit::PageTurnLandscapeView PageTurnLandscapeView::New( PageFactory& pageFact void PageTurnLandscapeView::OnPageTurnViewInitialize() { + mTurnEffectShader.RegisterProperty(PROPERTY_TEXTURE_WIDTH, 2.f ); + mSpineEffectShader.RegisterProperty(PROPERTY_TEXTURE_WIDTH, 2.f ); + mControlSize = Vector2( mPageSize.width * 2.f, mPageSize.height ); - Self().SetSize( mControlSize ); - mTurningPageLayer.SetParentOrigin( ParentOrigin::CENTER ); + Self().SetProperty( Actor::Property::SIZE, mControlSize ); + mTurningPageLayer.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER ); } -ImageActor PageTurnLandscapeView::NewPageFromRenderBuffer( int pageIndex ) +void PageTurnLandscapeView::OnAddPage( Actor newPage, bool isLeftSide ) { - int index = pageIndex % NUMBER_OF_CACHED_PAGES; - ImageActor page = ImageActor::New( mRenderedPage[ index ], - ImageActor::PixelArea( mPageSize.width, 0, mPageSize.width, mPageSize.height ) ); - if( pageIndex <= mTotalPageCount-1) - { - int nextIndex = (pageIndex+1) % NUMBER_OF_CACHED_PAGES; - page.Add( ImageActor::New( mRenderedPage[ nextIndex ],ImageActor::PixelArea( 0, 0, mPageSize.width, mPageSize.height ) ) ); - } - return page; -} - -void PageTurnLandscapeView::OnAddPage( ImageActor newPage, bool isLeftSide ) -{ - newPage.SetParentOrigin( ParentOrigin::CENTER ); - SetCullFace( newPage, CullBack ); - - if( 0 < newPage.GetChildCount() ) - { - ImageActor backImage = ImageActor::DownCast( newPage.GetChildAt( 0 ) ); - backImage.SetPositionInheritanceMode( USE_PARENT_POSITION_PLUS_LOCAL_POSITION ); - 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 ) { - if( mIsTurnBack[mPanActor] ) + if( mPages[mIndex].isTurnBack ) { return Vector2( mPageSize.width - gesturePosition.x, gesturePosition.y ); } @@ -117,29 +91,17 @@ Vector2 PageTurnLandscapeView::SetPanPosition( const Vector2& gesturePosition ) 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 ) { - mPanActor = mPageActors[ (mCurrentPageIndex-1)%NUMBER_OF_CACHED_PAGES ]; // left side page - } - else - { - mPanActor.Reset(); - } -} - -void PageTurnLandscapeView::SetSpineEffect(ImageActor actor, bool isLeftSide) -{ - if(isLeftSide) - { - SetShaderEffect( actor, mSpineEffectBack ); + mTurningPageIndex = mCurrentPageIndex - 1; } else { - SetShaderEffect( actor, mSpineEffectFront ); + mTurningPageIndex = -1; } }