diff --git a/com.samsung.dali-demo.xml b/com.samsung.dali-demo.xml
index 2517645..1c7a295 100644
--- a/com.samsung.dali-demo.xml
+++ b/com.samsung.dali-demo.xml
@@ -133,4 +133,7 @@
+
+
+
diff --git a/examples/homescreen-benchmark/homescreen-benchmark.cpp b/examples/homescreen-benchmark/homescreen-benchmark.cpp
new file mode 100644
index 0000000..31ff790
--- /dev/null
+++ b/examples/homescreen-benchmark/homescreen-benchmark.cpp
@@ -0,0 +1,718 @@
+/*
+ * Copyright (c) 2014 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.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include
+
+#include
+
+using namespace Dali;
+using Dali::Toolkit::TextLabel;
+
+namespace
+{
+const char* IMAGE_PATH[] = {
+ DEMO_IMAGE_DIR "application-icon-0.png",
+ DEMO_IMAGE_DIR "application-icon-100.png",
+ DEMO_IMAGE_DIR "application-icon-101.png",
+ DEMO_IMAGE_DIR "application-icon-102.png",
+ DEMO_IMAGE_DIR "application-icon-103.png",
+ DEMO_IMAGE_DIR "application-icon-104.png",
+ DEMO_IMAGE_DIR "application-icon-105.png",
+ DEMO_IMAGE_DIR "application-icon-106.png",
+ DEMO_IMAGE_DIR "application-icon-107.png",
+ DEMO_IMAGE_DIR "application-icon-108.png",
+ DEMO_IMAGE_DIR "application-icon-109.png",
+ DEMO_IMAGE_DIR "application-icon-10.png",
+ DEMO_IMAGE_DIR "application-icon-110.png",
+ DEMO_IMAGE_DIR "application-icon-111.png",
+ DEMO_IMAGE_DIR "application-icon-112.png",
+ DEMO_IMAGE_DIR "application-icon-113.png",
+ DEMO_IMAGE_DIR "application-icon-114.png",
+ DEMO_IMAGE_DIR "application-icon-115.png",
+ DEMO_IMAGE_DIR "application-icon-116.png",
+ DEMO_IMAGE_DIR "application-icon-117.png",
+ DEMO_IMAGE_DIR "application-icon-118.png",
+ DEMO_IMAGE_DIR "application-icon-119.png",
+ DEMO_IMAGE_DIR "application-icon-11.png",
+ DEMO_IMAGE_DIR "application-icon-120.png",
+ DEMO_IMAGE_DIR "application-icon-121.png",
+ DEMO_IMAGE_DIR "application-icon-122.png",
+ DEMO_IMAGE_DIR "application-icon-123.png",
+ DEMO_IMAGE_DIR "application-icon-124.png",
+ DEMO_IMAGE_DIR "application-icon-125.png",
+ DEMO_IMAGE_DIR "application-icon-126.png",
+ DEMO_IMAGE_DIR "application-icon-127.png",
+ DEMO_IMAGE_DIR "application-icon-128.png",
+ DEMO_IMAGE_DIR "application-icon-129.png",
+ DEMO_IMAGE_DIR "application-icon-12.png",
+ DEMO_IMAGE_DIR "application-icon-130.png",
+ DEMO_IMAGE_DIR "application-icon-131.png",
+ DEMO_IMAGE_DIR "application-icon-132.png",
+ DEMO_IMAGE_DIR "application-icon-133.png",
+ DEMO_IMAGE_DIR "application-icon-134.png",
+ DEMO_IMAGE_DIR "application-icon-135.png",
+ DEMO_IMAGE_DIR "application-icon-136.png",
+ DEMO_IMAGE_DIR "application-icon-137.png",
+ DEMO_IMAGE_DIR "application-icon-138.png",
+ DEMO_IMAGE_DIR "application-icon-139.png",
+ DEMO_IMAGE_DIR "application-icon-13.png",
+ DEMO_IMAGE_DIR "application-icon-140.png",
+ DEMO_IMAGE_DIR "application-icon-141.png",
+ DEMO_IMAGE_DIR "application-icon-142.png",
+ DEMO_IMAGE_DIR "application-icon-143.png",
+ DEMO_IMAGE_DIR "application-icon-144.png",
+ DEMO_IMAGE_DIR "application-icon-145.png",
+ DEMO_IMAGE_DIR "application-icon-146.png",
+ DEMO_IMAGE_DIR "application-icon-147.png",
+ DEMO_IMAGE_DIR "application-icon-14.png",
+ DEMO_IMAGE_DIR "application-icon-15.png",
+ DEMO_IMAGE_DIR "application-icon-16.png",
+ DEMO_IMAGE_DIR "application-icon-17.png",
+ DEMO_IMAGE_DIR "application-icon-18.png",
+ DEMO_IMAGE_DIR "application-icon-19.png",
+ DEMO_IMAGE_DIR "application-icon-1.png",
+ DEMO_IMAGE_DIR "application-icon-20.png",
+ DEMO_IMAGE_DIR "application-icon-21.png",
+ DEMO_IMAGE_DIR "application-icon-22.png",
+ DEMO_IMAGE_DIR "application-icon-23.png",
+ DEMO_IMAGE_DIR "application-icon-24.png",
+ DEMO_IMAGE_DIR "application-icon-25.png",
+ DEMO_IMAGE_DIR "application-icon-26.png",
+ DEMO_IMAGE_DIR "application-icon-27.png",
+ DEMO_IMAGE_DIR "application-icon-28.png",
+ DEMO_IMAGE_DIR "application-icon-29.png",
+ DEMO_IMAGE_DIR "application-icon-2.png",
+ DEMO_IMAGE_DIR "application-icon-30.png",
+ DEMO_IMAGE_DIR "application-icon-31.png",
+ DEMO_IMAGE_DIR "application-icon-32.png",
+ DEMO_IMAGE_DIR "application-icon-33.png",
+ DEMO_IMAGE_DIR "application-icon-34.png",
+ DEMO_IMAGE_DIR "application-icon-35.png",
+ DEMO_IMAGE_DIR "application-icon-36.png",
+ DEMO_IMAGE_DIR "application-icon-37.png",
+ DEMO_IMAGE_DIR "application-icon-38.png",
+ DEMO_IMAGE_DIR "application-icon-39.png",
+ DEMO_IMAGE_DIR "application-icon-3.png",
+ DEMO_IMAGE_DIR "application-icon-40.png",
+ DEMO_IMAGE_DIR "application-icon-41.png",
+ DEMO_IMAGE_DIR "application-icon-42.png",
+ DEMO_IMAGE_DIR "application-icon-43.png",
+ DEMO_IMAGE_DIR "application-icon-44.png",
+ DEMO_IMAGE_DIR "application-icon-45.png",
+ DEMO_IMAGE_DIR "application-icon-46.png",
+ DEMO_IMAGE_DIR "application-icon-47.png",
+ DEMO_IMAGE_DIR "application-icon-48.png",
+ DEMO_IMAGE_DIR "application-icon-49.png",
+ DEMO_IMAGE_DIR "application-icon-4.png",
+ DEMO_IMAGE_DIR "application-icon-50.png",
+ DEMO_IMAGE_DIR "application-icon-51.png",
+ DEMO_IMAGE_DIR "application-icon-52.png",
+ DEMO_IMAGE_DIR "application-icon-53.png",
+ DEMO_IMAGE_DIR "application-icon-54.png",
+ DEMO_IMAGE_DIR "application-icon-55.png",
+ DEMO_IMAGE_DIR "application-icon-56.png",
+ DEMO_IMAGE_DIR "application-icon-57.png",
+ DEMO_IMAGE_DIR "application-icon-58.png",
+ DEMO_IMAGE_DIR "application-icon-59.png",
+ DEMO_IMAGE_DIR "application-icon-5.png",
+ DEMO_IMAGE_DIR "application-icon-60.png",
+ DEMO_IMAGE_DIR "application-icon-61.png",
+ DEMO_IMAGE_DIR "application-icon-62.png",
+ DEMO_IMAGE_DIR "application-icon-63.png",
+ DEMO_IMAGE_DIR "application-icon-64.png",
+ DEMO_IMAGE_DIR "application-icon-65.png",
+ DEMO_IMAGE_DIR "application-icon-66.png",
+ DEMO_IMAGE_DIR "application-icon-67.png",
+ DEMO_IMAGE_DIR "application-icon-68.png",
+ DEMO_IMAGE_DIR "application-icon-69.png",
+ DEMO_IMAGE_DIR "application-icon-6.png",
+ DEMO_IMAGE_DIR "application-icon-70.png",
+ DEMO_IMAGE_DIR "application-icon-71.png",
+ DEMO_IMAGE_DIR "application-icon-72.png",
+ DEMO_IMAGE_DIR "application-icon-73.png",
+ DEMO_IMAGE_DIR "application-icon-74.png",
+ DEMO_IMAGE_DIR "application-icon-75.png",
+ DEMO_IMAGE_DIR "application-icon-76.png",
+ DEMO_IMAGE_DIR "application-icon-77.png",
+ DEMO_IMAGE_DIR "application-icon-78.png",
+ DEMO_IMAGE_DIR "application-icon-79.png",
+ DEMO_IMAGE_DIR "application-icon-7.png",
+ DEMO_IMAGE_DIR "application-icon-80.png",
+ DEMO_IMAGE_DIR "application-icon-81.png",
+ DEMO_IMAGE_DIR "application-icon-82.png",
+ DEMO_IMAGE_DIR "application-icon-83.png",
+ DEMO_IMAGE_DIR "application-icon-84.png",
+ DEMO_IMAGE_DIR "application-icon-85.png",
+ DEMO_IMAGE_DIR "application-icon-86.png",
+ DEMO_IMAGE_DIR "application-icon-87.png",
+ DEMO_IMAGE_DIR "application-icon-88.png",
+ DEMO_IMAGE_DIR "application-icon-89.png",
+ DEMO_IMAGE_DIR "application-icon-8.png",
+ DEMO_IMAGE_DIR "application-icon-90.png",
+ DEMO_IMAGE_DIR "application-icon-91.png",
+ DEMO_IMAGE_DIR "application-icon-92.png",
+ DEMO_IMAGE_DIR "application-icon-93.png",
+ DEMO_IMAGE_DIR "application-icon-94.png",
+ DEMO_IMAGE_DIR "application-icon-95.png",
+ DEMO_IMAGE_DIR "application-icon-96.png",
+ DEMO_IMAGE_DIR "application-icon-97.png",
+ DEMO_IMAGE_DIR "application-icon-98.png",
+ DEMO_IMAGE_DIR "application-icon-99.png",
+ DEMO_IMAGE_DIR "application-icon-9.png",
+ NULL
+};
+
+/**
+ * Random words used as unique application names
+ */
+const char* DEMO_APPS_NAMES[] =
+{
+ "Achdyer",
+ "Achtortor",
+ "Ackirlor",
+ "Ackptin",
+ "Aighte",
+ "Akala",
+ "Alealdny",
+ "Angash",
+ "Anglor",
+ "Anveraugh",
+ "Ardangas",
+ "Ardug",
+ "Ardworu",
+ "Ascerald",
+ "Ash'ach",
+ "Athiund",
+ "Aughm",
+ "Aughtheryer",
+ "Awitad",
+ "Banengon",
+ "Banhinat",
+ "Belrisash",
+ "Bilorm",
+ "Bleustcer",
+ "Bliagelor",
+ "Blorynton",
+ "Booten",
+ "Bripolqua",
+ "Bryray",
+ "Burust",
+ "Cataikel",
+ "Cerilwar",
+ "Cerl",
+ "Certin",
+ "Checerper",
+ "Chegit",
+ "Cheirat",
+ "Che'rak",
+ "Cheves",
+ "Chiperath",
+ "Chralerack",
+ "Chram",
+ "Clyimen",
+ "Coqueang",
+ "Craennther",
+ "Cykage",
+ "Dalek",
+ "Darhkel",
+ "Daril",
+ "Darpban",
+ "Dasrad",
+ "Deeqskel",
+ "Delurnther",
+ "Denalda",
+ "Derynkel",
+ "Deurnos",
+ "Doyaryke",
+ "Draithon",
+ "Drantess",
+ "Druardny",
+ "Dynsaytor",
+ "Dytinris",
+ "Eeni",
+ "Elmryn",
+ "Emgha",
+ "Emiton",
+ "Emworeng",
+ "Endnys",
+ "Enessray",
+ "Engyer",
+ "En'rady",
+ "Enthount",
+ "Enundem",
+ "Essina",
+ "Faughald",
+ "Fiummos",
+ "Garash",
+ "Garight",
+ "Garrynath",
+ "Ghalora",
+ "Ghatan",
+ "Gibanis",
+ "Hatdyn",
+ "Heesban",
+ "Hesub",
+ "Hinkelenth",
+ "Hirryer",
+ "Ideinta",
+ "Im'eld",
+ "Ina'ir",
+ "Ing'moro",
+ "Ingormess",
+ "Ingshy",
+ "Issath",
+ "Issendris",
+ "Issey",
+ "Issum",
+ "Itenthbel",
+ "K'ackves",
+ "Kagdra",
+ "Kalbankim",
+ "Kal'enda",
+ "Kimest",
+ "Kimundeng",
+ "Koachlor",
+ "Kuren",
+ "Kygver",
+ "Kyning",
+ "Laiyach",
+ "Lasuzu",
+ "Lekew",
+ "Lerengom",
+ "Lertan",
+ "Liadem",
+ "Liathar",
+ "Liephden",
+ "Likellor",
+ "Loightmos",
+ "Loromum",
+ "Lorr",
+ "Lortas",
+ "Lyerr",
+ "Maustbur",
+ "Menvor",
+ "Meusten",
+ "Mirodskel",
+ "Morhatrod",
+ "Moserbel",
+ "Mosorrad",
+ "Mosraye",
+ "Mosth",
+ "Neabar",
+ "Neerdem",
+ "Nichqua",
+ "Nudraough",
+ "Nuyim",
+ "Nycha",
+ "Nyia",
+ "Nyjac",
+ "Nystondar",
+ "Okine",
+ "Oldit",
+ "Om'mose",
+ "Onye",
+ "Ososrak",
+ "Pecertin",
+ "Perrd",
+ "Phutorny",
+ "Puizlye",
+ "Quirantai",
+ NULL
+};
+
+// this code comes from command-line-options.cpp. the reason it's here is to
+// keep consistent the extra-help formatting when '--help' used
+
+void PrintHelp( const char * const opt, const char * const optDescription)
+{
+ const std::ios_base::fmtflags flags = std::cout.flags();
+ std::cout << std::left << " -";
+ std::cout.width( 18 );
+ std::cout << opt;
+ std::cout << optDescription;
+ std::cout << std::endl;
+ std::cout.flags( flags );
+}
+
+const float PAGE_SCALE_FACTOR_X ( 0.95f );
+const float PAGE_SCALE_FACTOR_Y ( 0.95f );
+const float PAGE_DURATION_SCALE_FACTOR ( 2.0f ); // time-scale factor, larger = animation is slower
+
+const float DEFAULT_OPT_ROW_COUNT ( 5 );
+const float DEFAULT_OPT_COL_COUNT ( 4 );
+const float DEFAULT_OPT_PAGE_COUNT ( 10 );
+const bool DEFAULT_OPT_USETABLEVIEW ( false );
+
+}
+
+// This example is a benchmark that mimics the paged applications list of the homescreen app
+//
+class HomescreenBenchmark : public ConnectionTracker
+{
+public:
+
+ // Config structure passed to the constructor. It makes easier to increase number
+ // of setup parameters if needed
+ struct Config
+ {
+ Config() :
+ mRows( DEFAULT_OPT_ROW_COUNT ),
+ mCols( DEFAULT_OPT_COL_COUNT ),
+ mPageCount( DEFAULT_OPT_PAGE_COUNT ),
+ mUseTableView( DEFAULT_OPT_USETABLEVIEW )
+ {
+ }
+
+ int mRows;
+ int mCols;
+ int mPageCount;
+ bool mUseTableView;
+ };
+
+ // animation script data
+ struct ScriptData
+ {
+ ScriptData( int pages, float duration, bool flick )
+ {
+ mPages = pages;
+ mDuration = duration;
+ mFlick = flick;
+ }
+
+ int mPages; // number of pages to scroll
+ float mDuration; // duration
+ bool mFlick; // use flick or 'one-by-one' scroll
+ };
+
+ HomescreenBenchmark( Application& application, const Config& config )
+ : mApplication( application ),
+ mConfig( config ),
+ mCurrentPage( 0 )
+ {
+ // Connect to the Application's Init signal
+ mApplication.InitSignal().Connect( this, &HomescreenBenchmark::Create );
+ }
+
+ ~HomescreenBenchmark()
+ {
+ // Nothing to do here;
+ }
+
+ // The Init signal is received once (only) during the Application lifetime
+ void Create( Application& application )
+ {
+ // create benchmark script
+ CreateScript();
+
+ // Get a handle to the stage
+ Stage stage = Stage::GetCurrent();
+
+ mScrollParent = Actor::New();
+ mScrollParent.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS );
+ mScrollParent.SetAnchorPoint( AnchorPoint::CENTER );
+ mScrollParent.SetParentOrigin( ParentOrigin::CENTER );
+
+ // create background
+ Toolkit::ImageView background = Toolkit::ImageView::New( DEMO_IMAGE_DIR "background-3.jpg");
+ Stage::GetCurrent().Add(background);
+ background.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS );
+ background.SetAnchorPoint( AnchorPoint::CENTER );
+ background.SetParentOrigin( ParentOrigin::CENTER );
+
+ PopulatePages();
+
+ stage.Add(mScrollParent);
+
+ // Respond to a click anywhere on the stage
+ stage.GetRootLayer().TouchedSignal().Connect( this, &HomescreenBenchmark::OnTouch );
+ }
+
+ bool OnTouch( Actor actor, const TouchEvent& touch )
+ {
+ // quit the application
+ mApplication.Quit();
+ return true;
+ }
+
+ Actor AddPage()
+ {
+ // create root page actor
+ Actor pageActor;
+
+ if( mConfig.mUseTableView )
+ {
+ Toolkit::TableView tableView = Toolkit::TableView::New( mConfig.mRows, mConfig.mCols );
+ tableView.SetBackgroundColor( Vector4( 0.0f, 0.0f, 0.0f, 0.5f ) );
+ pageActor = tableView;
+ }
+ else
+ {
+ pageActor = Toolkit::Control::New();
+ pageActor.SetProperty( Toolkit::Control::Property::BACKGROUND_COLOR, Vector4( 0.0f, 0.0f, 0.0f, 0.5f ) );
+ }
+
+ pageActor.SetParentOrigin( ParentOrigin::CENTER );
+ pageActor.SetAnchorPoint( AnchorPoint::CENTER );
+ pageActor.SetResizePolicy( ResizePolicy::SIZE_RELATIVE_TO_PARENT, Dimension::ALL_DIMENSIONS );
+ pageActor.SetSizeModeFactor(Vector3( PAGE_SCALE_FACTOR_X, PAGE_SCALE_FACTOR_Y, 1.0f ) );
+ return pageActor;
+ }
+
+ void AddIconsToPage(Actor page)
+ {
+ Size stageSize( Stage::GetCurrent().GetSize() );
+ const float scaledHeight = stageSize.y * PAGE_SCALE_FACTOR_Y;
+ const float scaledWidth = stageSize.x * PAGE_SCALE_FACTOR_X;
+
+ const float PADDING = stageSize.y / 64.0f;
+ const float ROW_HEIGHT = ( scaledHeight - (PADDING*2.0f) ) / (float)mConfig.mRows;
+ const float COL_WIDTH = ( scaledWidth - (PADDING*2.0f) ) / (float)mConfig.mCols;
+
+ // the image/label area tries to make sure the positioning will be relative to previous sibling
+ const float IMAGE_AREA = 0.60f;
+ const float LABEL_AREA = 0.50f;
+
+ static int currentIconIndex = 0;
+
+ Vector2 dpi = Stage::GetCurrent().GetDpi();
+
+ for( int y = 0; y < mConfig.mRows; ++y )
+ {
+ for( int x = 0; x < mConfig.mCols; ++x )
+ {
+ // create parent icon view
+ Toolkit::Control iconView = Toolkit::Control::New();
+ iconView.SetAnchorPoint( AnchorPoint::TOP_LEFT );
+ iconView.SetParentOrigin( ParentOrigin::TOP_LEFT );
+
+ if( !mConfig.mUseTableView )
+ {
+ float rowX = x * COL_WIDTH + PADDING;
+ float rowY = y * ROW_HEIGHT + PADDING;
+ iconView.SetSize( Vector3( COL_WIDTH, ROW_HEIGHT, 1.0f ) );
+ iconView.SetPosition( Vector3( rowX, rowY, 0.0f ) );
+ }
+ else
+ {
+ iconView.SetResizePolicy( ResizePolicy::SIZE_RELATIVE_TO_PARENT, Dimension::ALL_DIMENSIONS );
+ iconView.SetSizeScalePolicy( SizeScalePolicy::FIT_WITH_ASPECT_RATIO );
+ }
+
+ // create image view
+ Toolkit::ImageView imageView = Toolkit::ImageView::New( IMAGE_PATH[currentIconIndex] );
+ imageView.SetResizePolicy( ResizePolicy::SIZE_RELATIVE_TO_PARENT, Dimension::ALL_DIMENSIONS );
+ imageView.SetSizeScalePolicy( SizeScalePolicy::FIT_WITH_ASPECT_RATIO );
+ imageView.SetAnchorPoint( AnchorPoint::CENTER );
+ imageView.SetParentOrigin( ParentOrigin::CENTER );
+ imageView.SetSizeModeFactor( Vector3(IMAGE_AREA, IMAGE_AREA, 1.0f) );
+
+ // create label
+ Toolkit::TextLabel textLabel = Toolkit::TextLabel::New( DEMO_APPS_NAMES[currentIconIndex] );
+ textLabel.SetAnchorPoint( AnchorPoint::TOP_CENTER );
+ textLabel.SetParentOrigin( ParentOrigin::BOTTOM_CENTER );
+
+ textLabel.SetResizePolicy( ResizePolicy::USE_NATURAL_SIZE, Dimension::ALL_DIMENSIONS );
+ textLabel.SetProperty( Toolkit::TextLabel::Property::TEXT_COLOR, Vector4( 1.0f, 1.0f, 1.0f, 1.0f ) );
+ textLabel.SetProperty( Toolkit::TextLabel::Property::POINT_SIZE, (((float)( ROW_HEIGHT * LABEL_AREA ) * 72.0f) / (dpi.y))*0.25f );
+ textLabel.SetProperty( Toolkit::TextLabel::Property::HORIZONTAL_ALIGNMENT, "CENTER" );
+ textLabel.SetProperty( Toolkit::TextLabel::Property::VERTICAL_ALIGNMENT, "TOP" );
+
+ iconView.Add( imageView );
+ imageView.Add( textLabel );
+
+ page.Add(iconView);
+
+ if( !IMAGE_PATH[ ++currentIconIndex ] )
+ {
+ currentIconIndex = 0;
+ }
+ }
+ }
+ }
+
+ void CreateScript()
+ {
+ const int lastPage = mConfig.mPageCount-1;
+ const int halfA = lastPage/2;
+ const int halfB = lastPage/2 + lastPage%2;
+ mScriptFrameData.push_back( ScriptData( lastPage, 1.5f, true));
+ mScriptFrameData.push_back( ScriptData( -lastPage, 1.5f, true ));
+ mScriptFrameData.push_back( ScriptData( halfA, 1.0f, true ));
+ mScriptFrameData.push_back( ScriptData( halfB, 1.0f, true ));
+ mScriptFrameData.push_back( ScriptData( -lastPage, 0.5f, false ));
+ mScriptFrameData.push_back( ScriptData( halfA, 0.5f, false ));
+ mScriptFrameData.push_back( ScriptData( halfB, 1.0f, true ));
+ mScriptFrameData.push_back( ScriptData( -halfA, 1.0f, true ));
+ mScriptFrameData.push_back( ScriptData( 1, 0.1f, true ));
+ mScriptFrameData.push_back( ScriptData( -1, 0.1f, true ));
+ mScriptFrameData.push_back( ScriptData( 1, 0.1f, true ));
+ mScriptFrameData.push_back( ScriptData( -1, 0.1f, true ));
+ mScriptFrameData.push_back( ScriptData( 1, 0.1f, true ));
+ mScriptFrameData.push_back( ScriptData( -1, 0.1f, true ));
+ mScriptFrameData.push_back( ScriptData( halfA, 1.0f, true ));
+ }
+
+ void PopulatePages()
+ {
+ Vector3 stageSize( Stage::GetCurrent().GetSize() );
+ const float SCALED_HEIGHT = stageSize.y * PAGE_SCALE_FACTOR_Y;
+
+ for( int i = 0; i < mConfig.mPageCount; ++i )
+ {
+ // create page
+ Actor page = AddPage();
+
+ // populate icons
+ AddIconsToPage(page);
+
+ // move page 'a little bit up'
+ page.SetParentOrigin( ParentOrigin::CENTER );
+ page.SetAnchorPoint( AnchorPoint::CENTER );
+ page.SetPosition( Vector3(stageSize.x*i, -0.30f*( stageSize.y-SCALED_HEIGHT ), 0.0f) );
+ mScrollParent.Add( page );
+ }
+
+ mScrollParent.SetOpacity( 0.0f );
+ mScrollParent.SetScale( Vector3(0.0f, 0.0f, 0.0f) );
+
+ // fade in
+ ShowAnimation();
+ }
+
+ void ShowAnimation()
+ {
+ mShowAnimation = Animation::New(1.0f);
+ mShowAnimation.AnimateTo( Property(mScrollParent, Actor::Property::COLOR_ALPHA), 1.0f, AlphaFunction::EASE_IN_OUT );
+ mShowAnimation.AnimateTo( Property(mScrollParent, Actor::Property::SCALE), Vector3(1.0f, 1.0f, 1.0f), AlphaFunction::EASE_IN_OUT );
+ mShowAnimation.FinishedSignal().Connect( this, &HomescreenBenchmark::OnAnimationEnd );
+ mShowAnimation.Play();
+ }
+
+ void ScrollPages(int pages, float duration, bool flick)
+ {
+ duration *= PAGE_DURATION_SCALE_FACTOR;
+ Vector3 stageSize( Stage::GetCurrent().GetSize() );
+ mScrollAnimation = Animation::New(duration);
+ if( flick )
+ {
+ mScrollAnimation.AnimateBy( Property(mScrollParent, Actor::Property::POSITION), Vector3(-stageSize.x*pages, 0.0f, 0.0f), AlphaFunction::EASE_IN_OUT );
+ }
+ else
+ {
+ for( int i = 0; i < abs(pages); ++i )
+ {
+ mScrollAnimation.AnimateBy( Property(mScrollParent, Actor::Property::POSITION), Vector3(pages < 0 ? stageSize.x : -stageSize.x, 0.0f, 0.0f), AlphaFunction::EASE_IN_OUT, TimePeriod(duration*i, duration) );
+ }
+ }
+ mScrollAnimation.FinishedSignal().Connect( this, &HomescreenBenchmark::OnAnimationEnd );
+ mScrollAnimation.Play();
+ mCurrentPage += pages;
+ }
+
+ void OnAnimationEnd( Animation& source )
+ {
+ if( source == mShowAnimation )
+ {
+ ScriptData& frame = mScriptFrameData[0];
+ ScrollPages( frame.mPages, frame.mDuration, frame.mFlick );
+ mScriptFrame = 1;
+ }
+ else if( mScriptFrame < mScriptFrameData.size() && source == mScrollAnimation )
+ {
+ ScriptData& frame = mScriptFrameData[mScriptFrame];
+ ScrollPages( frame.mPages, frame.mDuration, frame.mFlick );
+ ++mScriptFrame;
+ }
+ else
+ {
+ mApplication.Quit();
+ }
+ }
+
+private:
+ Application& mApplication;
+
+ Actor mScrollParent;
+
+ Animation mShowAnimation;
+ Animation mScrollAnimation;
+
+ Config mConfig;
+
+ std::vector mScriptFrameData;
+ size_t mScriptFrame;
+
+ int mCurrentPage;
+};
+
+void RunTest( Application& application, const HomescreenBenchmark::Config& config, bool printHelpAndExit )
+{
+ HomescreenBenchmark test( application, config );
+
+ if( printHelpAndExit )
+ {
+ PrintHelp( "c", " Number of columns");
+ PrintHelp( "r", " Number of rows");
+ PrintHelp( "p", " Number of pages ( must be greater than 1 )");
+ PrintHelp( "-use-tableview", " Uses TableView for layouting");
+ return;
+ }
+
+ application.MainLoop();
+}
+
+// Entry point for Linux & Tizen applications
+//
+int main( int argc, char **argv )
+{
+ // default settings
+ HomescreenBenchmark::Config config;
+
+ bool printHelpAndExit = false;
+
+ for( int i(1) ; i < argc; ++i )
+ {
+ std::string arg( argv[i] );
+ if( arg.compare( 0, 2, "-r" ) == 0 )
+ {
+ config.mRows = atoi( arg.substr( 2 ).c_str() );
+ }
+ else if( arg.compare( 0, 2, "-c" ) == 0 )
+ {
+ config.mCols = atoi( arg.substr( 2 ).c_str() );
+ }
+ else if( arg.compare( 0, 2, "-p" ) == 0 )
+ {
+ config.mPageCount = atoi( arg.substr( 2 ).c_str() );
+ }
+ else if( arg.compare( "--use-tableview" ) == 0 )
+ {
+ config.mUseTableView = true;
+ }
+ else if( arg.compare( "--help" ) == 0 )
+ {
+ printHelpAndExit = true;
+ }
+
+ }
+
+ Application application = Application::New( &argc, &argv );
+
+ RunTest( application, config, printHelpAndExit );
+
+ return 0;
+}
diff --git a/packaging/com.samsung.dali-demo.spec b/packaging/com.samsung.dali-demo.spec
index 8efa560..f06d5b8 100755
--- a/packaging/com.samsung.dali-demo.spec
+++ b/packaging/com.samsung.dali-demo.spec
@@ -2,7 +2,7 @@
Name: com.samsung.dali-demo
Summary: The OpenGLES Canvas Core Demo
-Version: 1.1.19
+Version: 1.1.20
Release: 1
Group: System/Libraries
License: Apache-2.0
diff --git a/resources/images/application-icon-0.png b/resources/images/application-icon-0.png
new file mode 100644
index 0000000..339b19c
--- /dev/null
+++ b/resources/images/application-icon-0.png
diff --git a/resources/images/application-icon-1.png b/resources/images/application-icon-1.png
new file mode 100644
index 0000000..2d8ab53
--- /dev/null
+++ b/resources/images/application-icon-1.png
diff --git a/resources/images/application-icon-10.png b/resources/images/application-icon-10.png
new file mode 100644
index 0000000..d4f971d
--- /dev/null
+++ b/resources/images/application-icon-10.png
diff --git a/resources/images/application-icon-100.png b/resources/images/application-icon-100.png
new file mode 100644
index 0000000..435b66e
--- /dev/null
+++ b/resources/images/application-icon-100.png
diff --git a/resources/images/application-icon-101.png b/resources/images/application-icon-101.png
new file mode 100644
index 0000000..71e46dd
--- /dev/null
+++ b/resources/images/application-icon-101.png
diff --git a/resources/images/application-icon-102.png b/resources/images/application-icon-102.png
new file mode 100644
index 0000000..0bd01dd
--- /dev/null
+++ b/resources/images/application-icon-102.png
diff --git a/resources/images/application-icon-103.png b/resources/images/application-icon-103.png
new file mode 100644
index 0000000..d362cbc
--- /dev/null
+++ b/resources/images/application-icon-103.png
diff --git a/resources/images/application-icon-104.png b/resources/images/application-icon-104.png
new file mode 100644
index 0000000..dfb2de9
--- /dev/null
+++ b/resources/images/application-icon-104.png
diff --git a/resources/images/application-icon-105.png b/resources/images/application-icon-105.png
new file mode 100644
index 0000000..0240cfa
--- /dev/null
+++ b/resources/images/application-icon-105.png
diff --git a/resources/images/application-icon-106.png b/resources/images/application-icon-106.png
new file mode 100644
index 0000000..429467e
--- /dev/null
+++ b/resources/images/application-icon-106.png
diff --git a/resources/images/application-icon-107.png b/resources/images/application-icon-107.png
new file mode 100644
index 0000000..fccbfc2
--- /dev/null
+++ b/resources/images/application-icon-107.png
diff --git a/resources/images/application-icon-108.png b/resources/images/application-icon-108.png
new file mode 100644
index 0000000..3e1a087
--- /dev/null
+++ b/resources/images/application-icon-108.png
diff --git a/resources/images/application-icon-109.png b/resources/images/application-icon-109.png
new file mode 100644
index 0000000..b9893fd
--- /dev/null
+++ b/resources/images/application-icon-109.png
diff --git a/resources/images/application-icon-11.png b/resources/images/application-icon-11.png
new file mode 100644
index 0000000..88244f3
--- /dev/null
+++ b/resources/images/application-icon-11.png
diff --git a/resources/images/application-icon-110.png b/resources/images/application-icon-110.png
new file mode 100644
index 0000000..e0c805d
--- /dev/null
+++ b/resources/images/application-icon-110.png
diff --git a/resources/images/application-icon-111.png b/resources/images/application-icon-111.png
new file mode 100644
index 0000000..d9c37f0
--- /dev/null
+++ b/resources/images/application-icon-111.png
diff --git a/resources/images/application-icon-112.png b/resources/images/application-icon-112.png
new file mode 100644
index 0000000..d1fd423
--- /dev/null
+++ b/resources/images/application-icon-112.png
diff --git a/resources/images/application-icon-113.png b/resources/images/application-icon-113.png
new file mode 100644
index 0000000..4e92fda
--- /dev/null
+++ b/resources/images/application-icon-113.png
diff --git a/resources/images/application-icon-114.png b/resources/images/application-icon-114.png
new file mode 100644
index 0000000..462a8ba
--- /dev/null
+++ b/resources/images/application-icon-114.png
diff --git a/resources/images/application-icon-115.png b/resources/images/application-icon-115.png
new file mode 100644
index 0000000..ad63c1d
--- /dev/null
+++ b/resources/images/application-icon-115.png
diff --git a/resources/images/application-icon-116.png b/resources/images/application-icon-116.png
new file mode 100644
index 0000000..da8cd95
--- /dev/null
+++ b/resources/images/application-icon-116.png
diff --git a/resources/images/application-icon-117.png b/resources/images/application-icon-117.png
new file mode 100644
index 0000000..dc9e2c1
--- /dev/null
+++ b/resources/images/application-icon-117.png
diff --git a/resources/images/application-icon-118.png b/resources/images/application-icon-118.png
new file mode 100644
index 0000000..a239cfa
--- /dev/null
+++ b/resources/images/application-icon-118.png
diff --git a/resources/images/application-icon-119.png b/resources/images/application-icon-119.png
new file mode 100644
index 0000000..b5c4957
--- /dev/null
+++ b/resources/images/application-icon-119.png
diff --git a/resources/images/application-icon-12.png b/resources/images/application-icon-12.png
new file mode 100644
index 0000000..10e1d17
--- /dev/null
+++ b/resources/images/application-icon-12.png
diff --git a/resources/images/application-icon-120.png b/resources/images/application-icon-120.png
new file mode 100644
index 0000000..0ec34b6
--- /dev/null
+++ b/resources/images/application-icon-120.png
diff --git a/resources/images/application-icon-121.png b/resources/images/application-icon-121.png
new file mode 100644
index 0000000..787bfb4
--- /dev/null
+++ b/resources/images/application-icon-121.png
diff --git a/resources/images/application-icon-122.png b/resources/images/application-icon-122.png
new file mode 100644
index 0000000..aed2287
--- /dev/null
+++ b/resources/images/application-icon-122.png
diff --git a/resources/images/application-icon-123.png b/resources/images/application-icon-123.png
new file mode 100644
index 0000000..552e6a1
--- /dev/null
+++ b/resources/images/application-icon-123.png
diff --git a/resources/images/application-icon-124.png b/resources/images/application-icon-124.png
new file mode 100644
index 0000000..552e6a1
--- /dev/null
+++ b/resources/images/application-icon-124.png
diff --git a/resources/images/application-icon-125.png b/resources/images/application-icon-125.png
new file mode 100644
index 0000000..58baa5b
--- /dev/null
+++ b/resources/images/application-icon-125.png
diff --git a/resources/images/application-icon-126.png b/resources/images/application-icon-126.png
new file mode 100644
index 0000000..8ee674c
--- /dev/null
+++ b/resources/images/application-icon-126.png
diff --git a/resources/images/application-icon-127.png b/resources/images/application-icon-127.png
new file mode 100644
index 0000000..5e7d7ff
--- /dev/null
+++ b/resources/images/application-icon-127.png
diff --git a/resources/images/application-icon-128.png b/resources/images/application-icon-128.png
new file mode 100644
index 0000000..0675bdf
--- /dev/null
+++ b/resources/images/application-icon-128.png
diff --git a/resources/images/application-icon-129.png b/resources/images/application-icon-129.png
new file mode 100644
index 0000000..5d47c3d
--- /dev/null
+++ b/resources/images/application-icon-129.png
diff --git a/resources/images/application-icon-13.png b/resources/images/application-icon-13.png
new file mode 100644
index 0000000..6745ad8
--- /dev/null
+++ b/resources/images/application-icon-13.png
diff --git a/resources/images/application-icon-130.png b/resources/images/application-icon-130.png
new file mode 100644
index 0000000..e3e72f5
--- /dev/null
+++ b/resources/images/application-icon-130.png
diff --git a/resources/images/application-icon-131.png b/resources/images/application-icon-131.png
new file mode 100644
index 0000000..6fd0bc1
--- /dev/null
+++ b/resources/images/application-icon-131.png
diff --git a/resources/images/application-icon-132.png b/resources/images/application-icon-132.png
new file mode 100644
index 0000000..a33ef22
--- /dev/null
+++ b/resources/images/application-icon-132.png
diff --git a/resources/images/application-icon-133.png b/resources/images/application-icon-133.png
new file mode 100644
index 0000000..ab9b7af
--- /dev/null
+++ b/resources/images/application-icon-133.png
diff --git a/resources/images/application-icon-134.png b/resources/images/application-icon-134.png
new file mode 100644
index 0000000..bfacb62
--- /dev/null
+++ b/resources/images/application-icon-134.png
diff --git a/resources/images/application-icon-135.png b/resources/images/application-icon-135.png
new file mode 100644
index 0000000..6b9658d
--- /dev/null
+++ b/resources/images/application-icon-135.png
diff --git a/resources/images/application-icon-136.png b/resources/images/application-icon-136.png
new file mode 100644
index 0000000..4c1b4eb
--- /dev/null
+++ b/resources/images/application-icon-136.png
diff --git a/resources/images/application-icon-137.png b/resources/images/application-icon-137.png
new file mode 100644
index 0000000..47896fb
--- /dev/null
+++ b/resources/images/application-icon-137.png
diff --git a/resources/images/application-icon-138.png b/resources/images/application-icon-138.png
new file mode 100644
index 0000000..431435c
--- /dev/null
+++ b/resources/images/application-icon-138.png
diff --git a/resources/images/application-icon-139.png b/resources/images/application-icon-139.png
new file mode 100644
index 0000000..aa949fd
--- /dev/null
+++ b/resources/images/application-icon-139.png
diff --git a/resources/images/application-icon-14.png b/resources/images/application-icon-14.png
new file mode 100644
index 0000000..42334b6
--- /dev/null
+++ b/resources/images/application-icon-14.png
diff --git a/resources/images/application-icon-140.png b/resources/images/application-icon-140.png
new file mode 100644
index 0000000..616d4c5
--- /dev/null
+++ b/resources/images/application-icon-140.png
diff --git a/resources/images/application-icon-141.png b/resources/images/application-icon-141.png
new file mode 100644
index 0000000..7d684f8
--- /dev/null
+++ b/resources/images/application-icon-141.png
diff --git a/resources/images/application-icon-142.png b/resources/images/application-icon-142.png
new file mode 100644
index 0000000..b12ced8
--- /dev/null
+++ b/resources/images/application-icon-142.png
diff --git a/resources/images/application-icon-143.png b/resources/images/application-icon-143.png
new file mode 100644
index 0000000..de76ed3
--- /dev/null
+++ b/resources/images/application-icon-143.png
diff --git a/resources/images/application-icon-144.png b/resources/images/application-icon-144.png
new file mode 100644
index 0000000..bf8071e
--- /dev/null
+++ b/resources/images/application-icon-144.png
diff --git a/resources/images/application-icon-145.png b/resources/images/application-icon-145.png
new file mode 100644
index 0000000..12c7c43
--- /dev/null
+++ b/resources/images/application-icon-145.png
diff --git a/resources/images/application-icon-146.png b/resources/images/application-icon-146.png
new file mode 100644
index 0000000..74205c0
--- /dev/null
+++ b/resources/images/application-icon-146.png
diff --git a/resources/images/application-icon-147.png b/resources/images/application-icon-147.png
new file mode 100644
index 0000000..48839b0
--- /dev/null
+++ b/resources/images/application-icon-147.png
diff --git a/resources/images/application-icon-15.png b/resources/images/application-icon-15.png
new file mode 100644
index 0000000..1e4e077
--- /dev/null
+++ b/resources/images/application-icon-15.png
diff --git a/resources/images/application-icon-16.png b/resources/images/application-icon-16.png
new file mode 100644
index 0000000..1508e92
--- /dev/null
+++ b/resources/images/application-icon-16.png
diff --git a/resources/images/application-icon-17.png b/resources/images/application-icon-17.png
new file mode 100644
index 0000000..5dbb3b3
--- /dev/null
+++ b/resources/images/application-icon-17.png
diff --git a/resources/images/application-icon-18.png b/resources/images/application-icon-18.png
new file mode 100644
index 0000000..f2205b8
--- /dev/null
+++ b/resources/images/application-icon-18.png
diff --git a/resources/images/application-icon-19.png b/resources/images/application-icon-19.png
new file mode 100644
index 0000000..86f7b24
--- /dev/null
+++ b/resources/images/application-icon-19.png
diff --git a/resources/images/application-icon-2.png b/resources/images/application-icon-2.png
new file mode 100644
index 0000000..c10b969
--- /dev/null
+++ b/resources/images/application-icon-2.png
diff --git a/resources/images/application-icon-20.png b/resources/images/application-icon-20.png
new file mode 100644
index 0000000..aecb4a6
--- /dev/null
+++ b/resources/images/application-icon-20.png
diff --git a/resources/images/application-icon-21.png b/resources/images/application-icon-21.png
new file mode 100644
index 0000000..f5b1418
--- /dev/null
+++ b/resources/images/application-icon-21.png
diff --git a/resources/images/application-icon-22.png b/resources/images/application-icon-22.png
new file mode 100644
index 0000000..4221262
--- /dev/null
+++ b/resources/images/application-icon-22.png
diff --git a/resources/images/application-icon-23.png b/resources/images/application-icon-23.png
new file mode 100644
index 0000000..4e7507b
--- /dev/null
+++ b/resources/images/application-icon-23.png
diff --git a/resources/images/application-icon-24.png b/resources/images/application-icon-24.png
new file mode 100644
index 0000000..680257c
--- /dev/null
+++ b/resources/images/application-icon-24.png
diff --git a/resources/images/application-icon-25.png b/resources/images/application-icon-25.png
new file mode 100644
index 0000000..a404573
--- /dev/null
+++ b/resources/images/application-icon-25.png
diff --git a/resources/images/application-icon-26.png b/resources/images/application-icon-26.png
new file mode 100644
index 0000000..10138e5
--- /dev/null
+++ b/resources/images/application-icon-26.png
diff --git a/resources/images/application-icon-27.png b/resources/images/application-icon-27.png
new file mode 100644
index 0000000..5dbb3b3
--- /dev/null
+++ b/resources/images/application-icon-27.png
diff --git a/resources/images/application-icon-28.png b/resources/images/application-icon-28.png
new file mode 100644
index 0000000..1d71a31
--- /dev/null
+++ b/resources/images/application-icon-28.png
diff --git a/resources/images/application-icon-29.png b/resources/images/application-icon-29.png
new file mode 100644
index 0000000..040c36b
--- /dev/null
+++ b/resources/images/application-icon-29.png
diff --git a/resources/images/application-icon-3.png b/resources/images/application-icon-3.png
new file mode 100644
index 0000000..6d8dd51
--- /dev/null
+++ b/resources/images/application-icon-3.png
diff --git a/resources/images/application-icon-30.png b/resources/images/application-icon-30.png
new file mode 100644
index 0000000..445590d
--- /dev/null
+++ b/resources/images/application-icon-30.png
diff --git a/resources/images/application-icon-31.png b/resources/images/application-icon-31.png
new file mode 100644
index 0000000..622c6c4
--- /dev/null
+++ b/resources/images/application-icon-31.png
diff --git a/resources/images/application-icon-32.png b/resources/images/application-icon-32.png
new file mode 100644
index 0000000..85cbcbc
--- /dev/null
+++ b/resources/images/application-icon-32.png
diff --git a/resources/images/application-icon-33.png b/resources/images/application-icon-33.png
new file mode 100644
index 0000000..6d34c4c
--- /dev/null
+++ b/resources/images/application-icon-33.png
diff --git a/resources/images/application-icon-34.png b/resources/images/application-icon-34.png
new file mode 100644
index 0000000..5b3a9da
--- /dev/null
+++ b/resources/images/application-icon-34.png
diff --git a/resources/images/application-icon-35.png b/resources/images/application-icon-35.png
new file mode 100644
index 0000000..3e01c4b
--- /dev/null
+++ b/resources/images/application-icon-35.png
diff --git a/resources/images/application-icon-36.png b/resources/images/application-icon-36.png
new file mode 100644
index 0000000..b4a6e61
--- /dev/null
+++ b/resources/images/application-icon-36.png
diff --git a/resources/images/application-icon-37.png b/resources/images/application-icon-37.png
new file mode 100644
index 0000000..93ae9fa
--- /dev/null
+++ b/resources/images/application-icon-37.png
diff --git a/resources/images/application-icon-38.png b/resources/images/application-icon-38.png
new file mode 100644
index 0000000..856ca9b
--- /dev/null
+++ b/resources/images/application-icon-38.png
diff --git a/resources/images/application-icon-39.png b/resources/images/application-icon-39.png
new file mode 100644
index 0000000..269fb7a
--- /dev/null
+++ b/resources/images/application-icon-39.png
diff --git a/resources/images/application-icon-4.png b/resources/images/application-icon-4.png
new file mode 100644
index 0000000..e56f659
--- /dev/null
+++ b/resources/images/application-icon-4.png
diff --git a/resources/images/application-icon-40.png b/resources/images/application-icon-40.png
new file mode 100644
index 0000000..c6ad109
--- /dev/null
+++ b/resources/images/application-icon-40.png
diff --git a/resources/images/application-icon-41.png b/resources/images/application-icon-41.png
new file mode 100644
index 0000000..72e0063
--- /dev/null
+++ b/resources/images/application-icon-41.png
diff --git a/resources/images/application-icon-42.png b/resources/images/application-icon-42.png
new file mode 100644
index 0000000..2d8b20e
--- /dev/null
+++ b/resources/images/application-icon-42.png
diff --git a/resources/images/application-icon-43.png b/resources/images/application-icon-43.png
new file mode 100644
index 0000000..792b76c
--- /dev/null
+++ b/resources/images/application-icon-43.png
diff --git a/resources/images/application-icon-44.png b/resources/images/application-icon-44.png
new file mode 100644
index 0000000..248fc7c
--- /dev/null
+++ b/resources/images/application-icon-44.png
diff --git a/resources/images/application-icon-45.png b/resources/images/application-icon-45.png
new file mode 100644
index 0000000..c39406b
--- /dev/null
+++ b/resources/images/application-icon-45.png
diff --git a/resources/images/application-icon-46.png b/resources/images/application-icon-46.png
new file mode 100644
index 0000000..cb5e340
--- /dev/null
+++ b/resources/images/application-icon-46.png
diff --git a/resources/images/application-icon-47.png b/resources/images/application-icon-47.png
new file mode 100644
index 0000000..1c95124
--- /dev/null
+++ b/resources/images/application-icon-47.png
diff --git a/resources/images/application-icon-48.png b/resources/images/application-icon-48.png
new file mode 100644
index 0000000..d8cb704
--- /dev/null
+++ b/resources/images/application-icon-48.png
diff --git a/resources/images/application-icon-49.png b/resources/images/application-icon-49.png
new file mode 100644
index 0000000..f8e86a0
--- /dev/null
+++ b/resources/images/application-icon-49.png
diff --git a/resources/images/application-icon-5.png b/resources/images/application-icon-5.png
new file mode 100644
index 0000000..559bd6d
--- /dev/null
+++ b/resources/images/application-icon-5.png
diff --git a/resources/images/application-icon-50.png b/resources/images/application-icon-50.png
new file mode 100644
index 0000000..0138610
--- /dev/null
+++ b/resources/images/application-icon-50.png
diff --git a/resources/images/application-icon-51.png b/resources/images/application-icon-51.png
new file mode 100644
index 0000000..fae1ab7
--- /dev/null
+++ b/resources/images/application-icon-51.png
diff --git a/resources/images/application-icon-52.png b/resources/images/application-icon-52.png
new file mode 100644
index 0000000..6026c78
--- /dev/null
+++ b/resources/images/application-icon-52.png
diff --git a/resources/images/application-icon-53.png b/resources/images/application-icon-53.png
new file mode 100644
index 0000000..58d716f
--- /dev/null
+++ b/resources/images/application-icon-53.png
diff --git a/resources/images/application-icon-54.png b/resources/images/application-icon-54.png
new file mode 100644
index 0000000..f2632bc
--- /dev/null
+++ b/resources/images/application-icon-54.png
diff --git a/resources/images/application-icon-55.png b/resources/images/application-icon-55.png
new file mode 100644
index 0000000..787bfb4
--- /dev/null
+++ b/resources/images/application-icon-55.png
diff --git a/resources/images/application-icon-56.png b/resources/images/application-icon-56.png
new file mode 100644
index 0000000..255fc38
--- /dev/null
+++ b/resources/images/application-icon-56.png
diff --git a/resources/images/application-icon-57.png b/resources/images/application-icon-57.png
new file mode 100644
index 0000000..1548244
--- /dev/null
+++ b/resources/images/application-icon-57.png
diff --git a/resources/images/application-icon-58.png b/resources/images/application-icon-58.png
new file mode 100644
index 0000000..6545c2d
--- /dev/null
+++ b/resources/images/application-icon-58.png
diff --git a/resources/images/application-icon-59.png b/resources/images/application-icon-59.png
new file mode 100644
index 0000000..5907fbb
--- /dev/null
+++ b/resources/images/application-icon-59.png
diff --git a/resources/images/application-icon-6.png b/resources/images/application-icon-6.png
new file mode 100644
index 0000000..1568377
--- /dev/null
+++ b/resources/images/application-icon-6.png
diff --git a/resources/images/application-icon-60.png b/resources/images/application-icon-60.png
new file mode 100644
index 0000000..0b9ee36
--- /dev/null
+++ b/resources/images/application-icon-60.png
diff --git a/resources/images/application-icon-61.png b/resources/images/application-icon-61.png
new file mode 100644
index 0000000..840396f
--- /dev/null
+++ b/resources/images/application-icon-61.png
diff --git a/resources/images/application-icon-62.png b/resources/images/application-icon-62.png
new file mode 100644
index 0000000..befc036
--- /dev/null
+++ b/resources/images/application-icon-62.png
diff --git a/resources/images/application-icon-63.png b/resources/images/application-icon-63.png
new file mode 100644
index 0000000..4a4e3f2
--- /dev/null
+++ b/resources/images/application-icon-63.png
diff --git a/resources/images/application-icon-64.png b/resources/images/application-icon-64.png
new file mode 100644
index 0000000..a840b6c
--- /dev/null
+++ b/resources/images/application-icon-64.png
diff --git a/resources/images/application-icon-65.png b/resources/images/application-icon-65.png
new file mode 100644
index 0000000..eb7bc1d
--- /dev/null
+++ b/resources/images/application-icon-65.png
diff --git a/resources/images/application-icon-66.png b/resources/images/application-icon-66.png
new file mode 100644
index 0000000..096fc50
--- /dev/null
+++ b/resources/images/application-icon-66.png
diff --git a/resources/images/application-icon-67.png b/resources/images/application-icon-67.png
new file mode 100644
index 0000000..d45492c
--- /dev/null
+++ b/resources/images/application-icon-67.png
diff --git a/resources/images/application-icon-68.png b/resources/images/application-icon-68.png
new file mode 100644
index 0000000..19e9a4c
--- /dev/null
+++ b/resources/images/application-icon-68.png
diff --git a/resources/images/application-icon-69.png b/resources/images/application-icon-69.png
new file mode 100644
index 0000000..9de33b2
--- /dev/null
+++ b/resources/images/application-icon-69.png
diff --git a/resources/images/application-icon-7.png b/resources/images/application-icon-7.png
new file mode 100644
index 0000000..33477d9
--- /dev/null
+++ b/resources/images/application-icon-7.png
diff --git a/resources/images/application-icon-70.png b/resources/images/application-icon-70.png
new file mode 100644
index 0000000..c04f818
--- /dev/null
+++ b/resources/images/application-icon-70.png
diff --git a/resources/images/application-icon-71.png b/resources/images/application-icon-71.png
new file mode 100644
index 0000000..b6d34bb
--- /dev/null
+++ b/resources/images/application-icon-71.png
diff --git a/resources/images/application-icon-72.png b/resources/images/application-icon-72.png
new file mode 100644
index 0000000..337a287
--- /dev/null
+++ b/resources/images/application-icon-72.png
diff --git a/resources/images/application-icon-73.png b/resources/images/application-icon-73.png
new file mode 100644
index 0000000..7e430da
--- /dev/null
+++ b/resources/images/application-icon-73.png
diff --git a/resources/images/application-icon-74.png b/resources/images/application-icon-74.png
new file mode 100644
index 0000000..a873d85
--- /dev/null
+++ b/resources/images/application-icon-74.png
diff --git a/resources/images/application-icon-75.png b/resources/images/application-icon-75.png
new file mode 100644
index 0000000..144c862
--- /dev/null
+++ b/resources/images/application-icon-75.png
diff --git a/resources/images/application-icon-76.png b/resources/images/application-icon-76.png
new file mode 100644
index 0000000..9280111
--- /dev/null
+++ b/resources/images/application-icon-76.png
diff --git a/resources/images/application-icon-77.png b/resources/images/application-icon-77.png
new file mode 100644
index 0000000..d362cbc
--- /dev/null
+++ b/resources/images/application-icon-77.png
diff --git a/resources/images/application-icon-78.png b/resources/images/application-icon-78.png
new file mode 100644
index 0000000..a0306f3
--- /dev/null
+++ b/resources/images/application-icon-78.png
diff --git a/resources/images/application-icon-79.png b/resources/images/application-icon-79.png
new file mode 100644
index 0000000..754490c
--- /dev/null
+++ b/resources/images/application-icon-79.png
diff --git a/resources/images/application-icon-8.png b/resources/images/application-icon-8.png
new file mode 100644
index 0000000..e28eaec
--- /dev/null
+++ b/resources/images/application-icon-8.png
diff --git a/resources/images/application-icon-80.png b/resources/images/application-icon-80.png
new file mode 100644
index 0000000..3d75ce2
--- /dev/null
+++ b/resources/images/application-icon-80.png
diff --git a/resources/images/application-icon-81.png b/resources/images/application-icon-81.png
new file mode 100644
index 0000000..3b1b58d
--- /dev/null
+++ b/resources/images/application-icon-81.png
diff --git a/resources/images/application-icon-82.png b/resources/images/application-icon-82.png
new file mode 100644
index 0000000..5719830
--- /dev/null
+++ b/resources/images/application-icon-82.png
diff --git a/resources/images/application-icon-83.png b/resources/images/application-icon-83.png
new file mode 100644
index 0000000..b211532
--- /dev/null
+++ b/resources/images/application-icon-83.png
diff --git a/resources/images/application-icon-84.png b/resources/images/application-icon-84.png
new file mode 100644
index 0000000..49d9f65
--- /dev/null
+++ b/resources/images/application-icon-84.png
diff --git a/resources/images/application-icon-85.png b/resources/images/application-icon-85.png
new file mode 100644
index 0000000..a249388
--- /dev/null
+++ b/resources/images/application-icon-85.png
diff --git a/resources/images/application-icon-86.png b/resources/images/application-icon-86.png
new file mode 100644
index 0000000..96e0405
--- /dev/null
+++ b/resources/images/application-icon-86.png
diff --git a/resources/images/application-icon-87.png b/resources/images/application-icon-87.png
new file mode 100644
index 0000000..f0eee47
--- /dev/null
+++ b/resources/images/application-icon-87.png
diff --git a/resources/images/application-icon-88.png b/resources/images/application-icon-88.png
new file mode 100644
index 0000000..5b6a331
--- /dev/null
+++ b/resources/images/application-icon-88.png
diff --git a/resources/images/application-icon-89.png b/resources/images/application-icon-89.png
new file mode 100644
index 0000000..83f4581
--- /dev/null
+++ b/resources/images/application-icon-89.png
diff --git a/resources/images/application-icon-9.png b/resources/images/application-icon-9.png
new file mode 100644
index 0000000..e819ff3
--- /dev/null
+++ b/resources/images/application-icon-9.png
diff --git a/resources/images/application-icon-90.png b/resources/images/application-icon-90.png
new file mode 100644
index 0000000..eefd52b
--- /dev/null
+++ b/resources/images/application-icon-90.png
diff --git a/resources/images/application-icon-91.png b/resources/images/application-icon-91.png
new file mode 100644
index 0000000..a2735dc
--- /dev/null
+++ b/resources/images/application-icon-91.png
diff --git a/resources/images/application-icon-92.png b/resources/images/application-icon-92.png
new file mode 100644
index 0000000..6e875cf
--- /dev/null
+++ b/resources/images/application-icon-92.png
diff --git a/resources/images/application-icon-93.png b/resources/images/application-icon-93.png
new file mode 100644
index 0000000..16fdd9c
--- /dev/null
+++ b/resources/images/application-icon-93.png
diff --git a/resources/images/application-icon-94.png b/resources/images/application-icon-94.png
new file mode 100644
index 0000000..a9229f3
--- /dev/null
+++ b/resources/images/application-icon-94.png
diff --git a/resources/images/application-icon-95.png b/resources/images/application-icon-95.png
new file mode 100644
index 0000000..754490c
--- /dev/null
+++ b/resources/images/application-icon-95.png
diff --git a/resources/images/application-icon-96.png b/resources/images/application-icon-96.png
new file mode 100644
index 0000000..6e38c02
--- /dev/null
+++ b/resources/images/application-icon-96.png
diff --git a/resources/images/application-icon-97.png b/resources/images/application-icon-97.png
new file mode 100644
index 0000000..46c9344
--- /dev/null
+++ b/resources/images/application-icon-97.png
diff --git a/resources/images/application-icon-98.png b/resources/images/application-icon-98.png
new file mode 100644
index 0000000..92d4562
--- /dev/null
+++ b/resources/images/application-icon-98.png
diff --git a/resources/images/application-icon-99.png b/resources/images/application-icon-99.png
new file mode 100644
index 0000000..4edb838
--- /dev/null
+++ b/resources/images/application-icon-99.png