X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=examples%2Fscroll-view%2Fscroll-view-example.cpp;h=8a2a81dcef33675616cecd9b194704873a9e2082;hb=2e182925204bf3ef9f2a36cbfbf998e79fbafaf5;hp=1a8d12aeb6e191e536e3de00e22c5e738f8a3fcd;hpb=f3d4602ba67f66b6cedd9721765895e673bdb9b8;p=platform%2Fcore%2Fuifw%2Fdali-demo.git diff --git a/examples/scroll-view/scroll-view-example.cpp b/examples/scroll-view/scroll-view-example.cpp index 1a8d12a..8a2a81d 100644 --- a/examples/scroll-view/scroll-view-example.cpp +++ b/examples/scroll-view/scroll-view-example.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015 Samsung Electronics Co., Ltd. + * Copyright (c) 2019 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -33,6 +33,12 @@ const char * const TOOLBAR_IMAGE( DEMO_IMAGE_DIR "top-bar.png" ); const char * const APPLICATION_TITLE( "ScrollView" ); const char * const EFFECT_CAROUSEL_IMAGE( DEMO_IMAGE_DIR "icon-scroll-view-carousel.png" ); const char * const EFFECT_CAROUSEL_IMAGE_SELECTED( DEMO_IMAGE_DIR "icon-scroll-view-carousel-selected.png" ); +const char * const EFFECT_CUBE_IMAGE( DEMO_IMAGE_DIR "icon-scroll-view-inner-cube.png" ); +const char * const EFFECT_CUBE_IMAGE_SELECTED( DEMO_IMAGE_DIR "icon-scroll-view-inner-cube-selected.png" ); +const char * const EFFECT_SPIRAL_IMAGE( DEMO_IMAGE_DIR "icon-scroll-view-spiral.png" ); +const char * const EFFECT_SPIRAL_IMAGE_SELECTED( DEMO_IMAGE_DIR "icon-scroll-view-spiral-selected.png" ); +const char * const EFFECT_WAVE_IMAGE( DEMO_IMAGE_DIR "icon-effect-wave.png" ); +const char * const EFFECT_WAVE_IMAGE_SELECTED( DEMO_IMAGE_DIR "icon-effect-wave-selected.png" ); const Vector3 ICON_SIZE(100.0f, 100.0f, 0.0f); @@ -175,12 +181,12 @@ public: mEffectIcon[ PageCarouselEffect ] = EFFECT_CAROUSEL_IMAGE; mEffectIconSelected[ PageCarouselEffect ] = EFFECT_CAROUSEL_IMAGE_SELECTED; - mEffectIcon[ PageCubeEffect ] = EFFECT_CAROUSEL_IMAGE; - mEffectIconSelected[ PageCubeEffect ] = EFFECT_CAROUSEL_IMAGE_SELECTED; - mEffectIcon[ PageSpiralEffect ] = EFFECT_CAROUSEL_IMAGE; - mEffectIconSelected[ PageSpiralEffect ] = EFFECT_CAROUSEL_IMAGE_SELECTED; - mEffectIcon[ PageWaveEffect ] = EFFECT_CAROUSEL_IMAGE; - mEffectIconSelected[ PageWaveEffect ] = EFFECT_CAROUSEL_IMAGE_SELECTED; + mEffectIcon[ PageCubeEffect ] = EFFECT_CUBE_IMAGE; + mEffectIconSelected[ PageCubeEffect ] = EFFECT_CUBE_IMAGE_SELECTED; + mEffectIcon[ PageSpiralEffect ] = EFFECT_SPIRAL_IMAGE; + mEffectIconSelected[ PageSpiralEffect ] = EFFECT_SPIRAL_IMAGE_SELECTED; + mEffectIcon[ PageWaveEffect ] = EFFECT_WAVE_IMAGE; + mEffectIconSelected[ PageWaveEffect ] = EFFECT_WAVE_IMAGE_SELECTED; // Create a effect change button. (right of toolbar) mEffectChangeButton = Toolkit::PushButton::New(); @@ -208,10 +214,10 @@ private: Vector2 stageSize = stage.GetSize(); mScrollView = ScrollView::New(); - mScrollView.SetAnchorPoint(AnchorPoint::CENTER); - mScrollView.SetParentOrigin(ParentOrigin::CENTER); + mScrollView.SetProperty( Actor::Property::ANCHOR_POINT,AnchorPoint::CENTER); + mScrollView.SetProperty( Actor::Property::PARENT_ORIGIN,ParentOrigin::CENTER); mContentLayer.Add( mScrollView ); - mScrollView.SetSize( stageSize ); + mScrollView.SetProperty( Actor::Property::SIZE, stageSize ); mScrollView.SetAxisAutoLock( true ); mScrollView.SetAxisAutoLockGradient( 1.0f ); @@ -224,7 +230,7 @@ private: { Actor page = CreatePage(); - page.SetPosition( column * stageSize.x, row * stageSize.y ); + page.SetProperty( Actor::Property::POSITION, Vector2( column * stageSize.x, row * stageSize.y )); mScrollView.Add( page ); mPages.push_back(page); @@ -244,8 +250,8 @@ private: ss << APPLICATION_TITLE << ": " << EFFECT_MODE_NAME[mEffectMode]; SetTitle(ss.str()); - mEffectChangeButton.SetUnselectedImage( mEffectIcon[ mEffectMode ] ); - mEffectChangeButton.SetSelectedImage( mEffectIconSelected[ mEffectMode ] ); + mEffectChangeButton.SetProperty( Toolkit::Button::Property::UNSELECTED_BACKGROUND_VISUAL, mEffectIcon[ mEffectMode ] ); + mEffectChangeButton.SetProperty( Toolkit::Button::Property::SELECTED_BACKGROUND_VISUAL, mEffectIconSelected[ mEffectMode ] ); // remove old Effect if exists. if(mScrollViewEffect) @@ -270,8 +276,8 @@ private: { Actor page = Actor::New(); page.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS ); - page.SetParentOrigin( ParentOrigin::CENTER ); - page.SetAnchorPoint( AnchorPoint::CENTER ); + page.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER ); + page.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::CENTER ); Stage stage = Stage::GetCurrent(); Vector2 stageSize = stage.GetSize(); @@ -288,14 +294,14 @@ private: { ImageView image = CreateImage( GetNextImagePath(), imageSize.x, imageSize.y ); - image.SetParentOrigin( ParentOrigin::CENTER ); - image.SetAnchorPoint( AnchorPoint::CENTER ); + image.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER ); + image.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::CENTER ); Vector3 position( margin * 0.5f + (imageSize.x + margin) * column - stageSize.width * 0.5f, margin * 0.5f + (imageSize.y + margin) * row - stageSize.height * 0.5f, 0.0f); - image.SetPosition( position + imageSize * 0.5f ); - image.SetSize( imageSize ); + image.SetProperty( Actor::Property::POSITION, position + imageSize * 0.5f ); + image.SetProperty( Actor::Property::SIZE, imageSize ); page.Add(image); } } @@ -450,14 +456,21 @@ private: * @param[in] width the width of the image in texels * @param[in] height the height of the image in texels. */ - ImageView CreateImage( const std::string& filename, unsigned int width = IMAGE_THUMBNAIL_WIDTH, unsigned int height = IMAGE_THUMBNAIL_HEIGHT ) + ImageView CreateImage( const std::string& filename, int width = IMAGE_THUMBNAIL_WIDTH, int height = IMAGE_THUMBNAIL_HEIGHT ) { - Image img = ResourceImage::New(filename, ImageDimensions( width, height ), Dali::FittingMode::SCALE_TO_FILL, Dali::SamplingMode::BOX_THEN_LINEAR ); - - ImageView actor = ImageView::New(img); - actor.SetName( filename ); - actor.SetParentOrigin(ParentOrigin::CENTER); - actor.SetAnchorPoint(AnchorPoint::CENTER); + ImageView actor = ImageView::New(); + Property::Map map; + map[Visual::Property::TYPE] = Visual::IMAGE; + map[ImageVisual::Property::URL] = filename; + map[ImageVisual::Property::DESIRED_WIDTH] = width; + map[ImageVisual::Property::DESIRED_HEIGHT] = height; + map[ImageVisual::Property::FITTING_MODE] = FittingMode::SCALE_TO_FILL; + map[ImageVisual::Property::SAMPLING_MODE] = SamplingMode::BOX_THEN_LINEAR; + actor.SetProperty( ImageView::Property::IMAGE, map ); + + actor.SetProperty( Dali::Actor::Property::NAME, filename ); + actor.SetProperty( Actor::Property::PARENT_ORIGIN,ParentOrigin::CENTER); + actor.SetProperty( Actor::Property::ANCHOR_POINT,AnchorPoint::CENTER); actor.TouchSignal().Connect( this, &ExampleController::OnTouchImage ); return actor; @@ -487,7 +500,7 @@ private: * Upon Touching an image (Release), make it spin * (provided we're not scrolling). * @param[in] actor The actor touched - * @param[in] event The TouchEvent. + * @param[in] event The touch information. */ bool OnTouchImage( Actor actor, const TouchData& event ) {