Commit 0a43b42b955494c5871bf97cdc6f8abec3155b40

Authored by Kingsley Stephens
1 parent 08c1b737

Remove ScrollViewCustomEffect from scrollview example

Change-Id: I9a960977be044f86612f45782bccc26496a08634
examples/scroll-view/scroll-view-example.cpp
@@ -31,21 +31,18 @@ namespace @@ -31,21 +31,18 @@ namespace
31 const char * const BACKGROUND_IMAGE( DALI_IMAGE_DIR "background-default.png" ); 31 const char * const BACKGROUND_IMAGE( DALI_IMAGE_DIR "background-default.png" );
32 const char * const TOOLBAR_IMAGE( DALI_IMAGE_DIR "top-bar.png" ); 32 const char * const TOOLBAR_IMAGE( DALI_IMAGE_DIR "top-bar.png" );
33 const char * const APPLICATION_TITLE( "ScrollView" ); 33 const char * const APPLICATION_TITLE( "ScrollView" );
34 -const char * const EFFECT_OUTER_CUBE_IMAGE( DALI_IMAGE_DIR "icon-scroll-view-outer-cube.png" );  
35 const char * const EFFECT_DEPTH_IMAGE( DALI_IMAGE_DIR "icon-scroll-view-depth.png" ); 34 const char * const EFFECT_DEPTH_IMAGE( DALI_IMAGE_DIR "icon-scroll-view-depth.png" );
36 const char * const EFFECT_INNER_CUBE_IMAGE( DALI_IMAGE_DIR "icon-scroll-view-inner-cube.png" ); 35 const char * const EFFECT_INNER_CUBE_IMAGE( DALI_IMAGE_DIR "icon-scroll-view-inner-cube.png" );
37 const char * const EFFECT_CAROUSEL_IMAGE( DALI_IMAGE_DIR "icon-scroll-view-carousel.png" ); 36 const char * const EFFECT_CAROUSEL_IMAGE( DALI_IMAGE_DIR "icon-scroll-view-carousel.png" );
38 -const char * const EFFECT_SPIRAL_IMAGE( DALI_IMAGE_DIR "icon-scroll-view-spiral.png" );  
39 37
40 const Vector3 ICON_SIZE(100.0f, 100.0f, 0.0f); 38 const Vector3 ICON_SIZE(100.0f, 100.0f, 0.0f);
41 39
42 const char* EFFECT_MODE_NAME[] = { 40 const char* EFFECT_MODE_NAME[] = {
43 - "OuterCube",  
44 "Depth", 41 "Depth",
45 "Cube", 42 "Cube",
46 - "InnerCube",  
47 - "Carousel",  
48 - "Spiral", 43 + "PageCarousel",
  44 + "PageCube",
  45 + "PageSpiral"
49 }; 46 };
50 47
51 const char * const IMAGE_PATHS[] = { 48 const char * const IMAGE_PATHS[] = {
@@ -197,12 +194,11 @@ public: @@ -197,12 +194,11 @@ public:
197 TOOLBAR_IMAGE, 194 TOOLBAR_IMAGE,
198 "" ); 195 "" );
199 196
200 - mEffectIcon[ OuterCubeEffect ] = Image::New( EFFECT_OUTER_CUBE_IMAGE );  
201 mEffectIcon[ DepthEffect ] = Image::New( EFFECT_DEPTH_IMAGE ); 197 mEffectIcon[ DepthEffect ] = Image::New( EFFECT_DEPTH_IMAGE );
202 mEffectIcon[ CubeEffect ] = Image::New( EFFECT_INNER_CUBE_IMAGE ); 198 mEffectIcon[ CubeEffect ] = Image::New( EFFECT_INNER_CUBE_IMAGE );
203 - mEffectIcon[ InnerCubeEffect ] = Image::New( EFFECT_INNER_CUBE_IMAGE );  
204 - mEffectIcon[ CarouselEffect ] = Image::New( EFFECT_CAROUSEL_IMAGE );  
205 - mEffectIcon[ SpiralEffect ] = Image::New( EFFECT_SPIRAL_IMAGE ); 199 + mEffectIcon[ PageCarouselEffect ] = Image::New( EFFECT_CAROUSEL_IMAGE );
  200 + mEffectIcon[ PageCubeEffect ] = Image::New( EFFECT_CAROUSEL_IMAGE );
  201 + mEffectIcon[ PageSpiralEffect ] = Image::New( EFFECT_CAROUSEL_IMAGE );
206 202
207 // Create a effect change button. (right of toolbar) 203 // Create a effect change button. (right of toolbar)
208 mEffectChangeButton = Toolkit::PushButton::New(); 204 mEffectChangeButton = Toolkit::PushButton::New();
@@ -348,14 +344,8 @@ private: @@ -348,14 +344,8 @@ private:
348 Stage stage = Stage::GetCurrent(); 344 Stage stage = Stage::GetCurrent();
349 Vector2 stageSize = stage.GetSize(); 345 Vector2 stageSize = stage.GetSize();
350 346
351 - switch(mEffectMode) 347 + switch( mEffectMode )
352 { 348 {
353 - case OuterCubeEffect:  
354 - {  
355 - SetupOuterPageCubeEffect();  
356 - break;  
357 - }  
358 -  
359 case DepthEffect: 349 case DepthEffect:
360 { 350 {
361 mScrollViewEffect = ScrollViewDepthEffect::New(); 351 mScrollViewEffect = ScrollViewDepthEffect::New();
@@ -366,6 +356,7 @@ private: @@ -366,6 +356,7 @@ private:
366 mScrollView.RemoveConstraintsFromChildren(); 356 mScrollView.RemoveConstraintsFromChildren();
367 break; 357 break;
368 } 358 }
  359 +
369 case CubeEffect: 360 case CubeEffect:
370 { 361 {
371 mScrollViewEffect = ScrollViewCubeEffect::New(); 362 mScrollViewEffect = ScrollViewCubeEffect::New();
@@ -377,21 +368,36 @@ private: @@ -377,21 +368,36 @@ private:
377 break; 368 break;
378 } 369 }
379 370
380 - case InnerCubeEffect: 371 + case PageCarouselEffect:
381 { 372 {
382 - SetupInnerPageCubeEffect(); 373 + mScrollViewEffect = ScrollViewPageCarouselEffect::New();
  374 + mScrollView.SetScrollSnapDuration(EFFECT_SNAP_DURATION);
  375 + mScrollView.SetScrollFlickDuration(EFFECT_FLICK_DURATION);
  376 + mScrollView.SetScrollSnapAlphaFunction(AlphaFunctions::EaseOut);
  377 + mScrollView.SetScrollFlickAlphaFunction(AlphaFunctions::EaseOut);
  378 + mScrollView.RemoveConstraintsFromChildren();
383 break; 379 break;
384 } 380 }
385 381
386 - case CarouselEffect: 382 + case PageCubeEffect:
387 { 383 {
388 - SetupCarouselPageEffect(); 384 + mScrollViewEffect = ScrollViewPageCubeEffect::New();
  385 + mScrollView.SetScrollSnapDuration(EFFECT_SNAP_DURATION);
  386 + mScrollView.SetScrollFlickDuration(EFFECT_FLICK_DURATION);
  387 + mScrollView.SetScrollSnapAlphaFunction(AlphaFunctions::EaseOut);
  388 + mScrollView.SetScrollFlickAlphaFunction(AlphaFunctions::EaseOut);
  389 + mScrollView.RemoveConstraintsFromChildren();
389 break; 390 break;
390 } 391 }
391 392
392 - case SpiralEffect: 393 + case PageSpiralEffect:
393 { 394 {
394 - SetupSpiralPageEffect(); 395 + mScrollViewEffect = ScrollViewPageSpiralEffect::New();
  396 + mScrollView.SetScrollSnapDuration(EFFECT_SNAP_DURATION);
  397 + mScrollView.SetScrollFlickDuration(EFFECT_FLICK_DURATION);
  398 + mScrollView.SetScrollSnapAlphaFunction(AlphaFunctions::EaseOut);
  399 + mScrollView.SetScrollFlickAlphaFunction(AlphaFunctions::EaseOut);
  400 + mScrollView.RemoveConstraintsFromChildren();
395 break; 401 break;
396 } 402 }
397 403
@@ -399,9 +405,9 @@ private: @@ -399,9 +405,9 @@ private:
399 { 405 {
400 break; 406 break;
401 } 407 }
402 - } // end switch 408 + }
403 409
404 - if(mScrollViewEffect) 410 + if( mScrollViewEffect )
405 { 411 {
406 mScrollView.ApplyEffect(mScrollViewEffect); 412 mScrollView.ApplyEffect(mScrollViewEffect);
407 } 413 }
@@ -434,100 +440,47 @@ private: @@ -434,100 +440,47 @@ private:
434 } 440 }
435 return new FixedRuler(gridSize); 441 return new FixedRuler(gridSize);
436 } 442 }
437 -  
438 - void SetupInnerPageCubeEffect()  
439 - {  
440 - ScrollViewCustomEffect customEffect;  
441 - mScrollViewEffect = customEffect = ScrollViewCustomEffect::New();  
442 - mScrollView.SetScrollSnapDuration(EFFECT_SNAP_DURATION);  
443 - mScrollView.SetScrollFlickDuration(EFFECT_FLICK_DURATION);  
444 - mScrollView.SetScrollSnapAlphaFunction(AlphaFunctions::EaseOutBack);  
445 - mScrollView.SetScrollFlickAlphaFunction(AlphaFunctions::EaseOutBack);  
446 - mScrollView.RemoveConstraintsFromChildren();  
447 -  
448 - customEffect.SetPageSpacing(Vector2(30.0f, 30.0f));  
449 - customEffect.SetAngledOriginPageRotation(ANGLE_CUBE_PAGE_ROTATE);  
450 - customEffect.SetSwingAngle(ANGLE_CUBE_PAGE_ROTATE.x, Vector3(0,-1,0));  
451 - customEffect.SetOpacityThreshold(0.7f);  
452 - }  
453 -  
454 - void SetupOuterPageCubeEffect()  
455 - {  
456 - ScrollViewCustomEffect customEffect;  
457 - mScrollViewEffect = customEffect = ScrollViewCustomEffect::New();  
458 - mScrollView.SetScrollSnapDuration(EFFECT_SNAP_DURATION);  
459 - mScrollView.SetScrollFlickDuration(EFFECT_FLICK_DURATION);  
460 - mScrollView.SetScrollSnapAlphaFunction(AlphaFunctions::EaseOut);  
461 - mScrollView.SetScrollFlickAlphaFunction(AlphaFunctions::EaseOut);  
462 - mScrollView.RemoveConstraintsFromChildren();  
463 -  
464 - Vector2 pageSize = Stage::GetCurrent().GetSize();  
465 - customEffect.SetPageTranslation(Vector3(pageSize.x, pageSize.y, 0));  
466 - customEffect.SetSwingAngleOut(ANGLE_CUSTOM_CUBE_SWING.x, Vector3(0.0f, -1.0f, 0.0f));  
467 - customEffect.SetSwingAnchor(AnchorPoint::CENTER, AnchorPoint::CENTER_LEFT);  
468 - customEffect.SetOpacityThreshold(0.5f);  
469 - }  
470 -  
471 - void SetupCarouselPageEffect()  
472 - {  
473 - ScrollViewCustomEffect customEffect;  
474 - mScrollViewEffect = customEffect = ScrollViewCustomEffect::New();  
475 - mScrollView.SetScrollSnapDuration(EFFECT_SNAP_DURATION);  
476 - mScrollView.SetScrollFlickDuration(EFFECT_FLICK_DURATION);  
477 - mScrollView.SetScrollSnapAlphaFunction(AlphaFunctions::EaseOutBack);  
478 - mScrollView.SetScrollFlickAlphaFunction(AlphaFunctions::EaseOutBack);  
479 - mScrollView.RemoveConstraintsFromChildren();  
480 -  
481 - customEffect.SetPageTranslation(Vector3(0,0,0), Vector3(-30, 0, 0));  
482 - customEffect.SetPageSpacing(Vector2(60.0f, 60.0f));  
483 - customEffect.SetAngledOriginPageRotation(-ANGLE_CUBE_PAGE_ROTATE);  
484 - customEffect.SetOpacityThreshold(0.2f, 0.6f);  
485 - }  
486 -  
487 - void SetupSpiralPageEffect()  
488 - {  
489 - ScrollViewCustomEffect customEffect;  
490 - mScrollViewEffect = customEffect = ScrollViewCustomEffect::New();  
491 - mScrollView.SetScrollSnapDuration(EFFECT_SNAP_DURATION);  
492 - mScrollView.SetScrollFlickDuration(EFFECT_FLICK_DURATION);  
493 - mScrollView.SetScrollSnapAlphaFunction(AlphaFunctions::EaseOutBack);  
494 - mScrollView.SetScrollFlickAlphaFunction(AlphaFunctions::EaseOutBack);  
495 - mScrollView.RemoveConstraintsFromChildren();  
496 -  
497 - Vector2 pageSize = Stage::GetCurrent().GetSize();  
498 - customEffect.SetPageTranslation(Vector3(pageSize.x, pageSize.y, 0.0f));  
499 - customEffect.SetSwingAngle(-ANGLE_SPIRAL_SWING_IN.x, Vector3(0.0f, -1.0f, 0.0f), ANGLE_SPIRAL_SWING_OUT.x, Vector3(0.0f, -1.0f, 0.0f));  
500 - customEffect.SetSwingAnchor(AnchorPoint::CENTER_RIGHT);  
501 - customEffect.SetPageTranslation(Vector3(pageSize.x, pageSize.y, 0), Vector3(pageSize.x, pageSize.y, 0) * 0.5f);  
502 - customEffect.SetOpacityThreshold(0.66f);  
503 - }  
504 - 443 + // end switch
505 /** 444 /**
506 - * [Page]  
507 - * Applies effect to the pages within scroll view.  
508 - *  
509 - * @param[in] page The page Actor to apply effect to.  
510 - */  
511 - void ApplyEffectToPage(Actor page)  
512 - {  
513 - page.RemoveConstraints();  
514 - page.ApplyConstraint( Constraint::New<Vector3>( Actor::SIZE, ParentSource( Actor::SIZE ), EqualToConstraint() ) );  
515 -  
516 - if( ( mEffectMode == InnerCubeEffect ) ||  
517 - ( mEffectMode == OuterCubeEffect ) ||  
518 - ( mEffectMode == SpiralEffect ) ||  
519 - ( mEffectMode == CarouselEffect) )  
520 - {  
521 - ApplyCustomEffectToPage(page);  
522 - }  
523 - }  
524 -  
525 - void ApplyCustomEffectToPage(Actor page)  
526 - {  
527 - ScrollViewCustomEffect customEffect = ScrollViewCustomEffect::DownCast(mScrollViewEffect);  
528 - Vector2 vStageSize(Stage::GetCurrent().GetSize());  
529 - customEffect.ApplyToPage(page, Vector3(vStageSize.x, vStageSize.y, 1.0f));  
530 - } 445 + * [Page]
  446 + * Applies effect to the pages within scroll view.
  447 + *
  448 + * @param[in] page The page Actor to apply effect to.
  449 + */
  450 + void ApplyEffectToPage(Actor page)
  451 + {
  452 + page.RemoveConstraints();
  453 + page.ApplyConstraint( Constraint::New<Vector3>( Actor::SIZE, ParentSource( Actor::SIZE ), EqualToConstraint() ) );
  454 +
  455 + switch( mEffectMode )
  456 + {
  457 + case PageCarouselEffect:
  458 + {
  459 + ScrollViewPageCarouselEffect effect = ScrollViewPageCarouselEffect::DownCast( mScrollViewEffect );
  460 + effect.ApplyToPage( page );
  461 + break;
  462 + }
  463 +
  464 + case PageCubeEffect:
  465 + {
  466 + ScrollViewPageCubeEffect effect = ScrollViewPageCubeEffect::DownCast( mScrollViewEffect );
  467 + effect.ApplyToPage( page, ANGLE_SWING_3DEFFECT );
  468 + break;
  469 + }
  470 +
  471 + case PageSpiralEffect:
  472 + {
  473 + ScrollViewPageSpiralEffect effect = ScrollViewPageSpiralEffect::DownCast( mScrollViewEffect );
  474 + effect.ApplyToPage( page, ANGLE_SWING_3DEFFECT );
  475 + break;
  476 + }
  477 +
  478 + default:
  479 + {
  480 + break;
  481 + }
  482 + }
  483 + }
531 484
532 /** 485 /**
533 * [Actor] 486 * [Actor]
@@ -542,13 +495,24 @@ private: @@ -542,13 +495,24 @@ private:
542 */ 495 */
543 void ApplyEffectToActor( Actor child, Actor page ) 496 void ApplyEffectToActor( Actor child, Actor page )
544 { 497 {
545 - if( mEffectMode == DepthEffect ) 498 + switch( mEffectMode )
546 { 499 {
547 - ApplyDepthEffectToActor( child );  
548 - }  
549 - else if(mEffectMode == CubeEffect )  
550 - {  
551 - ApplyCubeEffectToActor( child ); 500 + case DepthEffect:
  501 + {
  502 + ApplyDepthEffectToActor( child );
  503 + break;
  504 + }
  505 +
  506 + case CubeEffect:
  507 + {
  508 + ApplyCubeEffectToActor( child );
  509 + break;
  510 + }
  511 +
  512 + default:
  513 + {
  514 + break;
  515 + }
552 } 516 }
553 } 517 }
554 518
@@ -713,14 +677,13 @@ private: @@ -713,14 +677,13 @@ private:
713 */ 677 */
714 enum EffectMode 678 enum EffectMode
715 { 679 {
716 - OuterCubeEffect, ///< Outer Cube Effect  
717 DepthEffect, ///< Depth Effect 680 DepthEffect, ///< Depth Effect
718 CubeEffect, ///< Cube effect 681 CubeEffect, ///< Cube effect
719 - InnerCubeEffect, ///< Page Cube Effect  
720 - CarouselEffect, ///< Page Carousel Effect  
721 - SpiralEffect, ///< Page Spiral Effect 682 + PageCarouselEffect, ///< Page carousel effect
  683 + PageCubeEffect, ///< Page cube effect
  684 + PageSpiralEffect, ///< Page spiral effect
722 685
723 - Total, 686 + Total
724 }; 687 };
725 688
726 EffectMode mEffectMode; ///< Current Effect mode 689 EffectMode mEffectMode; ///< Current Effect mode