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_TOOLKIT_SHADER_EFFECTS_MODULE
26 #include <dali/dali.h>
28 namespace Dali DALI_IMPORT_API
35 * @brief RippleEffect is a custom shader effect to achieve ripple effects on Image actors.
37 class RippleEffect : public ShaderEffect
42 * @brief Create an uninitialized RippleEffect; this can be initialized with RippleEffect::New().
44 * Calling member functions with an uninitialized Dali::Object is not allowed.
49 * @brief Virtual destructor.
51 virtual ~RippleEffect();
54 * @brief Create an initialized RippleEffect.
56 * @return A handle to a newly allocated Dali resource.
58 static RippleEffect New();
61 * @brief Set the amplitude of the effect.
63 * @param [in] amplitude The new amplitude.
65 void SetAmplitude(float amplitude);
68 * @brief Set the center point of the effect as screen coordinates.
70 * @param [in] center The new center point.
72 void SetCenter(const Vector2& center);
75 * @brief Set the time duration for the ripple.
77 * @param[in] time The time duration in float.
79 void SetTime(float time);
82 * @brief Get the name for the amplitude property.
84 * @return A std::string containing the property name
86 const std::string& GetAmplitudePropertyName() const;
89 * @brief Get the name for the center property.
91 * which can be used in Animation API's
92 * @return A std::string containing the property name
94 const std::string& GetCenterPropertyName() const;
97 * @brief Get the name for the time property.
99 * which can be used in Animation API's
100 * @return A std::string containing the property name
102 const std::string& GetTimePropertyName() const;
105 RippleEffect(ShaderEffect handle);
109 } // namespace Toolkit
116 #endif // __DALI_TOOLKIT_SHADER_EFFECT_RIPPLE_H__