X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=examples%2Fscroll-view%2Fscroll-view-example.cpp;h=effe45866a853acd4e8fe3aad0d21453d85ff1ca;hb=refs%2Fchanges%2F41%2F243041%2F2;hp=f6d9f27a752a8dbce5f9515549e70649483d113d;hpb=2e5d11245064ffb93356a1cb714a15102a4b369f;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 f6d9f27..effe458 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) 2020 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. @@ -28,11 +28,17 @@ using namespace Dali::Toolkit; namespace { -const char * const BACKGROUND_IMAGE( DALI_IMAGE_DIR "background-default.png" ); -const char * const TOOLBAR_IMAGE( DALI_IMAGE_DIR "top-bar.png" ); +const char * const BACKGROUND_IMAGE( DEMO_IMAGE_DIR "background-default.png" ); +const char * const TOOLBAR_IMAGE( DEMO_IMAGE_DIR "top-bar.png" ); const char * const APPLICATION_TITLE( "ScrollView" ); -const char * const EFFECT_CAROUSEL_IMAGE( DALI_IMAGE_DIR "icon-scroll-view-carousel.png" ); -const char * const EFFECT_CAROUSEL_IMAGE_SELECTED( DALI_IMAGE_DIR "icon-scroll-view-carousel-selected.png" ); +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); @@ -44,59 +50,59 @@ const char* EFFECT_MODE_NAME[] = { }; const char * const IMAGE_PATHS[] = { - DALI_IMAGE_DIR "gallery-medium-1.jpg", - DALI_IMAGE_DIR "gallery-medium-2.jpg", - DALI_IMAGE_DIR "gallery-medium-3.jpg", - DALI_IMAGE_DIR "gallery-medium-4.jpg", - DALI_IMAGE_DIR "gallery-medium-5.jpg", - DALI_IMAGE_DIR "gallery-medium-6.jpg", - DALI_IMAGE_DIR "gallery-medium-7.jpg", - DALI_IMAGE_DIR "gallery-medium-8.jpg", - DALI_IMAGE_DIR "gallery-medium-9.jpg", - DALI_IMAGE_DIR "gallery-medium-10.jpg", - DALI_IMAGE_DIR "gallery-medium-11.jpg", - DALI_IMAGE_DIR "gallery-medium-12.jpg", - DALI_IMAGE_DIR "gallery-medium-13.jpg", - DALI_IMAGE_DIR "gallery-medium-14.jpg", - DALI_IMAGE_DIR "gallery-medium-15.jpg", - DALI_IMAGE_DIR "gallery-medium-16.jpg", - DALI_IMAGE_DIR "gallery-medium-17.jpg", - DALI_IMAGE_DIR "gallery-medium-18.jpg", - DALI_IMAGE_DIR "gallery-medium-19.jpg", - DALI_IMAGE_DIR "gallery-medium-20.jpg", - DALI_IMAGE_DIR "gallery-medium-21.jpg", - DALI_IMAGE_DIR "gallery-medium-22.jpg", - DALI_IMAGE_DIR "gallery-medium-23.jpg", - DALI_IMAGE_DIR "gallery-medium-24.jpg", - DALI_IMAGE_DIR "gallery-medium-25.jpg", - DALI_IMAGE_DIR "gallery-medium-26.jpg", - DALI_IMAGE_DIR "gallery-medium-27.jpg", - DALI_IMAGE_DIR "gallery-medium-28.jpg", - DALI_IMAGE_DIR "gallery-medium-29.jpg", - DALI_IMAGE_DIR "gallery-medium-30.jpg", - DALI_IMAGE_DIR "gallery-medium-31.jpg", - DALI_IMAGE_DIR "gallery-medium-32.jpg", - DALI_IMAGE_DIR "gallery-medium-33.jpg", - DALI_IMAGE_DIR "gallery-medium-34.jpg", - DALI_IMAGE_DIR "gallery-medium-35.jpg", - DALI_IMAGE_DIR "gallery-medium-36.jpg", - DALI_IMAGE_DIR "gallery-medium-37.jpg", - DALI_IMAGE_DIR "gallery-medium-38.jpg", - DALI_IMAGE_DIR "gallery-medium-39.jpg", - DALI_IMAGE_DIR "gallery-medium-40.jpg", - DALI_IMAGE_DIR "gallery-medium-41.jpg", - DALI_IMAGE_DIR "gallery-medium-42.jpg", - DALI_IMAGE_DIR "gallery-medium-43.jpg", - DALI_IMAGE_DIR "gallery-medium-44.jpg", - DALI_IMAGE_DIR "gallery-medium-45.jpg", - DALI_IMAGE_DIR "gallery-medium-46.jpg", - DALI_IMAGE_DIR "gallery-medium-47.jpg", - DALI_IMAGE_DIR "gallery-medium-48.jpg", - DALI_IMAGE_DIR "gallery-medium-49.jpg", - DALI_IMAGE_DIR "gallery-medium-50.jpg", - DALI_IMAGE_DIR "gallery-medium-51.jpg", - DALI_IMAGE_DIR "gallery-medium-52.jpg", - DALI_IMAGE_DIR "gallery-medium-53.jpg", + DEMO_IMAGE_DIR "gallery-medium-1.jpg", + DEMO_IMAGE_DIR "gallery-medium-2.jpg", + DEMO_IMAGE_DIR "gallery-medium-3.jpg", + DEMO_IMAGE_DIR "gallery-medium-4.jpg", + DEMO_IMAGE_DIR "gallery-medium-5.jpg", + DEMO_IMAGE_DIR "gallery-medium-6.jpg", + DEMO_IMAGE_DIR "gallery-medium-7.jpg", + DEMO_IMAGE_DIR "gallery-medium-8.jpg", + DEMO_IMAGE_DIR "gallery-medium-9.jpg", + DEMO_IMAGE_DIR "gallery-medium-10.jpg", + DEMO_IMAGE_DIR "gallery-medium-11.jpg", + DEMO_IMAGE_DIR "gallery-medium-12.jpg", + DEMO_IMAGE_DIR "gallery-medium-13.jpg", + DEMO_IMAGE_DIR "gallery-medium-14.jpg", + DEMO_IMAGE_DIR "gallery-medium-15.jpg", + DEMO_IMAGE_DIR "gallery-medium-16.jpg", + DEMO_IMAGE_DIR "gallery-medium-17.jpg", + DEMO_IMAGE_DIR "gallery-medium-18.jpg", + DEMO_IMAGE_DIR "gallery-medium-19.jpg", + DEMO_IMAGE_DIR "gallery-medium-20.jpg", + DEMO_IMAGE_DIR "gallery-medium-21.jpg", + DEMO_IMAGE_DIR "gallery-medium-22.jpg", + DEMO_IMAGE_DIR "gallery-medium-23.jpg", + DEMO_IMAGE_DIR "gallery-medium-24.jpg", + DEMO_IMAGE_DIR "gallery-medium-25.jpg", + DEMO_IMAGE_DIR "gallery-medium-26.jpg", + DEMO_IMAGE_DIR "gallery-medium-27.jpg", + DEMO_IMAGE_DIR "gallery-medium-28.jpg", + DEMO_IMAGE_DIR "gallery-medium-29.jpg", + DEMO_IMAGE_DIR "gallery-medium-30.jpg", + DEMO_IMAGE_DIR "gallery-medium-31.jpg", + DEMO_IMAGE_DIR "gallery-medium-32.jpg", + DEMO_IMAGE_DIR "gallery-medium-33.jpg", + DEMO_IMAGE_DIR "gallery-medium-34.jpg", + DEMO_IMAGE_DIR "gallery-medium-35.jpg", + DEMO_IMAGE_DIR "gallery-medium-36.jpg", + DEMO_IMAGE_DIR "gallery-medium-37.jpg", + DEMO_IMAGE_DIR "gallery-medium-38.jpg", + DEMO_IMAGE_DIR "gallery-medium-39.jpg", + DEMO_IMAGE_DIR "gallery-medium-40.jpg", + DEMO_IMAGE_DIR "gallery-medium-41.jpg", + DEMO_IMAGE_DIR "gallery-medium-42.jpg", + DEMO_IMAGE_DIR "gallery-medium-43.jpg", + DEMO_IMAGE_DIR "gallery-medium-44.jpg", + DEMO_IMAGE_DIR "gallery-medium-45.jpg", + DEMO_IMAGE_DIR "gallery-medium-46.jpg", + DEMO_IMAGE_DIR "gallery-medium-47.jpg", + DEMO_IMAGE_DIR "gallery-medium-48.jpg", + DEMO_IMAGE_DIR "gallery-medium-49.jpg", + DEMO_IMAGE_DIR "gallery-medium-50.jpg", + DEMO_IMAGE_DIR "gallery-medium-51.jpg", + DEMO_IMAGE_DIR "gallery-medium-52.jpg", + DEMO_IMAGE_DIR "gallery-medium-53.jpg", NULL }; @@ -158,14 +164,11 @@ public: */ void OnInit(Application& app) { - Stage stage = Dali::Stage::GetCurrent(); - stage.KeyEventSignal().Connect(this, &ExampleController::OnKeyEvent); - - // Hide the indicator bar - mApplication.GetWindow().ShowIndicator(Dali::Window::INVISIBLE); + Window window = app.GetWindow(); + window.KeyEventSignal().Connect(this, &ExampleController::OnKeyEvent); // Creates a default view with a default tool bar. - // The view is added to the stage. + // The view is added to the window. mContentLayer = DemoHelper::CreateView( app, mView, mToolBar, @@ -173,19 +176,19 @@ public: TOOLBAR_IMAGE, "" ); - mEffectIcon[ PageCarouselEffect ] = ResourceImage::New( EFFECT_CAROUSEL_IMAGE ); - mEffectIconSelected[ PageCarouselEffect ] = ResourceImage::New( EFFECT_CAROUSEL_IMAGE_SELECTED ); - mEffectIcon[ PageCubeEffect ] = ResourceImage::New( EFFECT_CAROUSEL_IMAGE ); - mEffectIconSelected[ PageCubeEffect ] = ResourceImage::New( EFFECT_CAROUSEL_IMAGE_SELECTED ); - mEffectIcon[ PageSpiralEffect ] = ResourceImage::New( EFFECT_CAROUSEL_IMAGE ); - mEffectIconSelected[ PageSpiralEffect ] = ResourceImage::New( EFFECT_CAROUSEL_IMAGE_SELECTED ); - mEffectIcon[ PageWaveEffect ] = ResourceImage::New( EFFECT_CAROUSEL_IMAGE ); - mEffectIconSelected[ PageWaveEffect ] = ResourceImage::New( EFFECT_CAROUSEL_IMAGE_SELECTED ); + mEffectIcon[ PageCarouselEffect ] = EFFECT_CAROUSEL_IMAGE; + mEffectIconSelected[ PageCarouselEffect ] = 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(); mEffectChangeButton.ClickedSignal().Connect( this, &ExampleController::OnEffectTouched ); - mToolBar.AddControl( mEffectChangeButton, DemoHelper::DEFAULT_VIEW_STYLE.mToolBarButtonPercentage, Toolkit::Alignment::HorizontalRight, DemoHelper::DEFAULT_MODE_SWITCH_PADDING ); + mToolBar.AddControl( mEffectChangeButton, DemoHelper::DEFAULT_VIEW_STYLE.mToolBarButtonPercentage, Toolkit::Alignment::HORIZONTAL_RIGHT, DemoHelper::DEFAULT_MODE_SWITCH_PADDING ); // Create the content layer. AddContentLayer(); @@ -204,14 +207,14 @@ private: */ void AddContentLayer() { - Stage stage = Stage::GetCurrent(); - Vector2 stageSize = stage.GetSize(); + Window window = mApplication.GetWindow(); + Vector2 windowSize = window.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, windowSize ); mScrollView.SetAxisAutoLock( true ); mScrollView.SetAxisAutoLockGradient( 1.0f ); @@ -224,7 +227,7 @@ private: { Actor page = CreatePage(); - page.SetPosition( column * stageSize.x, row * stageSize.y ); + page.SetProperty( Actor::Property::POSITION, Vector2( column * windowSize.x, row * windowSize.y )); mScrollView.Add( page ); mPages.push_back(page); @@ -244,8 +247,8 @@ private: ss << APPLICATION_TITLE << ": " << EFFECT_MODE_NAME[mEffectMode]; SetTitle(ss.str()); - mEffectChangeButton.SetButtonImage( 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,17 +273,17 @@ 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(); + Window window = mApplication.GetWindow(); + Vector2 windowSize = window.GetSize(); const float margin = 10.0f; - // Calculate the number of images going across (columns) within a page, according to the screen resolution and dpi. - int imageColumns = round(IMAGE_ROWS * (stageSize.x / stage.GetDpi().x) / (stageSize.y / stage.GetDpi().y)); - const Vector3 imageSize((stageSize.x / imageColumns) - margin, (stageSize.y / IMAGE_ROWS) - margin, 0.0f); + // Calculate the number of images going across (columns) within a page, according to the screen resolution + int imageColumns = round(IMAGE_ROWS * (windowSize.x / windowSize.y)); + const Vector3 imageSize((windowSize.x / imageColumns) - margin, (windowSize.y / IMAGE_ROWS) - margin, 0.0f); for(int row = 0;rowSetDomain(RulerDomain(0.0f, stageSize.x * PAGE_COLUMNS, !wrap)); + rulerX->SetDomain(RulerDomain(0.0f, windowSize.x * PAGE_COLUMNS, false)); rulerY->Disable(); Dali::Path path = Dali::Path::New(); @@ -329,81 +331,74 @@ private: if( mEffectMode == PageCarouselEffect) { - points[0] = Vector3( stageSize.x*0.75, 0.0f, -stageSize.x*0.75f); + points[0] = Vector3( windowSize.x*0.75, 0.0f, -windowSize.x*0.75f); points[1] = Vector3( 0.0f, 0.0f, 0.0f ); - points[2] = Vector3( -stageSize.x*0.75f, 0.0f, -stageSize.x*0.75f); + points[2] = Vector3( -windowSize.x*0.75f, 0.0f, -windowSize.x*0.75f); path.SetProperty( Path::Property::POINTS, points ); - controlPoints[0] = Vector3( stageSize.x*0.5f, 0.0f, 0.0f ); - controlPoints[1] = Vector3( stageSize.x*0.5f, 0.0f, 0.0f ); - controlPoints[2] = Vector3(-stageSize.x*0.5f, 0.0f, 0.0f ); - controlPoints[3] = Vector3(-stageSize.x*0.5f, 0.0f, 0.0f ); + controlPoints[0] = Vector3( windowSize.x*0.5f, 0.0f, 0.0f ); + controlPoints[1] = Vector3( windowSize.x*0.5f, 0.0f, 0.0f ); + controlPoints[2] = Vector3(-windowSize.x*0.5f, 0.0f, 0.0f ); + controlPoints[3] = Vector3(-windowSize.x*0.5f, 0.0f, 0.0f ); path.SetProperty( Path::Property::CONTROL_POINTS, controlPoints ); forward = Vector3::ZERO; } else if( mEffectMode == PageCubeEffect) { - points[0] = Vector3( stageSize.x*0.5, 0.0f, stageSize.x*0.5f); + points[0] = Vector3( windowSize.x*0.5, 0.0f, windowSize.x*0.5f); points[1] = Vector3( 0.0f, 0.0f, 0.0f ); - points[2] = Vector3( -stageSize.x*0.5f, 0.0f, stageSize.x*0.5f); + points[2] = Vector3( -windowSize.x*0.5f, 0.0f, windowSize.x*0.5f); path.SetProperty( Path::Property::POINTS, points ); - controlPoints[0] = Vector3( stageSize.x*0.5f, 0.0f, stageSize.x*0.3f ); - controlPoints[1] = Vector3( stageSize.x*0.3f, 0.0f, 0.0f ); - controlPoints[2] = Vector3(-stageSize.x*0.3f, 0.0f, 0.0f ); - controlPoints[3] = Vector3(-stageSize.x*0.5f, 0.0f, stageSize.x*0.3f ); + controlPoints[0] = Vector3( windowSize.x*0.5f, 0.0f, windowSize.x*0.3f ); + controlPoints[1] = Vector3( windowSize.x*0.3f, 0.0f, 0.0f ); + controlPoints[2] = Vector3(-windowSize.x*0.3f, 0.0f, 0.0f ); + controlPoints[3] = Vector3(-windowSize.x*0.5f, 0.0f, windowSize.x*0.3f ); path.SetProperty( Path::Property::CONTROL_POINTS, controlPoints ); forward = Vector3(-1.0f,0.0f,0.0f); } else if( mEffectMode == PageSpiralEffect) { - points[0] = Vector3( stageSize.x*0.5, 0.0f, -stageSize.x*0.5f); + points[0] = Vector3( windowSize.x*0.5, 0.0f, -windowSize.x*0.5f); points[1] = Vector3( 0.0f, 0.0f, 0.0f ); - points[2] = Vector3( -stageSize.x*0.5f, 0.0f, -stageSize.x*0.5f); + points[2] = Vector3( -windowSize.x*0.5f, 0.0f, -windowSize.x*0.5f); path.SetProperty( Path::Property::POINTS, points ); - controlPoints[0] = Vector3( stageSize.x*0.5f, 0.0f, 0.0f ); - controlPoints[1] = Vector3( stageSize.x*0.5f, 0.0f, 0.0f ); - controlPoints[2] = Vector3(-stageSize.x*0.5f, 0.0f, 0.0f ); - controlPoints[3] = Vector3(-stageSize.x*0.5f, 0.0f, 0.0f ); + controlPoints[0] = Vector3( windowSize.x*0.5f, 0.0f, 0.0f ); + controlPoints[1] = Vector3( windowSize.x*0.5f, 0.0f, 0.0f ); + controlPoints[2] = Vector3(-windowSize.x*0.5f, 0.0f, 0.0f ); + controlPoints[3] = Vector3(-windowSize.x*0.5f, 0.0f, 0.0f ); path.SetProperty( Path::Property::CONTROL_POINTS, controlPoints ); forward = Vector3(-1.0f,0.0f,0.0f); } else if( mEffectMode == PageWaveEffect) { - points[0] = Vector3( stageSize.x, 0.0f, -stageSize.x); + points[0] = Vector3( windowSize.x, 0.0f, -windowSize.x); points[1] = Vector3( 0.0f, 0.0f, 0.0f ); - points[2] = Vector3( -stageSize.x, 0.0f, -stageSize.x); + points[2] = Vector3( -windowSize.x, 0.0f, -windowSize.x); path.SetProperty( Path::Property::POINTS, points ); - controlPoints[0] = Vector3( 0.0f, 0.0f, -stageSize.x ); - controlPoints[1] = Vector3( stageSize.x*0.5f, 0.0f, 0.0f ); - controlPoints[2] = Vector3( -stageSize.x*0.5f, 0.0f, 0.0f); - controlPoints[3] = Vector3(0.0f, 0.0f,-stageSize.x ); + controlPoints[0] = Vector3( 0.0f, 0.0f, -windowSize.x ); + controlPoints[1] = Vector3( windowSize.x*0.5f, 0.0f, 0.0f ); + controlPoints[2] = Vector3( -windowSize.x*0.5f, 0.0f, 0.0f); + controlPoints[3] = Vector3(0.0f, 0.0f,-windowSize.x ); path.SetProperty( Path::Property::CONTROL_POINTS, controlPoints ); forward = Vector3(-1.0f,0.0f,0.0f); } - mScrollViewEffect = ScrollViewPagePathEffect::New(path, forward,Toolkit::ScrollView::Property::SCROLL_FINAL_X, Vector3(stageSize.x,stageSize.y,0.0f),PAGE_COLUMNS); + mScrollViewEffect = ScrollViewPagePathEffect::New(path, forward,Toolkit::ScrollView::Property::SCROLL_FINAL_X, Vector3(windowSize.x,windowSize.y,0.0f),PAGE_COLUMNS); mScrollView.SetScrollSnapDuration(EFFECT_SNAP_DURATION); mScrollView.SetScrollFlickDuration(EFFECT_FLICK_DURATION); mScrollView.SetScrollSnapAlphaFunction(AlphaFunction::EASE_OUT); mScrollView.SetScrollFlickAlphaFunction(AlphaFunction::EASE_OUT); mScrollView.RemoveConstraintsFromChildren(); - rulerX = CreateRuler(snap ? stageSize.width * 0.5f : 0.0f); - if( wrap ) - { - rulerX->SetDomain(RulerDomain(0.0f, stageSize.x * 0.5f * PAGE_COLUMNS, !wrap)); - } - else - { - rulerX->SetDomain(RulerDomain(0.0f, stageSize.x*0.5f* (PAGE_COLUMNS+1), !wrap)); - } + rulerX = CreateRuler(snap ? windowSize.width * 0.5f : 0.0f); + rulerX->SetDomain( RulerDomain( 0.0f, windowSize.x * 0.5f * PAGE_COLUMNS, false ) ); unsigned int currentPage = mScrollView.GetCurrentPage(); if( mScrollViewEffect ) @@ -411,7 +406,7 @@ private: mScrollView.ApplyEffect(mScrollViewEffect); } - mScrollView.SetWrapMode(wrap); + mScrollView.SetWrapMode( true ); mScrollView.SetRulerX( rulerX ); mScrollView.SetRulerY( rulerY ); @@ -458,14 +453,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.TouchedSignal().Connect( this, &ExampleController::OnTouchImage ); return actor; @@ -495,14 +497,13 @@ 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 TouchEvent& event ) { - if( (event.points.size() > 0) && (!mScrolling) ) + if( (event.GetPointCount() > 0) && (!mScrolling) ) { - TouchPoint point = event.points[0]; - if(point.state == TouchPoint::Up) + if( event.GetState( 0 ) == PointState::UP ) { // Spin the Image a few times. Animation animation = Animation::New(SPIN_DURATION); @@ -535,7 +536,7 @@ private: { mTitleActor = DemoHelper::CreateToolBarLabel( "" ); // Add title to the tool bar. - mToolBar.AddControl( mTitleActor, DemoHelper::DEFAULT_VIEW_STYLE.mToolBarTitlePercentage, Alignment::HorizontalCenter ); + mToolBar.AddControl( mTitleActor, DemoHelper::DEFAULT_VIEW_STYLE.mToolBarTitlePercentage, Alignment::HORIZONTAL_CENTER ); } mTitleActor.SetProperty( Toolkit::TextLabel::Property::TEXT, title ); @@ -546,7 +547,7 @@ private: */ void OnKeyEvent(const KeyEvent& event) { - if(event.state == KeyEvent::Down) + if(event.GetState() == KeyEvent::DOWN) { if( IsKey( event, Dali::DALI_KEY_ESCAPE) || IsKey( event, Dali::DALI_KEY_BACK) ) { @@ -582,14 +583,14 @@ private: EffectMode mEffectMode; ///< Current Effect mode - Image mEffectIcon[Total]; ///< Icons for the effect button - Image mEffectIconSelected[Total]; ///< Icons for the effect button when its selected + std::string mEffectIcon[Total]; ///< Icons for the effect button + std::string mEffectIconSelected[Total]; ///< Icons for the effect button when its selected Toolkit::PushButton mEffectChangeButton; ///< Effect Change Button }; -int main(int argc, char **argv) +int DALI_EXPORT_API main(int argc, char **argv) { - Application app = Application::New(&argc, &argv, DALI_DEMO_THEME_PATH); + Application app = Application::New(&argc, &argv, DEMO_THEME_PATH); ExampleController test(app); app.MainLoop(); return 0;