2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
5 // Licensed under the Flora License, Version 1.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
9 // http://floralicense.org/license/
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an AS IS BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
19 * @file FUiAnimVisualElementAnimationProvider.h
20 * @brief This is the header file for the %VisualElementAnimationProvider class.
22 * This header file contains the declarations of the %VisualElementAnimationProvider class.
25 #ifndef _FUI_ANIM_VISUAL_ELEMENT_ANIMATION_PROVIDER_H_
26 #define _FUI_ANIM_VISUAL_ELEMENT_ANIMATION_PROVIDER_H_
29 #include <FUiAnimIVisualElementAnimationProvider.h>
31 namespace Tizen { namespace Ui { namespace Animations
36 * @class VisualElementAnimationProvider
37 * @brief This class implements the provider for the events generated by VisualElement.
41 * The %VisualElementAnimationProvider class customizes the implicit animations. The class that needs to override default implicit animations must implement this interface, and
42 * the instance created with that class is registered with VisualElement, using the VisualElement::SetAnimationProvider() method.
43 * When the properties defined in %VisualElement and its descendants are changed, the CreateAnimationForProperty() method of this interface is invoked.
46 class _OSP_EXPORT_ VisualElementAnimationProvider
47 : virtual public IVisualElementAnimationProvider
52 * This is the default constructor for this class.
56 VisualElementAnimationProvider(void);
60 * This is the destructor for this class.
64 virtual ~VisualElementAnimationProvider(void);
69 * Invoked for creating an animation when the property is changed.
73 * @return A VisualElementAnimation instance for @c property
74 * @param[in] target The VisualElement instance that needs implicit animation
75 * @param[in] property The property of this instance for which animation is required
76 * @remarks If implicit animation for @c property is not required, return @c null.
78 virtual VisualElementAnimation* CreateAnimationForProperty(VisualElement& target, const Tizen::Base::String& property);
84 // The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.
88 VisualElementAnimationProvider(const VisualElementAnimationProvider& value);
91 // The implementation of this copy assignment operator is intentionally blank and declared as private to prohibit copying of objects.
95 VisualElementAnimationProvider& operator =(const VisualElementAnimationProvider& value);
96 }; // VisualElementAnimationProvider
99 }}} // Tizen::Ui::Animations
101 #endif //_FUI_ANIM_VISUAL_ELEMENT_ANIMATION_PROVIDER_H_