#define CRI(...) EINA_LOG_DOM_CRIT(_e_comp_log_dom, __VA_ARGS__)
static void
-_e_comp_fps_update(void)
-{
- static double rtime = 0.0;
- static double rlapse = 0.0;
- static int frames = 0;
- static int flapse = 0;
- double dt;
- double tim = ecore_time_get();
-
- /* calculate fps */
- dt = tim - e_comp->frametimes[0];
- e_comp->frametimes[0] = tim;
-
- rtime += dt;
- frames++;
-
- if (rlapse == 0.0)
- {
- rlapse = tim;
- flapse = frames;
- }
- else if ((tim - rlapse) >= 0.5)
- {
- e_comp->fps = (frames - flapse) / (tim - rlapse);
- rlapse = tim;
- flapse = frames;
- rtime = 0.0;
- }
-
- if (conf->fps_show)
- {
- if (e_comp->fps_bg && e_comp->fps_fg)
- {
- char buf[128];
- Evas_Coord x = 0, y = 0, w = 0, h = 0;
- E_Zone *z;
-
- if (e_comp->fps > 0.0) snprintf(buf, sizeof(buf), "FPS: %1.1f", e_comp->fps);
- else snprintf(buf, sizeof(buf), "N/A");
- evas_object_text_text_set(e_comp->fps_fg, buf);
-
- evas_object_geometry_get(e_comp->fps_fg, NULL, NULL, &w, &h);
- w += 8;
- h += 8;
- z = e_zone_current_get();
- if (z)
- {
- switch (conf->fps_corner)
- {
- case 3: // bottom-right
- x = z->x + z->w - w;
- y = z->y + z->h - h;
- break;
-
- case 2: // bottom-left
- x = z->x;
- y = z->y + z->h - h;
- break;
-
- case 1: // top-right
- x = z->x + z->w - w;
- y = z->y;
- break;
- default: // 0 // top-left
- x = z->x;
- y = z->y;
- break;
- }
- }
- evas_object_move(e_comp->fps_bg, x, y);
- evas_object_resize(e_comp->fps_bg, w, h);
- evas_object_move(e_comp->fps_fg, x + 4, y + 4);
- }
- else
- {
- e_comp->fps_bg = evas_object_rectangle_add(e_comp->evas);
- evas_object_color_set(e_comp->fps_bg, 0, 0, 0, 128);
- evas_object_layer_set(e_comp->fps_bg, E_LAYER_MAX);
- evas_object_name_set(e_comp->fps_bg, "e_comp->fps_bg");
- evas_object_lower(e_comp->fps_bg);
- evas_object_show(e_comp->fps_bg);
-
- e_comp->fps_fg = evas_object_text_add(e_comp->evas);
- evas_object_text_font_set(e_comp->fps_fg, "Sans", 10);
- evas_object_text_text_set(e_comp->fps_fg, "???");
- evas_object_color_set(e_comp->fps_fg, 255, 255, 255, 255);
- evas_object_layer_set(e_comp->fps_fg, E_LAYER_MAX);
- evas_object_name_set(e_comp->fps_bg, "e_comp->fps_fg");
- evas_object_stack_above(e_comp->fps_fg, e_comp->fps_bg);
- evas_object_show(e_comp->fps_fg);
- }
- }
- else
- {
- E_FREE_FUNC(e_comp->fps_fg, evas_object_del);
- E_FREE_FUNC(e_comp->fps_bg, evas_object_del);
- }
-}
-
-static void
_e_comp_hooks_clean(void)
{
Eina_Inlist *l;
return conf;
}
-EINTERN void
-e_comp_shadows_reset(void)
-{
- E_Client *ec;
-
- _e_comp_fps_update();
- E_LIST_FOREACH(e_comp->zones, e_comp_canvas_zone_update);
- E_CLIENT_FOREACH(ec)
- e_comp_object_frame_theme_set(ec->frame, E_COMP_OBJECT_FRAME_RESHADOW);
-}
-
EINTERN Ecore_Window
e_comp_top_window_at_xy_get(Evas_Coord x, Evas_Coord y)
{