1 #ifndef __DALI_TOOLKIT_SHADER_EFFECT_BENDY_H__
2 #define __DALI_TOOLKIT_SHADER_EFFECT_BENDY_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 #include <dali/dali.h>
23 namespace Dali DALI_IMPORT_API
30 * BendyEffect is a custom shader effect to achieve bendy effects in Image actors
32 class BendyEffect : public ShaderEffect
37 * Create an uninitialized BendyEffect; this can be initialized with BendyEffect::New()
38 * Calling member functions with an uninitialized Dali::Object is not allowed.
45 virtual ~BendyEffect();
48 * Create an initialized BendyEffect.
49 * @return A handle to a newly allocated Dali resource.
51 static BendyEffect New();
54 * Set the center point of the bendy effect.
55 * @param [in] center The new center point.
57 void SetCenter(const Vector2& center);
60 * Set the direction of the bendy effect.
61 * @param [in] direction The new direction.
63 void SetDirection(const Vector2& direction);
66 * Set the radius of the bendy effect.
67 * @param [in] radius The new radius.
69 void SetRadius(float radius);
72 * Get the name for the center property
73 * @return A std::string containing the property name
75 const std::string& GetCenterPropertyName() const;
78 * Get the name for the direction property
79 * which can be used in Animation API's
80 * @return A std::string containing the property name
82 const std::string& GetDirectionPropertyName() const;
85 * Get the name for the radius property
86 * which can be used in Animation API's
87 * @return A std::string containing the property name
89 const std::string& GetRadiusPropertyName() const;
92 private: // Not intended for application developers
93 BendyEffect(ShaderEffect handle);
96 } // namespace Toolkit
100 #endif // __DALI_TOOLKIT_SHADER_EFFECT_BENDY_H__