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

Reply via email to