Revert "Revert "Renamed KeyEvent enum values to comply with coding standards.""
[platform/core/uifw/dali-demo.git] / examples / alpha-blending-cpu / alpha-blending-cpu-example.cpp
index 8b8cd98..e4efeac 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015 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.
@@ -16,8 +16,6 @@
  */
 
 #include <dali-toolkit/dali-toolkit.h>
-#include <dali-toolkit/devel-api/visuals/visual-properties-devel.h>
-#include <dali-toolkit/devel-api/visuals/image-visual-properties-devel.h>
 #include <cstring>
 
 using namespace Dali;
@@ -28,8 +26,8 @@ const char* const IMAGE_PATH_1 ( DEMO_IMAGE_DIR "people-small-7b.jpg" ); // 100x
 const char* const IMAGE_PATH_2 ( DEMO_IMAGE_DIR "people-medium-7.jpg" );
 const char* const IMAGE_PATH_3 ( DEMO_IMAGE_DIR "people-medium-7-rgb565.png" ); // is compressed
 const char* const IMAGE_PATH_4 ( DEMO_IMAGE_DIR "people-medium-7-masked.png" ); // has alpha channel
-const char* const MASK_IMAGE_PATH_1 ( DEMO_IMAGE_DIR "mask.png" );
-const char* const MASK_IMAGE_PATH_2 ( DEMO_IMAGE_DIR "mask-large.png" ); // 300x300
+const char* const MASK_IMAGE_PATH_1 ( DEMO_IMAGE_DIR "store_mask_profile_n.png" ); // 300x300
+const char* const MASK_IMAGE_PATH_2 ( DEMO_IMAGE_DIR "store_mask_profile_f.png" );
 }
 
 class ImageViewAlphaBlendApp : public ConnectionTracker
@@ -55,45 +53,45 @@ private:
     // This creates an image view with one of 3 images, and one of 2 masks.
     // Clicking the screen will cycle through each combination of mask and image.
 
-    // Get a handle to the stage
-    Stage stage = Stage::GetCurrent();
-    stage.KeyEventSignal().Connect(this, &ImageViewAlphaBlendApp::OnKeyEvent);
-    stage.SetBackgroundColor( Color::WHITE );
+    // Get a handle to the window
+    Window window = application.GetWindow();
+    window.KeyEventSignal().Connect(this, &ImageViewAlphaBlendApp::OnKeyEvent);
+    window.SetBackgroundColor( Color::WHITE );
 
     mImageView = Toolkit::ImageView::New();
 
-    mImageView.SetSize(200, 200);
-    mImageView.SetParentOrigin( ParentOrigin::CENTER );
-    stage.Add(mImageView);
+    mImageView.SetProperty( Actor::Property::SIZE, Vector2(200, 200) );
+    mImageView.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER );
+    window.Add(mImageView);
 
     mImageLabel = Toolkit::TextLabel::New();
-    mImageLabel.SetParentOrigin( ParentOrigin::BOTTOM_CENTER );
-    mImageLabel.SetAnchorPoint( ParentOrigin::BOTTOM_CENTER );
-    mImageLabel.SetPosition( Vector3( 0.0f, -50.0f, 0.0f ) );
-    mImageLabel.SetProperty( Toolkit::TextLabel::Property::TEXT_COLOR, Color::GREEN );
-    stage.Add(mImageLabel);
+    mImageLabel.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::BOTTOM_CENTER );
+    mImageLabel.SetProperty( Actor::Property::ANCHOR_POINT, ParentOrigin::BOTTOM_CENTER );
+    mImageLabel.SetProperty( Actor::Property::POSITION, Vector3( 0.0f, -50.0f, 0.0f ) );
+    mImageLabel.SetProperty( Toolkit::TextLabel::Property::TEXT_COLOR, Color::BLACK );
+    window.Add(mImageLabel);
 
     mMaskLabel = Toolkit::TextLabel::New();
-    mMaskLabel.SetParentOrigin( ParentOrigin::BOTTOM_CENTER );
-    mMaskLabel.SetAnchorPoint( ParentOrigin::BOTTOM_CENTER );
-    mMaskLabel.SetPosition( Vector3( 0.0f, 0.0f, 0.0f ) );
-    mMaskLabel.SetProperty( Toolkit::TextLabel::Property::TEXT_COLOR, Color::GREEN );
-    stage.Add(mMaskLabel);
+    mMaskLabel.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::BOTTOM_CENTER );
+    mMaskLabel.SetProperty( Actor::Property::ANCHOR_POINT, ParentOrigin::BOTTOM_CENTER );
+    mMaskLabel.SetProperty( Actor::Property::POSITION, Vector3( 0.0f, 0.0f, 0.0f ) );
+    mMaskLabel.SetProperty( Toolkit::TextLabel::Property::TEXT_COLOR, Color::BLACK );
+    window.Add(mMaskLabel);
 
     LoadImages();
 
-    stage.TouchSignal().Connect( this, &ImageViewAlphaBlendApp::OnTouched );
+    window.TouchSignal().Connect( this, &ImageViewAlphaBlendApp::OnTouched );
   }
 
-  void OnTouched( const TouchData& touchData )
+  void OnTouched( const TouchEvent& touch )
   {
     static bool touched = false;
-    if( touchData.GetState( 0 ) == PointState::DOWN )
+    if( touch.GetState( 0 ) == PointState::DOWN )
     {
       touched = true;
     }
 
-    if( touchData.GetState( 0 ) == PointState::UP && touched)
+    if( touch.GetState( 0 ) == PointState::UP && touched )
     {
       mImageCombinationIndex++;
       touched = false;
@@ -108,10 +106,23 @@ private:
 
     const char* mask  = masks[mImageCombinationIndex%2 ]; // Cycle through masks
     const char* image = images[(mImageCombinationIndex/2)%4]; // then images
+
     Property::Map map;
     map.Add( Toolkit::Visual::Property::TYPE, Toolkit::Visual::Type::IMAGE );
     map.Add( Toolkit::ImageVisual::Property::URL, image );
-    map.Add( Toolkit::DevelImageVisual::Property::ALPHA_MASK_URL, mask );
+    map.Add( Toolkit::ImageVisual::Property::ALPHA_MASK_URL, mask );
+
+    if( mImageCombinationIndex%2 == 0 )
+    {
+      map.Add( Toolkit::ImageVisual::Property::MASK_CONTENT_SCALE, 1.f );
+      map.Add( Toolkit::ImageVisual::Property::CROP_TO_MASK, false );
+    }
+    else
+    {
+      map.Add( Toolkit::ImageVisual::Property::MASK_CONTENT_SCALE, 1.6f );
+      map.Add( Toolkit::ImageVisual::Property::CROP_TO_MASK, true );
+    }
+
     mImageView.SetProperty( Toolkit::ImageView::Property::IMAGE, map );
 
     mImageLabel.SetProperty( Toolkit::TextLabel::Property::TEXT, strrchr(image, '/') );
@@ -120,7 +131,7 @@ private:
 
   void OnKeyEvent(const KeyEvent& event)
   {
-    if(event.state == KeyEvent::Down)
+    if(event.GetState() == KeyEvent::DOWN)
     {
       if( IsKey( event, Dali::DALI_KEY_ESCAPE) || IsKey( event, Dali::DALI_KEY_BACK) )
       {
@@ -139,20 +150,10 @@ private:
   int mImageCombinationIndex;
 };
 
-void RunTest( Application& application )
-{
-  ImageViewAlphaBlendApp 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 );
-
+  ImageViewAlphaBlendApp test( application );
+  application.MainLoop();
   return 0;
 }