X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=examples%2Fhello-world%2Fhello-world-example.cpp;h=ebf322ea86bb604bea4c127e7fe0dece2b7a48fe;hb=e3080a83ec85e14ec8cbf82831fd73b152c6e86a;hp=f018779b6f6a6dd24961b321dc5237002f15bdd8;hpb=15c25021aa8494a8cacafde853e0585869e5eef4;p=platform%2Fcore%2Fuifw%2Fdali-demo.git diff --git a/examples/hello-world/hello-world-example.cpp b/examples/hello-world/hello-world-example.cpp index f018779..ebf322e 100644 --- a/examples/hello-world/hello-world-example.cpp +++ b/examples/hello-world/hello-world-example.cpp @@ -1,5 +1,5 @@ /* - * 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. @@ -15,9 +15,10 @@ * */ -#include +#include using namespace Dali; +using Dali::Toolkit::TextLabel; // This example shows how to create and display Hello World! using a simple TextActor // @@ -28,36 +29,29 @@ public: HelloWorldController( Application& application ) : mApplication( application ) { - std::cout << "HelloWorldController::HelloWorldController" << std::endl; - // Connect to the Application's Init signal mApplication.InitSignal().Connect( this, &HelloWorldController::Create ); } - ~HelloWorldController() - { - // Nothing to do here; - } + ~HelloWorldController() = default; // Nothing to do in destructor // The Init signal is received once (only) during the Application lifetime void Create( Application& application ) { - std::cout << "HelloWorldController::Create" << std::endl; - - // Initialize the actor - TextActor textActor = TextActor::New( "Hello World" ); - - // Reposition the actor - textActor.SetParentOrigin( ParentOrigin::CENTER ); + // Get a handle to the window + Window window = application.GetWindow(); + window.SetBackgroundColor( Color::WHITE ); - // Get a handle to the stage - Stage stage = Stage::GetCurrent(); + TextLabel textLabel = TextLabel::New( "Hello World" ); + textLabel.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT ); + textLabel.SetProperty( Dali::Actor::Property::NAME, "helloWorldLabel" ); + window.Add( textLabel ); - // Display the actor on the stage - stage.Add( textActor ); + // Respond to a touch anywhere on the window + window.GetRootLayer().TouchSignal().Connect( this, &HelloWorldController::OnTouch ); - // Respond to a click anywhere on the stage - stage.GetRootLayer().TouchedSignal().Connect( this, &HelloWorldController::OnTouch ); + // Respond to key events + window.KeyEventSignal().Connect( this, &HelloWorldController::OnKeyEvent ); } bool OnTouch( Actor actor, const TouchEvent& touch ) @@ -67,24 +61,25 @@ public: return true; } + void OnKeyEvent( const KeyEvent& event ) + { + if( event.GetState() == KeyEvent::DOWN ) + { + if ( IsKey( event, Dali::DALI_KEY_ESCAPE ) || IsKey( event, Dali::DALI_KEY_BACK ) ) + { + mApplication.Quit(); + } + } + } + private: Application& mApplication; }; -void RunTest( Application& application ) +int DALI_EXPORT_API main( int argc, char **argv ) { + Application application = Application::New( &argc, &argv ); HelloWorldController test( application ); - application.MainLoop(); -} - -// Entry point for Linux & SLP applications -// -int main( int argc, char **argv ) -{ - Application application = Application::New( &argc, &argv ); - - RunTest( application ); - return 0; }