1 #ifndef __DALI_TOOLKIT_SHADER_EFFECT_RIPPLE_H__
2 #define __DALI_TOOLKIT_SHADER_EFFECT_RIPPLE_H__
5 // Copyright (c) 2014 Samsung Electronics Co., Ltd.
7 // Licensed under the Flora License, Version 1.0 (the License);
8 // you may not use this file except in compliance with the License.
9 // You may obtain a copy of the License at
11 // http://floralicense.org/license/
13 // Unless required by applicable law or agreed to in writing, software
14 // distributed under the License is distributed on an AS IS BASIS,
15 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 // See the License for the specific language governing permissions and
17 // limitations under the License.
21 * @addtogroup CAPI_DALI_FRAMEWORK
26 #include <dali/dali.h>
28 namespace Dali DALI_IMPORT_API
35 * RippleEffect is a custom shader effect to achieve ripple effects on Image actors
37 class RippleEffect : public ShaderEffect
42 * Create an uninitialized RippleEffect; this can be initialized with RippleEffect::New()
43 * Calling member functions with an uninitialized Dali::Object is not allowed.
50 virtual ~RippleEffect();
53 * Create an initialized RippleEffect.
54 * @return A handle to a newly allocated Dali resource.
56 static RippleEffect New();
59 * Set the amplitude of the effect.
60 * @param [in] amplitude The new amplitude.
62 void SetAmplitude(float amplitude);
65 * Set the center point of the effect as screen coordinates.
66 * @param [in] center The new center point.
68 void SetCenter(const Vector2& center);
71 * Set the time duration for the ripple.
72 * @param[in] time The time duration in float.
74 void SetTime(float time);
77 * Get the name for the amplitude property
78 * @return A std::string containing the property name
80 const std::string& GetAmplitudePropertyName() const;
83 * Get the name for the center property
84 * which can be used in Animation API's
85 * @return A std::string containing the property name
87 const std::string& GetCenterPropertyName() const;
90 * Get the name for the time property
91 * which can be used in Animation API's
92 * @return A std::string containing the property name
94 const std::string& GetTimePropertyName() const;
97 RippleEffect(ShaderEffect handle);
101 } // namespace Toolkit
108 #endif // __DALI_TOOLKIT_SHADER_EFFECT_RIPPLE_H__