From: <enl...@li...> - 2005-12-19 14:11:47
|
Enlightenment CVS committal Author : codewarrior Project : e17 Module : apps/e Dir : e17/apps/e/src/bin Modified Files: e_fileman_smart.c e_icon_canvas.c Log Message: EFM: - e_icon_canvas cleanup and more work on white bug problem =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_fileman_smart.c,v retrieving revision 1.114 retrieving revision 1.115 diff -u -3 -r1.114 -r1.115 --- e_fileman_smart.c 13 Dec 2005 14:56:21 -0000 1.114 +++ e_fileman_smart.c 19 Dec 2005 14:11:27 -0000 1.115 @@ -1529,7 +1529,7 @@ _e_fm_file_free(sd->files->data); sd->files = evas_list_remove_list(sd->files, sd->files); } - e_icon_canvas_reset(sd->layout); + e_icon_canvas_reset(sd->layout); /* Get new files */ if (sd->monitor) ecore_file_monitor_del(sd->monitor); =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_icon_canvas.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- e_icon_canvas.c 19 Dec 2005 13:05:23 -0000 1.5 +++ e_icon_canvas.c 19 Dec 2005 14:11:28 -0000 1.6 @@ -108,7 +108,7 @@ return -1; sd->frozen--; - //if (sd->frozen <= 0) _e_icon_canvas_reconfigure(sd); + if (sd->frozen <= 0) _e_icon_canvas_reconfigure(sd); return sd->frozen; } @@ -138,7 +138,7 @@ sd->vw = w; sd->vh = 0; sd->changed = 1; - //if (sd->frozen <= 0) _e_icon_canvas_reconfigure(sd); + if (sd->frozen <= 0) _e_icon_canvas_reconfigure(sd); } void @@ -155,7 +155,7 @@ sd->vw = 0; sd->vh = h; sd->changed = 1; - //if (sd->frozen <= 0) _e_icon_canvas_reconfigure(sd); + if (sd->frozen <= 0) _e_icon_canvas_reconfigure(sd); } void @@ -318,7 +318,7 @@ sd->changed = 1; - //if (sd->frozen <= 0) _e_icon_canvas_reconfigure(sd); + if (sd->frozen <= 0) _e_icon_canvas_reconfigure(sd); } void @@ -342,9 +342,9 @@ if ((!obj) || !(sd = evas_object_smart_data_get(obj))) return; - - sd->xc = sd->x + sd->xs; - sd->yc = sd->y + sd->ys; + + sd->xc = sd->viewport.x + sd->xs; + sd->yc = sd->viewport.y + sd->ys; sd->mw = 0; sd->mh = 0; @@ -376,6 +376,9 @@ } } } + + sd->x = sd->viewport.x; + sd->y = sd->viewport.y; } void @@ -412,7 +415,7 @@ sd->viewport.obj = viewport; evas_object_geometry_get(sd->viewport.obj, &(sd->viewport.x), &(sd->viewport.y), &(sd->viewport.w), &(sd->viewport.h)); - //if (sd->frozen <= 0) _e_icon_canvas_reconfigure(sd); + if (sd->frozen <= 0) _e_icon_canvas_reconfigure(sd); } Evas_Object * @@ -481,87 +484,37 @@ static void _e_icon_canvas_reconfigure(E_Smart_Data *sd) { - Evas_Coord x, y, w, h, maxw, maxh; - Evas_List *l; - - _e_icon_canvas_smart_resize(sd->obj, sd->w, sd->h); - - return; - - if (!sd->changed) return; - - x = sd->x + sd->xs; - y = sd->y + sd->ys; - w = sd->vw; - h = sd->vh; - maxw = 0; - maxh = 0; + int i, j; -#if 0 - while(sd->xlist.list) - sd->xlist.list = evas_list_remove_list(sd->xlist.list, sd->xlist.list); - while(sd->xlist.list) - sd->ylist.list = evas_list_remove_list(sd->ylist.list, sd->ylist.list); + if(!sd->changed) return; - if (sd->fixed == 0) - { - for (l = sd->items; l; l = l->next) - { - E_Icon_Canvas_Item *li; - Evas_Object *obj; - - obj = l->data; - li = evas_object_data_get(obj, "e_icon_canvas_data"); - - if(li->h > maxh) maxh = li->h; - - if(x > sd->x + w || x + li->w > sd->x + w) - { - x = sd->x + sd->xs; - y += maxh + sd->ys; - maxh = 0; - } - - li->x = x; - li->y = y; - - _e_icon_canvas_pack(sd, obj); - - x += li->w + sd->xs; - } - sd->vh = y - sd->y; - } - else - { - for (l = sd->items; l; l = l->next) - { - E_Icon_Canvas_Item *li; - Evas_Object *obj; - - obj = l->data; - li = evas_object_data_get(obj, "e_icon_canvas_data"); - - if(li->w > maxw) maxw = li->w; - - if(y > sd->y + h || y + li->h > sd->y + h) - { - y = sd->y + sd->ys; - x += maxw + sd->xs; - maxw = 0; - } - - li->x = x; - li->y = y; - - _e_icon_canvas_pack(sd, obj); - - y += li->h + sd->ys; - } - sd->vw = x - sd->x; - } -#endif - sd->xc = x; - sd->yc = y; + for(i = 0; i < TILE_NUM; i++) + { + for(j = 0; j < TILE_NUM; j++) + { + if(sd->tiles[i][j]) + { + E_Icon_Canvas_Tile *t; + + t = sd->tiles[i][j]; + + if(E_INTERSECTS(sd->viewport.x, sd->viewport.y, + sd->viewport.w, sd->viewport.h, + t->x, t->y, t->w, t->h)) + { + if(t->visible == 1) + continue; + _e_icon_canvas_tile_show(t); + } + else + { + if(!t->visible) + continue; + _e_icon_canvas_tile_hide(t); + } + } + } + } sd->changed = 0; } @@ -594,6 +547,9 @@ { int tx, ty; E_Icon_Canvas_Tile *tile; + + if(x < 0 || y < 0) + return NULL; if(x == 0) tx = 0; @@ -623,7 +579,7 @@ { _e_icon_canvas_tile_show(tile); } - + return tile; } @@ -658,8 +614,8 @@ if(t->visible == 1) return; t->visible = 1; - for(l = t->items; l; l = l->next) - _e_icon_canvas_icon_show(l->data); + for(l = t->items; l; l = l->next) + _e_icon_canvas_icon_show(l->data); } static void @@ -757,8 +713,7 @@ { E_Smart_Data *sd; - sd = evas_object_smart_data_get(obj); - + sd = evas_object_smart_data_get(obj); evas_object_show(sd->clip); } @@ -768,7 +723,6 @@ E_Smart_Data *sd; sd = evas_object_smart_data_get(obj); - evas_object_hide(sd->clip); } @@ -852,7 +806,7 @@ dx = x - sd->x; dy = y - sd->y; - + for(i = 0; i < TILE_NUM; i++) { for(j = 0; j < TILE_NUM; j++) @@ -906,33 +860,8 @@ &(sd->viewport.x), &(sd->viewport.y), &(sd->viewport.w), &(sd->viewport.h)); - for(i = 0; i < TILE_NUM; i++) - { - for(j = 0; j < TILE_NUM; j++) - { - if(sd->tiles[i][j]) - { - E_Icon_Canvas_Tile *t; - - t = sd->tiles[i][j]; - - if(E_INTERSECTS(sd->viewport.x, sd->viewport.y, - sd->viewport.w, sd->viewport.h, - t->x, t->y, t->w, t->h)) - { - if(t->visible == 1) - continue; - _e_icon_canvas_tile_show(t); - } - else - { - if(!t->visible) - continue; - _e_icon_canvas_tile_hide(t); - } - } - } - } + sd->changed = 1; + _e_icon_canvas_reconfigure(sd); } static void |