Enlightenment CVS committal Author : sebastid Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: e_border.c e_border.h e_font.c Log Message: Recalc border on font change. Don't call an iterator next. =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_border.c,v retrieving revision 1.357 retrieving revision 1.358 diff -u -3 -r1.357 -r1.358 --- e_border.c 13 Aug 2005 03:22:24 -0000 1.357 +++ e_border.c 14 Aug 2005 22:22:17 -0000 1.358 @@ -1919,6 +1919,47 @@ } } +void +e_border_frame_recalc(E_Border *bd) +{ + Evas_Coord cx, cy, cw, ch; + + if (!bd->bg_object) return; + + bd->w -= (bd->client_inset.l + bd->client_inset.r); + bd->h -= (bd->client_inset.t + bd->client_inset.b); + + evas_object_resize(bd->bg_object, 1000, 1000); + edje_object_calc_force(bd->bg_object); + edje_object_part_geometry_get(bd->bg_object, "client", &cx, &cy, &cw, &ch); + bd->client_inset.l = cx; + bd->client_inset.r = 1000 - (cx + cw); + bd->client_inset.t = cy; + bd->client_inset.b = 1000 - (cy + ch); + ecore_x_netwm_frame_size_set(bd->client.win, + bd->client_inset.l, bd->client_inset.r, + bd->client_inset.t, bd->client_inset.b); + ecore_x_e_frame_size_set(bd->client.win, + bd->client_inset.l, bd->client_inset.r, + bd->client_inset.t, bd->client_inset.b); + + bd->w += (bd->client_inset.l + bd->client_inset.r); + bd->h += (bd->client_inset.t + bd->client_inset.b); + + bd->changed = 1; + bd->changes.size = 1; + if ((bd->shaped) || (bd->client.shaped)) + { + bd->need_shape_merge = 1; + bd->need_shape_export = 1; + } + ecore_x_icccm_move_resize_send(bd->client.win, + bd->x + bd->client_inset.l, + bd->y + bd->client_inset.t, + bd->client.w, + bd->client.h); +} + Evas_List * e_border_immortal_windows_get(void) { =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_border.h,v retrieving revision 1.100 retrieving revision 1.101 diff -u -3 -r1.100 -r1.101 --- e_border.h 28 Jul 2005 04:35:44 -0000 1.100 +++ e_border.h 14 Aug 2005 22:22:17 -0000 1.101 @@ -519,6 +519,7 @@ EAPI void e_border_ping(E_Border *bd); EAPI void e_border_move_cancel(void); EAPI void e_border_resize_cancel(void); +EAPI void e_border_frame_recalc(E_Border *bd); EAPI Evas_List *e_border_immortal_windows_get(void); extern EAPI int E_EVENT_BORDER_RESIZE; =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_font.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -3 -r1.11 -r1.12 --- e_font.c 31 May 2005 03:01:52 -0000 1.11 +++ e_font.c 14 Aug 2005 22:22:17 -0000 1.12 @@ -30,29 +30,27 @@ e_font_apply(void) { char buf[1024]; - Evas_List *next; + Evas_List *l; E_Font_Fallback *eff; - E_Font_Default *efd; int blen, len; /* setup edje fallback list */ blen = sizeof(buf) - 1; buf[0] = 0; buf[blen] = 0; - next = e_config->font_fallbacks; - if (next) + l = e_config->font_fallbacks; + if (l) { - eff = evas_list_data(next); + eff = evas_list_data(l); len = strlen(eff->name); if (len < blen) { strcpy(buf, eff->name); blen -= len; } - next = evas_list_next(next); - while (next) + for (l = evas_list_next(l); l; l = l->next) { - eff = evas_list_data(next); + eff = evas_list_data(l); len = 1; if (len < blen) { @@ -65,7 +63,6 @@ strcat(buf, eff->name); blen -= len; } - next = evas_list_next(next); } edje_fontset_append_set(buf); } @@ -73,11 +70,22 @@ edje_fontset_append_set(NULL); /* setup edje text classes */ - for (next = e_config->font_defaults; next; next = next->next) + for (l = e_config->font_defaults; l; l = l->next) { - efd = evas_list_data(next); + E_Font_Default *efd; + + efd = evas_list_data(l); edje_text_class_set(efd->text_class, efd->font, efd->size); } + + /* Update borders */ + for (l = e_border_clients_get(); l; l = l->next) + { + E_Border *bd; + + bd = l->data; + e_border_frame_recalc(bd); + } } Evas_List * ------------------------------------------------------- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs