/*
- * 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.
*
*/
-#include <dali/dali.h>
+#include <dali-toolkit/dali-toolkit.h>
using namespace Dali;
+using Dali::Toolkit::TextLabel;
// This example shows how to create and display Hello World! using a simple TextActor
//
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 )
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;
}