1#ifndef __SVALUEANIMATOR_I__H__
2#define __SVALUEANIMATOR_I__H__
3#include <interface/SAnimation-i.h>
4#include <interface/STimelineHandler-i.h>
8typedef struct IValueAnimator IValueAnimator;
11#define INTERFACE IAnimatorUpdateListener
12DECLARE_INTERFACE(IAnimatorUpdateListener)
19 STDMETHOD_(
void, onAnimationUpdate)(THIS_ IValueAnimator * pAnimator) PURE;
23#define INTERFACE IAnimatorListener
24DECLARE_INTERFACE(IAnimatorListener)
31 STDMETHOD_(
void, onAnimationStart)(THIS_ IValueAnimator * pAnimator) PURE;
38 STDMETHOD_(
void, onAnimationEnd)(THIS_ IValueAnimator * pAnimator) PURE;
45 STDMETHOD_(
void, onAnimationRepeat)(THIS_ IValueAnimator * pAnimator) PURE;
49#define INTERFACE IValueAnimator
50DECLARE_INTERFACE_(IValueAnimator, IObject)
52 DEF_OBJ_BASE(IValueAnimator, ValueAnimator)
53#include <interface/SobjectApi.h>
60 STDMETHOD_(
void, setDuration)(THIS_
long duration) PURE;
66 STDMETHOD_(
long, getDuration)(CTHIS) SCONST PURE;
72 STDMETHOD_(
long, getTotalDuration)(CTHIS) SCONST PURE;
79 STDMETHOD_(
void, setCurrentPlayTime)(THIS_
long playTime) PURE;
86 STDMETHOD_(
void, setCurrentFraction)(THIS_
float fraction) PURE;
92 STDMETHOD_(
long, getCurrentPlayTime)(THIS) PURE;
98 STDMETHOD_(
long, getStartDelay)(CTHIS) SCONST PURE;
105 STDMETHOD_(
void, setStartDelay)(THIS_
long startDelay) PURE;
112 STDMETHOD_(
void, setRepeatCount)(THIS_
int value) PURE;
118 STDMETHOD_(
int, getRepeatCount)(CTHIS) SCONST PURE;
125 STDMETHOD_(
void, setRepeatMode)(THIS_ RepeatMode value) PURE;
131 STDMETHOD_(RepeatMode, getRepeatMode)(CTHIS) SCONST PURE;
138 STDMETHOD_(
void, addUpdateListener)(THIS_ IAnimatorUpdateListener * listener) PURE;
144 STDMETHOD_(
void, removeAllUpdateListeners)(THIS) PURE;
151 STDMETHOD_(
void, removeUpdateListener)(THIS_ IAnimatorUpdateListener * listener) PURE;
158 STDMETHOD_(
void, setInterpolator)(THIS_ IInterpolator * value) PURE;
164 STDMETHOD_(IInterpolator *, getInterpolator)(CTHIS) SCONST PURE;
171 STDMETHOD_(
void, addListener)(THIS_ IAnimatorListener * p) PURE;
178 STDMETHOD_(
void, removeListener)(THIS_ IAnimatorListener * p) PURE;
185 STDMETHOD_(
void, start)(THIS_ ITimelineHandlersMgr * pContainer) PURE;
191 STDMETHOD_(
void, end)(THIS) PURE;
197 STDMETHOD_(BOOL, isRunning)(CTHIS) SCONST PURE;
203 STDMETHOD_(BOOL, isStarted)(CTHIS) SCONST PURE;
209 STDMETHOD_(
void, reverse)(THIS) PURE;
216 STDMETHOD_(
void, commitAnimationFrame)(THIS_
long frameTime) PURE;
222 STDMETHOD_(
float, getAnimatedFraction)(CTHIS) SCONST PURE;
228 STDMETHOD_(IValueAnimator *, clone)(CTHIS) SCONST PURE;
235 STDMETHOD_(
void, copy)(THIS_
const IValueAnimator *src) PURE;
242 STDMETHOD_(
void, onEvaluateValue)(THIS_
float fraction) PURE;
245typedef struct IAnimatorGroup IAnimatorGroup;
248#define INTERFACE IAnimatorGroupListerer
249DECLARE_INTERFACE(IAnimatorGroupListerer)
256 STDMETHOD_(
void, OnAnimatorGroupEnd)(THIS_ IAnimatorGroup * pGroup) PURE;
260#define INTERFACE IAnimatorGroup
261DECLARE_INTERFACE_(IAnimatorGroup,
IObjRef)
267 STDMETHOD_(
long, AddRef)(THIS) PURE;
273 STDMETHOD_(
long, Release)(THIS) PURE;
279 STDMETHOD_(
void, OnFinalRelease)(THIS) PURE;
286 STDMETHOD_(BOOL, AddAnimator)(THIS_ IValueAnimator * ani) PURE;
293 STDMETHOD_(BOOL, RemoveAnimator)(THIS_ IValueAnimator * ani) PURE;
300 STDMETHOD_(
void, SetListener)(THIS_ IAnimatorGroupListerer * listener) PURE;
Interface for reference counting.