X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=examples%2Fhello-world%2Fhello-world-example.cpp;h=8e1907752590309646329acc5f2db86b76fa6173;hb=f00dca41f5430eea2ed3b00f0be2a010ceb3c664;hp=199469870947babb4d2fde2075e177cd9baa4bd0;hpb=4d0bd400feeebfe732276ac82f01bacf5131685b;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 1994698..8e19077 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,21 +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 ) { - // TODO + // 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 ); + + // Respond to a touch anywhere on the window + window.GetRootLayer().TouchSignal().Connect( this, &HelloWorldController::OnTouch ); + + // Respond to key events + window.KeyEventSignal().Connect( this, &HelloWorldController::OnKeyEvent ); } bool OnTouch( Actor actor, const TouchEvent& touch ) @@ -52,24 +61,25 @@ public: return true; } + void OnKeyEvent( const KeyEvent& event ) + { + if( event.state == 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; }