X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Fsuper-blur-view%2Fsuper-blur-view-impl.cpp;h=17f2b55857046bed5e421263ed28231744539b10;hp=fa9839251c81d951be4f7fe8a65d47936e7e4477;hb=7b09f888bc98f59e15a1d5fc8b56a36e779ad517;hpb=b3765115e75382d7906c1ad6f309667ca47b5e1c 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 fa98392..17f2b55 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 @@ -16,6 +16,7 @@ //EXTERNAL INCLUDES #include +#include // CLASS HEADER #include "super-blur-view-impl.h" @@ -25,9 +26,6 @@ namespace //unnamed namespace using namespace Dali; -//Type registration -TypeRegistration mType( typeid(Toolkit::SuperBlurView), typeid(Toolkit::Control), NULL ); - //Todo: make these properties instead of constants const unsigned int GAUSSIAN_BLUR_DEFAULT_NUM_SAMPLES = 11; const unsigned int GAUSSIAN_BLUR_NUM_SAMPLES_INCREMENTATION = 10; @@ -77,9 +75,27 @@ namespace Dali namespace Toolkit { +const Property::Index SuperBlurView::PROPERTY_IMAGE( Internal::SuperBlurView::SUPER_BLUR_VIEW_PROPERTY_START_INDEX ); + namespace Internal { +namespace +{ +const unsigned int DEFAULT_BLUR_LEVEL(5u); ///< The default blur level when creating SuperBlurView from the type registry + +BaseHandle Create() +{ + return Toolkit::SuperBlurView::New( DEFAULT_BLUR_LEVEL ); +} + +// Type registration +TypeRegistration typeRegistration( typeid(Toolkit::SuperBlurView), typeid(Toolkit::Control), Create ); + +PropertyRegistration property1( typeRegistration, "image", Toolkit::SuperBlurView::PROPERTY_IMAGE, Property::MAP, &SuperBlurView::SetProperty, &SuperBlurView::GetProperty ); + +} // unnamed namespace + SuperBlurView::SuperBlurView( unsigned int blurLevels ) : ControlImpl( false ), mBlurLevels( blurLevels ), @@ -114,7 +130,7 @@ Toolkit::SuperBlurView SuperBlurView::New( unsigned int blurLevels ) void SuperBlurView::OnInitialize() { - mBlurStrengthPropertyIndex = Self().RegisterProperty( "BLUR_STRENGTH",0.f ); + mBlurStrengthPropertyIndex = Self().RegisterProperty( "blur-strength",0.f ); DALI_ASSERT_ALWAYS( mImageActors.size() == mBlurLevels+1 && "must synchronize the ImageActor group if blur levels got changed " ); for(unsigned int i=0; i<=mBlurLevels;i++) @@ -251,6 +267,61 @@ void SuperBlurView::OnControlSizeSet( const Vector3& targetSize ) } } +void SuperBlurView::SetProperty( BaseObject* object, Property::Index propertyIndex, const Property::Value& value ) +{ + Toolkit::SuperBlurView superBlurView = Toolkit::SuperBlurView::DownCast( Dali::BaseHandle( object ) ); + + if ( superBlurView ) + { + SuperBlurView& superBlurViewImpl( GetImpl( superBlurView ) ); + + switch ( propertyIndex ) + { + case Toolkit::SuperBlurView::PROPERTY_IMAGE: + { + Dali::Image image = Scripting::NewImage( value ); + if ( image ) + { + superBlurViewImpl.SetImage( image ); + } + else + { + DALI_LOG_ERROR( "Cannot create image from property value\n" ); + } + break; + } + } + } +} + +Property::Value SuperBlurView::GetProperty( BaseObject* object, Property::Index propertyIndex ) +{ + Property::Value value; + + Toolkit::SuperBlurView pushButton = Toolkit::SuperBlurView::DownCast( Dali::BaseHandle( object ) ); + + if ( pushButton ) + { + SuperBlurView& superBlurViewImpl( GetImpl( pushButton ) ); + + switch ( propertyIndex ) + { + case Toolkit::SuperBlurView::PROPERTY_IMAGE: + { + Property::Map map; + if ( !superBlurViewImpl.mImageActors.empty() && superBlurViewImpl.mImageActors[0] ) + { + Scripting::CreatePropertyMap( superBlurViewImpl.mImageActors[0], map ); + } + value = Property::Value( map ); + break; + } + } + } + + return value; +} + } // namespace Internal } // namespace Toolkit