ecore_drm2_output_info_get(output, &x, &y, &w, &h, NULL);
if (!edata->once) t = ecore_time_get();
+// printf("ECORE_EVAS: drm tick %1.5f @ %1.5f\n", t, ecore_time_get());
ecore_evas_animator_tick(ee, &(Eina_Rectangle){x, y, w, h},
t - edata->offset);
}
/* local functions */
/*
static void
-_anim_cb_tick(Ecore_Wl2_Window *win EINA_UNUSED, uint32_t timestamp EINA_UNUSED, void *data)
+_anim_cb_tick(Ecore_Wl2_Window *win EINA_UNUSED, uint32_t timestamp, void *data)
{
Ecore_Evas *ee = data;
Ecore_Evas_Engine_Wl_Data *edata;
+ double t, rt;
+ static double pt = 0.0, prt = 0.0;
edata = ee->engine.data;
if (!edata->ticking) return;
-
- ecore_evas_animator_tick(ee, NULL, ecore_loop_time_get());
+ t = ((double)timestamp / 1000.0);
+ ecore_loop_time_set(t);
+ rt = ecore_time_get();
+// printf("ECORE_EVAS: wl client anim tick %p | %p - %1.5f @ %1.5f delt=%1.5f | %1.5f\n", ee, edata, t, ecore_time_get(), t - pt, rt - prt);
+ ecore_evas_animator_tick(ee, NULL, t);
+ pt = t;
+ prt = rt;
}
static void