use argb window for drag object when composite is enabled
SVN revision: 39365
This commit is contained in:
parent
2c3c2e955c
commit
1f986f4b28
|
@ -175,8 +175,21 @@ e_drag_new(E_Container *container, int x, int y,
|
||||||
drag->ecore_evas = e_canvas_new(e_config->evas_engine_drag, drag->container->win,
|
drag->ecore_evas = e_canvas_new(e_config->evas_engine_drag, drag->container->win,
|
||||||
drag->x, drag->y, drag->w, drag->h, 1, 1,
|
drag->x, drag->y, drag->w, drag->h, 1, 1,
|
||||||
&(drag->evas_win), NULL);
|
&(drag->evas_win), NULL);
|
||||||
|
if (e_config->use_composite)
|
||||||
|
{
|
||||||
|
ecore_evas_alpha_set(drag->ecore_evas, 1);
|
||||||
|
if (e_config->evas_engine_drag == ECORE_EVAS_ENGINE_SOFTWARE_16_X11)
|
||||||
|
drag->evas_win = ecore_evas_software_x11_window_get(drag->ecore_evas);
|
||||||
|
else if (e_config->evas_engine_drag == ECORE_EVAS_ENGINE_XRENDER_X11)
|
||||||
|
drag->evas_win = ecore_evas_xrender_x11_window_get(drag->ecore_evas);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
/* avoid excess exposes when shaped - set damage avoid to 1 */
|
/* avoid excess exposes when shaped - set damage avoid to 1 */
|
||||||
ecore_evas_avoid_damage_set(drag->ecore_evas, 1);
|
ecore_evas_avoid_damage_set(drag->ecore_evas, 1);
|
||||||
|
ecore_evas_shaped_set(drag->ecore_evas, 1);
|
||||||
|
ecore_x_window_shape_events_select(drag->evas_win, 1);
|
||||||
|
}
|
||||||
|
|
||||||
e_canvas_add(drag->ecore_evas);
|
e_canvas_add(drag->ecore_evas);
|
||||||
drag->shape = e_container_shape_add(drag->container);
|
drag->shape = e_container_shape_add(drag->container);
|
||||||
|
@ -185,13 +198,11 @@ e_drag_new(E_Container *container, int x, int y,
|
||||||
|
|
||||||
drag->evas = ecore_evas_get(drag->ecore_evas);
|
drag->evas = ecore_evas_get(drag->ecore_evas);
|
||||||
e_container_window_raise(drag->container, drag->evas_win, drag->layer);
|
e_container_window_raise(drag->container, drag->evas_win, drag->layer);
|
||||||
ecore_x_window_shape_events_select(drag->evas_win, 1);
|
|
||||||
ecore_evas_name_class_set(drag->ecore_evas, "E", "_e_drag_window");
|
ecore_evas_name_class_set(drag->ecore_evas, "E", "_e_drag_window");
|
||||||
ecore_evas_title_set(drag->ecore_evas, "E Drag");
|
ecore_evas_title_set(drag->ecore_evas, "E Drag");
|
||||||
ecore_evas_ignore_events_set(drag->ecore_evas, 1);
|
ecore_evas_ignore_events_set(drag->ecore_evas, 1);
|
||||||
|
|
||||||
ecore_evas_shaped_set(drag->ecore_evas, 1);
|
|
||||||
|
|
||||||
drag->object = evas_object_rectangle_add(drag->evas);
|
drag->object = evas_object_rectangle_add(drag->evas);
|
||||||
evas_object_color_set(drag->object, 255, 0, 0, 255);
|
evas_object_color_set(drag->object, 255, 0, 0, 255);
|
||||||
evas_object_show(drag->object);
|
evas_object_show(drag->object);
|
||||||
|
|
Loading…
Reference in New Issue