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 FUiAnim_VisualElementAnimationImpl.h
20 * @brief This is the header file for the _VisualElementAnimationImpl class.
22 * This header file contains the declarations of the _VisualElementAnimationImpl class.
25 #ifndef _FUI_ANIM_INTERNAL_VISUAL_ELEMENT_ANIMATION_IMPL_H_
26 #define _FUI_ANIM_INTERNAL_VISUAL_ELEMENT_ANIMATION_IMPL_H_
28 #include <FBaseErrorDefine.h>
29 #include <FBaseObject.h>
30 #include <FUiVariant.h>
32 #include "FUiAnim_VisualElementAnimationTiming.h"
35 namespace Tizen { namespace Ui { namespace Animations
39 class IVisualElementAnimationStatusEventListener;
40 class IVisualElementAnimationTimingFunction;
41 class IVisualElementAnimationValueInterpolator;
42 class VisualElementAnimation;
44 class _VisualElementAnimationImpl
45 : public _VisualElementAnimationTiming
48 _VisualElementAnimationImpl(void);
49 _VisualElementAnimationImpl(const _VisualElementAnimationImpl& animationImpl);
50 virtual ~_VisualElementAnimationImpl(void);
52 virtual bool Equals(const Tizen::Base::Object& obj) const;
53 virtual int GetHashCode(void) const;
55 result CopyAnimationValue(const _VisualElementAnimationImpl& animationImpl);
57 void SetStatusEventListener(IVisualElementAnimationStatusEventListener* pListener);
58 IVisualElementAnimationStatusEventListener* GetStatusEventListener(void) const;
60 void SetTimingFunction(const IVisualElementAnimationTimingFunction* pTimingFunction);
61 const IVisualElementAnimationTimingFunction* GetTimingFunction(void) const;
63 void SetValueInterpolator(const IVisualElementAnimationValueInterpolator* pInterpolator);
64 const IVisualElementAnimationValueInterpolator* GetValueInterpolator(void) const;
66 void SetUserData(void* pUserData);
67 void* GetUserData(void) const;
69 void SetEventTarget(VisualElement& target);
70 VisualElement& GetEventTarget(void) const;
72 static bool IsAnimationSupported(void);
74 static _VisualElementAnimationImpl* GetInstance(VisualElementAnimation& animation);
75 static const _VisualElementAnimationImpl* GetInstance(const VisualElementAnimation& animation);
78 _VisualElementAnimationImpl& operator =(const _VisualElementAnimationImpl& rhs);
81 IVisualElementAnimationStatusEventListener* __pStatusListener;
82 const IVisualElementAnimationTimingFunction* __pTimingFunction;
83 const IVisualElementAnimationValueInterpolator* __pInterpolator;
85 VisualElement* __pEventTarget;
86 }; // _VisualElementAnimationImpl
89 }}} // Tizen::Ui::Animations
91 #endif // _FUI_ANIM_INTERNAL_VISUAL_ELEMENT_ANIMATION_IMPL_H_