exactness: Fixed Multuple-evas support

Signed-off-by: Aharon Hillel <a.hillel@partner.samsung.com>

SVN revision: 67928
This commit is contained in:
Aharon Hillel 2012-02-14 13:52:41 +00:00 committed by Tom Hacohen
parent 64137e1da6
commit eb03cf9f84
3 changed files with 278 additions and 89 deletions

View File

@ -35,6 +35,7 @@ static char *shot_key = SHOT_KEY_STR;
static Lists_st *vr_list = NULL; static Lists_st *vr_list = NULL;
static evas_hook_setting *_hook_setting = NULL; static evas_hook_setting *_hook_setting = NULL;
static Tsuite_Data ts; static Tsuite_Data ts;
static Eina_List *evas_list = NULL; /* List of Evas pointers */
/** /**
* @internal * @internal
@ -145,9 +146,9 @@ tsuite_evas_hook_reset(void)
* @ingroup Tsuite * @ingroup Tsuite
*/ */
void void
tsuite_shot_do(char *name) tsuite_shot_do(char *name, Evas *e)
{ {
if (!ts.e) if (!e)
return; return;
Ecore_Evas *ee, *ee_orig; Ecore_Evas *ee, *ee_orig;
@ -182,8 +183,7 @@ tsuite_shot_do(char *name)
} }
/* A bit hackish, get the ecore_evas from the Evas canvas */ /* A bit hackish, get the ecore_evas from the Evas canvas */
ee_orig = evas_data_attach_get(ts.e); ee_orig = evas_data_attach_get(e);
printf("<%s> ts.e=<%p> ee_orig=<%p> file=<%s>\n", __func__, ts.e, ee_orig, filename);
ecore_evas_manual_render(ee_orig); ecore_evas_manual_render(ee_orig);
pixels = (void *)ecore_evas_buffer_pixels_get(ee_orig); pixels = (void *)ecore_evas_buffer_pixels_get(ee_orig);
@ -210,7 +210,6 @@ ecore_init(void)
int (*_ecore_init)(void) = int (*_ecore_init)(void) =
dlsym(RTLD_NEXT, "ecore_init"); dlsym(RTLD_NEXT, "ecore_init");
printf("<%s> Calling %s\n", __FILE__, __func__);
if (!_hook_setting) if (!_hook_setting)
{ {
_hook_setting = calloc(1, sizeof(evas_hook_setting)); _hook_setting = calloc(1, sizeof(evas_hook_setting));
@ -219,17 +218,15 @@ ecore_init(void)
_hook_setting->dest_dir = getenv("TSUITE_DEST_DIR"); _hook_setting->dest_dir = getenv("TSUITE_DEST_DIR");
_hook_setting->test_name = getenv("TSUITE_TEST_NAME"); _hook_setting->test_name = getenv("TSUITE_TEST_NAME");
_hook_setting->file_name = getenv("TSUITE_FILE_NAME"); _hook_setting->file_name = getenv("TSUITE_FILE_NAME");
#ifdef DEBUG_TSUITE
printf("<%s> test_name=<%s>\n", __func__, _hook_setting->test_name); printf("<%s> test_name=<%s>\n", __func__, _hook_setting->test_name);
printf("<%s> base_dir=<%s>\n", __func__, _hook_setting->base_dir); printf("<%s> base_dir=<%s>\n", __func__, _hook_setting->base_dir);
printf("<%s> dest_dir=<%s>\n", __func__, _hook_setting->dest_dir); printf("<%s> dest_dir=<%s>\n", __func__, _hook_setting->dest_dir);
printf("<%s> recording=<%s>\n", __func__, _hook_setting->recording); printf("<%s> recording=<%s>\n", __func__, _hook_setting->recording);
printf("<%s> rec file is <%s>\n", __func__, _hook_setting->file_name); printf("<%s> rec file is <%s>\n", __func__, _hook_setting->file_name);
#endif
if (_hook_setting->recording) if (_hook_setting->recording)
tsuite_evas_hook_init(); tsuite_evas_hook_init();
printf("<%s> TSUITE_INI! %s\n", __FILE__, __func__);
} }
return _ecore_init(); return _ecore_init();
@ -255,6 +252,8 @@ ecore_shutdown(void)
if (ts.td) if (ts.td)
free(ts.td); free(ts.td);
evas_list = eina_list_free(evas_list);
memset(&ts, 0, sizeof(Tsuite_Data)); memset(&ts, 0, sizeof(Tsuite_Data));
return _ecore_shutdown(); return _ecore_shutdown();
} }
@ -267,7 +266,11 @@ elm_win_add(Evas_Object *parent, const char *name, Elm_Win_Type type)
dlsym(RTLD_NEXT, "elm_win_add"); dlsym(RTLD_NEXT, "elm_win_add");
win = _elm_win_add(parent, name, type); win = _elm_win_add(parent, name, type);
ts.e = evas_object_evas_get(win); evas_list = eina_list_append(evas_list, evas_object_evas_get(win));
#ifdef DEBUG_TSUITE
printf("Appended EVAS=<%p> list size=<%d>\n", evas_object_evas_get(win), eina_list_count(evas_list));
#endif
return win; return win;
} }
@ -301,9 +304,10 @@ tsuite_feed_event(void *data)
mouse_in_mouse_out *t = v->data; mouse_in_mouse_out *t = v->data;
evt_time = t->timestamp; evt_time = t->timestamp;
#ifdef DEBUG_TSUITE #ifdef DEBUG_TSUITE
printf("%s evas_event_feed_mouse_in timestamp=<%u>\n", __func__, t->timestamp); printf("%s evas_event_feed_mouse_in timestamp=<%u> t->n_evas=<%d>\n", __func__, t->timestamp, t->n_evas);
#endif #endif
evas_event_feed_mouse_in(td->e, time(NULL), NULL); evas_event_feed_mouse_in(eina_list_nth(evas_list, t->n_evas),
time(NULL), NULL);
break; break;
} }
case TSUITE_EVENT_MOUSE_OUT: case TSUITE_EVENT_MOUSE_OUT:
@ -311,9 +315,10 @@ tsuite_feed_event(void *data)
mouse_in_mouse_out *t = v->data; mouse_in_mouse_out *t = v->data;
evt_time = t->timestamp; evt_time = t->timestamp;
#ifdef DEBUG_TSUITE #ifdef DEBUG_TSUITE
printf("%s evas_event_feed_mouse_out timestamp=<%u>\n", __func__, t->timestamp); printf("%s evas_event_feed_mouse_out timestamp=<%u> t->n_evas=<%d>\n", __func__, t->timestamp,t->n_evas);
#endif #endif
evas_event_feed_mouse_out(td->e, time(NULL), NULL); evas_event_feed_mouse_out(eina_list_nth(evas_list, t->n_evas),
time(NULL), NULL);
break; break;
} }
case TSUITE_EVENT_MOUSE_DOWN: case TSUITE_EVENT_MOUSE_DOWN:
@ -321,9 +326,10 @@ tsuite_feed_event(void *data)
mouse_down_mouse_up *t = v->data; mouse_down_mouse_up *t = v->data;
evt_time = t->timestamp; evt_time = t->timestamp;
#ifdef DEBUG_TSUITE #ifdef DEBUG_TSUITE
printf("%s evas_event_feed_mouse_down timestamp=<%u>\n", __func__, t->timestamp); printf("%s evas_event_feed_mouse_down timestamp=<%u> t->n_evas=<%d>\n", __func__, t->timestamp, t->n_evas);
#endif #endif
evas_event_feed_mouse_down(td->e, t->b, t->flags, time(NULL), evas_event_feed_mouse_down(eina_list_nth(evas_list, t->n_evas),
t->b, t->flags, time(NULL),
NULL); NULL);
break; break;
@ -333,9 +339,10 @@ tsuite_feed_event(void *data)
mouse_down_mouse_up *t = v->data; mouse_down_mouse_up *t = v->data;
evt_time = t->timestamp; evt_time = t->timestamp;
#ifdef DEBUG_TSUITE #ifdef DEBUG_TSUITE
printf("%s evas_event_feed_mouse_up timestamp=<%u>\n", __func__, t->timestamp); printf("%s evas_event_feed_mouse_up timestamp=<%u> t->n_evas=<%d>\n", __func__, t->timestamp,t->n_evas);
#endif #endif
evas_event_feed_mouse_up(td->e, t->b, t->flags, time(NULL), evas_event_feed_mouse_up(eina_list_nth(evas_list, t->n_evas),
t->b, t->flags, time(NULL),
NULL); NULL);
break; break;
@ -345,9 +352,10 @@ tsuite_feed_event(void *data)
mouse_move *t = v->data; mouse_move *t = v->data;
evt_time = t->timestamp; evt_time = t->timestamp;
#ifdef DEBUG_TSUITE #ifdef DEBUG_TSUITE
printf("%s evas_event_feed_mouse_move (x,y)=(%d,%d) timestamp=<%u>\n", __func__, t->x, t->y, t->timestamp); printf("%s evas_event_feed_mouse_move (x,y)=(%d,%d) timestamp=<%u> t->n_evas=<%d>\n", __func__, t->x, t->y, t->timestamp,t->n_evas);
#endif #endif
evas_event_feed_mouse_move(td->e, t->x, t->y, time(NULL), NULL); evas_event_feed_mouse_move(eina_list_nth(evas_list, t->n_evas),
t->x, t->y, time(NULL), NULL);
break; break;
} }
case TSUITE_EVENT_MOUSE_WHEEL: case TSUITE_EVENT_MOUSE_WHEEL:
@ -355,9 +363,10 @@ tsuite_feed_event(void *data)
mouse_wheel *t = v->data; mouse_wheel *t = v->data;
evt_time = t->timestamp; evt_time = t->timestamp;
#ifdef DEBUG_TSUITE #ifdef DEBUG_TSUITE
printf("%s evas_event_feed_mouse_wheel timestamp=<%u>\n", __func__, t->timestamp); printf("%s evas_event_feed_mouse_wheel timestamp=<%u> t->n_evas=<%d>\n", __func__, t->timestamp, t->n_evas);
#endif #endif
evas_event_feed_mouse_wheel(td->e, t->direction, t->z, evas_event_feed_mouse_wheel(eina_list_nth(evas_list, t->n_evas),
t->direction, t->z,
time(NULL), NULL); time(NULL), NULL);
break; break;
@ -367,9 +376,10 @@ tsuite_feed_event(void *data)
multi_event *t = v->data; multi_event *t = v->data;
evt_time = t->timestamp; evt_time = t->timestamp;
#ifdef DEBUG_TSUITE #ifdef DEBUG_TSUITE
printf("%s evas_event_feed_multi_down timestamp=<%u>\n", __func__, t->timestamp); printf("%s evas_event_feed_multi_down timestamp=<%u>, t->n_evas=<%d>\n", __func__, t->timestamp,t->n_evas);
#endif #endif
evas_event_feed_multi_down(td->e, t->d, t->x, t->y, t->rad, evas_event_feed_multi_down(eina_list_nth(evas_list, t->n_evas),
t->d, t->x, t->y, t->rad,
t->radx, t->rady, t->pres, t->ang, t->fx, t->fy, t->radx, t->rady, t->pres, t->ang, t->fx, t->fy,
t->flags, time(NULL), NULL); t->flags, time(NULL), NULL);
@ -380,9 +390,10 @@ tsuite_feed_event(void *data)
multi_event *t = v->data; multi_event *t = v->data;
evt_time = t->timestamp; evt_time = t->timestamp;
#ifdef DEBUG_TSUITE #ifdef DEBUG_TSUITE
printf("%s evas_event_feed_multi_up timestamp=<%u>\n", __func__, t->timestamp); printf("%s evas_event_feed_multi_up timestamp=<%u> t->n_evas=<%d>\n", __func__, t->timestamp,t->n_evas);
#endif #endif
evas_event_feed_multi_up(td->e, t->d, t->x, t->y, t->rad, evas_event_feed_multi_up(eina_list_nth(evas_list, t->n_evas),
t->d, t->x, t->y, t->rad,
t->radx, t->rady, t->pres, t->ang, t->fx, t->fy, t->radx, t->rady, t->pres, t->ang, t->fx, t->fy,
t->flags, time(NULL), NULL); t->flags, time(NULL), NULL);
@ -393,9 +404,10 @@ tsuite_feed_event(void *data)
multi_move *t = v->data; multi_move *t = v->data;
evt_time = t->timestamp; evt_time = t->timestamp;
#ifdef DEBUG_TSUITE #ifdef DEBUG_TSUITE
printf("%s evas_event_feed_multi_move timestamp=<%u>\n", __func__, t->timestamp); printf("%s evas_event_feed_multi_move timestamp=<%u> t->n_evas=<%d>\n", __func__, t->timestamp, t->n_evas);
#endif #endif
evas_event_feed_multi_move(td->e, t->d, t->x, t->y, t->rad, evas_event_feed_multi_move(eina_list_nth(evas_list, t->n_evas),
t->d, t->x, t->y, t->rad,
t->radx, t->rady, t->pres, t->ang, t->fx, t->fy, t->radx, t->rady, t->pres, t->ang, t->fx, t->fy,
time(NULL), NULL); time(NULL), NULL);
@ -406,9 +418,10 @@ tsuite_feed_event(void *data)
key_down_key_up *t = v->data; key_down_key_up *t = v->data;
evt_time = t->timestamp; evt_time = t->timestamp;
#ifdef DEBUG_TSUITE #ifdef DEBUG_TSUITE
printf("%s evas_event_feed_key_down timestamp=<%u>\n", __func__, t->timestamp); printf("%s evas_event_feed_key_down timestamp=<%u> t->n_evas=<%d>\n", __func__, t->timestamp, t->n_evas);
#endif #endif
evas_event_feed_key_down(td->e, t->keyname, t->key, t->string, evas_event_feed_key_down(eina_list_nth(evas_list, t->n_evas),
t->keyname, t->key, t->string,
t->compose, time(NULL), NULL); t->compose, time(NULL), NULL);
break; break;
@ -418,9 +431,10 @@ tsuite_feed_event(void *data)
key_down_key_up *t = v->data; key_down_key_up *t = v->data;
evt_time = t->timestamp; evt_time = t->timestamp;
#ifdef DEBUG_TSUITE #ifdef DEBUG_TSUITE
printf("%s evas_event_feed_key_up timestamp=<%u>\n", __func__, t->timestamp); printf("%s evas_event_feed_key_up timestamp=<%u> t->n_evas=<%d>\n", __func__, t->timestamp, t->n_evas);
#endif #endif
evas_event_feed_key_up(td->e, t->keyname, t->key, t->string, evas_event_feed_key_up(eina_list_nth(evas_list, t->n_evas),
t->keyname, t->key, t->string,
t->compose, time(NULL), NULL); t->compose, time(NULL), NULL);
break; break;
@ -430,9 +444,10 @@ tsuite_feed_event(void *data)
take_screenshot *t = v->data; take_screenshot *t = v->data;
evt_time = t->timestamp; evt_time = t->timestamp;
#ifdef DEBUG_TSUITE #ifdef DEBUG_TSUITE
printf("%s take shot timestamp=<%u>\n", __func__, t->timestamp); printf("%s take shot timestamp=<%u> t->n_evas=<%d>\n", __func__, t->timestamp, t->n_evas);
#endif #endif
tsuite_shot_do(NULL); /* Serial name based on test-name */ tsuite_shot_do(NULL,
eina_list_nth(evas_list, t->n_evas)); /* Serial name based on test-name */
break; break;
} }
default: /* All non-input events are not handeled */ default: /* All non-input events are not handeled */
@ -483,16 +498,15 @@ ecore_main_loop_begin(void)
{ {
ts.td = calloc(1, sizeof(Timer_Data)); ts.td = calloc(1, sizeof(Timer_Data));
#ifdef DEBUG_TSUITE #ifdef DEBUG_TSUITE
printf("<%s> rec file is <%s>\n", _hook_setting->file_name); printf("<%s> rec file is <%s>\n", __func__, _hook_setting->file_name);
#endif #endif
vr_list = read_events(_hook_setting->file_name, ts.e, ts.td); vr_list = read_events(_hook_setting->file_name, ts.td);
if (ts.td->current_event) if (ts.td->current_event)
{ /* Got first event in list, run test */ { /* Got first event in list, run test */
tsuite_feed_event(ts.td); tsuite_feed_event(ts.td);
} }
} }
printf("<%s> Calling %s\n", __FILE__, __func__);
return _ecore_main_loop_begin(); return _ecore_main_loop_begin();
} }
@ -506,11 +520,29 @@ ecore_main_loop_begin(void)
_variant_type_set(tsuite_event_mapping_type_str_get(EVT_TYPE), \ _variant_type_set(tsuite_event_mapping_type_str_get(EVT_TYPE), \
&v->t, EINA_FALSE); \ &v->t, EINA_FALSE); \
memcpy(v->data, &INFO, sizeof(EVT_STRUCT_NAME)); \ memcpy(v->data, &INFO, sizeof(EVT_STRUCT_NAME)); \
printf("recording <%s> time=<%u>\n", #EVT_STRUCT_NAME, ((EVT_STRUCT_NAME *) v->data)->timestamp); \
vr_list->variant_list = eina_list_append(vr_list->variant_list, v); \ vr_list->variant_list = eina_list_append(vr_list->variant_list, v); \
} \ } \
} while (0) } while (0)
static int evas_list_find(void *ptr)
{ /* We just compare the pointers */
Eina_List *l;
void *data;
int n = 0;
EINA_LIST_FOREACH(evas_list, l, data)
{ /* Get the nuber of Evas Pointer */
if (ptr == data)
{
return n;
}
n++;
}
return -1;
}
static Tsuite_Event_Type static Tsuite_Event_Type
tsuite_event_type_get(Evas_Callback_Type t) tsuite_event_type_get(Evas_Callback_Type t)
{ {
@ -550,9 +582,11 @@ evas_event_feed_mouse_in(Evas *e, unsigned int timestamp, const void *data)
#ifdef DEBUG_TSUITE #ifdef DEBUG_TSUITE
printf("Calling %s timestamp=<%u>\n", __func__, timestamp); printf("Calling %s timestamp=<%u>\n", __func__, timestamp);
#endif #endif
mouse_in_mouse_out t = { timestamp }; mouse_in_mouse_out t = { timestamp, evas_list_find(e) };
int evt = tsuite_event_type_get(EVAS_CALLBACK_MOUSE_IN); int evt = tsuite_event_type_get(EVAS_CALLBACK_MOUSE_IN);
ADD_TO_LIST(evt, mouse_in_mouse_out, t); if (t.n_evas >= 0)
ADD_TO_LIST(evt, mouse_in_mouse_out, t);
void (*orig) (Evas *e, unsigned int timestamp, const void *data) = void (*orig) (Evas *e, unsigned int timestamp, const void *data) =
dlsym(RTLD_NEXT, __func__); dlsym(RTLD_NEXT, __func__);
@ -565,9 +599,11 @@ evas_event_feed_mouse_out(Evas *e, unsigned int timestamp, const void *data)
#ifdef DEBUG_TSUITE #ifdef DEBUG_TSUITE
printf("Calling %s timestamp=<%u>\n", __func__, timestamp); printf("Calling %s timestamp=<%u>\n", __func__, timestamp);
#endif #endif
mouse_in_mouse_out t = { timestamp }; mouse_in_mouse_out t = { timestamp, evas_list_find(e) };
int evt = tsuite_event_type_get(EVAS_CALLBACK_MOUSE_OUT); int evt = tsuite_event_type_get(EVAS_CALLBACK_MOUSE_OUT);
ADD_TO_LIST(evt, mouse_in_mouse_out, t); if (t.n_evas >= 0)
ADD_TO_LIST(evt, mouse_in_mouse_out, t);
void (*orig) (Evas *e, unsigned int timestamp, const void *data) = void (*orig) (Evas *e, unsigned int timestamp, const void *data) =
dlsym(RTLD_NEXT, __func__); dlsym(RTLD_NEXT, __func__);
@ -581,9 +617,11 @@ evas_event_feed_mouse_down(Evas *e, int b, Evas_Button_Flags flags,
#ifdef DEBUG_TSUITE #ifdef DEBUG_TSUITE
printf("Calling %s timestamp=<%u>\n", __func__, timestamp); printf("Calling %s timestamp=<%u>\n", __func__, timestamp);
#endif #endif
mouse_down_mouse_up t = { b, flags, timestamp }; mouse_down_mouse_up t = { b, flags, timestamp, evas_list_find(e) };
int evt = tsuite_event_type_get(EVAS_CALLBACK_MOUSE_DOWN); int evt = tsuite_event_type_get(EVAS_CALLBACK_MOUSE_DOWN);
ADD_TO_LIST(evt, mouse_down_mouse_up, t); if (t.n_evas >= 0)
ADD_TO_LIST(evt, mouse_down_mouse_up, t);
void (*orig) (Evas *e, int b, Evas_Button_Flags flags, void (*orig) (Evas *e, int b, Evas_Button_Flags flags,
unsigned int timestamp, const void *data) = unsigned int timestamp, const void *data) =
dlsym(RTLD_NEXT, __func__); dlsym(RTLD_NEXT, __func__);
@ -598,9 +636,11 @@ evas_event_feed_mouse_up(Evas *e, int b, Evas_Button_Flags flags,
#ifdef DEBUG_TSUITE #ifdef DEBUG_TSUITE
printf("Calling %s timestamp=<%u>\n", __func__, timestamp); printf("Calling %s timestamp=<%u>\n", __func__, timestamp);
#endif #endif
mouse_down_mouse_up t = { b, flags, timestamp }; mouse_down_mouse_up t = { b, flags, timestamp, evas_list_find(e) };
int evt = tsuite_event_type_get(EVAS_CALLBACK_MOUSE_UP); int evt = tsuite_event_type_get(EVAS_CALLBACK_MOUSE_UP);
ADD_TO_LIST(evt, mouse_down_mouse_up, t); if (t.n_evas >= 0)
ADD_TO_LIST(evt, mouse_down_mouse_up, t);
void (*orig) (Evas *e, int b, Evas_Button_Flags flags, void (*orig) (Evas *e, int b, Evas_Button_Flags flags,
unsigned int timestamp, const void *data) = unsigned int timestamp, const void *data) =
dlsym(RTLD_NEXT, __func__); dlsym(RTLD_NEXT, __func__);
@ -612,12 +652,14 @@ EAPI void
evas_event_feed_mouse_move(Evas *e, int x, int y, unsigned int timestamp, evas_event_feed_mouse_move(Evas *e, int x, int y, unsigned int timestamp,
const void *data) const void *data)
{ {
mouse_move t = { x, y, timestamp }; mouse_move t = { x, y, timestamp, evas_list_find(e) };
#ifdef DEBUG_TSUITE #ifdef DEBUG_TSUITE
printf("Calling %s timestamp=<%u>\n", __func__, timestamp); printf("Calling %s timestamp=<%u>\n", __func__, timestamp);
#endif #endif
int evt = tsuite_event_type_get(EVAS_CALLBACK_MOUSE_MOVE); int evt = tsuite_event_type_get(EVAS_CALLBACK_MOUSE_MOVE);
ADD_TO_LIST(evt, mouse_move, t); if (t.n_evas >= 0)
ADD_TO_LIST(evt, mouse_move, t);
void (*orig) (Evas *e, int x, int y, unsigned int timestamp, void (*orig) (Evas *e, int x, int y, unsigned int timestamp,
const void *data) = dlsym(RTLD_NEXT, __func__); const void *data) = dlsym(RTLD_NEXT, __func__);
orig(e, x, y, timestamp, data); orig(e, x, y, timestamp, data);
@ -630,9 +672,11 @@ evas_event_feed_mouse_wheel(Evas *e, int direction, int z,
#ifdef DEBUG_TSUITE #ifdef DEBUG_TSUITE
printf("Calling %s timestamp=<%u>\n", __func__, timestamp); printf("Calling %s timestamp=<%u>\n", __func__, timestamp);
#endif #endif
mouse_wheel t = { direction, z, timestamp }; mouse_wheel t = { direction, z, timestamp, evas_list_find(e) };
int evt = tsuite_event_type_get(EVAS_CALLBACK_MOUSE_WHEEL); int evt = tsuite_event_type_get(EVAS_CALLBACK_MOUSE_WHEEL);
ADD_TO_LIST(evt, mouse_wheel, t); if (t.n_evas >= 0)
ADD_TO_LIST(evt, mouse_wheel, t);
void (*orig) (Evas *e, int direction, int z, unsigned int timestamp, void (*orig) (Evas *e, int direction, int z, unsigned int timestamp,
const void *data) = dlsym(RTLD_NEXT, __func__); const void *data) = dlsym(RTLD_NEXT, __func__);
@ -649,10 +693,12 @@ evas_event_feed_multi_down(Evas *e, int d, int x, int y,
printf("Calling %s timestamp=<%u>\n", __func__, timestamp); printf("Calling %s timestamp=<%u>\n", __func__, timestamp);
#endif #endif
multi_event t = { d, x, y, rad, radx, rady, pres, ang, multi_event t = { d, x, y, rad, radx, rady, pres, ang,
fx, fy, flags, timestamp }; fx, fy, flags, timestamp, evas_list_find(e) };
int evt = tsuite_event_type_get(EVAS_CALLBACK_MULTI_DOWN); int evt = tsuite_event_type_get(EVAS_CALLBACK_MULTI_DOWN);
ADD_TO_LIST(evt, multi_event, t); if (t.n_evas >= 0)
ADD_TO_LIST(evt, multi_event, t);
void (*orig) (Evas *e, int d, int x, int y, double rad, void (*orig) (Evas *e, int d, int x, int y, double rad,
double radx, double rady, double pres, double ang, double radx, double rady, double pres, double ang,
double fx, double fy, Evas_Button_Flags flags, double fx, double fy, Evas_Button_Flags flags,
@ -670,9 +716,11 @@ evas_event_feed_multi_up(Evas *e, int d, int x, int y,
#ifdef DEBUG_TSUITE #ifdef DEBUG_TSUITE
printf("Calling %s timestamp=<%u>\n", __func__, timestamp); printf("Calling %s timestamp=<%u>\n", __func__, timestamp);
#endif #endif
multi_event t = { d, x, y, rad, radx, rady, pres, ang, fx, fy, flags, timestamp }; multi_event t = { d, x, y, rad, radx, rady, pres, ang, fx, fy, flags, timestamp, evas_list_find(e) };
int evt = tsuite_event_type_get(EVAS_CALLBACK_MULTI_UP); int evt = tsuite_event_type_get(EVAS_CALLBACK_MULTI_UP);
ADD_TO_LIST(evt, multi_event, t); if (t.n_evas >= 0)
ADD_TO_LIST(evt, multi_event, t);
void (*orig) (Evas *e, int d, int x, int y, double rad, void (*orig) (Evas *e, int d, int x, int y, double rad,
double radx, double rady, double pres, double ang, double radx, double rady, double pres, double ang,
double fx, double fy, Evas_Button_Flags flags, double fx, double fy, Evas_Button_Flags flags,
@ -690,9 +738,11 @@ evas_event_feed_multi_move(Evas *e, int d, int x, int y, double rad,
#ifdef DEBUG_TSUITE #ifdef DEBUG_TSUITE
printf("Calling %s timestamp=<%u>\n", __func__, timestamp); printf("Calling %s timestamp=<%u>\n", __func__, timestamp);
#endif #endif
multi_move t = { d, x, y, rad, radx, rady, pres, ang, fx, fy, timestamp }; multi_move t = { d, x, y, rad, radx, rady, pres, ang, fx, fy, timestamp, evas_list_find(e) };
int evt = tsuite_event_type_get(EVAS_CALLBACK_MULTI_MOVE); int evt = tsuite_event_type_get(EVAS_CALLBACK_MULTI_MOVE);
ADD_TO_LIST(evt, multi_move, t); if (t.n_evas >= 0)
ADD_TO_LIST(evt, multi_move, t);
void (*orig) (Evas *e, int d, int x, int y, double rad, void (*orig) (Evas *e, int d, int x, int y, double rad,
double radx, double rady, double pres, double ang, double radx, double rady, double pres, double ang,
double fx, double fy, unsigned int timestamp, const void *data) = double fx, double fy, unsigned int timestamp, const void *data) =
@ -719,8 +769,9 @@ evas_event_feed_key_down(Evas *e, const char *keyname, const char *key,
#ifdef DEBUG_TSUITE #ifdef DEBUG_TSUITE
printf("Take Screenshot: %s timestamp=<%u>\n", __func__, timestamp); printf("Take Screenshot: %s timestamp=<%u>\n", __func__, timestamp);
#endif #endif
take_screenshot t = { timestamp }; take_screenshot t = { timestamp, evas_list_find(e) };
ADD_TO_LIST(TSUITE_EVENT_TAKE_SHOT, take_screenshot, t); if (t.n_evas >= 0)
ADD_TO_LIST(TSUITE_EVENT_TAKE_SHOT, take_screenshot, t);
orig(e, keyname, key, string, compose, timestamp, data); orig(e, keyname, key, string, compose, timestamp, data);
return; return;
@ -735,7 +786,9 @@ evas_event_feed_key_down(Evas *e, const char *keyname, const char *key,
t.key = eina_stringshare_add(key); t.key = eina_stringshare_add(key);
t.string = eina_stringshare_add(string); t.string = eina_stringshare_add(string);
t.compose = eina_stringshare_add(compose); t.compose = eina_stringshare_add(compose);
ADD_TO_LIST(evt, key_down_key_up, t); t.n_evas = evas_list_find(e);
if (t.n_evas >= 0)
ADD_TO_LIST(evt, key_down_key_up, t);
} }
orig(e, keyname, key, string, compose, timestamp, data); orig(e, keyname, key, string, compose, timestamp, data);
@ -773,7 +826,9 @@ evas_event_feed_key_up(Evas *e, const char *keyname, const char *key,
t.key = eina_stringshare_add(key); t.key = eina_stringshare_add(key);
t.string = eina_stringshare_add(string); t.string = eina_stringshare_add(string);
t.compose = eina_stringshare_add(compose); t.compose = eina_stringshare_add(compose);
ADD_TO_LIST(evt, key_down_key_up, t); t.n_evas = evas_list_find(e);
if (t.n_evas >= 0)
ADD_TO_LIST(evt, key_down_key_up, t);
} }
orig(e, keyname, key, string, compose, timestamp, data); orig(e, keyname, key, string, compose, timestamp, data);

View File

@ -75,6 +75,102 @@ free_events(Lists_st *st, char *recording)
return NULL; return NULL;
} }
#ifdef DEBUG_TSUITE
static void
print_events(Lists_st *vr_list)
{
Eina_List *l;
void *data;
Variant_st *v;
int n = 0;
printf("List size = <%d>\n", eina_list_count(vr_list->variant_list));
EINA_LIST_FOREACH(vr_list->variant_list, l , data)
{
n++;
v = data;
switch(tsuite_event_mapping_type_get(v->t.type))
{
case TSUITE_EVENT_MOUSE_IN:
{
mouse_in_mouse_out *t = v->data;
printf("%d evas_event_feed_mouse_in timestamp=<%u> t->n_evas=<%d>\n", n, t->timestamp, t->n_evas);
break;
}
case TSUITE_EVENT_MOUSE_OUT:
{
mouse_in_mouse_out *t = v->data;
printf("%d evas_event_feed_mouse_out timestamp=<%u> t->n_evas=<%d>\n", n, t->timestamp,t->n_evas);
break;
}
case TSUITE_EVENT_MOUSE_DOWN:
{
mouse_down_mouse_up *t = v->data;
printf("%d evas_event_feed_mouse_down timestamp=<%u> t->n_evas=<%d>\n", n, t->timestamp, t->n_evas);
break;
}
case TSUITE_EVENT_MOUSE_UP:
{
mouse_down_mouse_up *t = v->data;
printf("%d evas_event_feed_mouse_up timestamp=<%u> t->n_evas=<%d>\n", n, t->timestamp,t->n_evas);
break;
}
case TSUITE_EVENT_MOUSE_MOVE:
{
mouse_move *t = v->data;
printf("%d evas_event_feed_mouse_move (x,y)=(%d,%d) timestamp=<%u> t->n_evas=<%d>\n", n, t->x, t->y, t->timestamp,t->n_evas);
break;
}
case TSUITE_EVENT_MOUSE_WHEEL:
{
mouse_wheel *t = v->data;
printf("%d evas_event_feed_mouse_wheel timestamp=<%u> t->n_evas=<%d>\n", n, t->timestamp, t->n_evas);
break;
}
case TSUITE_EVENT_MULTI_DOWN:
{
multi_event *t = v->data;
printf("%d evas_event_feed_multi_down timestamp=<%u>, t->n_evas=<%d>\n", n, t->timestamp,t->n_evas);
break;
}
case TSUITE_EVENT_MULTI_UP:
{
multi_event *t = v->data;
printf("%d evas_event_feed_multi_up timestamp=<%u> t->n_evas=<%d>\n", n, t->timestamp,t->n_evas);
break;
}
case TSUITE_EVENT_MULTI_MOVE:
{
multi_move *t = v->data;
printf("%d evas_event_feed_multi_move timestamp=<%u> t->n_evas=<%d>\n", n, t->timestamp, t->n_evas);
break;
}
case TSUITE_EVENT_KEY_DOWN:
{
key_down_key_up *t = v->data;
printf("%d evas_event_feed_key_down timestamp=<%u> t->n_evas=<%d>\n", n, t->timestamp, t->n_evas);
break;
}
case TSUITE_EVENT_KEY_UP:
{
key_down_key_up *t = v->data;
printf("%d evas_event_feed_key_up timestamp=<%u> t->n_evas=<%d>\n", n, t->timestamp, t->n_evas);
break;
}
case TSUITE_EVENT_TAKE_SHOT:
{
take_screenshot *t = v->data;
printf("%d take shot timestamp=<%u> t->n_evas=<%d>\n", n, t->timestamp, t->n_evas);
break;
}
default: /* All non-input events are not handeled */
printf("%d --- Uknown event ---\n", n);
break;
}
}
}
#endif
void void
write_events(const char *filename, Lists_st *vr_list) write_events(const char *filename, Lists_st *vr_list)
{ {
@ -82,6 +178,9 @@ write_events(const char *filename, Lists_st *vr_list)
Eet_File *fp = eet_open(filename, EET_FILE_MODE_WRITE); Eet_File *fp = eet_open(filename, EET_FILE_MODE_WRITE);
if (fp) if (fp)
{ {
#ifdef DEBUG_TSUITE
print_events(vr_list);
#endif
eet_data_write(fp, desc->_lists_descriptor, CACHE_FILE_ENTRY, vr_list, eet_data_write(fp, desc->_lists_descriptor, CACHE_FILE_ENTRY, vr_list,
EINA_TRUE); EINA_TRUE);
@ -96,10 +195,9 @@ write_events(const char *filename, Lists_st *vr_list)
} }
Lists_st * Lists_st *
read_events(char *filename, Evas *e, Timer_Data *td) read_events(char *filename, Timer_Data *td)
{ {
Lists_st *vr_list; Lists_st *vr_list;
td->e = e;
td->fp = eet_open(filename, EET_FILE_MODE_READ); td->fp = eet_open(filename, EET_FILE_MODE_READ);
if (!td->fp) if (!td->fp)
{ {
@ -115,6 +213,9 @@ read_events(char *filename, Evas *e, Timer_Data *td)
if (!vr_list->variant_list) if (!vr_list->variant_list)
return NULL; return NULL;
#ifdef DEBUG_TSUITE
print_events(vr_list);
#endif
td->current_event = eina_list_nth_list(vr_list->variant_list, 0); td->current_event = eina_list_nth_list(vr_list->variant_list, 0);
#ifdef DEBUG_TSUITE #ifdef DEBUG_TSUITE
printf("%s list size is <%d>\n", __func__, eina_list_count(vr_list->variant_list)); printf("%s list size is <%d>\n", __func__, eina_list_count(vr_list->variant_list));
@ -155,29 +256,30 @@ _variant_type_set(const char *type,
} /* _variant_type_set */ } /* _variant_type_set */
/* START - Allocating and setting variant structs */ /* START - Allocating and setting variant structs */
mouse_in_mouse_out *mouse_in_mouse_out_set(unsigned int timestamp) mouse_in_mouse_out *mouse_in_mouse_out_set(unsigned int timestamp, int n_evas)
{ {
mouse_in_mouse_out *st = calloc(1, sizeof(mouse_in_mouse_out)); mouse_in_mouse_out *st = calloc(1, sizeof(mouse_in_mouse_out));
if (st) if (st)
{ {
st->timestamp = timestamp; st->timestamp = timestamp;
st->n_evas = n_evas;
} }
return st; return st;
} }
Variant_st *mouse_in_mouse_out_new(Tsuite_Event_Type type, Variant_st *mouse_in_mouse_out_new(Tsuite_Event_Type type,
unsigned int timestamp) unsigned int timestamp, int n_evas)
{ {
Variant_st *va = calloc(1, sizeof(Variant_st)); Variant_st *va = calloc(1, sizeof(Variant_st));
va->t.type = eet_mapping[type].name; va->t.type = eet_mapping[type].name;
va->data = mouse_in_mouse_out_set(timestamp); va->data = mouse_in_mouse_out_set(timestamp, n_evas);
return va; return va;
} }
mouse_down_mouse_up *mouse_down_mouse_up_set(int b, Evas_Button_Flags flags, mouse_down_mouse_up *mouse_down_mouse_up_set(int b, Evas_Button_Flags flags,
unsigned int timestamp) unsigned int timestamp, int n_evas)
{ {
mouse_down_mouse_up *st = calloc(1, sizeof(mouse_down_mouse_up)); mouse_down_mouse_up *st = calloc(1, sizeof(mouse_down_mouse_up));
if (st) if (st)
@ -185,22 +287,23 @@ mouse_down_mouse_up *mouse_down_mouse_up_set(int b, Evas_Button_Flags flags,
st->b = b; st->b = b;
st->flags = flags; st->flags = flags;
st->timestamp = timestamp; st->timestamp = timestamp;
st->n_evas = n_evas;
} }
return st; return st;
} }
Variant_st *mouse_down_mouse_up_new(Tsuite_Event_Type type, int b, Variant_st *mouse_down_mouse_up_new(Tsuite_Event_Type type, int b,
Evas_Button_Flags flags, unsigned int timestamp) Evas_Button_Flags flags, unsigned int timestamp, int n_evas)
{ {
Variant_st *va = calloc(1, sizeof(Variant_st)); Variant_st *va = calloc(1, sizeof(Variant_st));
va->t.type = eet_mapping[type].name; va->t.type = eet_mapping[type].name;
va->data = mouse_down_mouse_up_set(b, flags, timestamp); va->data = mouse_down_mouse_up_set(b, flags, timestamp, n_evas);
return va; return va;
} }
mouse_move *mouse_move_set(int x, int y, unsigned int timestamp) mouse_move *mouse_move_set(int x, int y, unsigned int timestamp, int n_evas)
{ {
mouse_move *st = calloc(1, sizeof(mouse_move)); mouse_move *st = calloc(1, sizeof(mouse_move));
if (st) if (st)
@ -208,21 +311,23 @@ mouse_move *mouse_move_set(int x, int y, unsigned int timestamp)
st->x = x; st->x = x;
st->y = y; st->y = y;
st->timestamp = timestamp; st->timestamp = timestamp;
st->n_evas = n_evas;
} }
return st; return st;
} }
Variant_st *mouse_move_new(int x, int y, unsigned int timestamp) Variant_st *mouse_move_new(int x, int y, unsigned int timestamp, int n_evas)
{ {
Variant_st *va = calloc(1, sizeof(Variant_st)); Variant_st *va = calloc(1, sizeof(Variant_st));
va->t.type = eet_mapping[TSUITE_EVENT_MOUSE_MOVE].name; va->t.type = eet_mapping[TSUITE_EVENT_MOUSE_MOVE].name;
va->data = mouse_move_set(x, y, timestamp); va->data = mouse_move_set(x, y, timestamp, n_evas);
return va; return va;
} }
mouse_wheel *mouse_wheel_set(int direction, int z, unsigned int timestamp) mouse_wheel *mouse_wheel_set(int direction, int z, unsigned int timestamp,
int n_evas)
{ {
mouse_wheel *st = calloc(1, sizeof(mouse_wheel)); mouse_wheel *st = calloc(1, sizeof(mouse_wheel));
if (st) if (st)
@ -230,23 +335,26 @@ mouse_wheel *mouse_wheel_set(int direction, int z, unsigned int timestamp)
st->direction = direction; st->direction = direction;
st->z = z; st->z = z;
st->timestamp = timestamp; st->timestamp = timestamp;
st->n_evas = n_evas;
} }
return st; return st;
} }
Variant_st *mouse_wheel_new(int direction, int z, unsigned int timestamp) Variant_st *mouse_wheel_new(int direction, int z, unsigned int timestamp,
int n_evas)
{ {
Variant_st *va = calloc(1, sizeof(Variant_st)); Variant_st *va = calloc(1, sizeof(Variant_st));
va->t.type = eet_mapping[TSUITE_EVENT_MOUSE_WHEEL].name; va->t.type = eet_mapping[TSUITE_EVENT_MOUSE_WHEEL].name;
va->data = mouse_wheel_set(direction, z, timestamp); va->data = mouse_wheel_set(direction, z, timestamp, n_evas);
return va; return va;
} }
multi_event *multi_event_set(int d, int x, int y, double rad, multi_event *multi_event_set(int d, int x, int y, double rad,
double radx, double rady, double pres, double ang, double radx, double rady, double pres, double ang,
double fx, double fy, Evas_Button_Flags flags, unsigned int timestamp) double fx, double fy, Evas_Button_Flags flags,
unsigned int timestamp, int n_evas)
{ {
multi_event *st = calloc(1, sizeof(multi_event)); multi_event *st = calloc(1, sizeof(multi_event));
if (st) if (st)
@ -263,6 +371,7 @@ multi_event *multi_event_set(int d, int x, int y, double rad,
st->fy = fy; st->fy = fy;
st->flags = flags; st->flags = flags;
st->timestamp = timestamp; st->timestamp = timestamp;
st->n_evas = n_evas;
} }
return st; return st;
@ -270,19 +379,20 @@ multi_event *multi_event_set(int d, int x, int y, double rad,
Variant_st *multi_event_new(Tsuite_Event_Type type, int d, int x, int y, Variant_st *multi_event_new(Tsuite_Event_Type type, int d, int x, int y,
double rad, double radx, double rady, double pres, double ang, double rad, double radx, double rady, double pres, double ang,
double fx, double fy, Evas_Button_Flags flags, unsigned int timestamp) double fx, double fy, Evas_Button_Flags flags,
unsigned int timestamp, int n_evas)
{ {
Variant_st *va = calloc(1, sizeof(Variant_st)); Variant_st *va = calloc(1, sizeof(Variant_st));
va->t.type = eet_mapping[type].name; va->t.type = eet_mapping[type].name;
va->data = multi_event_set(d, x, y, rad, radx, rady, pres, ang, fx, fy, va->data = multi_event_set(d, x, y, rad, radx, rady, pres, ang, fx, fy,
flags, timestamp); flags, timestamp, n_evas);
return va; return va;
} }
multi_move *multi_move_set(int d, int x, int y, double rad, double radx, multi_move *multi_move_set(int d, int x, int y, double rad, double radx,
double rady, double pres, double ang, double fx, double fy, double rady, double pres, double ang, double fx, double fy,
unsigned int timestamp) unsigned int timestamp, int n_evas)
{ {
multi_move *st = calloc(1, sizeof(multi_move)); multi_move *st = calloc(1, sizeof(multi_move));
if (st) if (st)
@ -298,6 +408,7 @@ multi_move *multi_move_set(int d, int x, int y, double rad, double radx,
st->fx = fx; st->fx = fx;
st->fy = fy; st->fy = fy;
st->timestamp = timestamp; st->timestamp = timestamp;
st->n_evas = n_evas;
} }
return st; return st;
@ -305,19 +416,19 @@ multi_move *multi_move_set(int d, int x, int y, double rad, double radx,
Variant_st *multi_move_new(int d, int x, int y, Variant_st *multi_move_new(int d, int x, int y,
double rad, double radx,double rady, double pres, double ang, double rad, double radx,double rady, double pres, double ang,
double fx, double fy, unsigned int timestamp) double fx, double fy, unsigned int timestamp, int n_evas)
{ {
Variant_st *va = calloc(1, sizeof(Variant_st)); Variant_st *va = calloc(1, sizeof(Variant_st));
va->t.type = eet_mapping[TSUITE_EVENT_MULTI_MOVE].name; va->t.type = eet_mapping[TSUITE_EVENT_MULTI_MOVE].name;
va->data = multi_move_set(d, x, y, rad, radx, rady, pres, ang, va->data = multi_move_set(d, x, y, rad, radx, rady, pres, ang,
fx, fy,timestamp); fx, fy,timestamp, n_evas);
return va; return va;
} }
key_down_key_up *key_down_key_up_set(unsigned int timestamp, key_down_key_up *key_down_key_up_set(unsigned int timestamp,
const char *keyname, const char *key, const char *string, const char *keyname, const char *key, const char *string,
const char *compose) const char *compose, int n_evas)
{ {
key_down_key_up *st = calloc(1, sizeof(key_down_key_up)); key_down_key_up *st = calloc(1, sizeof(key_down_key_up));
if (st) if (st)
@ -327,6 +438,7 @@ key_down_key_up *key_down_key_up_set(unsigned int timestamp,
st->key = key; st->key = key;
st->string = string; st->string = string;
st->compose = compose; st->compose = compose;
st->n_evas = n_evas;
} }
return st; return st;
@ -334,31 +446,32 @@ key_down_key_up *key_down_key_up_set(unsigned int timestamp,
Variant_st *key_down_key_up_new(Tsuite_Event_Type type, Variant_st *key_down_key_up_new(Tsuite_Event_Type type,
unsigned int timestamp, const char *keyname, const char *key, unsigned int timestamp, const char *keyname, const char *key,
const char *string, const char *compose) const char *string, const char *compose, int n_evas)
{ {
Variant_st *va = calloc(1, sizeof(Variant_st)); Variant_st *va = calloc(1, sizeof(Variant_st));
va->t.type = eet_mapping[type].name; va->t.type = eet_mapping[type].name;
va->data = key_down_key_up_set(timestamp, keyname, key, string, compose); va->data = key_down_key_up_set(timestamp, keyname, key, string, compose, n_evas);
return va; return va;
} }
take_screenshot *take_screenshot_set(unsigned int timestamp) take_screenshot *take_screenshot_set(unsigned int timestamp, int n_evas)
{ {
take_screenshot *st = calloc(1, sizeof(take_screenshot)); take_screenshot *st = calloc(1, sizeof(take_screenshot));
if (st) if (st)
{ {
st->timestamp = timestamp; st->timestamp = timestamp;
st->n_evas = n_evas;
} }
return st; return st;
} }
Variant_st *take_screenshot_new(unsigned int timestamp) Variant_st *take_screenshot_new(unsigned int timestamp, int n_evas)
{ {
Variant_st *va = calloc(1, sizeof(Variant_st)); Variant_st *va = calloc(1, sizeof(Variant_st));
va->t.type = eet_mapping[TSUITE_EVENT_TAKE_SHOT].name; va->t.type = eet_mapping[TSUITE_EVENT_TAKE_SHOT].name;
va->data = take_screenshot_set(timestamp); va->data = take_screenshot_set(timestamp, n_evas);
return va; return va;
} }
@ -375,6 +488,8 @@ take_screenshot_desc_make(void)
EET_DATA_DESCRIPTOR_ADD_BASIC(desc, take_screenshot, "timestamp", EET_DATA_DESCRIPTOR_ADD_BASIC(desc, take_screenshot, "timestamp",
timestamp, EET_T_UINT); timestamp, EET_T_UINT);
EET_DATA_DESCRIPTOR_ADD_BASIC(desc, take_screenshot, "n_evas",
n_evas, EET_T_INT);
return desc; return desc;
} }
@ -389,6 +504,8 @@ mouse_in_mouse_out_desc_make(void)
EET_DATA_DESCRIPTOR_ADD_BASIC(desc, mouse_in_mouse_out, "timestamp", EET_DATA_DESCRIPTOR_ADD_BASIC(desc, mouse_in_mouse_out, "timestamp",
timestamp, EET_T_UINT); timestamp, EET_T_UINT);
EET_DATA_DESCRIPTOR_ADD_BASIC(desc, mouse_in_mouse_out, "n_evas",
n_evas, EET_T_INT);
return desc; return desc;
} }
@ -407,6 +524,8 @@ mouse_down_mouse_up_desc_make(void)
EET_DATA_DESCRIPTOR_ADD_BASIC(desc, mouse_down_mouse_up, "timestamp", EET_DATA_DESCRIPTOR_ADD_BASIC(desc, mouse_down_mouse_up, "timestamp",
timestamp, EET_T_UINT); timestamp, EET_T_UINT);
EET_DATA_DESCRIPTOR_ADD_BASIC(desc, mouse_down_mouse_up, "n_evas",
n_evas, EET_T_INT);
return desc; return desc;
} }
@ -423,6 +542,8 @@ mouse_move_desc_make(void)
EET_DATA_DESCRIPTOR_ADD_BASIC(desc, mouse_move, "y", y, EET_T_INT); EET_DATA_DESCRIPTOR_ADD_BASIC(desc, mouse_move, "y", y, EET_T_INT);
EET_DATA_DESCRIPTOR_ADD_BASIC(desc, mouse_move, "timestamp", EET_DATA_DESCRIPTOR_ADD_BASIC(desc, mouse_move, "timestamp",
timestamp, EET_T_UINT); timestamp, EET_T_UINT);
EET_DATA_DESCRIPTOR_ADD_BASIC(desc, mouse_move, "n_evas",
n_evas, EET_T_INT);
return desc; return desc;
} }
@ -441,6 +562,8 @@ mouse_wheel_desc_make(void)
EET_DATA_DESCRIPTOR_ADD_BASIC(desc, mouse_wheel, "z", z, EET_T_INT); EET_DATA_DESCRIPTOR_ADD_BASIC(desc, mouse_wheel, "z", z, EET_T_INT);
EET_DATA_DESCRIPTOR_ADD_BASIC(desc, mouse_wheel, "timestamp", EET_DATA_DESCRIPTOR_ADD_BASIC(desc, mouse_wheel, "timestamp",
timestamp, EET_T_UINT); timestamp, EET_T_UINT);
EET_DATA_DESCRIPTOR_ADD_BASIC(desc, mouse_wheel, "n_evas",
n_evas, EET_T_INT);
return desc; return desc;
} }
@ -467,6 +590,8 @@ key_down_key_up_desc_make(void)
EET_DATA_DESCRIPTOR_ADD_BASIC(desc, key_down_key_up, "compose", EET_DATA_DESCRIPTOR_ADD_BASIC(desc, key_down_key_up, "compose",
compose, EET_T_STRING); compose, EET_T_STRING);
EET_DATA_DESCRIPTOR_ADD_BASIC(desc, key_down_key_up, "n_evas",
n_evas, EET_T_INT);
return desc; return desc;
} }
@ -492,6 +617,8 @@ multi_event_desc_make(void)
EET_DATA_DESCRIPTOR_ADD_BASIC(desc, multi_event, "flags", flags, EET_T_INT); EET_DATA_DESCRIPTOR_ADD_BASIC(desc, multi_event, "flags", flags, EET_T_INT);
EET_DATA_DESCRIPTOR_ADD_BASIC(desc, multi_event, "timestamp", EET_DATA_DESCRIPTOR_ADD_BASIC(desc, multi_event, "timestamp",
timestamp, EET_T_UINT); timestamp, EET_T_UINT);
EET_DATA_DESCRIPTOR_ADD_BASIC(desc, multi_event, "n_evas",
n_evas, EET_T_INT);
return desc; return desc;
} }
@ -516,6 +643,8 @@ multi_move_desc_make(void)
EET_DATA_DESCRIPTOR_ADD_BASIC(desc, multi_move, "fy", fy, EET_T_DOUBLE); EET_DATA_DESCRIPTOR_ADD_BASIC(desc, multi_move, "fy", fy, EET_T_DOUBLE);
EET_DATA_DESCRIPTOR_ADD_BASIC(desc, multi_move, "timestamp", EET_DATA_DESCRIPTOR_ADD_BASIC(desc, multi_move, "timestamp",
timestamp, EET_T_UINT); timestamp, EET_T_UINT);
EET_DATA_DESCRIPTOR_ADD_BASIC(desc, multi_move, "n_evas",
n_evas, EET_T_INT);
return desc; return desc;
} }

View File

@ -52,7 +52,6 @@ struct _Timer_Data
{ {
Eet_File *fp; Eet_File *fp;
unsigned int recent_event_time; unsigned int recent_event_time;
Evas *e;
Eina_List *current_event; Eina_List *current_event;
}; };
typedef struct _Timer_Data Timer_Data; typedef struct _Timer_Data Timer_Data;
@ -60,7 +59,6 @@ typedef struct _Timer_Data Timer_Data;
struct _Tsuite_Data struct _Tsuite_Data
{ {
int serial; /**< Serial number of current-file */ int serial; /**< Serial number of current-file */
Evas *e;
Timer_Data *td; Timer_Data *td;
}; };
typedef struct _Tsuite_Data Tsuite_Data; typedef struct _Tsuite_Data Tsuite_Data;
@ -68,6 +66,7 @@ typedef struct _Tsuite_Data Tsuite_Data;
struct _mouse_in_mouse_out struct _mouse_in_mouse_out
{ {
unsigned int timestamp; unsigned int timestamp;
int n_evas;
}; };
struct _mouse_down_mouse_up struct _mouse_down_mouse_up
@ -75,6 +74,7 @@ struct _mouse_down_mouse_up
int b; int b;
Evas_Button_Flags flags; Evas_Button_Flags flags;
unsigned int timestamp; unsigned int timestamp;
int n_evas;
}; };
struct _mouse_move struct _mouse_move
@ -82,6 +82,7 @@ struct _mouse_move
int x; int x;
int y; int y;
unsigned int timestamp; unsigned int timestamp;
int n_evas;
}; };
struct _mouse_wheel struct _mouse_wheel
@ -89,6 +90,7 @@ struct _mouse_wheel
int direction; int direction;
int z; int z;
unsigned int timestamp; unsigned int timestamp;
int n_evas;
}; };
struct _key_down_key_up struct _key_down_key_up
@ -98,6 +100,7 @@ struct _key_down_key_up
const char *key; const char *key;
const char *string; const char *string;
const char *compose; const char *compose;
int n_evas;
}; };
struct _multi_event struct _multi_event
@ -114,6 +117,7 @@ struct _multi_event
double fy; double fy;
Evas_Button_Flags flags; Evas_Button_Flags flags;
unsigned int timestamp; unsigned int timestamp;
int n_evas;
}; };
struct _multi_move struct _multi_move
@ -129,6 +133,7 @@ struct _multi_move
double fx; double fx;
double fy; double fy;
unsigned int timestamp; unsigned int timestamp;
int n_evas;
}; };
typedef struct _mouse_in_mouse_out mouse_in_mouse_out; typedef struct _mouse_in_mouse_out mouse_in_mouse_out;
@ -199,5 +204,5 @@ Eina_Bool _variant_type_set(const char *type, void *data, Eina_Bool unknow);
Lists_st * free_events(Lists_st *st, char *recording); Lists_st * free_events(Lists_st *st, char *recording);
void write_events(const char *filename, Lists_st *vr_list); void write_events(const char *filename, Lists_st *vr_list);
Lists_st *read_events(char *filename, Evas *e, Timer_Data *td); Lists_st *read_events(char *filename, Timer_Data *td);
#endif #endif