X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Fpublic-api%2Fshader-effects%2Fnine-patch-mask-effect.cpp;h=c03537dd3ad2b152914151f5cdf7f15851a62cdc;hb=68106e2cbb8541c18a77f39770ea7759f44e02a0;hp=f717d5c222cffa6cfddc867a57c47a35b4312f6c;hpb=928136dbb9e23970f3894eabc7c8b224003b77be;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 f717d5c..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::Property::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