/*
- * 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
//
class HelloWorldController : public ConnectionTracker
{
public:
-
- HelloWorldController( Application& application )
- : mApplication( application )
+ HelloWorldController(Application& application)
+ : mApplication(application)
{
- std::cout << "HelloWorldController::HelloWorldController" << std::endl;
-
// 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)
{
- // 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().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 & SLP applications
-//
-int main( int argc, char **argv )
-{
- Application application = Application::New( &argc, &argv );
-
- RunTest( application );
-
return 0;
}