/*
- * 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.
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 )
{
- // 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.SetAnchorPoint( AnchorPoint::TOP_LEFT );
- textLabel.SetName( "hello-world-label" );
- stage.Add( textLabel );
+ textLabel.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
+ textLabel.SetProperty( Dali::Actor::Property::NAME, "helloWorldLabel" );
+ window.Add( textLabel );
- // Respond to a click anywhere on the stage
- stage.GetRootLayer().TouchedSignal().Connect( this, &HelloWorldController::OnTouch );
+ // Respond to a touch anywhere on the window
+ window.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 & Tizen applications
-//
-int main( int argc, char **argv )
-{
- Application application = Application::New( &argc, &argv );
-
- RunTest( application );
-
return 0;
}