Bugfixes - restore avoid_damage call on new borders, move background blank

object to container level


SVN revision: 12719
This commit is contained in:
xcomputerman 2005-01-04 01:32:23 +00:00 committed by xcomputerman
parent 5e0e3ff840
commit 1a48844b7f
5 changed files with 23 additions and 17 deletions

View File

@ -151,7 +151,7 @@ e_border_new(E_Container *con, Ecore_X_Window win, int first_map)
bd->bg_win = ecore_evas_software_x11_window_get(bd->bg_ecore_evas);
ecore_evas_name_class_set(bd->bg_ecore_evas, "E", "Frame_Window");
ecore_evas_title_set(bd->bg_ecore_evas, "Enlightenment Frame");
/* ecore_evas_avoid_damage_set(bd->bg_ecore_evas, 1); */
ecore_evas_avoid_damage_set(bd->bg_ecore_evas, 1);
ecore_evas_show(bd->bg_ecore_evas);
evas_font_path_append(bd->bg_evas, e_path_find(path_data, "fonts"));
bd->client.shell_win = ecore_x_window_override_new(bd->win, 0, 0, 1, 1);
@ -239,6 +239,7 @@ e_border_new(E_Container *con, Ecore_X_Window win, int first_map)
con->clients = evas_list_append(con->clients, bd);
borders = evas_list_append(borders, bd);
return bd;
}

View File

@ -37,6 +37,7 @@ e_container_new(E_Manager *man)
{
E_Container *con;
E_Zone *zone;
Evas_Object *o;
con = E_OBJECT_ALLOC(E_Container, _e_container_free);
if (!con) return NULL;
@ -59,6 +60,16 @@ e_container_new(E_Manager *man)
ecore_evas_callback_resize_set(con->bg_ecore_evas, _e_container_cb_bg_ecore_evas_resize);
o = evas_object_rectangle_add(con->bg_evas);
con->bg_blank_object = o;
evas_object_layer_set(o, -100);
evas_object_move(o, 0, 0);
evas_object_resize(o, con->w, con->h);
evas_object_color_set(o, 255, 255, 255, 255);
evas_object_name_set(o, "desktop/background");
evas_object_data_set(o, "e_container", con);
evas_object_show(o);
e_pointer_container_set(con);
/* FIXME: Add ecore code to fetch xinerama screens for zones */
@ -94,6 +105,7 @@ e_container_move(E_Container *con, int x, int y)
con->x = x;
con->y = y;
ecore_x_window_move(con->win, con->x, con->y);
evas_object_move(con->bg_blank_object, con->x, con->y);
}
void
@ -105,6 +117,7 @@ e_container_resize(E_Container *con, int w, int h)
con->h = h;
ecore_x_window_resize(con->win, con->w, con->h);
ecore_evas_resize(con->bg_ecore_evas, con->w, con->h);
evas_object_resize(con->bg_blank_object, con->w, con->h);
}
void
@ -118,6 +131,8 @@ e_container_move_resize(E_Container *con, int x, int y, int w, int h)
con->h = h;
ecore_x_window_move_resize(con->win, con->x, con->y, con->w, con->h);
ecore_evas_resize(con->bg_ecore_evas, con->w, con->h);
evas_object_move(con->bg_blank_object, con->x, con->y);
evas_object_resize(con->bg_blank_object, con->w, con->h);
}
void

View File

@ -19,6 +19,7 @@ e_desk_new(E_Zone *zone)
desk = E_OBJECT_ALLOC(E_Desk, _e_desk_free);
if (!desk) return NULL;
desk->clients = NULL;
desk->zone = zone;
desk->num = evas_list_count(zone->desks) + 1;
snprintf(name, sizeof(name), "Desktop %d", desk->num);
@ -44,12 +45,13 @@ e_desk_show(E_Desk *desk)
Evas_List *l;
E_OBJECT_CHECK(desk);
if (desk->visible) return;
for (l = desk->zone->clients; l; l = l->next)
{
E_Border *bd = l->data;
if (desk->clients && evas_list_find(desk->clients, bd))
if (bd->desk == desk)
e_border_show(bd);
else
e_border_hide(bd);

View File

@ -10,8 +10,8 @@
/* OBJECT_CHECK is a simple null pointer and magic number check with no */
/* debug output */
/* #define OBJECT_PARANOIA_CHECK */
#define OBJECT_CHECK
#define OBJECT_PARANOIA_CHECK
//#define OBJECT_CHECK
#ifndef __GLIBC__
# ifdef OBJECT_PARANOIA_CHECK

View File

@ -40,14 +40,6 @@ e_zone_new(E_Container *con, int x, int y, int w, int h)
char name[40];
Evas_Object *o;
o = evas_object_rectangle_add(con->bg_evas);
zone->bg_blank_object = o;
evas_object_layer_set(o, -100);
evas_object_move(o, x, y);
evas_object_resize(o, w, h);
evas_object_color_set(o, 255, 255, 255, 255);
evas_object_show(o);
o = edje_object_add(con->bg_evas);
zone->bg_object = o;
evas_object_layer_set(o, -1);
@ -96,7 +88,6 @@ e_zone_move(E_Zone *zone, int x, int y)
if ((x == zone->x) && (y == zone->y)) return;
zone->x = x;
zone->y = y;
evas_object_move(zone->bg_blank_object, x, y);
evas_object_move(zone->bg_object, x, y);
evas_object_move(zone->bg_event_object, x, y);
}
@ -109,7 +100,6 @@ e_zone_resize(E_Zone *zone, int w, int h)
if ((w == zone->w) && (h == zone->h)) return;
zone->w = w;
zone->h = h;
evas_object_resize(zone->bg_blank_object, w, h);
evas_object_resize(zone->bg_object, w, h);
evas_object_resize(zone->bg_event_object, w, h);
}
@ -127,10 +117,8 @@ e_zone_move_resize(E_Zone *zone, int x, int y, int w, int h)
zone->w = w;
zone->h = h;
evas_object_move(zone->bg_blank_object, x, y);
evas_object_move(zone->bg_object, x, y);
evas_object_move(zone->bg_event_object, x, y);
evas_object_resize(zone->bg_blank_object, w, h);
evas_object_resize(zone->bg_object, w, h);
evas_object_resize(zone->bg_event_object, w, h);
}