X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;ds=sidebyside;f=dali-toolkit%2Fpublic-api%2Fshader-effects%2Fnine-patch-mask-effect.cpp;h=c03537dd3ad2b152914151f5cdf7f15851a62cdc;hb=61be2f8d3c96e01da8e6ade2a76a192ff6ab6945;hp=334e6092eb753fee695a87ad2f458c2d8b96dca5;hpb=6d762b4acd946b3d02e76c1805e7af9a1a5b1809;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 334e609..c03537d 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 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014 Samsung Electronics Co., Ltd. + * Copyright (c) 2015 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,7 +19,6 @@ #include // EXTERNAL INCLUDES -#include #include #include #include @@ -34,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 ) { @@ -90,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 ); @@ -105,19 +108,19 @@ static void DoApply( ImageActor actor, const std::string& maskImage, const Vecto void Apply( ImageActor actor, const std::string& maskImage ) { - Vector2 maskSize = ResourceImage::GetImageSize( maskImage ); + const Uint16Pair maskSize = ResourceImage::GetImageSize( maskImage ); - const float leftRight = (maskSize.width - 1.0f) * 0.5f; - const float topBottom = (maskSize.height - 1.0f) * 0.5f; + const float leftRight = (maskSize.GetWidth() - 1.0f) * 0.5f; + const float topBottom = (maskSize.GetHeight() - 1.0f) * 0.5f; - DoApply( actor, maskImage, maskSize, Vector4( leftRight, topBottom, leftRight, topBottom ) ); + DoApply( actor, maskImage, Vector2( maskSize.GetWidth(), maskSize.GetHeight() ), Vector4( leftRight, topBottom, leftRight, topBottom ) ); } void Apply( ImageActor actor, const std::string& maskImage, const Vector4& maskBorder ) { - Vector2 maskSize = ResourceImage::GetImageSize( maskImage ); + const Uint16Pair maskSize = ResourceImage::GetImageSize( maskImage ); - DoApply( actor, maskImage, maskSize, maskBorder ); + DoApply( actor, maskImage, Vector2( maskSize.GetWidth(), maskSize.GetHeight() ), maskBorder ); } } // namespace NinePatchMaskEffect