e comp x - clean up some core removing if 0'd out code and comment some

This commit is contained in:
Carsten Haitzler 2021-04-21 13:23:12 +01:00
parent 0e158491e2
commit ab905c599f
3 changed files with 39 additions and 50 deletions

View File

@ -1779,34 +1779,6 @@ e_comp_override_add(void)
if ((e_comp->nocomp_override > 0) && (e_comp->nocomp)) _e_comp_nocomp_end(); if ((e_comp->nocomp_override > 0) && (e_comp->nocomp)) _e_comp_nocomp_end();
} }
#if 0
FIXME
E_API void
e_comp_block_window_add(void)
{
e_comp->block_count++;
if (e_comp->block_win) return;
e_comp->block_win = ecore_x_window_new(e_comp->root, 0, 0, e_comp->w, e_comp->h);
INF("BLOCK WIN: %x", e_comp->block_win);
ecore_x_window_background_color_set(e_comp->block_win, 0, 0, 0);
e_comp_ignore_win_add(e_comp->block_win);
ecore_x_window_configure(e_comp->block_win,
ECORE_X_WINDOW_CONFIGURE_MASK_SIBLING | ECORE_X_WINDOW_CONFIGURE_MASK_STACK_MODE,
0, 0, 0, 0, 0, ((E_Comp_Win*)e_comp->wins)->win, ECORE_X_WINDOW_STACK_ABOVE);
ecore_x_window_show(e_comp->block_win);
}
E_API void
e_comp_block_window_del(void)
{
if (!e_comp->block_count) return;
e_comp->block_count--;
if (e_comp->block_count) return;
if (e_comp->block_win) ecore_x_window_free(e_comp->block_win);
e_comp->block_win = 0;
}
#endif
E_API E_Comp * E_API E_Comp *
e_comp_find_by_window(Ecore_Window win) e_comp_find_by_window(Ecore_Window win)
{ {

View File

@ -2526,7 +2526,9 @@ _e_comp_smart_move(Evas_Object *obj, int x, int y)
_e_comp_object_input_rect_update(cw); _e_comp_object_input_rect_update(cw);
/* this gets called once during setup to init coords offscreen and guarantee first move */ /* this gets called once during setup to init coords offscreen and guarantee first move */
if (e_comp && cw->visible) if (e_comp && cw->visible)
e_comp_shape_queue(); {
e_comp_shape_queue();
}
} }
static void static void
@ -2602,7 +2604,9 @@ _e_comp_smart_resize(Evas_Object *obj, int w, int h)
if (!cw->visible) return; if (!cw->visible) return;
e_comp_render_queue(); e_comp_render_queue();
if (!cw->animating) if (!cw->animating)
e_comp_shape_queue(); {
e_comp_shape_queue();
}
} }
static void static void
@ -2759,7 +2763,9 @@ _e_comp_object_util_show(void *data EINA_UNUSED, Evas_Object *obj)
return; return;
} }
else else
e_comp_shape_queue(); {
e_comp_shape_queue();
}
evas_object_show(obj); evas_object_show(obj);
if (ref && (!stopping)) if (ref && (!stopping))
@ -2832,7 +2838,9 @@ _e_comp_object_util_moveresize(void *data, Evas *e EINA_UNUSED, Evas_Object *obj
e_zoomap_child_resize(data, w, h); e_zoomap_child_resize(data, w, h);
} }
if (evas_object_visible_get(obj)) if (evas_object_visible_get(obj))
e_comp_shape_queue(); {
e_comp_shape_queue();
}
} }
E_API void E_API void

View File

@ -1693,39 +1693,48 @@ _e_comp_x_configure(void *data EINA_UNUSED, int type EINA_UNUSED, Ecore_X_Event_
//INF("configure %p: %d,%d %dx%d", ec, ev->x, ev->y, ev->w, ev->h); //INF("configure %p: %d,%d %dx%d", ec, ev->x, ev->y, ev->w, ev->h);
if (ev->abovewin == 0) if (ev->abovewin == 0)
{ {
if (e_client_below_get(ec)) // forcibly lower the window as it's not above anything
evas_object_lower(ec->frame); if (e_client_below_get(ec)) evas_object_lower(ec->frame);
} }
else else
{ {
E_Client *ec2 = _e_comp_x_client_find_by_window(ev->abovewin); E_Client *ec_above = _e_comp_x_client_find_by_window(ev->abovewin);
if (ec2) // if we find the client the window is above
if (ec_above)
{ {
/* client(ec) wants to be above a layer client(ec2) */ // if the window to stack above is a layer marker window/client
if (e_client_is_stacking(ec2)) //is it a stacking placeholder window? // then we need to find the next one up and stack below that
// because the ec_above will be one layer below as layer marker
// is at the top of a layer
if (e_client_is_stacking(ec_above))
{ {
E_Client *ec3; E_Client *ec_next_up = e_client_above_get(ec_above);
ec3 = e_client_above_get(ec2); // stacking under the next win up == above ec_above
/* stack under next client(ec3) */ if (ec_next_up)
if (ec3)
{ {
evas_object_layer_set(ec->frame, ec3->layer); evas_object_layer_set(ec->frame, ec_next_up->layer);
if (!e_client_is_stacking(ec3)) evas_object_stack_below(ec->frame, ec_next_up->frame);
evas_object_stack_below(ec->frame, ec3->frame); }
else // no marker above, so live on the same layer - on top
{
evas_object_layer_set(ec->frame, ec_above->layer);
} }
else //force override to obey our stacking
evas_object_layer_set(ec->frame, ec2->layer);
} }
// if it's above is a regular win
else else
{ {
evas_object_layer_set(ec->frame, ec2->layer); // if the layer obj is not right below already...
evas_object_stack_above(ec->frame, ec2->frame); evas_object_layer_set(ec->frame, ec_above->layer);
evas_object_stack_above(ec->frame, ec_above->frame);
} }
} }
// we didnt find the client it's above - so stuff this on top
else else
evas_object_layer_set(ec->frame, E_LAYER_CLIENT_PRIO); {
evas_object_layer_set(ec->frame, E_LAYER_CLIENT_PRIO);
}
} }
move = (ec->client.x != ev->x) || (ec->client.y != ev->y); move = (ec->client.x != ev->x) || (ec->client.y != ev->y);
resize = (ec->client.w != ev->w) || (ec->client.h != ev->h); resize = (ec->client.w != ev->w) || (ec->client.h != ev->h);