From: David Steele Date: Mon, 7 Nov 2016 19:46:35 +0000 (+0000) Subject: Internalized VisualFactory::InitializeVisual templates X-Git-Tag: dali_1.2.14~5 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=commitdiff_plain;h=50f57942b550284ab30d72eb974c2c5e1458f61e Internalized VisualFactory::InitializeVisual templates 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 --- diff --git a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-video-player.h b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-video-player.h index f33a68c..717a243 100644 --- a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-video-player.h +++ b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-video-player.h @@ -49,7 +49,7 @@ public: VideoPlayer(); - virtual ~VideoPlayer(); + ~VideoPlayer(); static VideoPlayer New(); @@ -102,4 +102,3 @@ private: } // namespace Dali; #endif - diff --git a/automated-tests/src/dali-toolkit/utc-Dali-VideoView.cpp b/automated-tests/src/dali-toolkit/utc-Dali-VideoView.cpp index cc76ea3..8450f3f 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-VideoView.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-VideoView.cpp @@ -113,6 +113,36 @@ int UtcDaliVideoViewProperty1(void) 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(), "video.mpg", TEST_LOCATION ); + + END_TEST; +} + int UtcDaliVideoViewProperty2(void) { ToolkitTestApplication application; diff --git a/dali-toolkit/devel-api/visual-factory/visual-factory.h b/dali-toolkit/devel-api/visual-factory/visual-factory.h index 636147d..25c17cc 100644 --- a/dali-toolkit/devel-api/visual-factory/visual-factory.h +++ b/dali-toolkit/devel-api/visual-factory/visual-factory.h @@ -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 diff --git a/dali-toolkit/internal/controls/effects-view/effects-view-impl.cpp b/dali-toolkit/internal/controls/effects-view/effects-view-impl.cpp index 0b207e4..b53d029 100644 --- a/dali-toolkit/internal/controls/effects-view/effects-view-impl.cpp +++ b/dali-toolkit/internal/controls/effects-view/effects-view-impl.cpp @@ -37,6 +37,7 @@ #include #include #include +#include namespace Dali { @@ -186,7 +187,7 @@ void EffectsView::SetType( Toolkit::EffectsView::EffectType type ) 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; @@ -438,7 +439,7 @@ void EffectsView::AllocateResources() 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 ); diff --git a/dali-toolkit/internal/controls/super-blur-view/super-blur-view-impl.cpp b/dali-toolkit/internal/controls/super-blur-view/super-blur-view-impl.cpp index 28e4eec..c7c23f8 100644 --- a/dali-toolkit/internal/controls/super-blur-view/super-blur-view-impl.cpp +++ b/dali-toolkit/internal/controls/super-blur-view/super-blur-view-impl.cpp @@ -31,6 +31,7 @@ // INTERNAL_INCLUDES #include +#include namespace //Unnamed namespace { @@ -170,7 +171,7 @@ void SuperBlurView::SetImage(Image inputImage) 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() ) @@ -281,7 +282,7 @@ void SuperBlurView::OnSizeSet( const Vector3& targetSize ) float exponent = static_cast(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 ] ); } diff --git a/dali-toolkit/internal/controls/video-view/video-view-impl.cpp b/dali-toolkit/internal/controls/video-view/video-view-impl.cpp index 1f66e86..6a4a541 100644 --- a/dali-toolkit/internal/controls/video-view/video-view-impl.cpp +++ b/dali-toolkit/internal/controls/video-view/video-view-impl.cpp @@ -29,6 +29,7 @@ // INTERNAL INCLUDES #include +#include namespace Dali { @@ -120,7 +121,7 @@ void VideoView::SetPropertyMap( Property::Map map ) mPropertyMap = map; Actor self( Self() ); - InitializeVisual( self, mVisual, mPropertyMap ); + Internal::InitializeVisual( self, mVisual, mPropertyMap ); Property::Value* widthValue = mPropertyMap.Find( "width" ); if( widthValue ) @@ -538,7 +539,7 @@ void VideoView::SetNativeImageTarget() mVideoPlayer.SetUrl( mUrl ); mVideoPlayer.FinishedSignal().Connect( this, &VideoView::EmitSignalFinish ); - InitializeVisual( self, mVisual, mNativeImage ); + Internal::InitializeVisual( self, mVisual, mNativeImage ); if( mIsPlay ) { diff --git a/dali-toolkit/internal/filters/emboss-filter.cpp b/dali-toolkit/internal/filters/emboss-filter.cpp index 6fe082d..92095dc 100644 --- a/dali-toolkit/internal/filters/emboss-filter.cpp +++ b/dali-toolkit/internal/filters/emboss-filter.cpp @@ -31,6 +31,7 @@ #include #include #include +#include namespace Dali { @@ -127,10 +128,10 @@ void EmbossFilter::Enable() 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 ); - InitializeVisual( mActorForComposite, mVisualForEmboss2, mImageForEmboss2 ); + Internal::InitializeVisual( mActorForComposite, mVisualForEmboss2, mImageForEmboss2 ); Toolkit::GetImplementation( mVisualForEmboss2 ).SetCustomShader( customShader ); mActorForComposite.GetRendererAt(1).RegisterProperty( COLOR_UNIFORM_NAME, Color::WHITE ); diff --git a/dali-toolkit/internal/visuals/visual-factory-impl.h b/dali-toolkit/internal/visuals/visual-factory-impl.h index 501a854..d3a28d0 100644 --- a/dali-toolkit/internal/visuals/visual-factory-impl.h +++ b/dali-toolkit/internal/visuals/visual-factory-impl.h @@ -23,6 +23,7 @@ // INTERNAL INCLUDES #include #include +#include namespace Dali { @@ -90,6 +91,48 @@ private: 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)