X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=shared%2Fview.h;h=36f42bdd765c60c1a05231af7598168172ae8c10;hb=1b19fd140ff139b5854a1a62447faf31b175d8f6;hp=d417b6fdc6f34c340ba04726f6da7b7f3df976e6;hpb=b73149dfa1530bab210be84de4c69cbe6f2e0d14;p=platform%2Fcore%2Fuifw%2Fdali-demo.git diff --git a/shared/view.h b/shared/view.h index d417b6f..36f42bd 100644 --- a/shared/view.h +++ b/shared/view.h @@ -1,8 +1,8 @@ -#ifndef __DALI_DEMO_HELPER_VIEW_H__ -#define __DALI_DEMO_HELPER_VIEW_H__ +#ifndef DALI_DEMO_HELPER_VIEW_H +#define DALI_DEMO_HELPER_VIEW_H /* - * Copyright (c) 2014 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. @@ -20,30 +20,21 @@ #include #include -#include - namespace DemoHelper { - -enum ControlDepthIndexRanges -{ - BACKGROUND_DEPTH_INDEX = -10000000, - CONTENT_DEPTH_INDEX = 0, - DECORATION_DEPTH_INDEX = 10000000 -}; - /** * Provide a style for the view and its tool bar. */ struct ViewStyle { - ViewStyle( float toolBarButtonPercentage, float toolBarTitlePercentage, float toolBarHeight, float toolBarPadding ) - : mToolBarButtonPercentage( toolBarButtonPercentage ), - mToolBarTitlePercentage( toolBarTitlePercentage ), - mToolBarHeight( toolBarHeight ), - mToolBarPadding( toolBarPadding ) - {} + ViewStyle(float toolBarButtonPercentage, float toolBarTitlePercentage, float toolBarHeight, float toolBarPadding) + : mToolBarButtonPercentage(toolBarButtonPercentage), + mToolBarTitlePercentage(toolBarTitlePercentage), + mToolBarHeight(toolBarHeight), + mToolBarPadding(toolBarPadding) + { + } float mToolBarButtonPercentage; ///< The tool bar button width is a percentage of the tool bar width. float mToolBarTitlePercentage; ///< The tool bar title width is a percentage of the tool bar width. @@ -51,128 +42,122 @@ struct ViewStyle float mToolBarPadding; ///< The tool bar padding (in pixels).. }; -const ViewStyle DEFAULT_VIEW_STYLE( 0.1f, 0.7f, 80.f, 4.f ); +const ViewStyle DEFAULT_VIEW_STYLE(0.1f, 0.7f, 80.f, 4.f); -const char* DEFAULT_TEXT_STYLE_FONT_FAMILY("HelveticaNue"); -const char* DEFAULT_TEXT_STYLE_FONT_STYLE("Regular"); -const float DEFAULT_TEXT_STYLE_POINT_SIZE( 8.0f ); +const char* DEFAULT_TEXT_STYLE_FONT_FAMILY("HelveticaNue"); +const float DEFAULT_TEXT_STYLE_POINT_SIZE(8.0f); const Dali::Toolkit::Alignment::Padding DEFAULT_PLAY_PADDING(12.0f, 12.0f, 12.0f, 12.0f); const Dali::Toolkit::Alignment::Padding DEFAULT_MODE_SWITCH_PADDING(8.0f, 8.0f, 8.0f, 8.0f); -float ScalePointSize(int pointSize) -{ - Dali::Vector2 dpi = Dali::Stage::GetCurrent().GetDpi(); - float meanDpi = (dpi.height + dpi.width) * 0.5f; - return pointSize * 220.0f / meanDpi; // 220 is the default horizontal DPI defined in adaptor Application -} - -Dali::Layer CreateToolbar( Dali::Toolkit::ToolBar& toolBar, - const std::string& toolbarImagePath, - const std::string& title, - const ViewStyle& style ) +Dali::Layer CreateToolbar(Dali::Toolkit::ToolBar& toolBar, + const std::string& toolbarImagePath, + const std::string& title, + const ViewStyle& style) { - Dali::Stage stage = Dali::Stage::GetCurrent(); - Dali::Layer toolBarLayer = Dali::Layer::New(); - toolBarLayer.SetName( "TOOLBAR_LAYER" ); - toolBarLayer.SetAnchorPoint( Dali::AnchorPoint::TOP_CENTER ); - toolBarLayer.SetParentOrigin( Dali::ParentOrigin::TOP_CENTER ); - toolBarLayer.SetResizePolicy( Dali::ResizePolicy::FILL_TO_PARENT, Dali::Dimension::WIDTH ); - toolBarLayer.SetSize( 0.0f, style.mToolBarHeight ); + toolBarLayer.SetProperty(Dali::Actor::Property::NAME, "TOOLBAR_LAYER"); + toolBarLayer.SetProperty(Dali::Actor::Property::ANCHOR_POINT, Dali::AnchorPoint::TOP_CENTER); + toolBarLayer.SetProperty(Dali::Actor::Property::PARENT_ORIGIN, Dali::ParentOrigin::TOP_CENTER); + toolBarLayer.SetResizePolicy(Dali::ResizePolicy::FILL_TO_PARENT, Dali::Dimension::WIDTH); + toolBarLayer.SetProperty(Dali::Actor::Property::SIZE, Dali::Vector2(0.0f, style.mToolBarHeight)); // Raise tool bar layer to the top. toolBarLayer.RaiseToTop(); // Tool bar - Dali::Image image = Dali::ResourceImage::New( toolbarImagePath ); toolBar = Dali::Toolkit::ToolBar::New(); - toolBar.SetName( "TOOLBAR" ); - toolBar.SetBackgroundImage( image ); - toolBar.SetParentOrigin( Dali::ParentOrigin::TOP_CENTER ); - toolBar.SetAnchorPoint( Dali::AnchorPoint::TOP_CENTER ); - toolBar.SetResizePolicy( Dali::ResizePolicy::FILL_TO_PARENT, Dali::Dimension::ALL_DIMENSIONS ); + toolBar.SetProperty(Dali::Actor::Property::NAME, "TOOLBAR"); + Dali::Property::Map background; + background["url"] = toolbarImagePath; + toolBar.SetProperty(Dali::Toolkit::Control::Property::BACKGROUND, background); + toolBar.SetProperty(Dali::Actor::Property::PARENT_ORIGIN, Dali::ParentOrigin::TOP_CENTER); + toolBar.SetProperty(Dali::Actor::Property::ANCHOR_POINT, Dali::AnchorPoint::TOP_CENTER); + toolBar.SetResizePolicy(Dali::ResizePolicy::FILL_TO_PARENT, Dali::Dimension::ALL_DIMENSIONS); - // Add the tool bar to the too bar layer. - toolBarLayer.Add( toolBar ); + // Add the tool bar to the tool bar layer. + toolBarLayer.Add(toolBar); // Tool bar text. - if( !title.empty() ) + if(!title.empty()) { Dali::Toolkit::TextLabel label = Dali::Toolkit::TextLabel::New(); - label.SetAnchorPoint( Dali::AnchorPoint::TOP_LEFT ); - label.SetProperty( Dali::Toolkit::Control::Property::STYLE_NAME, "toolbarlabel" ); - label.SetProperty( Dali::Toolkit::TextLabel::Property::TEXT, title ); - label.SetProperty( Dali::Toolkit::TextLabel::Property::HORIZONTAL_ALIGNMENT, "CENTER" ); - label.SetProperty( Dali::Toolkit::TextLabel::Property::VERTICAL_ALIGNMENT, "CENTER" ); - label.SetResizePolicy( Dali::ResizePolicy::FILL_TO_PARENT, Dali::Dimension::HEIGHT ); + label.SetProperty(Dali::Actor::Property::ANCHOR_POINT, Dali::AnchorPoint::TOP_LEFT); + label.SetStyleName("ToolbarLabel"); + label.SetProperty(Dali::Toolkit::TextLabel::Property::TEXT, title); + label.SetProperty(Dali::Toolkit::TextLabel::Property::HORIZONTAL_ALIGNMENT, "CENTER"); + label.SetProperty(Dali::Toolkit::TextLabel::Property::VERTICAL_ALIGNMENT, "CENTER"); + label.SetResizePolicy(Dali::ResizePolicy::FILL_TO_PARENT, Dali::Dimension::HEIGHT); // Add title to the tool bar. - const float padding( style.mToolBarPadding ); - toolBar.AddControl( label, style.mToolBarTitlePercentage, Dali::Toolkit::Alignment::HorizontalCenter, Dali::Toolkit::Alignment::Padding( padding, padding, padding, padding ) ); + const float padding(style.mToolBarPadding); + toolBar.AddControl(label, style.mToolBarTitlePercentage, Dali::Toolkit::Alignment::HORIZONTAL_CENTER, Dali::Toolkit::Alignment::Padding(padding, padding, padding, padding)); } return toolBarLayer; } -Dali::Layer CreateView( Dali::Application& application, - Dali::Toolkit::Control& view, - Dali::Toolkit::ToolBar& toolBar, - const std::string& backgroundImagePath, - const std::string& toolbarImagePath, - const std::string& title, - const ViewStyle& style = DEFAULT_VIEW_STYLE ) +Dali::Layer CreateView(Dali::Application& application, + Dali::Toolkit::Control& view, + Dali::Toolkit::ToolBar& toolBar, + const std::string& backgroundImagePath, + const std::string& toolbarImagePath, + const std::string& title, + const ViewStyle& style = DEFAULT_VIEW_STYLE) { - Dali::Stage stage = Dali::Stage::GetCurrent(); + Dali::Window window = application.GetWindow(); // Create default View. view = Dali::Toolkit::Control::New(); - view.SetAnchorPoint( Dali::AnchorPoint::CENTER ); - view.SetParentOrigin( Dali::ParentOrigin::CENTER ); - view.SetResizePolicy( Dali::ResizePolicy::FILL_TO_PARENT, Dali::Dimension::ALL_DIMENSIONS ); + view.SetProperty(Dali::Actor::Property::ANCHOR_POINT, Dali::AnchorPoint::CENTER); + view.SetProperty(Dali::Actor::Property::PARENT_ORIGIN, Dali::ParentOrigin::CENTER); + view.SetResizePolicy(Dali::ResizePolicy::FILL_TO_PARENT, Dali::Dimension::ALL_DIMENSIONS); - // Add the view to the stage before setting the background. - stage.Add( view ); + // Add the view to the window before setting the background. + window.Add(view); // Set background image, loading it at screen resolution: - if ( !backgroundImagePath.empty() ) + if(!backgroundImagePath.empty()) { - Dali::Image backgroundImage = Dali::ResourceImage::New( backgroundImagePath, Dali::ImageDimensions( stage.GetSize().x, stage.GetSize().y ), Dali::FittingMode::SCALE_TO_FILL, Dali::SamplingMode::BOX_THEN_LINEAR ); - view.SetBackgroundImage( backgroundImage ); + Dali::Property::Map map; + map[Dali::Toolkit::Visual::Property::TYPE] = Dali::Toolkit::Visual::IMAGE; + map[Dali::Toolkit::ImageVisual::Property::URL] = backgroundImagePath; + map[Dali::Toolkit::ImageVisual::Property::DESIRED_WIDTH] = window.GetSize().GetWidth(); + map[Dali::Toolkit::ImageVisual::Property::DESIRED_HEIGHT] = window.GetSize().GetHeight(); + map[Dali::Toolkit::ImageVisual::Property::FITTING_MODE] = Dali::FittingMode::SCALE_TO_FILL; + map[Dali::Toolkit::ImageVisual::Property::SAMPLING_MODE] = Dali::SamplingMode::BOX_THEN_LINEAR; + map[Dali::Toolkit::ImageVisual::Property::SYNCHRONOUS_LOADING] = true; + view.SetProperty(Dali::Toolkit::Control::Property::BACKGROUND, map); } - // FIXME - // Connects the orientation signal with the View::OrientationChanged method. - //application.GetOrientation().ChangedSignal().Connect( &view, &Dali::Toolkit::View::OrientationChanged ); - // Create default ToolBar - Dali::Layer toolBarLayer = CreateToolbar( toolBar, toolbarImagePath, title, style ); + Dali::Layer toolBarLayer = CreateToolbar(toolBar, toolbarImagePath, title, style); // Add tool bar layer to the view. - view.Add( toolBarLayer ); + view.Add(toolBarLayer); // Create a content layer. Dali::Layer contentLayer = Dali::Layer::New(); - contentLayer.SetAnchorPoint( Dali::AnchorPoint::CENTER ); - contentLayer.SetParentOrigin( Dali::ParentOrigin::CENTER ); - contentLayer.SetResizePolicy( Dali::ResizePolicy::FILL_TO_PARENT, Dali::Dimension::ALL_DIMENSIONS ); - view.Add( contentLayer ); - contentLayer.LowerBelow( toolBarLayer ); + contentLayer.SetProperty(Dali::Actor::Property::ANCHOR_POINT, Dali::AnchorPoint::CENTER); + contentLayer.SetProperty(Dali::Actor::Property::PARENT_ORIGIN, Dali::ParentOrigin::CENTER); + contentLayer.SetResizePolicy(Dali::ResizePolicy::FILL_TO_PARENT, Dali::Dimension::ALL_DIMENSIONS); + view.Add(contentLayer); + contentLayer.LowerBelow(toolBarLayer); return contentLayer; } -Dali::Toolkit::TextLabel CreateToolBarLabel( const std::string& text ) +Dali::Toolkit::TextLabel CreateToolBarLabel(const std::string& text) { - Dali::Toolkit::TextLabel label = Dali::Toolkit::TextLabel::New( text ); - label.SetProperty( Dali::Toolkit::Control::Property::STYLE_NAME, "toolbarlabel" ); - label.SetProperty( Dali::Toolkit::TextLabel::Property::HORIZONTAL_ALIGNMENT, "CENTER" ); - label.SetProperty( Dali::Toolkit::TextLabel::Property::VERTICAL_ALIGNMENT, "CENTER" ); - label.SetResizePolicy( Dali::ResizePolicy::FILL_TO_PARENT, Dali::Dimension::HEIGHT ); + Dali::Toolkit::TextLabel label = Dali::Toolkit::TextLabel::New(text); + label.SetStyleName("ToolbarLabel"); + label.SetProperty(Dali::Toolkit::TextLabel::Property::HORIZONTAL_ALIGNMENT, "CENTER"); + label.SetProperty(Dali::Toolkit::TextLabel::Property::VERTICAL_ALIGNMENT, "CENTER"); + label.SetResizePolicy(Dali::ResizePolicy::FILL_TO_PARENT, Dali::Dimension::HEIGHT); return label; } -} // DemoHelper +} // namespace DemoHelper -#endif // __DALI_DEMO_HELPER_VIEW_H__ +#endif // DALI_DEMO_HELPER_VIEW_H