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_VisualElementValueAnimationImpl.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_VALUE_ANIMATION_IMPL_H_
26 #define _FUI_ANIM_INTERNAL_VISUAL_ELEMENT_VALUE_ANIMATION_IMPL_H_
28 #include <FBaseErrorDefine.h>
29 #include <FBaseObject.h>
30 #include <FUiVariant.h>
32 #include "FUiAnim_VisualElementAnimationImpl.h"
35 namespace Tizen { namespace Ui { namespace Animations
38 class IVisualElementAnimationTickEventListener;
39 class _VisualElementAnimationKeyFrame;
40 class VisualElementValueAnimation;
42 class _VisualElementValueAnimationImpl
43 : public _VisualElementAnimationImpl
46 _VisualElementValueAnimationImpl(void);
47 _VisualElementValueAnimationImpl(const _VisualElementValueAnimationImpl& animationImpl);
48 virtual ~_VisualElementValueAnimationImpl(void);
50 virtual bool Equals(const Tizen::Base::Object& obj) const;
51 virtual int GetHashCode(void) const;
53 result CopyAnimationValue(const _VisualElementValueAnimationImpl& animationImpl);
55 void SetTickEventListener(IVisualElementAnimationTickEventListener* pListener);
56 IVisualElementAnimationTickEventListener* GetTickEventListener(void) const;
58 void SetStartValue(const Tizen::Ui::Variant& startValue);
59 Tizen::Ui::Variant GetStartValue(void) const;
61 void SetEndValue(const Tizen::Ui::Variant& endValue);
62 Tizen::Ui::Variant GetEndValue(void) const;
64 void SetEndValueApplied(bool apply);
65 bool IsEndValueApplied(void) const;
67 result AddKeyFrame(float timeProgress, const Tizen::Ui::Variant& value, const IVisualElementAnimationTimingFunction* pTimingFunction);
68 result RemoveKeyFrame(float timeProgress);
69 void RemoveAllKeyFrames(void);
71 static _VisualElementValueAnimationImpl* GetInstance(VisualElementValueAnimation& animation);
72 static const _VisualElementValueAnimationImpl* GetInstance(const VisualElementValueAnimation& animation);
74 _VisualElementAnimationKeyFrame* GetKeyFrame(void) const;
76 bool IsValid(void) const;
77 bool IsValidKeyFrameType(void) const;
79 virtual bool IsValidValues(void) const;
80 virtual void OnTickOccurred(VisualElement& target, const Tizen::Ui::Variant& currentValue);
83 _VisualElementValueAnimationImpl& operator =(const _VisualElementValueAnimationImpl& rhs);
90 IVisualElementAnimationTickEventListener* __pTickListener;
94 _VisualElementAnimationKeyFrame* __pKeyFrame;
96 }; // _VisualElementValueAnimationImpl
99 }}} // Tizen::Ui::Animations
101 #endif // _FUI_ANIM_INTERNAL_VISUAL_ELEMENT_VALUE_ANIMATION_IMPL_H_