Commit 2567061a91613e24c06300cf75f4953117b7f119

Authored by Victor Cebollada
Committed by Tom Robinson
1 parent 5fb28e6d

Update the homescreen benchmark to use text visuals.

Change-Id: I155be5a4dda65b3d8886d30961857f0f9743d592
Signed-off-by: Victor Cebollada <v.cebollada@samsung.com>
examples/homescreen-benchmark/homescreen-benchmark.cpp
... ... @@ -21,6 +21,10 @@
21 21 #include <sstream>
22 22 #include <iostream>
23 23  
  24 +#include <dali-toolkit/devel-api/visual-factory/visual-factory.h>
  25 +#include <dali-toolkit/devel-api/visuals/visual-properties-devel.h>
  26 +#include <dali-toolkit/devel-api/visuals/text-visual-properties.h>
  27 +
24 28 using namespace Dali;
25 29 using Dali::Toolkit::TextLabel;
26 30  
... ... @@ -48,6 +52,7 @@ const bool DEFAULT_OPT_USE_TABLEVIEW ( true );
48 52 const bool DEFAULT_OPT_BATCHING_ENABLED ( true );
49 53 const bool DEFAULT_OPT_ICON_LABELS ( true );
50 54 const IconType DEFAULT_OPT_ICON_TYPE ( IMAGEVIEW );
  55 +const bool DEFAULT_OPT_USE_TEXT_LABEL ( false );
51 56  
52 57 // The image/label area tries to make sure the positioning will be relative to previous sibling
53 58 const float IMAGE_AREA ( 0.60f );
... ... @@ -113,7 +118,8 @@ public:
113 118 mTableViewEnabled( DEFAULT_OPT_USE_TABLEVIEW ),
114 119 mBatchingEnabled( DEFAULT_OPT_BATCHING_ENABLED ),
115 120 mIconLabelsEnabled( DEFAULT_OPT_ICON_LABELS ),
116   - mIconType( DEFAULT_OPT_ICON_TYPE )
  121 + mIconType( DEFAULT_OPT_ICON_TYPE ),
  122 + mUseTextLabel( DEFAULT_OPT_USE_TEXT_LABEL )
117 123 {
118 124 }
119 125  
... ... @@ -124,6 +130,7 @@ public:
124 130 bool mBatchingEnabled;
125 131 bool mIconLabelsEnabled;
126 132 IconType mIconType;
  133 + bool mUseTextLabel;
127 134 };
128 135  
129 136 // animation script data
... ... @@ -253,7 +260,7 @@ public:
253 260 return button;
254 261 }
255 262  
256   - void AddIconsToPage( Actor page )
  263 + void AddIconsToPage( Actor page, bool useTextLabel )
257 264 {
258 265 Size stageSize( Stage::GetCurrent().GetSize() );
259 266 const float scaledHeight = stageSize.y * PAGE_SCALE_FACTOR_Y;
... ... @@ -307,15 +314,34 @@ public:
307 314 if( mConfig.mIconLabelsEnabled )
308 315 {
309 316 // create label
310   - Toolkit::TextLabel textLabel = Toolkit::TextLabel::New( DEMO_APPS_NAMES[currentIconIndex] );
311   - textLabel.SetAnchorPoint( AnchorPoint::TOP_CENTER );
312   - textLabel.SetParentOrigin( ParentOrigin::BOTTOM_CENTER );
313   - textLabel.SetResizePolicy( ResizePolicy::USE_NATURAL_SIZE, Dimension::ALL_DIMENSIONS );
314   - textLabel.SetProperty( Toolkit::TextLabel::Property::TEXT_COLOR, Vector4( 1.0f, 1.0f, 1.0f, 1.0f ) ); // White.
315   - textLabel.SetProperty( Toolkit::TextLabel::Property::POINT_SIZE, ( ( static_cast<float>( ROW_HEIGHT * LABEL_AREA ) * 72.0f ) / dpi.y ) * 0.25f );
316   - textLabel.SetProperty( Toolkit::TextLabel::Property::HORIZONTAL_ALIGNMENT, "CENTER" );
317   - textLabel.SetProperty( Toolkit::TextLabel::Property::VERTICAL_ALIGNMENT, "TOP" );
318   - icon.Add( textLabel );
  317 + if( useTextLabel )
  318 + {
  319 + Toolkit::TextLabel textLabel = Toolkit::TextLabel::New( DEMO_APPS_NAMES[currentIconIndex] );
  320 + textLabel.SetAnchorPoint( AnchorPoint::TOP_CENTER );
  321 + textLabel.SetParentOrigin( ParentOrigin::BOTTOM_CENTER );
  322 + textLabel.SetResizePolicy( ResizePolicy::USE_NATURAL_SIZE, Dimension::ALL_DIMENSIONS );
  323 + textLabel.SetProperty( Toolkit::TextLabel::Property::TEXT_COLOR, Vector4( 1.0f, 1.0f, 1.0f, 1.0f ) ); // White.
  324 + textLabel.SetProperty( Toolkit::TextLabel::Property::POINT_SIZE, ( ( static_cast<float>( ROW_HEIGHT * LABEL_AREA ) * 72.0f ) / dpi.y ) * 0.25f );
  325 + textLabel.SetProperty( Toolkit::TextLabel::Property::HORIZONTAL_ALIGNMENT, "CENTER" );
  326 + textLabel.SetProperty( Toolkit::TextLabel::Property::VERTICAL_ALIGNMENT, "TOP" );
  327 + icon.Add( textLabel );
  328 + }
  329 + else
  330 + {
  331 + Property::Map map;
  332 + map.Add( Toolkit::Visual::Property::TYPE, Toolkit::DevelVisual::TEXT ).
  333 + Add( Toolkit::TextVisual::Property::TEXT, DEMO_APPS_NAMES[currentIconIndex] ).
  334 + Add( Toolkit::TextVisual::Property::TEXT_COLOR, Color::WHITE ).
  335 + Add( Toolkit::TextVisual::Property::POINT_SIZE, ( ( static_cast<float>( ROW_HEIGHT * LABEL_AREA ) * 72.0f ) / dpi.y ) * 0.25f ).
  336 + Add( Toolkit::TextVisual::Property::HORIZONTAL_ALIGNMENT, "CENTER" ).
  337 + Add( Toolkit::TextVisual::Property::VERTICAL_ALIGNMENT, "TOP" );
  338 +
  339 + Toolkit::Control control = Toolkit::Control::New();
  340 + control.SetProperty( Toolkit::Control::Property::BACKGROUND, map );
  341 + control.SetAnchorPoint( AnchorPoint::TOP_CENTER );
  342 + control.SetParentOrigin( ParentOrigin::BOTTOM_CENTER );
  343 + icon.Add( control );
  344 + }
319 345 }
320 346  
321 347 iconView.Add( icon );
... ... @@ -363,7 +389,7 @@ public:
363 389 Actor page = AddPage();
364 390  
365 391 // Populate icons.
366   - AddIconsToPage( page );
  392 + AddIconsToPage( page, mConfig.mUseTextLabel );
367 393  
368 394 // Move page 'a little bit up'.
369 395 page.SetParentOrigin( ParentOrigin::CENTER );
... ... @@ -454,6 +480,7 @@ void RunTest( Application&amp; application, const HomescreenBenchmark::Config&amp; confi
454 480 PrintHelp( "-disable-batching", " Disables geometry batching" );
455 481 PrintHelp( "-disable-icon-labels", " Disables labels for each icon" );
456 482 PrintHelp( "-use-checkbox", " Uses checkboxes for icons" );
  483 + PrintHelp( "-use-text-label", " Uses TextLabel instead of a TextVisual" );
457 484 return;
458 485 }
459 486  
... ... @@ -499,7 +526,11 @@ int DALI_EXPORT_API main( int argc, char **argv )
499 526 {
500 527 config.mIconType = CHECKBOX;
501 528 }
502   - else if ( arg.compare( "--help" ) == 0 )
  529 + else if( arg.compare("--use-text-label" ) == 0)
  530 + {
  531 + config.mUseTextLabel = true;
  532 + }
  533 + else if( arg.compare( "--help" ) == 0 )
503 534 {
504 535 printHelpAndExit = true;
505 536 }
... ...