Commit 2567061a91613e24c06300cf75f4953117b7f119
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>
Showing
1 changed file
with
44 additions
and
13 deletions
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& application, const HomescreenBenchmark::Config& 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 | } | ... | ... |