X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Fpublic-api%2Fshader-effects%2Fnine-patch-mask-effect.cpp;h=d2b896799fc11496262c575f77c7a8dc193478ff;hb=22e89375677d1fe737d5472e21ab681f2f3e4ca7;hp=c18d9e75c1f2975728055725ee2dfba5181db92a;hpb=dc3613bb6248908c267a76e378b04962bce85664;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/public-api/shader-effects/nine-patch-mask-effect.cpp b/dali-toolkit/public-api/shader-effects/nine-patch-mask-effect.cpp index c18d9e7..d2b8967 100644 --- a/dali-toolkit/public-api/shader-effects/nine-patch-mask-effect.cpp +++ b/dali-toolkit/public-api/shader-effects/nine-patch-mask-effect.cpp @@ -19,6 +19,8 @@ #include // EXTERNAL INCLUDES +#include +#include #include #include @@ -31,14 +33,17 @@ namespace Toolkit namespace NinePatchMaskEffect { -struct NinePatchMaskEffectSizeConstraint +namespace { - Vector2 operator()( const Vector2& current, const PropertyInput& property ) - { - const Vector3& actorSize = property.GetVector3(); - return Vector2( actorSize.x, actorSize.y ); - } -}; + +void NinePatchMaskEffectSizeConstraint( Vector2& current, const PropertyInputContainer& inputs ) +{ + const Vector3& actorSize = inputs[0]->GetVector3(); + current.x = actorSize.x; + current.y = actorSize.y; +} + +} // unnamed namespace static void DoApply( ImageActor actor, const std::string& maskImage, const Vector2& maskSize, Vector4 maskBorder ) { @@ -87,9 +92,10 @@ static void DoApply( ImageActor actor, const std::string& maskImage, const Vecto maskEffect.SetEffectImage( ResourceImage::New( maskImage ) ); maskEffect.SetUniform( "uImageSize", Vector2(0,0) /*Constrained to actor size*/ ); - maskEffect.ApplyConstraint( Constraint::New( maskEffect.GetPropertyIndex("uImageSize"), - Source(actor, Actor::SIZE), - NinePatchMaskEffectSizeConstraint() ) ); + + Constraint constraint = Constraint::New( maskEffect, maskEffect.GetPropertyIndex("uImageSize"), NinePatchMaskEffectSizeConstraint ); + constraint.AddSource( Source(actor, Actor::Property::SIZE) ); + constraint.Apply(); maskEffect.SetUniform( "uMaskSize", maskSize );