X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=examples%2Fhello-world%2Fhello-world-example.cpp;h=0d1441420059a2a46393436f08f1ec4c443bd8b7;hb=1b19fd140ff139b5854a1a62447faf31b175d8f6;hp=2c5763a596436466f90513578997ab85768fe6c5;hpb=28946d814d1f11fddcc23a887a0e318133147549;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 2c5763a..0d14414 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. @@ -25,60 +25,60 @@ using Dali::Toolkit::TextLabel; class HelloWorldController : public ConnectionTracker { public: - - HelloWorldController( Application& application ) - : mApplication( application ) + HelloWorldController(Application& application) + : mApplication(application) { // Connect to the Application's Init signal - mApplication.InitSignal().Connect( this, &HelloWorldController::Create ); + 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 ) + void Create(Application& application) { - // Get a handle to the stage - Stage stage = Stage::GetCurrent(); - stage.SetBackgroundColor( Color::WHITE ); + // Get a handle to the window + Window window = application.GetWindow(); + window.SetBackgroundColor(Color::WHITE); + + 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); - TextLabel textLabel = TextLabel::New( "Hello World" ); - textLabel.SetAnchorPoint( AnchorPoint::TOP_LEFT ); - textLabel.SetName( "helloWorldLabel" ); - stage.Add( textLabel ); + // Respond to a touch anywhere on the window + window.GetRootLayer().TouchedSignal().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 ) + bool OnTouch(Actor actor, const TouchEvent& touch) { // quit the application mApplication.Quit(); 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; + Application& mApplication; }; -void RunTest( Application& application ) +int DALI_EXPORT_API main(int argc, char** argv) { - HelloWorldController test( application ); - + Application application = Application::New(&argc, &argv); + HelloWorldController test(application); application.MainLoop(); -} - -// Entry point for Linux & Tizen applications -// -int DALI_EXPORT_API main( int argc, char **argv ) -{ - Application application = Application::New( &argc, &argv ); - - RunTest( application ); - return 0; }