[dali_1.9.14] Merge branch 'devel/master'
[platform/core/uifw/dali-demo.git] / examples / hello-world / hello-world-example.cpp
index 39fa54c..3f3d458 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 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,6 +82,17 @@ 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;
 };