// EXTERNAL INCLUDES
#include <cmath>
-#include <dali/public-api/animation/active-constraint.h>
#include <dali/public-api/animation/constraint.h>
#include <dali/public-api/common/stage.h>
#include <dali/public-api/object/type-registry.h>
-#include <dali/public-api/object/type-registry-helper.h>
-#include <dali/public-api/scripting/scripting.h>
+#include <dali/devel-api/object/type-registry-helper.h>
+#include <dali/devel-api/scripting/scripting.h>
#include <dali/integration-api/debug.h>
namespace //Unnamed namespace
mRange = Vector2( index*rangeLength, (index+1.f)*rangeLength );
}
- float operator()( float current, const PropertyInput& blurProperty )
+ void operator()( float& current, const PropertyInputContainer& inputs )
{
- float blurStrength = blurProperty.GetFloat();
+ float blurStrength = inputs[0]->GetFloat();
if(blurStrength <= mRange.x)
{
- return 1.f;
+ current = 1.f;
}
else if(blurStrength > mRange.y)
{
- return 0.f;
+ current = 0.f;
}
else
{
- return (mRange.y - blurStrength)/(mRange.y-mRange.x);
+ current = ( mRange.y - blurStrength) / ( mRange.y - mRange.x );
}
}
// Setup properties, signals and actions using the type-registry.
DALI_TYPE_REGISTRATION_BEGIN( Toolkit::SuperBlurView, Toolkit::Control, Create )
-DALI_PROPERTY_REGISTRATION( SuperBlurView, "image", MAP, IMAGE )
+DALI_PROPERTY_REGISTRATION( Toolkit, SuperBlurView, "image", MAP, IMAGE )
DALI_TYPE_REGISTRATION_END()
} // unnamed namespace
SuperBlurView::SuperBlurView( unsigned int blurLevels )
-: Control( CONTROL_BEHAVIOUR_NONE ),
+: Control( ControlBehaviour( DISABLE_SIZE_NEGOTIATION ) ),
mBlurLevels( blurLevels ),
mBlurStrengthPropertyIndex(Property::INVALID_INDEX),
mResourcesCleared( true ),
void SuperBlurView::OnInitialize()
{
- mBlurStrengthPropertyIndex = Self().RegisterProperty( "blur-strength",0.f );
+ mBlurStrengthPropertyIndex = Self().RegisterProperty( "blurStrength", 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++)
{
mImageActors[i] = ImageActor::New( );
+ mImageActors[i].SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS );
mImageActors[i].SetParentOrigin( ParentOrigin::CENTER );
mImageActors[i].SetZ(-static_cast<float>(i)*0.01f);
mImageActors[i].SetColorMode( USE_OWN_MULTIPLY_PARENT_ALPHA );
for(unsigned int i=0; i < mBlurLevels; i++)
{
- mImageActors[i].ApplyConstraint( Constraint::New<float>( Actor::Property::COLOR_ALPHA, ParentSource( mBlurStrengthPropertyIndex ), ActorOpacityConstraint(mBlurLevels, i) ) );
+ Constraint constraint = Constraint::New<float>( mImageActors[i], Actor::Property::COLOR_ALPHA, ActorOpacityConstraint(mBlurLevels, i) );
+ constraint.AddSource( ParentSource( mBlurStrengthPropertyIndex ) );
+ constraint.Apply();
}
Self().SetSize(Stage::GetCurrent().GetSize());
}
}
-void SuperBlurView::OnRelayout( const Vector2& size, ActorSizeContainer& container )
-{
- unsigned int numChildren = Self().GetChildCount();
-
- for( unsigned int i=0; i<numChildren; ++i )
- {
- Self().GetChildAt(i).SetSize(size);
- }
-}
-
-void SuperBlurView::OnControlSizeSet( const Vector3& targetSize )
+void SuperBlurView::OnSizeSet( const Vector3& targetSize )
{
if( mTargetSize != Vector2(targetSize) )
{