22#ifndef __SANIMATION_I__H__
23#define __SANIMATION_I__H__
25#include <interface/sinterpolator-i.h>
27#include <interface/STransform-i.h>
31typedef struct IAnimation IAnimation;
34#define INTERFACE IAnimationListener
35DECLARE_INTERFACE(IAnimationListener)
42 STDMETHOD_(
void, OnAnimationStart)(THIS_ IAnimation * animation) PURE;
49 STDMETHOD_(
void, OnAnimationStop)(THIS_ IAnimation * animation) PURE;
56 STDMETHOD_(
void, OnAnimationRepeat)(THIS_ IAnimation * animation) PURE;
64 STDMETHOD_(
void, OnAnimationPauseChange)(THIS_ IAnimation * animation, BOOL bPaused) PURE;
72typedef enum RepeatMode
85 START_ON_FIRST_FRAME = -1,
88typedef enum AniValueType
103 RELATIVE_TO_PARENT = 2,
106typedef enum ZAdjustment
126#define INTERFACE IAnimation
127DECLARE_INTERFACE_(IAnimation, IObject)
129 DEF_OBJ_BASE(IAnimation, Animation)
130#include <interface/SobjectApi.h>
136 STDMETHOD_(IAnimation *, clone)(CTHIS) SCONST PURE;
143 STDMETHOD_(
void, copy)(THIS_
const IAnimation *src) PURE;
149 STDMETHOD_(
void, reset)(THIS) PURE;
155 STDMETHOD_(
void, cancel)(THIS) PURE;
162 STDMETHOD_(
void, setInterpolator)(THIS_ IInterpolator * i) PURE;
169 STDMETHOD_(
void, setDuration)(THIS_
long durationMillis) PURE;
176 STDMETHOD_(
void, scaleCurrentDuration)(THIS_
float scale) PURE;
183 STDMETHOD_(
void, setFillBefore)(THIS_ BOOL bFill) PURE;
190 STDMETHOD_(
void, setFillAfter)(THIS_ BOOL bFill) PURE;
196 STDMETHOD_(BOOL, getFillBefore)(CTHIS) SCONST PURE;
202 STDMETHOD_(BOOL, getFillAfter)(CTHIS) SCONST PURE;
209 STDMETHOD_(
void, setStartOffset)(THIS_
long offset) PURE;
215 STDMETHOD_(BOOL, isFillEnabled)(CTHIS) SCONST PURE;
222 STDMETHOD_(
void, setFillEnabled)(THIS_ BOOL fillEnabled) PURE;
229 STDMETHOD_(
void, setStartTime)(THIS_ int64_t startTimeMillis) PURE;
235 STDMETHOD_(
void, start)(THIS) PURE;
241 STDMETHOD_(
void, startNow)(THIS) PURE;
248 STDMETHOD_(
void, setRepeatMode)(THIS_ RepeatMode repeatMode) PURE;
255 STDMETHOD_(
void, setRepeatCount)(THIS_
int repeatCount) PURE;
262 STDMETHOD_(
void, setZAdjustment)(THIS_ ZAdjustment zAdjustment) PURE;
268 STDMETHOD_(IInterpolator *, getInterpolator)(CTHIS) SCONST PURE;
274 STDMETHOD_(int64_t, getStartTime)(CTHIS) SCONST PURE;
280 STDMETHOD_(
long, getDuration)(CTHIS) SCONST PURE;
286 STDMETHOD_(
long, getStartOffset)(CTHIS) SCONST PURE;
292 STDMETHOD_(RepeatMode, getRepeatMode)(CTHIS) SCONST PURE;
298 STDMETHOD_(
int, getRepeatCount)(CTHIS) SCONST PURE;
304 STDMETHOD_(ZAdjustment, getZAdjustment)(CTHIS) SCONST PURE;
311 STDMETHOD_(
void, setAnimationListener)(THIS_ IAnimationListener * listener) PURE;
317 STDMETHOD_(
long, computeDurationHint)(CTHIS) SCONST PURE;
326 STDMETHOD_(BOOL, getTransformation2)
327 (THIS_ uint64_t currentTime, ITransformation * outTransformation,
float scale) PURE;
335 STDMETHOD_(BOOL, getTransformation)
336 (THIS_ uint64_t currentTime, ITransformation * outTransformation) PURE;
342 STDMETHOD_(BOOL, hasStarted)(CTHIS) SCONST PURE;
348 STDMETHOD_(BOOL, hasEnded)(CTHIS) SCONST PURE;
356 STDMETHOD_(
void, applyTransformation)(THIS_
float interpolatedTime, ITransformation *t) PURE;
362 STDMETHOD_(BOOL, hasAlpha)(CTHIS) SCONST PURE;
373 STDMETHOD_(
void, initialize)
374 (THIS_
int width,
int height,
int parentWidth,
int parentHeight,
int nScale) PURE;
381 STDMETHOD_(
void, setUserData)(THIS_ ULONG_PTR data) PURE;
387 STDMETHOD_(ULONG_PTR, getUserData)(CTHIS) SCONST PURE;
393 STDMETHOD_(
void, pause)(THIS) PURE;
399 STDMETHOD_(
void, resume)(THIS) PURE;