From: Aleksej S. <as...@gm...> - 2006-02-27 16:09:15
|
Hi, I do not know, if I relly report some bug or not. Maybe this will be fixed this night... But any way. The cpu graph are drawn out of the gadget. It seems, that there are not cliping region for it. sn On 2/27/06, enl...@li... <enl...@li...> wrote: > Enlightenment CVS committal > > Author : devilhorns > Project : e_modules > Module : cpu > > Dir : e_modules/cpu > > > Modified Files: > cpu.edc e_mod_main.h e_mod_main.c > > > Log Message: > Ok, cpu module has a graph now. I'll make the config options for graph > and/or text later tonight. > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > RCS file: /cvsroot/enlightenment/e_modules/cpu/cpu.edc,v > retrieving revision 1.5 > retrieving revision 1.6 > diff -u -3 -r1.5 -r1.6 > --- cpu.edc 26 Feb 2006 12:29:39 -0000 1.5 > +++ cpu.edc 27 Feb 2006 15:11:58 -0000 1.6 > @@ -21,8 +21,6 @@ > state: "default" 0.0; > aspect: 1.0 1.0; > align: 0.5 0.5; > - min: 45 50; > - max: 128 128; > rel1 { > relative: 0.0 0.0; > } > @@ -78,6 +76,23 @@ > } > } > > + part { > + name, "lines"; > + mouse_events, 0; > + type, SWALLOW; > + clip_to: "fade_clip"; > + description { > + state, "default" 0.0; > + rel1 { > + relative: 0.0 0.0; > + } > + rel2 { > + relative: 1.0 1.0; > + } > + color, 0 0 0 0; > + } > + } > + > } > }//close group net > } > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > RCS file: /cvsroot/enlightenment/e_modules/cpu/e_mod_main.h,v > retrieving revision 1.2 > retrieving revision 1.3 > diff -u -3 -r1.2 -r1.3 > --- e_mod_main.h 20 Feb 2006 12:53:50 -0000 1.2 > +++ e_mod_main.h 27 Feb 2006 15:11:58 -0000 1.3 > @@ -32,12 +32,14 @@ > E_Container *con; > E_Menu *menu; > Cpu *cpu; > - > + Evas_List *old_values; > + > Config_Face *conf; > E_Config_DD *conf_face_edd; > > Evas_Object *cpu_obj; > Evas_Object *event_obj; > + Evas_Object *chart_obj; > > Ecore_Timer *monitor; > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > RCS file: /cvsroot/enlightenment/e_modules/cpu/e_mod_main.c,v > retrieving revision 1.6 > retrieving revision 1.7 > diff -u -3 -r1.6 -r1.7 > --- e_mod_main.c 26 Feb 2006 12:21:58 -0000 1.6 > +++ e_mod_main.c 27 Feb 2006 15:11:58 -0000 1.7 > @@ -18,7 +18,8 @@ > static int _cpu_face_update_values (void *data); > static int _cpu_face_get_cpu_count (Cpu_Face *cf); > static int _cpu_face_get_load (Cpu_Face *cf); > -//static void _cpu_face_graph_values (Cpu_Face *cf, int val); > +static void _cpu_face_graph_values (Cpu_Face *cf, int val); > +static void _cpu_face_graph_clear (Cpu_Face *cf); > > static int cpu_count; > > @@ -227,18 +228,16 @@ > { > snprintf(buf, sizeof(buf), PACKAGE_DATA_DIR"/cpu.edj"); > edje_object_file_set(o, buf, "modules/cpu/main"); > - } > - > + } > evas_object_show(o); > > - /* > - o =3D evas_object_rectangle_add(cf->evas); > - cf->chart_clip_obj =3D o; > + o =3D edje_object_add(cf->evas); //evas_object_rectangle_add(cf->evas= ); > + cf->chart_obj =3D o; > evas_object_layer_set(o, 1); > evas_object_repeat_events_set(o, 0); > - evas_object_color_set(o, 255, 255, 255, 100); > + evas_object_pass_events_set(o, 1); > + evas_object_color_set(o, 255, 255, 255, 255); > evas_object_show(o); > - */ > > o =3D evas_object_rectangle_add(cf->evas); > cf->event_obj =3D o; > @@ -259,10 +258,9 @@ > E_GADMAN_POLICY_VSIZE); > e_gadman_client_min_size_set(cf->gmc, 45, 50); > e_gadman_client_max_size_set(cf->gmc, 128, 128); > - e_gadman_client_auto_size_set(cf->gmc, 40, 40); > + e_gadman_client_auto_size_set(cf->gmc, 45, 50); > e_gadman_client_align_set(cf->gmc, 1.0, 1.0); > - //e_gadman_client_aspect_set(cf->gmc, 1.0, 1.0); > - e_gadman_client_resize(cf->gmc, 40, 40); > + e_gadman_client_resize(cf->gmc, 45, 50); > e_gadman_client_change_func_set(cf->gmc, _cpu_face_cb_gmc_change, cf)= ; > e_gadman_client_load(cf->gmc); > evas_event_thaw(cf->evas); > @@ -297,7 +295,7 @@ > cf->conf->enabled =3D 1; > e_config_save_queue(); > evas_object_show(cf->cpu_obj); > - /* evas_object_show(cf->chart_obj); */ > + evas_object_show(cf->chart_obj); > evas_object_show(cf->event_obj); > } > > @@ -307,7 +305,7 @@ > cf->conf->enabled =3D 0; > e_config_save_queue(); > evas_object_hide(cf->event_obj); > - /* evas_object_hide(cf->chart_obj); */ > + evas_object_hide(cf->chart_obj); > evas_object_hide(cf->cpu_obj); > } > > @@ -322,11 +320,10 @@ > evas_object_del(cf->event_obj); > if (cf->cpu_obj) > evas_object_del(cf->cpu_obj); > - > - /* > if (cf->chart_obj) > evas_object_del(cf->chart_obj); > - */ > + if (cf->old_values) > + _cpu_face_graph_clear(cf); > > if (cf->gmc) > { > @@ -349,17 +346,21 @@ > switch (change) > { > case E_GADMAN_CHANGE_MOVE_RESIZE: > + if (cf->monitor) > + ecore_timer_del(cf->monitor); > e_gadman_client_geometry_get(cf->gmc, &x, &y, &w, &h); > - evas_object_move(cf->cpu_obj, x, y); > - //evas_object_move(cf->chart_clip_obj, x, y); > + evas_object_move(cf->chart_obj, x, y); > evas_object_move(cf->event_obj, x, y); > - evas_object_resize(cf->cpu_obj, w, h); > - //evas_object_resize(cf->chart_clip_obj, w, h); > + evas_object_move(cf->cpu_obj, x, y); > + evas_object_resize(cf->chart_obj, w, h); > evas_object_resize(cf->event_obj, w, h); > + evas_object_resize(cf->cpu_obj, w, h); > + _cpu_face_graph_clear(cf); > + cf->monitor =3D ecore_timer_add((double)cf->cpu->conf->check_inte= rval, _cpu_face_update_values, cf); > break; > case E_GADMAN_CHANGE_RAISE: > evas_object_raise(cf->cpu_obj); > - //evas_object_raise(cf->chart_clip_obj); > + evas_object_raise(cf->chart_obj); > evas_object_raise(cf->event_obj); > break; > default: > @@ -411,11 +412,14 @@ > > cf =3D data; > val =3D _cpu_face_get_load(cf); > + > if (val =3D=3D -1) > return 1; > > snprintf(str, sizeof(str), "%d %%", val); > edje_object_part_text_set(cf->cpu_obj, "in-text", str); > + > + _cpu_face_graph_values(cf, val); > return 1; > } > > @@ -492,33 +496,68 @@ > old_si =3D new_si; > > if (load >=3D 100) > - return 100; > + load =3D 100; > + > return load; > } > > -/* > static void > _cpu_face_graph_values(Cpu_Face *cf, int val) > { > - double factor =3D 0.0; > - int value =3D 0; > int x, y, w, h; > Evas_Object *o; > - > - evas_object_geometry_get(cf->cpu_obj, &x, &y, &w, &h); > + Evas_Object *last =3D NULL; > + Evas_List *l; > + int i, j =3D 0; > > - factor =3D ((double)h) / ((double)100); > - value =3D (int)(((double)val) * factor); > - if (value =3D=3D 0) > - return; > + evas_object_geometry_get(cf->chart_obj, &x, &y, &w, &h); > > o =3D evas_object_line_add(cf->evas); > - evas_object_clip_set(o, cf->chart_clip_obj); > - evas_object_layer_set(o, 3); > - evas_object_line_xy_set(o, (x + w), (y), (x + w), (y + value)); > - evas_object_color_set(o, 255, 0, 0, 255); > - evas_object_pass_events_set(o, 1); > - evas_object_show(o); > + edje_object_part_swallow(cf->chart_obj, "lines", o); > + evas_object_layer_set(o, 1); > + if (val =3D=3D 0) > + evas_object_hide(o); > + else > + { > + evas_object_line_xy_set(o, (x + w), (y + h), (x + w), ((y + h) - = val)); > + evas_object_color_set(o, 255, 0, 0, 150); > + evas_object_pass_events_set(o, 1); > + evas_object_show(o); > + } > + > + cf->old_values =3D evas_list_prepend(cf->old_values, o); > + l =3D cf->old_values; > + for (i =3D (x + w); l && (j -2) < w; l =3D l->next, j++) > + { > + Evas_Coord oy; > + Evas_Object *lo; > + > + lo =3D (Evas_Object *)evas_list_data(l); > + evas_object_geometry_get(lo, NULL, &oy, NULL, NULL); > + evas_object_move(lo, i--, oy); > + last =3D lo; > + } > + > + if ((j - 2) >=3D w) > + { > + cf->old_values =3D evas_list_remove(cf->old_values, last); > + evas_object_del(last); > + } > + > return; > } > -*/ > + > +static void > +_cpu_face_graph_clear(Cpu_Face *cf) > +{ > + Evas_List *l; > + > + for (l =3D cf->old_values; l; l =3D l->next) > + { > + Evas_Object *o; > + o =3D evas_list_data(l); > + evas_object_del(o); > + } > + evas_list_free(cf->old_values); > + cf->old_values =3D NULL; > +} > > > > > ------------------------------------------------------- > This SF.Net email is sponsored by xPML, a groundbreaking scripting langua= ge > that extends applications into web and mobile media. Attend the live webc= ast > and join the prime developer group breaking into this new coding territor= y! > http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D110944&bid=3D241720&dat= =3D121642 > _______________________________________________ > enlightenment-cvs mailing list > enl...@li... > https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs > -- Aleksej Struk Master Degree Student Free University of Bozen-Bolzano Faculty of Computer Science phone: +39-0471-061749 cell phone: +39-3204627049 as...@gm... al...@un... - http://www. |