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 31 const char * const BACKGROUND_IMAGE( DALI_IMAGE_DIR "background-default.png" );
32 32 const char * const TOOLBAR_IMAGE( DALI_IMAGE_DIR "top-bar.png" );
33 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 34 const char * const EFFECT_DEPTH_IMAGE( DALI_IMAGE_DIR "icon-scroll-view-depth.png" );
36 35 const char * const EFFECT_INNER_CUBE_IMAGE( DALI_IMAGE_DIR "icon-scroll-view-inner-cube.png" );
37 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 38 const Vector3 ICON_SIZE(100.0f, 100.0f, 0.0f);
41 39  
42 40 const char* EFFECT_MODE_NAME[] = {
43   - "OuterCube",
44 41 "Depth",
45 42 "Cube",
46   - "InnerCube",
47   - "Carousel",
48   - "Spiral",
  43 + "PageCarousel",
  44 + "PageCube",
  45 + "PageSpiral"
49 46 };
50 47  
51 48 const char * const IMAGE_PATHS[] = {
... ... @@ -197,12 +194,11 @@ public:
197 194 TOOLBAR_IMAGE,
198 195 "" );
199 196  
200   - mEffectIcon[ OuterCubeEffect ] = Image::New( EFFECT_OUTER_CUBE_IMAGE );
201 197 mEffectIcon[ DepthEffect ] = Image::New( EFFECT_DEPTH_IMAGE );
202 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 203 // Create a effect change button. (right of toolbar)
208 204 mEffectChangeButton = Toolkit::PushButton::New();
... ... @@ -348,14 +344,8 @@ private:
348 344 Stage stage = Stage::GetCurrent();
349 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 349 case DepthEffect:
360 350 {
361 351 mScrollViewEffect = ScrollViewDepthEffect::New();
... ... @@ -366,6 +356,7 @@ private:
366 356 mScrollView.RemoveConstraintsFromChildren();
367 357 break;
368 358 }
  359 +
369 360 case CubeEffect:
370 361 {
371 362 mScrollViewEffect = ScrollViewCubeEffect::New();
... ... @@ -377,21 +368,36 @@ private:
377 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 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 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 401 break;
396 402 }
397 403  
... ... @@ -399,9 +405,9 @@ private:
399 405 {
400 406 break;
401 407 }
402   - } // end switch
  408 + }
403 409  
404   - if(mScrollViewEffect)
  410 + if( mScrollViewEffect )
405 411 {
406 412 mScrollView.ApplyEffect(mScrollViewEffect);
407 413 }
... ... @@ -434,100 +440,47 @@ private:
434 440 }
435 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 486 * [Actor]
... ... @@ -542,13 +495,24 @@ private:
542 495 */
543 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 677 */
714 678 enum EffectMode
715 679 {
716   - OuterCubeEffect, ///< Outer Cube Effect
717 680 DepthEffect, ///< Depth Effect
718 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 689 EffectMode mEffectMode; ///< Current Effect mode
... ...