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_desk.c e_desk.h 


Log Message:
Make the background black when doing fullscreen.

===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_border.c,v
retrieving revision 1.274
retrieving revision 1.275
diff -u -3 -r1.274 -r1.275
--- e_border.c  19 Jun 2005 17:13:26 -0000      1.274
+++ e_border.c  19 Jun 2005 19:00:04 -0000      1.275
@@ -1165,9 +1165,6 @@
              /* Don't set bd->maximized, no need to return from this state */
              break;
          }
-       bd->changes.pos = 1;
-       bd->changes.size = 1;
-       bd->changed = 1;
 
        if (bd->maximized)
          {
@@ -1231,10 +1228,6 @@
 
        e_border_move_resize(bd, bd->saved.x, bd->saved.y, bd->saved.w, 
bd->saved.h);
 
-       bd->changes.pos = 1;
-       bd->changes.size = 1;
-       bd->changed = 1;
-
        edje_object_signal_emit(bd->bg_object, "unmaximize", "");
      }
 }
@@ -1259,8 +1252,16 @@
        bd->saved.y = bd->y;
        bd->saved.w = bd->w;
        bd->saved.h = bd->h;
+       bd->client_inset.sl = bd->client_inset.l;
+       bd->client_inset.sr = bd->client_inset.r;
+       bd->client_inset.st = bd->client_inset.t;
+       bd->client_inset.sb = bd->client_inset.b;
+       bd->client_inset.l = 0;
+       bd->client_inset.r = 0;
+       bd->client_inset.t = 0;
+       bd->client_inset.b = 0;
 
-       e_hints_window_fullscreen_set(bd, 1);
+       e_desk_black_set(bd->desk, 1);
 
        bd->layer = 200;
        e_border_raise(bd);
@@ -1276,10 +1277,8 @@
        ecore_evas_hide(bd->bg_ecore_evas);
 
        bd->fullscreen = 1;
-       bd->changes.pos = 1;
-       bd->changes.size = 1;
-       bd->changed = 1;
 
+       e_hints_window_fullscreen_set(bd, 1);
        edje_object_signal_emit(bd->bg_object, "fullscreen", "");
      }
 }
@@ -1294,20 +1293,22 @@
    if (bd->fullscreen)
      {
 //     printf("UNFULLSCREEEN!\n");
-       e_hints_window_fullscreen_set(bd, 0);
        bd->fullscreen = 0;
+       bd->client_inset.l = bd->client_inset.sl;
+       bd->client_inset.r = bd->client_inset.sr;
+       bd->client_inset.t = bd->client_inset.st;
+       bd->client_inset.b = bd->client_inset.sb;
+
+       e_desk_black_set(bd->desk, 0);
 
        e_border_move_resize(bd, bd->saved.x, bd->saved.y, bd->saved.w, 
bd->saved.h);
        ecore_evas_show(bd->bg_ecore_evas);
 
-       bd->changes.pos = 1;
-       bd->changes.size = 1;
-       bd->changed = 1;
-
        /* FIXME: Find right layer */
        bd->layer = 100;
        e_border_raise(bd);
 
+       e_hints_window_fullscreen_set(bd, 0);
        edje_object_signal_emit(bd->bg_object, "unfullscreen", "");
      }
 }
@@ -4533,7 +4534,7 @@
 
    /* we're done */
    if ((bd->shaded && (bd->shade.val == 1)) ||
-       (!(bd->shaded) && (bd->shade.val == 0)) )
+       ((!bd->shaded) && (bd->shade.val == 0)) )
      {
        E_Event_Border_Resize *ev;
 
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_border.h,v
retrieving revision 1.79
retrieving revision 1.80
diff -u -3 -r1.79 -r1.80
--- e_border.h  19 Jun 2005 17:13:37 -0000      1.79
+++ e_border.h  19 Jun 2005 19:00:04 -0000      1.80
@@ -104,6 +104,7 @@
 
    struct {
       int          l, r, t, b;
+      int          sl, sr, st, sb;
    } client_inset;
 
    Ecore_Evas     *bg_ecore_evas;
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_desk.c,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -3 -r1.34 -r1.35
--- e_desk.c    22 May 2005 23:50:29 -0000      1.34
+++ e_desk.c    19 Jun 2005 19:00:04 -0000      1.35
@@ -30,6 +30,7 @@
 e_desk_new(E_Zone *zone, int x, int y)
 {
    E_Desk      *desk;
+   Evas_Object *o;
    char                name[40];
    
    E_OBJECT_CHECK_RETURN(zone, NULL);
@@ -43,6 +44,17 @@
    desk->y = y;
    snprintf(name, sizeof(name), _("Desktop %d, %d"), x, y);
    desk->name = strdup(name);
+
+   o = evas_object_rectangle_add(zone->container->bg_evas);
+   desk->bg_black_object = o;
+   evas_object_layer_set(o, 100);
+   evas_object_move(o, zone->x, zone->y);
+   evas_object_resize(o, zone->w, zone->h);
+   evas_object_color_set(o, 0, 0, 0, 255);
+   snprintf(name, sizeof(name), "desktop/background/%d.%d", desk->x, desk->y);
+   evas_object_name_set(o, name);
+   evas_object_data_set(o, "e_desk", desk);
+
    return desk;
 }
 
@@ -88,6 +100,7 @@
 
             desk2 = e_desk_at_xy_get(desk->zone,x, y);
             desk2->visible = 0;
+            evas_object_hide(desk2->bg_black_object);
             if (desk2 == desk)
               {
                  desk->zone->desk_x_current = x;
@@ -95,6 +108,8 @@
               }
          }
      }
+   if (desk->black)
+     evas_object_show(desk->bg_black_object);
    desk->visible = 1;
 
    ev = E_NEW(E_Event_Desk_Show, 1);
@@ -104,6 +119,21 @@
 }
 
 void
+e_desk_black_set(E_Desk *desk, int set)
+{
+   if ((!desk->black) && (set))
+     {
+       evas_object_show(desk->bg_black_object);
+       desk->black = 1;
+     }
+   else if ((desk->black) && (!set))
+     {
+       evas_object_hide(desk->bg_black_object);
+       desk->black = 0;
+     }
+}
+
+void
 e_desk_row_add(E_Zone *zone)
 {
    e_zone_desk_count_set(zone, zone->desk_x_count, zone->desk_y_count + 1);
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_desk.h,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -3 -r1.14 -r1.15
--- e_desk.h    17 May 2005 12:33:12 -0000      1.14
+++ e_desk.h    19 Jun 2005 19:00:04 -0000      1.15
@@ -20,8 +20,10 @@
    char                *name;
    int                  x, y;
    char                 visible : 1;
+   char                 black : 1;
 
    Evas_Object         *bg_object;
+   Evas_Object         *bg_black_object;
 };
 
 struct _E_Event_Desk_Show
@@ -34,6 +36,7 @@
 EAPI E_Desk      *e_desk_new(E_Zone *zone, int x, int y);
 EAPI void         e_desk_name_set(E_Desk *desk, const char *name);
 EAPI void         e_desk_show(E_Desk *desk);
+EAPI void         e_desk_black_set(E_Desk *desk, int set);
 EAPI E_Desk      *e_desk_current_get(E_Zone *zone);
 EAPI E_Desk      *e_desk_at_xy_get(E_Zone *zone, int x, int y);
 EAPI E_Desk      *e_desk_at_pos_get(E_Zone *zone, int pos);




-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to