[dali_1.9.14] Merge branch 'devel/master'
[platform/core/uifw/dali-demo.git] / examples / hello-world / hello-world-example.cpp
index 89670a1..3f3d458 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2018 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.
@@ -46,12 +46,33 @@ public:
     stage.SetBackgroundColor( Color::WHITE );
 
     TextLabel textLabel = TextLabel::New( "Hello World" );
-    textLabel.SetAnchorPoint( AnchorPoint::TOP_LEFT );
-    textLabel.SetName( "helloWorldLabel" );
+    textLabel.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
+    textLabel.SetProperty( Dali::Actor::Property::NAME, "helloWorldLabel" );
     stage.Add( textLabel );
 
+
+    Actor parent = Actor::New();
+    Vector4 parentColor( 1.0f, 0.5f, 0.0f, 0.8f );
+    parent.SetProperty( Actor::Property::COLOR, parentColor );
+    Stage::GetCurrent().Add( parent );
+
+    Actor child = Actor::New();
+    Vector4 childColor( 0.5f, 0.6f, 0.5f, 1.0f );
+    child.SetProperty( Actor::Property::COLOR, childColor );
+    parent.Add( child );
+
+    std::string colorMode = static_cast<std::string>( child.GetProperty< std::string >( Actor::Property::COLOR_MODE ) );
+    printf("color mode: %s, should be: %d\n", colorMode.c_str(), ColorMode::USE_OWN_MULTIPLY_PARENT_ALPHA );
+
+    child.SetProperty( Actor::Property::COLOR_MODE, ColorMode::USE_PARENT_COLOR );
+    colorMode = static_cast<std::string>( child.GetProperty< std::string >( Actor::Property::COLOR_MODE ) );
+    printf("color mode: %s, should be: %d\n", colorMode.c_str(), ColorMode::USE_PARENT_COLOR );
+
     // Respond to a click anywhere on the stage
     stage.GetRootLayer().TouchSignal().Connect( this, &HelloWorldController::OnTouch );
+
+    // Respond to key events
+    stage.KeyEventSignal().Connect( this, &HelloWorldController::OnKeyEvent );
   }
 
   bool OnTouch( Actor actor, const TouchData& touch )
@@ -61,24 +82,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 )
-{
-  HelloWorldController test( application );
-
-  application.MainLoop();
-}
-
-// Entry point for Linux & Tizen applications
-//
 int DALI_EXPORT_API main( int argc, char **argv )
 {
   Application application = Application::New( &argc, &argv );
-
-  RunTest( application );
-
+  HelloWorldController test( application );
+  application.MainLoop();
   return 0;
 }