SVN revision: 14708
This commit is contained in:
sebastid 2005-05-11 13:13:43 +00:00 committed by sebastid
parent 23e32dcf11
commit 4dc2deb902
4 changed files with 104 additions and 101 deletions

View File

@ -1408,7 +1408,7 @@ static void
_e_border_del(E_Border *bd) _e_border_del(E_Border *bd)
{ {
E_Event_Border_Remove *ev; E_Event_Border_Remove *ev;
ev = calloc(1, sizeof(E_Event_Border_Remove)); ev = calloc(1, sizeof(E_Event_Border_Remove));
ev->border = bd; ev->border = bd;
/* FIXME Don't ref this during shutdown. And the event is pointless /* FIXME Don't ref this during shutdown. And the event is pointless
@ -1425,7 +1425,11 @@ _e_border_cb_window_show_request(void *data, int ev_type, void *ev)
e = ev; e = ev;
bd = e_border_find_by_client_window(e->win); bd = e_border_find_by_client_window(e->win);
if (!bd) return 1; if (!bd)
{
printf("BUG: Need this border: 0x%x\n", e->win);
return 1;
}
return 1; return 1;
} }
@ -1517,46 +1521,25 @@ _e_border_cb_window_configure_request(void *data, int ev_type, void *ev)
(e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_SIBLING) ? 'C':' ', (e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_SIBLING) ? 'C':' ',
(e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_STACK_MODE) ? 'S':' ' (e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_STACK_MODE) ? 'S':' '
); );
if ((e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_X) ||
(e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_Y))
{ {
if ((e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_X) || int x, y;
(e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_Y))
{
int x, y;
y = bd->y; y = bd->y;
x = bd->x; x = bd->x;
printf("##- ASK FOR 0x%x TO MOVE TO [FLG X%liY%li] %i,%i\n", printf("##- ASK FOR 0x%x TO MOVE TO [FLG X%liY%li] %i,%i\n",
bd->client.win, bd->client.win,
e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_X, e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_X,
e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_Y, e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_Y,
x, y); x, y);
if (e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_X) if (e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_X)
x = e->x; x = e->x;
if (e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_Y) if (e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_Y)
y = e->y; y = e->y;
if ((e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_W) || if ((e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_W) ||
(e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_H)) (e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_H))
{
int w, h;
h = bd->h;
w = bd->w;
if (e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_W)
w = e->w + bd->client_inset.l + bd->client_inset.r;
if (e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_H)
h = e->h + bd->client_inset.t + bd->client_inset.b;
printf("##- ASK FOR 0x%x TO RESIZE TO [FLG W%liH%li] %i,%i\n",
bd->client.win,
e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_W,
e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_H,
e->w, e->h);
e_border_move_resize(bd, x, y, w, h);
}
else
e_border_move(bd, x, y);
}
else if ((e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_W) ||
(e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_H))
{ {
int w, h; int w, h;
@ -1571,60 +1554,80 @@ _e_border_cb_window_configure_request(void *data, int ev_type, void *ev)
e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_W, e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_W,
e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_H, e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_H,
e->w, e->h); e->w, e->h);
e_border_resize(bd, w, h); e_border_move_resize(bd, x, y, w, h);
} }
if ((e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_STACK_MODE) && else
(e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_SIBLING)) e_border_move(bd, x, y);
{ }
E_Border *obd; else if ((e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_W) ||
(e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_H))
{
int w, h;
if (e->detail == ECORE_X_WINDOW_STACK_ABOVE) h = bd->h;
{ w = bd->w;
obd = e_border_find_by_client_window(e->abovewin); if (e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_W)
if (obd) w = e->w + bd->client_inset.l + bd->client_inset.r;
e_border_stack_above(bd, obd); if (e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_H)
} h = e->h + bd->client_inset.t + bd->client_inset.b;
else if (e->detail == ECORE_X_WINDOW_STACK_BELOW) printf("##- ASK FOR 0x%x TO RESIZE TO [FLG W%liH%li] %i,%i\n",
{ bd->client.win,
obd = e_border_find_by_client_window(e->abovewin); e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_W,
if (obd) e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_H,
e_border_stack_below(bd, obd); e->w, e->h);
} e_border_resize(bd, w, h);
else if (e->detail == ECORE_X_WINDOW_STACK_TOP_IF) }
{ if ((e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_STACK_MODE) &&
/* FIXME: do */ (e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_SIBLING))
} {
else if (e->detail == ECORE_X_WINDOW_STACK_BOTTOM_IF) E_Border *obd;
{
/* FIXME: do */ if (e->detail == ECORE_X_WINDOW_STACK_ABOVE)
}
else if (e->detail == ECORE_X_WINDOW_STACK_OPPOSITE)
{
/* FIXME: do */
}
}
else if (e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_STACK_MODE)
{ {
if (e->detail == ECORE_X_WINDOW_STACK_ABOVE) obd = e_border_find_by_client_window(e->abovewin);
{ if (obd)
e_border_raise(bd); e_border_stack_above(bd, obd);
} }
else if (e->detail == ECORE_X_WINDOW_STACK_BELOW) else if (e->detail == ECORE_X_WINDOW_STACK_BELOW)
{ {
e_border_lower(bd); obd = e_border_find_by_client_window(e->abovewin);
} if (obd)
else if (e->detail == ECORE_X_WINDOW_STACK_TOP_IF) e_border_stack_below(bd, obd);
{ }
/* FIXME: do */ else if (e->detail == ECORE_X_WINDOW_STACK_TOP_IF)
} {
else if (e->detail == ECORE_X_WINDOW_STACK_BOTTOM_IF) /* FIXME: do */
{ }
/* FIXME: do */ else if (e->detail == ECORE_X_WINDOW_STACK_BOTTOM_IF)
} {
else if (e->detail == ECORE_X_WINDOW_STACK_OPPOSITE) /* FIXME: do */
{ }
/* FIXME: do */ else if (e->detail == ECORE_X_WINDOW_STACK_OPPOSITE)
} {
/* FIXME: do */
}
}
else if (e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_STACK_MODE)
{
if (e->detail == ECORE_X_WINDOW_STACK_ABOVE)
{
e_border_raise(bd);
}
else if (e->detail == ECORE_X_WINDOW_STACK_BELOW)
{
e_border_lower(bd);
}
else if (e->detail == ECORE_X_WINDOW_STACK_TOP_IF)
{
/* FIXME: do */
}
else if (e->detail == ECORE_X_WINDOW_STACK_BOTTOM_IF)
{
/* FIXME: do */
}
else if (e->detail == ECORE_X_WINDOW_STACK_OPPOSITE)
{
/* FIXME: do */
} }
} }
return 1; return 1;

View File

@ -259,11 +259,11 @@ e_gadman_client_load(E_Gadman_Client *gmc)
} }
_e_gadman_client_overlap_deny(gmc); _e_gadman_client_overlap_deny(gmc);
e_object_ref(E_OBJECT(gmc)); e_object_ref(E_OBJECT(gmc));
if (!e_object_del_get(E_OBJECT(gmc))) if (!e_object_is_del(E_OBJECT(gmc)))
_e_gadman_client_callback_call(gmc, E_GADMAN_CHANGE_ZONE); _e_gadman_client_callback_call(gmc, E_GADMAN_CHANGE_ZONE);
if (!e_object_del_get(E_OBJECT(gmc))) if (!e_object_is_del(E_OBJECT(gmc)))
_e_gadman_client_callback_call(gmc, E_GADMAN_CHANGE_EDGE); _e_gadman_client_callback_call(gmc, E_GADMAN_CHANGE_EDGE);
if (!e_object_del_get(E_OBJECT(gmc))) if (!e_object_is_del(E_OBJECT(gmc)))
_e_gadman_client_callback_call(gmc, E_GADMAN_CHANGE_MOVE_RESIZE); _e_gadman_client_callback_call(gmc, E_GADMAN_CHANGE_MOVE_RESIZE);
e_object_unref(E_OBJECT(gmc)); e_object_unref(E_OBJECT(gmc));
@ -291,9 +291,9 @@ e_gadman_client_zone_set(E_Gadman_Client *gmc, E_Zone *zone)
gmc->x = gmc->zone->x + ((gmc->zone->w - gmc->w) * gmc->ax); gmc->x = gmc->zone->x + ((gmc->zone->w - gmc->w) * gmc->ax);
gmc->y = gmc->zone->y + ((gmc->zone->h - gmc->h) * gmc->ay); gmc->y = gmc->zone->y + ((gmc->zone->h - gmc->h) * gmc->ay);
e_object_ref(E_OBJECT(gmc)); e_object_ref(E_OBJECT(gmc));
if (!e_object_del_get(E_OBJECT(gmc))) if (!e_object_is_del(E_OBJECT(gmc)))
_e_gadman_client_callback_call(gmc, E_GADMAN_CHANGE_ZONE); _e_gadman_client_callback_call(gmc, E_GADMAN_CHANGE_ZONE);
if (!e_object_del_get(E_OBJECT(gmc))) if (!e_object_is_del(E_OBJECT(gmc)))
_e_gadman_client_callback_call(gmc, E_GADMAN_CHANGE_MOVE_RESIZE); _e_gadman_client_callback_call(gmc, E_GADMAN_CHANGE_MOVE_RESIZE);
e_object_unref(E_OBJECT(gmc)); e_object_unref(E_OBJECT(gmc));
} }
@ -1228,17 +1228,17 @@ _e_gadman_cb_signal_move_go(void *data, Evas_Object *obj, const char *emission,
_e_gadman_client_geometry_to_align(gmc); _e_gadman_client_geometry_to_align(gmc);
_e_gadman_client_geometry_apply(gmc); _e_gadman_client_geometry_apply(gmc);
e_object_ref(E_OBJECT(gmc)); e_object_ref(E_OBJECT(gmc));
if (!e_object_del_get(E_OBJECT(gmc))) if (!e_object_is_del(E_OBJECT(gmc)))
{ {
if (new_zone) if (new_zone)
_e_gadman_client_callback_call(gmc, E_GADMAN_CHANGE_ZONE); _e_gadman_client_callback_call(gmc, E_GADMAN_CHANGE_ZONE);
} }
if (!e_object_del_get(E_OBJECT(gmc))) if (!e_object_is_del(E_OBJECT(gmc)))
{ {
if (new_edge) if (new_edge)
_e_gadman_client_callback_call(gmc, E_GADMAN_CHANGE_EDGE); _e_gadman_client_callback_call(gmc, E_GADMAN_CHANGE_EDGE);
} }
if (!e_object_del_get(E_OBJECT(gmc))) if (!e_object_is_del(E_OBJECT(gmc)))
_e_gadman_client_callback_call(gmc, E_GADMAN_CHANGE_MOVE_RESIZE); _e_gadman_client_callback_call(gmc, E_GADMAN_CHANGE_MOVE_RESIZE);
e_object_unref(E_OBJECT(gmc)); e_object_unref(E_OBJECT(gmc));

View File

@ -56,7 +56,7 @@ e_object_del(E_Object *obj)
} }
int int
e_object_del_get(E_Object *obj) e_object_is_del(E_Object *obj)
{ {
E_OBJECT_CHECK_RETURN(obj, 1); E_OBJECT_CHECK_RETURN(obj, 1);
return obj->deleted; return obj->deleted;

View File

@ -74,7 +74,7 @@ struct _E_Object
EAPI void *e_object_alloc (int size, int type, E_Object_Cleanup_Func cleanup_func); EAPI void *e_object_alloc (int size, int type, E_Object_Cleanup_Func cleanup_func);
EAPI void e_object_del (E_Object *obj); EAPI void e_object_del (E_Object *obj);
EAPI int e_object_del_get (E_Object *obj); EAPI int e_object_is_del (E_Object *obj);
EAPI void e_object_del_func_set (E_Object *obj, E_Object_Cleanup_Func del_func); EAPI void e_object_del_func_set (E_Object *obj, E_Object_Cleanup_Func del_func);
EAPI void e_object_type_set (E_Object *obj, int type); EAPI void e_object_type_set (E_Object *obj, int type);
EAPI void e_object_free (E_Object *obj); EAPI void e_object_free (E_Object *obj);