2 // Copyright (c) 2014 Samsung Electronics Co., Ltd.
4 // Licensed under the Flora License, Version 1.0 (the License);
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
8 // http://floralicense.org/license/
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an AS IS BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
17 #include <dali/dali.h>
21 // This example shows how to create and display Hello World! using a simple TextActor
23 class HelloWorldController : public ConnectionTracker
27 HelloWorldController( Application& application )
28 : mApplication( application )
30 std::cout << "HelloWorldController::HelloWorldController" << std::endl;
32 // Connect to the Application's Init signal
33 mApplication.InitSignal().Connect( this, &HelloWorldController::Create );
36 ~HelloWorldController()
38 // Nothing to do here;
41 // The Init signal is received once (only) during the Application lifetime
42 void Create( Application& application )
44 std::cout << "HelloWorldController::Create" << std::endl;
46 // Initialize the actor
47 TextActor textActor = TextActor::New( "Hello World" );
49 // Reposition the actor
50 textActor.SetParentOrigin( ParentOrigin::CENTER );
52 // Get a handle to the stage
53 Stage stage = Stage::GetCurrent();
55 // Display the actor on the stage
56 stage.Add( textActor );
58 // Respond to a click anywhere on the stage
59 stage.GetRootLayer().TouchedSignal().Connect( this, &HelloWorldController::OnTouch );
62 bool OnTouch( Actor actor, const TouchEvent& touch )
64 // quit the application
70 Application& mApplication;
73 void RunTest( Application& application )
75 HelloWorldController test( application );
77 application.MainLoop();
80 // Entry point for Linux & SLP applications
82 int main( int argc, char **argv )
84 Application application = Application::New( &argc, &argv );
86 RunTest( application );