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=71e65b4f8191a5d7d1b1310210ba4b2c184f32cc;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..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,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 ); @@ -102,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