00001 #ifndef ENGRAVE_PROGRAM_H 00002 #define ENGRAVE_PROGRAM_H 00003 00018 typedef struct _Engrave_Program Engrave_Program; 00019 00023 struct _Engrave_Program 00024 { 00025 char *name; 00026 char *signal; 00027 char *source; 00028 Evas_List *targets; 00029 Evas_List *afters; 00034 struct { 00035 double from; 00036 double range; 00037 } in; 00038 00039 Engrave_Action action; 00040 char *state; 00041 char *state2; 00042 double value; 00043 double value2; 00045 Engrave_Transition transition; 00046 double duration; 00048 char *script; 00050 void *parent; 00051 }; 00052 00053 Engrave_Program *engrave_program_new(void); 00054 void engrave_program_free(Engrave_Program *ep); 00055 00056 void engrave_program_parent_set(Engrave_Program *ep, void *eg); 00057 void *engrave_program_parent_get(Engrave_Program *ep); 00058 00059 void engrave_program_script_set(Engrave_Program *ep, const char *script); 00060 void engrave_program_name_set(Engrave_Program *ep, const char *name); 00061 void engrave_program_signal_set(Engrave_Program *ep, const char *signal); 00062 void engrave_program_source_set(Engrave_Program *ep, const char *source); 00063 void engrave_program_target_add(Engrave_Program *ep, const char *target); 00064 void engrave_program_after_add(Engrave_Program *ep, const char *after); 00065 void engrave_program_in_set(Engrave_Program *ep, double from, double range); 00066 void engrave_program_action_set(Engrave_Program *ep, Engrave_Action action, 00067 const char *state, 00068 const char *state2, 00069 double value, double value2); 00070 void engrave_program_transition_set(Engrave_Program *ep, 00071 Engrave_Transition trans, double duration); 00072 00073 const char *engrave_program_name_get(Engrave_Program *ep); 00074 const char *engrave_program_signal_get(Engrave_Program *ep); 00075 const char *engrave_program_source_get(Engrave_Program *ep); 00076 void engrave_program_action_get(Engrave_Program *ep, Engrave_Action *action, 00077 char *state, char *state2, 00078 int state_len, int state2_len, 00079 double *value, double *value2); 00080 void engrave_program_transition_get(Engrave_Program *ep, 00081 Engrave_Transition *trans, double *duration); 00082 const char *engrave_program_script_get(Engrave_Program *ep); 00083 void engrave_program_in_get(Engrave_Program *ep, double *from, double *range); 00084 00085 int engrave_program_afters_count(Engrave_Program *ep); 00086 int engrave_program_targets_count(Engrave_Program *ep); 00087 00088 void engrave_program_target_foreach(Engrave_Program *ep, 00089 void (*func)(const char *, void *), void *data); 00090 void engrave_program_after_foreach(Engrave_Program *ep, 00091 void (*func)(const char *, void *), void *data); 00092 00093 00098 #endif 00099