efl/src/lib/evas/canvas/efl_animation_object_private.h

57 lines
1.7 KiB
C

#define EFL_ANIMATION_OBJECT_PROTECTED
#include "evas_common_private.h"
#include <Ecore.h>
#define MY_CLASS EFL_ANIMATION_OBJECT_CLASS
#define MY_CLASS_NAME efl_class_name_get(MY_CLASS)
typedef struct _Target_State
{
Evas_Coord x, y, w, h;
int r, g, b, a;
Evas_Map *map;
Eina_Bool enable_map : 1;
} Target_State;
typedef struct _Efl_Animation_Object_Data
{
Ecore_Animator *animator;
Ecore_Timer *start_delay_timer;
double start_delay_time;
struct {
double begin;
double current;
double pause_begin;
} time;
Efl_Canvas_Object *target;
Target_State *target_state;
double progress;
double duration;
double paused_time;
Efl_Animation_Object_Repeat_Mode repeat_mode;
int repeat_count;
int remaining_repeat_count;
Efl_Interpolator *interpolator;
Eina_Bool auto_del : 1;
Eina_Bool is_started : 1;
Eina_Bool is_cancelled : 1;
Eina_Bool is_ended : 1;
Eina_Bool is_paused : 1;
Eina_Bool keep_final_state : 1;
Eina_Bool is_direction_forward : 1;
Eina_Bool is_direction_changed : 1;
} Efl_Animation_Object_Data;
#define EFL_ANIMATION_OBJECT_DATA_GET(o, pd) \
Efl_Animation_Object_Data *pd = efl_data_scope_get(o, EFL_ANIMATION_OBJECT_CLASS)