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