X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fevent%2Fanimation%2Fprogress-value.h;h=0a7ca11bda14c082ca8111fe85c81c52369b6d5a;hb=baad1726f5f7f05d98da7ca591f24dbe3c49dab2;hp=d993d6eccbb0bb204cccb80cd849674cd461da8d;hpb=e7267cff159c0ea2f919cbbe8c809f22226148d9;p=platform%2Fcore%2Fuifw%2Fdali-core.git diff --git a/dali/internal/event/animation/progress-value.h b/dali/internal/event/animation/progress-value.h index d993d6e..0a7ca11 100644 --- a/dali/internal/event/animation/progress-value.h +++ b/dali/internal/event/animation/progress-value.h @@ -1,8 +1,8 @@ -#ifndef __DALI_INTERNAL_PROGRESS_VALUE_H__ -#define __DALI_INTERNAL_PROGRESS_VALUE_H__ +#ifndef DALI_INTERNAL_PROGRESS_VALUE_H +#define DALI_INTERNAL_PROGRESS_VALUE_H /* - * Copyright (c) 2014 Samsung Electronics Co., Ltd. + * Copyright (c) 2019 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,10 +19,11 @@ */ // INTERNAL INCLUDES +#include #include +#include #include -#include -#include +#include namespace Dali { @@ -62,33 +63,6 @@ public: T mValue; ///< value this animation channel should take }; -typedef ProgressValue ProgressQuaternion; -typedef std::vector ProgressQuaternionContainer; - -typedef ProgressValue ProgressAngleAxis; -typedef std::vector ProgressAngleAxisContainer; - -typedef ProgressValue ProgressBoolean; -typedef std::vector ProgressBooleanContainer; - -typedef ProgressValue ProgressInteger; -typedef std::vector ProgressIntegerContainer; - -typedef ProgressValue ProgressUnsignedInteger; -typedef std::vector ProgressUnsignedIntegerContainer; - -typedef ProgressValue ProgressNumber; -typedef std::vector ProgressNumberContainer; - -typedef ProgressValue ProgressVector2; -typedef std::vector ProgressVector2Container; - -typedef ProgressValue ProgressVector3; -typedef std::vector ProgressVector3Container; - -typedef ProgressValue ProgressVector4; -typedef std::vector ProgressVector4Container; - inline void Interpolate (Quaternion& result, const Quaternion& a, const Quaternion& b, float progress) { result = Quaternion::Slerp(a, b, progress); @@ -109,14 +83,9 @@ inline void Interpolate (bool& result, bool a, bool b, float progress) result = progress < 0.5f ? a : b; } -inline void Interpolate (int& result, int a, int b, float progress) -{ - result = static_cast(a + (b - a) * progress + 0.5f); -} - -inline void Interpolate (unsigned int& result, unsigned int a, unsigned int b, float progress) +inline void Interpolate (int32_t& result, int a, int b, float progress) { - result = static_cast(a + (b - a) * progress + 0.5f); + result = static_cast(static_cast( a ) + static_cast(b - a) * progress + 0.5f); } inline void Interpolate (float& result, float a, float b, float progress) @@ -146,22 +115,13 @@ inline void Interpolate (Vector4& result, const Vector4& a, const Vector4& b, fl * Restrictions: f(0)=p1 f(1)=p2 f'(0)=(p2-p0)*0.5 f'(1)=(p3-p1)*0.5 */ -inline void CubicInterpolate( int& result, int p0, int p1, int p2, int p3, float progress ) +inline void CubicInterpolate( int32_t& result, int32_t p0, int32_t p1, int32_t p2, int32_t p3, float progress ) { - float a3 = p3*0.5f - p2*1.5f + p1*1.5f - p0*0.5f; - float a2 = p0 - p1*2.5f + p2*2.0f - p3*0.5f; - float a1 = (p2-p0)*0.5f; - - result = static_cast( a3*progress*progress*progress + a2*progress*progress + a1*progress + p1 + 0.5f ); -} - -inline void CubicInterpolate( unsigned int& result, unsigned int p0, unsigned int p1, unsigned int p2, unsigned int p3, float progress ) -{ - float a3 = p3*0.5f - p2*1.5f + p1*1.5f - p0*0.5f; - float a2 = p0 - p1*2.5f + p2*2.0f - p3*0.5f; - float a1 = (p2-p0)*0.5f; + float a3 = static_cast( p3 ) * 0.5f - static_cast( p2 ) * 1.5f + static_cast( p1 ) * 1.5f - static_cast( p0 ) * 0.5f; + float a2 = static_cast( p0 ) - static_cast( p1 ) * 2.5f + static_cast( p2 ) * 2.0f - static_cast( p3 ) * 0.5f; + float a1 = static_cast( p2 - p0 ) * 0.5f; - result = static_cast( a3*progress*progress*progress + a2*progress*progress + a1*progress + p1 + 0.5f ); + result = static_cast( a3*progress*progress*progress + a2*progress*progress + a1*progress + static_cast( p1 ) + 0.5f ); } inline void CubicInterpolate( float& result, float p0, float p1, float p2, float p3, float progress ) @@ -219,4 +179,4 @@ inline void CubicInterpolate( AngleAxis& result, const AngleAxis& p0, const Angl } // namespace Dali -#endif //__DALI_PROGRESS_VALUE_H__ +#endif // DALI_INTERNAL_PROGRESS_VALUE_H