Remove some public Setter/Getter APIs from Dali::Actor
[platform/core/uifw/dali-demo.git] / examples / image-view-url / image-view-url-example.cpp
index 59ebda9..73226fb 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2019 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,7 +16,6 @@
  */
 
 #include <dali-toolkit/dali-toolkit.h>
-#include <dali-toolkit/devel-api/controls/buttons/button-devel.h>
 #include <dali-toolkit/devel-api/image-loader/texture-manager.h>
 
 #include "shared/view.h"
@@ -57,8 +56,9 @@ const Vector2 TARGET_SIZE(800.f, 800.f);
 class ImageViewUrlApp : public ConnectionTracker
 {
 public:
-  ImageViewUrlApp( Application& application )
+  ImageViewUrlApp( Application& application, std::string url )
   : mApplication( application ),
+    mUrl( url ),
     mDeltaPropertyIndex( Property::INVALID_INDEX )
   {
     // Connect to the Application's Init signal
@@ -87,31 +87,37 @@ private:
 
     // Add a button to switch the scene. (right of toolbar)
     Toolkit::PushButton switchButton = Toolkit::PushButton::New();
-    switchButton.SetProperty( Toolkit::DevelButton::Property::UNSELECTED_BACKGROUND_VISUAL, BUTTON_ICON );
-    switchButton.SetProperty( Toolkit::DevelButton::Property::SELECTED_BACKGROUND_VISUAL, BUTTON_ICON_SELECTED );
+    switchButton.SetProperty( Toolkit::Button::Property::UNSELECTED_BACKGROUND_VISUAL, BUTTON_ICON );
+    switchButton.SetProperty( Toolkit::Button::Property::SELECTED_BACKGROUND_VISUAL, BUTTON_ICON_SELECTED );
     switchButton.ClickedSignal().Connect( this, &ImageViewUrlApp::OnButtonClicked );
     toolBar.AddControl( switchButton,
                         DemoHelper::DEFAULT_VIEW_STYLE.mToolBarButtonPercentage,
                         Toolkit::Alignment::HorizontalRight,
                         DemoHelper::DEFAULT_MODE_SWITCH_PADDING  );
 
-    CreateRenderTask(  );
+    std::string url = mUrl;
+    if( url.empty() )
+    {
+      url = BIG_TEST_IMAGE;
+    }
+
+    CreateRenderTask( url );
     CreateScene( );
   }
 
-  void CreateRenderTask()
+  void CreateRenderTask( const std::string& url )
   {
     auto rootActor = Stage::GetCurrent().GetRootLayer();
 
     auto cameraActor = CameraActor::New(TARGET_SIZE);
-    cameraActor.SetParentOrigin(ParentOrigin::CENTER);
+    cameraActor.SetProperty( Actor::Property::PARENT_ORIGIN,ParentOrigin::CENTER);
     cameraActor.SetInvertYAxis(true);
     rootActor.Add(cameraActor);
 
     {
       // create actor to render input with applied shader
-      mActorForInput = Toolkit::ImageView::New(BIG_TEST_IMAGE);
-      mActorForInput.SetParentOrigin(ParentOrigin::CENTER);
+      mActorForInput = Toolkit::ImageView::New( url );
+      mActorForInput.SetProperty( Actor::Property::PARENT_ORIGIN,ParentOrigin::CENTER);
       mActorForInput.SetSize(TARGET_SIZE);
       Property::Map customShader;
       customShader[Toolkit::Visual::Shader::Property::FRAGMENT_SHADER] = FILTER_FRAGMENT_SOURCE;
@@ -139,7 +145,7 @@ private:
                                     Pixel::RGB888,
                                     unsigned(TARGET_SIZE.width),
                                     unsigned(TARGET_SIZE.height));
-      auto framebuffer = FrameBuffer::New(TARGET_SIZE.width, TARGET_SIZE.height, Pixel::RGB888);
+      auto framebuffer = FrameBuffer::New(TARGET_SIZE.width, TARGET_SIZE.height, FrameBuffer::Attachment::NONE );
       framebuffer.AttachColorTexture(mOutputTexture);
 
       renderTask.SetFrameBuffer(framebuffer);
@@ -160,8 +166,8 @@ private:
     auto url = Dali::Toolkit::TextureManager::AddTexture(mOutputTexture);
     mImageView = Toolkit::ImageView::New(url);
 
-    mImageView.SetParentOrigin(ParentOrigin::CENTER);
-    mImageView.SetAnchorPoint(AnchorPoint::CENTER);
+    mImageView.SetProperty( Actor::Property::PARENT_ORIGIN,ParentOrigin::CENTER);
+    mImageView.SetProperty( Actor::Property::ANCHOR_POINT,AnchorPoint::CENTER);
     mContent.Add(mImageView);
   }
 
@@ -191,6 +197,7 @@ private:
 
 private:
   Application&  mApplication;
+  std::string mUrl;
   Layer mContent;
   Toolkit::ImageView mImageView;
   Animation mAnimation;
@@ -202,7 +209,14 @@ private:
 int DALI_EXPORT_API main( int argc, char **argv )
 {
   Application application = Application::New( &argc, &argv );
-  ImageViewUrlApp test( application );
+
+  std::string url;
+  if( argc > 1 )
+  {
+    url = argv[1];
+  }
+
+  ImageViewUrlApp test( application, url );
   application.MainLoop();
   return 0;
 }