Internalized VisualFactory::InitializeVisual templates 86/96086/5
authorDavid Steele <david.steele@partner.samsung.com>
Mon, 7 Nov 2016 19:46:35 +0000 (19:46 +0000)
committerDavid Steele <david.steele@partner.samsung.com>
Wed, 9 Nov 2016 13:20:40 +0000 (13:20 +0000)
We don't want VisualBase::SetOnStage() or VisualBase::SetOffStage() to be
called from external header. This patch moves the InitializeVisual
templates internally, so that these APIs can be removed in a future patch.

Change-Id: I2cfbda4be518600d860692a840f8c195e17851e2
Signed-off-by: David Steele <david.steele@samsung.com>
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-video-player.h
automated-tests/src/dali-toolkit/utc-Dali-VideoView.cpp
dali-toolkit/devel-api/visual-factory/visual-factory.h
dali-toolkit/internal/controls/effects-view/effects-view-impl.cpp
dali-toolkit/internal/controls/super-blur-view/super-blur-view-impl.cpp
dali-toolkit/internal/controls/video-view/video-view-impl.cpp
dali-toolkit/internal/filters/emboss-filter.cpp
dali-toolkit/internal/visuals/visual-factory-impl.h

index f33a68c..717a243 100644 (file)
@@ -49,7 +49,7 @@ public:
 
   VideoPlayer();
 
 
   VideoPlayer();
 
-  virtual ~VideoPlayer();
+  ~VideoPlayer();
 
   static VideoPlayer New();
 
 
   static VideoPlayer New();
 
@@ -102,4 +102,3 @@ private:
 } // namespace Dali;
 
 #endif
 } // namespace Dali;
 
 #endif
-
index cc76ea3..8450f3f 100644 (file)
@@ -113,6 +113,36 @@ int UtcDaliVideoViewProperty1(void)
   END_TEST;
 }
 
   END_TEST;
 }
 
+// Positive test case for a method
+int UtcDaliVideoViewProperty1b(void)
+{
+  ToolkitTestApplication application;
+  tet_infoline(" UtcDaliVideoViewProperty1");
+
+  Toolkit::VideoView view = Toolkit::VideoView::New();
+  DALI_TEST_CHECK( view );
+
+  std::string file;
+  Property::Map map;
+
+  view.SetProperty( VideoView::Property::VIDEO, Property::Map()
+                    .Add("rendererType", "IMAGE")
+                    .Add("url", "video.mpg") // Note, videoView doesn't use this url
+                    .Add("RENDERER_TARGET", "windowSurfaceTarget" )
+                    .Add("width", 100)
+                    .Add("height", 100) );
+
+  Property::Value val = view.GetProperty( VideoView::Property::VIDEO );
+  Property::Map* resultMap = val.GetMap();
+
+  DALI_TEST_CHECK( resultMap );
+  Property::Value* value = resultMap->Find("url");
+  DALI_TEST_CHECK( value );
+  DALI_TEST_EQUALS( value->Get<std::string>(), "video.mpg", TEST_LOCATION );
+
+  END_TEST;
+}
+
 int UtcDaliVideoViewProperty2(void)
 {
   ToolkitTestApplication application;
 int UtcDaliVideoViewProperty2(void)
 {
   ToolkitTestApplication application;
index 636147d..25c17cc 100644 (file)
@@ -123,49 +123,6 @@ private:
 
 };
 
 
 };
 
-
-/**
- * @brief Template to allow discard old visual, get new one and set it on stage if possible
- *
- * @tparam ParameterType0 The type of first argument passed to the CreateVisual()
- * @tparam ParameterType1 The type of second argument passed to the CreateVisual()
- * @SINCE_1_0.39
- * @param[in] actor Actor for which the visual will be replaced
- * @param[in,out] visual The visual to be replaced
- * @param[in] param0 First template based argument passed to the visual factory
- * @param[in] param1 Second template based argument passed to the visual factory
- */
-template< class ParameterType0, class ParameterType1 >
-void InitializeVisual( Actor& actor, Visual::Base& visual, ParameterType0& param0, ParameterType1& param1 )
-{
-  visual.RemoveAndReset( actor );
-  visual = Toolkit::VisualFactory::Get().CreateVisual( param0, param1 );
-  if( visual && actor && actor.OnStage() )
-  {
-    visual.SetOnStage( actor );
-  }
-}
-
-/**
- * @brief Template to allow discard old visual, get new one and set it on stage if possible
- *
- * @tparam ParameterType The type of argument passed to the CreateVisual()
- * @SINCE_1_0.39
- * @param[in] actor Actor for which the visual will be replaced
- * @param[in,out] visual The visual to be replaced
- * @param[in] param Template based argument passed to the visual factory
- */
-template< class ParameterType >
-void InitializeVisual( Actor& actor, Visual::Base& visual, ParameterType& param )
-{
-  visual.RemoveAndReset( actor );
-  visual =  Toolkit::VisualFactory::Get().CreateVisual( param );
-  if( visual && actor && actor.OnStage() )
-  {
-    visual.SetOnStage( actor );
-  }
-}
-
 } // namespace Toolkit
 
 } // namespace Dali
 } // namespace Toolkit
 
 } // namespace Dali
index 0b207e4..b53d029 100644 (file)
@@ -37,6 +37,7 @@
 #include <dali-toolkit/internal/filters/emboss-filter.h>
 #include <dali-toolkit/internal/filters/spread-filter.h>
 #include <dali-toolkit/internal/visuals/visual-base-impl.h>
 #include <dali-toolkit/internal/filters/emboss-filter.h>
 #include <dali-toolkit/internal/filters/spread-filter.h>
 #include <dali-toolkit/internal/visuals/visual-base-impl.h>
+#include <dali-toolkit/internal/visuals/visual-factory-impl.h>
 
 namespace Dali
 {
 
 namespace Dali
 {
@@ -186,7 +187,7 @@ void EffectsView::SetType( Toolkit::EffectsView::EffectType type )
 
     FrameBufferImage dummyImage = FrameBufferImage::New( mTargetSize.width, mTargetSize.height, mPixelFormat );
 
 
     FrameBufferImage dummyImage = FrameBufferImage::New( mTargetSize.width, mTargetSize.height, mPixelFormat );
 
-    InitializeVisual( self, mVisualPostFilter, dummyImage );
+    Internal::InitializeVisual( self, mVisualPostFilter, dummyImage );
     Property::Map customShader;
     customShader[ Toolkit::Visual::Shader::Property::VERTEX_SHADER ] = EFFECTS_VIEW_VERTEX_SOURCE;
     customShader[ Toolkit::Visual::Shader::Property::FRAGMENT_SHADER ] = EFFECTS_VIEW_FRAGMENT_SOURCE;
     Property::Map customShader;
     customShader[ Toolkit::Visual::Shader::Property::VERTEX_SHADER ] = EFFECTS_VIEW_VERTEX_SOURCE;
     customShader[ Toolkit::Visual::Shader::Property::FRAGMENT_SHADER ] = EFFECTS_VIEW_FRAGMENT_SOURCE;
@@ -438,7 +439,7 @@ void EffectsView::AllocateResources()
     Actor self( Self() );
 
     mImageForChildren = FrameBufferImage::New( mTargetSize.width, mTargetSize.height, mPixelFormat );
     Actor self( Self() );
 
     mImageForChildren = FrameBufferImage::New( mTargetSize.width, mTargetSize.height, mPixelFormat );
-    InitializeVisual( self, mVisualForChildren, mImageForChildren );
+    Internal::InitializeVisual( self, mVisualForChildren, mImageForChildren );
     mVisualForChildren.SetDepthIndex( DepthIndex::CONTENT+1 );
 
     mImagePostFilter = FrameBufferImage::New( mTargetSize.width, mTargetSize.height, mPixelFormat );
     mVisualForChildren.SetDepthIndex( DepthIndex::CONTENT+1 );
 
     mImagePostFilter = FrameBufferImage::New( mTargetSize.width, mTargetSize.height, mPixelFormat );
index 28e4eec..c7c23f8 100644 (file)
@@ -31,6 +31,7 @@
 
 // INTERNAL_INCLUDES
 #include <dali-toolkit/internal/visuals/visual-base-impl.h>
 
 // INTERNAL_INCLUDES
 #include <dali-toolkit/internal/visuals/visual-base-impl.h>
+#include <dali-toolkit/internal/visuals/visual-factory-impl.h>
 
 namespace //Unnamed namespace
 {
 
 namespace //Unnamed namespace
 {
@@ -170,7 +171,7 @@ void SuperBlurView::SetImage(Image inputImage)
 
   mInputImage = inputImage;
   Actor self( Self() );
 
   mInputImage = inputImage;
   Actor self( Self() );
-  InitializeVisual( self, mVisuals[0], mInputImage );
+  Internal::InitializeVisual( self, mVisuals[0], mInputImage );
   mVisuals[0].SetDepthIndex(0);
   SetShaderEffect( mVisuals[0] );
   if( self.OnStage() )
   mVisuals[0].SetDepthIndex(0);
   SetShaderEffect( mVisuals[0] );
   if( self.OnStage() )
@@ -281,7 +282,7 @@ void SuperBlurView::OnSizeSet( const Vector3& targetSize )
       float exponent = static_cast<float>(i);
       mBlurredImage[i-1] = FrameBufferImage::New( mTargetSize.width/std::pow(2.f,exponent) , mTargetSize.height/std::pow(2.f,exponent),
                                                 GAUSSIAN_BLUR_RENDER_TARGET_PIXEL_FORMAT );
       float exponent = static_cast<float>(i);
       mBlurredImage[i-1] = FrameBufferImage::New( mTargetSize.width/std::pow(2.f,exponent) , mTargetSize.height/std::pow(2.f,exponent),
                                                 GAUSSIAN_BLUR_RENDER_TARGET_PIXEL_FORMAT );
-      InitializeVisual( self, mVisuals[i], mBlurredImage[i - 1] );
+      Internal::InitializeVisual( self, mVisuals[i], mBlurredImage[i - 1] );
       mVisuals[ i ].SetDepthIndex( i );
       SetShaderEffect( mVisuals[ i ] );
     }
       mVisuals[ i ].SetDepthIndex( i );
       SetShaderEffect( mVisuals[ i ] );
     }
index 1f66e86..6a4a541 100644 (file)
@@ -29,6 +29,7 @@
 
 // INTERNAL INCLUDES
 #include <dali-toolkit/public-api/controls/video-view/video-view.h>
 
 // INTERNAL INCLUDES
 #include <dali-toolkit/public-api/controls/video-view/video-view.h>
+#include <dali-toolkit/internal/visuals/visual-factory-impl.h>
 
 namespace Dali
 {
 
 namespace Dali
 {
@@ -120,7 +121,7 @@ void VideoView::SetPropertyMap( Property::Map map )
   mPropertyMap = map;
 
   Actor self( Self() );
   mPropertyMap = map;
 
   Actor self( Self() );
-  InitializeVisual( self, mVisual, mPropertyMap );
+  Internal::InitializeVisual( self, mVisual, mPropertyMap );
 
   Property::Value* widthValue = mPropertyMap.Find( "width" );
   if( widthValue )
 
   Property::Value* widthValue = mPropertyMap.Find( "width" );
   if( widthValue )
@@ -538,7 +539,7 @@ void VideoView::SetNativeImageTarget()
   mVideoPlayer.SetUrl( mUrl );
   mVideoPlayer.FinishedSignal().Connect( this, &VideoView::EmitSignalFinish );
 
   mVideoPlayer.SetUrl( mUrl );
   mVideoPlayer.FinishedSignal().Connect( this, &VideoView::EmitSignalFinish );
 
-  InitializeVisual( self, mVisual, mNativeImage );
+  Internal::InitializeVisual( self, mVisual, mNativeImage );
 
   if( mIsPlay )
   {
 
   if( mIsPlay )
   {
index 6fe082d..92095dc 100644 (file)
@@ -31,6 +31,7 @@
 #include <dali-toolkit/devel-api/visual-factory/visual-factory.h>
 #include <dali-toolkit/devel-api/visual-factory/devel-visual-properties.h>
 #include <dali-toolkit/internal/visuals/visual-base-impl.h>
 #include <dali-toolkit/devel-api/visual-factory/visual-factory.h>
 #include <dali-toolkit/devel-api/visual-factory/devel-visual-properties.h>
 #include <dali-toolkit/internal/visuals/visual-base-impl.h>
+#include <dali-toolkit/internal/visuals/visual-factory-impl.h>
 
 namespace Dali
 {
 
 namespace Dali
 {
@@ -127,10 +128,10 @@ void EmbossFilter::Enable()
 
   mRootActor.Add( mActorForComposite );
 
 
   mRootActor.Add( mActorForComposite );
 
-  InitializeVisual( mActorForComposite, mVisualForEmboss1, mImageForEmboss1 );
+  Internal::InitializeVisual( mActorForComposite, mVisualForEmboss1, mImageForEmboss1 );
   Toolkit::GetImplementation( mVisualForEmboss1 ).SetCustomShader( customShader );
   mActorForComposite.GetRendererAt(0).RegisterProperty( COLOR_UNIFORM_NAME, Color::BLACK );
   Toolkit::GetImplementation( mVisualForEmboss1 ).SetCustomShader( customShader );
   mActorForComposite.GetRendererAt(0).RegisterProperty( COLOR_UNIFORM_NAME, Color::BLACK );
-  InitializeVisual( mActorForComposite, mVisualForEmboss2, mImageForEmboss2 );
+  Internal::InitializeVisual( mActorForComposite, mVisualForEmboss2, mImageForEmboss2 );
   Toolkit::GetImplementation( mVisualForEmboss2 ).SetCustomShader( customShader );
   mActorForComposite.GetRendererAt(1).RegisterProperty( COLOR_UNIFORM_NAME, Color::WHITE );
 
   Toolkit::GetImplementation( mVisualForEmboss2 ).SetCustomShader( customShader );
   mActorForComposite.GetRendererAt(1).RegisterProperty( COLOR_UNIFORM_NAME, Color::WHITE );
 
index 501a854..d3a28d0 100644 (file)
@@ -23,6 +23,7 @@
 // INTERNAL INCLUDES
 #include <dali-toolkit/devel-api/visual-factory/visual-factory.h>
 #include <dali-toolkit/devel-api/visual-factory/visual-base.h>
 // INTERNAL INCLUDES
 #include <dali-toolkit/devel-api/visual-factory/visual-factory.h>
 #include <dali-toolkit/devel-api/visual-factory/visual-base.h>
+#include <dali-toolkit/internal/visuals/visual-base-impl.h>
 
 namespace Dali
 {
 
 namespace Dali
 {
@@ -90,6 +91,48 @@ private:
   bool                    mDebugEnabled;
 };
 
   bool                    mDebugEnabled;
 };
 
+/**
+ * @brief Template to allow discard old visual, get new one and set it on stage if possible
+ *
+ * @tparam ParameterType0 The type of first argument passed to the CreateVisual()
+ * @tparam ParameterType1 The type of second argument passed to the CreateVisual()
+ * @SINCE_1_0.39
+ * @param[in] actor Actor for which the visual will be replaced
+ * @param[in,out] visual The visual to be replaced
+ * @param[in] param0 First template based argument passed to the visual factory
+ * @param[in] param1 Second template based argument passed to the visual factory
+ */
+template< class ParameterType0, class ParameterType1 >
+void InitializeVisual( Actor& actor, Toolkit::Visual::Base& visual, ParameterType0& param0, ParameterType1& param1 )
+{
+  visual.RemoveAndReset( actor );
+  visual = Toolkit::VisualFactory::Get().CreateVisual( param0, param1 );
+  if( visual && actor && actor.OnStage() )
+  {
+    Toolkit::GetImplementation(visual).SetOnStage(actor);
+  }
+}
+
+/**
+ * @brief Template to allow discard old visual, get new one and set it on stage if possible
+ *
+ * @tparam ParameterType The type of argument passed to the CreateVisual()
+ * @SINCE_1_0.39
+ * @param[in] actor Actor for which the visual will be replaced
+ * @param[in,out] visual The visual to be replaced
+ * @param[in] param Template based argument passed to the visual factory
+ */
+template< class ParameterType >
+void InitializeVisual( Actor& actor, Toolkit::Visual::Base& visual, ParameterType& param )
+{
+  visual.RemoveAndReset( actor );
+  visual =  Toolkit::VisualFactory::Get().CreateVisual( param );
+  if( visual && actor && actor.OnStage() )
+  {
+    Toolkit::GetImplementation(visual).SetOnStage(actor);
+  }
+}
+
 } // namespace Internal
 
 inline const Internal::VisualFactory& GetImplementation(const Toolkit::VisualFactory& factory)
 } // namespace Internal
 
 inline const Internal::VisualFactory& GetImplementation(const Toolkit::VisualFactory& factory)