/*
- * 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.
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);
*/
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,
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();
*/
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 );
{
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);
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)
{
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;row<IMAGE_ROWS;row++)
{
{
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,
+ Vector3 position( margin * 0.5f + (imageSize.x + margin) * column - windowSize.width * 0.5f,
+ margin * 0.5f + (imageSize.y + margin) * row - windowSize.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);
}
}
{
bool snap(true);
- Stage stage = Stage::GetCurrent();
- Vector2 stageSize = stage.GetSize();
+ Window window = mApplication.GetWindow();
+ Vector2 windowSize = window.GetSize();
- RulerPtr rulerX = CreateRuler(snap ? stageSize.width : 0.0f);
+ RulerPtr rulerX = CreateRuler(snap ? windowSize.width : 0.0f);
RulerPtr rulerY = new DefaultRuler;
- rulerX->SetDomain(RulerDomain(0.0f, stageSize.x * PAGE_COLUMNS, false));
+ rulerX->SetDomain(RulerDomain(0.0f, windowSize.x * PAGE_COLUMNS, false));
rulerY->Disable();
Dali::Path path = Dali::Path::New();
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);
- rulerX->SetDomain( RulerDomain( 0.0f, stageSize.x * 0.5f * PAGE_COLUMNS, false ) );
+ 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 )
{
ImageView actor = ImageView::New();
Property::Map map;
- map["rendererType"] = "IMAGE";
- map["url"] = filename;
- map["desiredWidth"] = width;
- map["desiredHeight"] = height;
- map["fittingMode"] = "SCALE_TO_FILL";
- map["samplingMode"] = "BOX_THEN_LINEAR";
+ 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.SetName( filename );
- actor.SetParentOrigin(ParentOrigin::CENTER);
- actor.SetAnchorPoint(AnchorPoint::CENTER);
+ 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;